Years ago, I used to convert fonts by copying from fontsrv -p. This was due to
bugs fontsrv had at the time, but I guess it may still be useful.
Here's the 4 scripts I used to use, for whatever they might be worth.
% for(n in _get*){echo 'cat >' $n '<<EOF'; cat $n; echo}
cat > _get_1_size <<EOF
#!/data/plan9/plan9port/bin/rc
ifs='
'
name = $1^/
dir = $2^/ # size dir; e.g. '12' or '12a'
mkdir -p $dir
fontsrv -p $name^$dir^font > $dir^font
if(! ~ $status '') exit
fontsrv -p $name^$dir^font |
ssam '1d
,x=.* =d
,s=.+=& > '^$dir^'&=g
,x=^=i=fontsrv -p '''^$name^$dir^'''=' | rc
cat > _get_all_sizes <<EOF
#!/data/plan9/plan9port/bin/rc
# antialiased
ifs='
'
name = $1
sizedirs = `{fontsrv -p $name}
if(! ~ $status '') exit
for(dir in $sizedirs) {
echo $dir >[1=2]
mkdir -p $dir
fontsrv -p $name^$dir^font > $dir^font
fontsrv -p $name^$dir^font |
ssam '1d
,x=.* =d
,s=.+=& > '^$dir^'&=g
,x=^=i=fontsrv -p '''^$name^$dir^'''=' | rc
}
cat > _get_all_sizes-noaa <<EOF
#!/data/plan9/plan9port/bin/rc
# non-antialiased
ifs='
'
name = $1
sizedirs = `{fontsrv -p $name}
if(! ~ $status '') exit
for(dir in $sizedirs) {
if(! ~ $dir *[0-9]a/) {
echo $dir >[1=2]
mkdir -p $dir
fontsrv -p $name^$dir^font > $dir^font
fontsrv -p $name^$dir^font |
ssam '1d
,x=.* =d
,s=.+=& > '^$dir^'&=g
,x=^=i=fontsrv -p '''^$name^$dir^'''=' | rc
}
}
cat > _get_all_sizes-prefix-version <<EOF
#!/data/plan9/plan9port/bin/rc
# this may give different filenames? i don't remember, sorry.
ifs='
'
name = $1
sizedirs = `{fontsrv -p $name}
if(! ~ $status '') exit
for(dir in $sizedirs) {
prefix = `{echo $dir | sed 's=/=='}
fontsrv -p $name^$dir^font |
ssam ',x=[^ ]+$=i='^$prefix^'-' > $prefix^.font
fontsrv -p $name^$dir^font |
ssam '1d
,x=.* =d
,s=.*=& > '^$prefix^'-&=g
,x=^=i=fontsrv -p '''^$name^$dir^'''=
' #| rc
}
------------------------------------------
9fans: 9fans
Permalink:
https://9fans.topicbox.com/groups/9fans/Td0ab6c3112c95493-M641c4f27e469e9cb1dff1426
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription