Repo created

This commit is contained in:
Fr4nz D13trich 2025-11-21 15:13:05 +01:00
parent f2d952b743
commit 3ecd57d1b2
475 changed files with 37130 additions and 2 deletions

32
srcs/res/SvgToVector.java Normal file
View file

@ -0,0 +1,32 @@
package srcs.res;
import com.android.ide.common.vectordrawable.Svg2Vector;
import java.io.File;
import java.io.FileOutputStream;
/** Inspired from Bernard Ladenthin's answer:
https://stackoverflow.com/a/78898372 */
public class SvgToVector
{
public static void main(String[] args)
{
if (args.length != 2)
{
System.out.println("Usage: svg_to_vector <input_file> <output_file>");
return;
}
try
{
File input_file = new File(args[0]);
FileOutputStream output_stream = new FileOutputStream(args[1]);
String warnings;
warnings = Svg2Vector.parseSvgToXml(input_file, output_stream);
System.err.println(warnings);
}
catch (Exception e)
{
e.printStackTrace();
System.exit(2);
}
}
}

192
srcs/res/doc_key.svg Normal file
View file

@ -0,0 +1,192 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="35mm"
height="40mm"
viewBox="0 0 35 40"
version="1.1"
id="svg1"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
sodipodi:docname="doc_key.svg"
inkscape:export-filename="key_u.svg"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#1b1b1b"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#1b1b1b"
inkscape:document-units="mm"
inkscape:zoom="4.6038101"
inkscape:cx="160.95364"
inkscape:cy="75.69817"
inkscape:window-width="2560"
inkscape:window-height="1440"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer2">
<inkscape:page
x="0"
y="0"
width="35"
height="40"
id="page1"
margin="0"
bleed="0"
inkscape:label="g" />
<inkscape:page
x="45"
y="0"
width="35"
height="40"
id="page2"
margin="0"
bleed="0"
inkscape:label="u" />
</sodipodi:namedview>
<defs
id="defs1" />
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="U"
style="display:inline">
<g
inkscape:label="Background"
inkscape:groupmode="layer"
id="layer1"
style="display:inline"
transform="translate(42.916821,-9.9998472)">
<rect
style="display:inline;fill:#333333;fill-opacity:1;stroke:#404040;stroke-width:0.251;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
id="rect1"
width="14.749311"
height="19.74971"
x="12.208678"
y="20.125347"
ry="1.1332803"
inkscape:label="rect1" />
</g>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.48996px;font-family:'Fira Code';-inkscape-font-specification:'Fira Code, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;display:inline;fill:#fdfdfd;fill-opacity:1;stroke:none;stroke-width:0.265729;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
x="59.864403"
y="22.246796"
id="text1"
inkscape:label="text1"
inkscape:transform-center-x="-0.00074323194"
inkscape:transform-center-y="-0.001350474"
transform="scale(1.0003873,0.99961285)"><tspan
id="tspan1"
sodipodi:role="line"
x="59.864403"
y="22.246796"
style="stroke-width:0.265729">u</tspan><tspan
id="tspan2"
sodipodi:role="line"
x="59.864403"
y="32.859245"
style="stroke-width:0.265729" /></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.65997px;font-family:'Fira Code';-inkscape-font-specification:'Fira Code, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;display:inline;fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:0.265728;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
x="55.882885"
y="28.802013"
id="text3"
transform="scale(1.0003873,0.99961285)"
inkscape:label="text3"><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.65997px;font-family:'Fira Code';-inkscape-font-specification:'Fira Code, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;fill:#cccccc;fill-opacity:1;stroke-width:0.265729"
x="55.882885"
y="28.802013"
id="tspan4">&amp;</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.65997px;font-family:'Fira Code';-inkscape-font-specification:'Fira Code, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;display:inline;fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:0.265728;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
x="65.686905"
y="15.189408"
id="text5"
transform="scale(1.0003873,0.99961285)"><tspan
sodipodi:role="line"
id="tspan5"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.65997px;font-family:'Fira Code';-inkscape-font-specification:'Fira Code, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;fill:#cccccc;fill-opacity:1;stroke-width:0.265729"
x="65.686905"
y="15.189408">7</tspan></text>
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="G"
style="display:inline">
<g
inkscape:label="Background"
inkscape:groupmode="layer"
id="g2"
style="display:inline">
<rect
style="display:inline;fill:#333333;fill-opacity:1;stroke:#404040;stroke-width:0.251;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
id="rect2"
width="14.749311"
height="19.74971"
x="10.125345"
y="10.125347"
ry="1.1332803"
inkscape:label="rect1" />
</g>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.65997px;font-family:'Fira Code';-inkscape-font-specification:'Fira Code, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;display:inline;fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:0.265728;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
x="10.887006"
y="27.77977"
id="text3-3"
transform="scale(1.0003873,0.99961285)"
inkscape:label="text3"><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.65997px;font-family:'Fira Code';-inkscape-font-specification:'Fira Code, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;fill:#cccccc;fill-opacity:1;stroke-width:0.265729"
x="10.887006"
y="27.77977"
id="tspan4-7">_</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.48996px;font-family:'Fira Code';-inkscape-font-specification:'Fira Code, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;display:inline;fill:#fdfdfd;fill-opacity:1;stroke:none;stroke-width:0.265729;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
x="14.868526"
y="22.204519"
id="text1-2"
inkscape:label="text1"
inkscape:transform-center-x="-0.00074323194"
inkscape:transform-center-y="-0.001350474"
transform="scale(1.0003873,0.99961285)"><tspan
id="tspan1-0"
sodipodi:role="line"
x="14.868526"
y="22.204519"
style="stroke-width:0.265729">g</tspan><tspan
id="tspan2-2"
sodipodi:role="line"
x="14.868526"
y="32.816971"
style="stroke-width:0.265729" /></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.65997px;font-family:'Fira Code';-inkscape-font-specification:'Fira Code, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;display:inline;fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:0.265728;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
x="20.691027"
y="15.147132"
id="text5-5"
transform="scale(1.0003873,0.99961285)"><tspan
sodipodi:role="line"
id="tspan5-9"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.65997px;font-family:'Fira Code';-inkscape-font-specification:'Fira Code, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;fill:#cccccc;fill-opacity:1;stroke-width:0.265729"
x="20.691027"
y="15.147132">-</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 9.4 KiB

View file

@ -0,0 +1,27 @@
#!/usr/bin/env bash
set -e
cd "$(dirname $0)"
DRAWABLE_DIR=../../res/drawable
ANDROID_LIB=$ANDROID_SDK_ROOT/tools/lib
first () { echo "$1"; }
JAVA_ARGS=(
-classpath
"$(first $ANDROID_LIB/sdk-common-*.jar):$(first $ANDROID_LIB/common-*.jar)"
)
svg_to_vector ()
{
java "${JAVA_ARGS[@]}" SvgToVector.java "$@"
}
TMP=`mktemp -d`
trap "rm -r '$TMP'" EXIT
set -x
inkscape doc_key.svg -o "$TMP/doc_key_g.svg" -C --export-page 1 --export-plain-svg --export-text-to-path
inkscape doc_key.svg -o "$TMP/doc_key_u.svg" -C --export-page 2 --export-plain-svg --export-text-to-path
svg_to_vector "$TMP/doc_key_g.svg" "$DRAWABLE_DIR/doc_key_g.xml"
svg_to_vector "$TMP/doc_key_u.svg" "$DRAWABLE_DIR/doc_key_u.xml"