Files
piccreate/bin/extract-glyph.sh
T

36 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
. setenv.sh
if [ -z "$1" ]; then
echo "please give a .svg file of a glyph as input"
exit 1
fi
if [ -s "$1" ]; then
export BASE=`basename $1 .svg`
export TARGET=$PICCREATE_OUT/$BASE.svg
else
echo "input file does not exist"
exit 1
fi
# extrahiere die wichtigen Zeilen aus dem Font
cat $1 | egrep '<\<line\>|x1|x2|y1|y2|/>|style' | egrep -v '\<text\>|id=|http:' > line-$BASE.svg
cat $1 | egrep 'circle|translate|\<r\>' > circles-$BASE.svg
cat $1 | egrep '<\<text|text\>>|\<x\>=|\<y\>=|tspan' | egrep -v '\<transform-center-x\>|\<window-|\<id\>=' > text-$BASE.svg
# reduziere einige Zeilen um bestimmte Muster
cat line-$BASE.svg | sed -e 's/inkscape:transform-center-x=".*"//g' > $$; mv $$ line-$BASE.svg
cat text-$BASE.svg | sed -e 's/inkscape:transform-center-y=".*"//g' > $$; mv $$ text-$BASE.svg
# schreib einen neuen Buchstaben
echo '<svg xmlns="http://www.w3.org/2000/svg" version="1.1">' > $TARGET
cat text-$BASE.svg >> $TARGET
cat circles-$BASE.svg >> $TARGET
cat line-$BASE.svg >> $TARGET
echo '</svg>' >> $TARGET
rm line-$BASE.svg
rm circles-$BASE.svg
rm text-$BASE.svg