]>
Commit | Line | Data |
---|---|---|
5352f9fe | 1 | #!/usr/bin/perl |
2 | ||
3 | while (<>) { $glyph{$1} = $2 if /(....):(.+)\n/; } | |
4 | @chars = sort keys %glyph; $[ = 1; | |
5 | # dbmopen (%charname, "/usr/share/unicode/unidata/charname.db", 0); | |
6 | ||
7 | print "STARTFONT 2.1 | |
8 | FONT -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1 | |
9 | SIZE 16 75 75 | |
10 | FONTBOUNDINGBOX 16 16 0 -2 | |
11 | STARTPROPERTIES 3 | |
12 | FONT_ASCENT 14 | |
13 | FONT_DESCENT 2 | |
14 | DEFAULT_CHAR 32 | |
15 | ENDPROPERTIES | |
16 | CHARS $#chars\n"; | |
17 | ||
18 | foreach $character (@chars) | |
19 | { | |
20 | $encoding = hex($character); $glyph = $glyph{$character}; | |
21 | $width = length ($glyph) > 32 ? 2 : 1; | |
22 | $dwidth = $width * 8; $swidth= $width * 500; | |
23 | $glyph =~ s/((..){$width})/\n$1/g; | |
24 | $character = "$character $charname" | |
25 | if $charname = $charname{pack("n",hex($character))}; | |
26 | ||
27 | print "STARTCHAR U+$character | |
28 | ENCODING $encoding | |
29 | SWIDTH $swidth 0 | |
30 | DWIDTH $dwidth 0 | |
31 | BBX $dwidth 16 0 -2 | |
32 | BITMAP $glyph | |
33 | ENDCHAR\n"; | |
34 | } | |
35 | ||
36 | print "ENDFONT\n"; |