mirror of
https://github.com/9fans/plan9port.git
synced 2025-01-12 11:10:07 +00:00
78 lines
1.7 KiB
Bash
Executable file
78 lines
1.7 KiB
Bash
Executable file
#!/usr/local/plan9/bin/rc
|
|
|
|
rm *.tpost *.troff *.pfb *.pfa *.afm map.sfd
|
|
|
|
hex1=(0 1 2 3 4 5 6 7 8 9 A B C D E F)
|
|
hex=()
|
|
for(i in $hex1) for(j in $hex1) hex=($hex $i$j)
|
|
{
|
|
for(h in $hex)
|
|
echo $h 0x$h^00_0x$h^FF
|
|
} >map.sfd
|
|
for(font){
|
|
f0=$font
|
|
if(~ $font *.ttf)
|
|
font=`{9 basename $font .ttf}
|
|
if not if(~ $font *.sfd)
|
|
font=`{9 basename $font .sfd}
|
|
echo '
|
|
import fontforge
|
|
f = fontforge.open("'$f0'")
|
|
ff = fontforge.open("./'$f0'")
|
|
changed = True
|
|
while changed:
|
|
changed = False
|
|
for i in range(0, len(f)):
|
|
try:
|
|
f[i].temporary = [ ]
|
|
except:
|
|
pass
|
|
|
|
for i in range(0, len(f)):
|
|
try:
|
|
f[i].temporary.append(i)
|
|
except:
|
|
pass
|
|
|
|
for i in range(0, len(f)):
|
|
try:
|
|
g = f[i]
|
|
codes = g.temporary
|
|
if len(codes) > 1:
|
|
print "Doubled: ", g.temporary
|
|
gg = ff[i]
|
|
f.removeGlyph(g)
|
|
for j in range(1, len(codes)):
|
|
f.createMappedChar(codes[j])
|
|
f.createInterpolatedGlyph(gg, gg, 0)
|
|
changed = True
|
|
except:
|
|
pass
|
|
|
|
f.generate("'$font^%s.pfb'", "", ("afm",), 72, "map.sfd")
|
|
' >fontforge.in
|
|
fontforge '-lang=py' -script fontforge.in
|
|
{
|
|
echo name $font
|
|
echo fontname $font
|
|
} >$font.troff
|
|
>$font.tpost
|
|
for(h in $hex){
|
|
if(test -f $font$h.pfb){
|
|
pfb2pfa $font$h.pfb
|
|
mv $font$h.pfa /usr/local/plan9/postscript/font/$font$h
|
|
afm2troff -h -o 0x$h^00 $font$h.afm >>$font.troff
|
|
echo 0x$h^00 0x$h^FF $font$h >>$font.tpost
|
|
}
|
|
}
|
|
{
|
|
echo '0x0027 0x0027 0x19 '$font'20 # map apostrophe to right quote'
|
|
echo '0x0060 0x0060 0x18 '$font'20 # map grave to left quote'
|
|
} >>$font.tpost
|
|
|
|
sam -d $font.troff <$PLAN9/dist/troff/devutf.sam
|
|
if(~ $font *Mono*)
|
|
sam -d $font.troff <$PLAN9/dist/troff/mono.sam
|
|
cp $font.troff /usr/local/plan9/troff/font/devutf/$font
|
|
cp $font.tpost /usr/local/plan9/postscript/troff/$font
|
|
}
|