aboutsummaryrefslogtreecommitdiff
path: root/x11-fonts/gnu-unifont/files/hex2bdf
diff options
context:
space:
mode:
Diffstat (limited to 'x11-fonts/gnu-unifont/files/hex2bdf')
-rw-r--r--x11-fonts/gnu-unifont/files/hex2bdf36
1 files changed, 36 insertions, 0 deletions
diff --git a/x11-fonts/gnu-unifont/files/hex2bdf b/x11-fonts/gnu-unifont/files/hex2bdf
new file mode 100644
index 000000000000..6663786c2bf6
--- /dev/null
+++ b/x11-fonts/gnu-unifont/files/hex2bdf
@@ -0,0 +1,36 @@
+#!/usr/bin/perl
+
+while (<>) { $glyph{$1} = $2 if /(....):(.+)\n/; }
+@chars = sort keys %glyph; $[ = 1;
+# dbmopen (%charname, "/usr/share/unicode/unidata/charname.db", 0);
+
+print "STARTFONT 2.1
+FONT -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1
+SIZE 16 75 75
+FONTBOUNDINGBOX 16 16 0 -2
+STARTPROPERTIES 3
+FONT_ASCENT 14
+FONT_DESCENT 2
+DEFAULT_CHAR 32
+ENDPROPERTIES
+CHARS $#chars\n";
+
+foreach $character (@chars)
+{
+ $encoding = hex($character); $glyph = $glyph{$character};
+ $width = length ($glyph) > 32 ? 2 : 1;
+ $dwidth = $width * 8; $swidth= $width * 500;
+ $glyph =~ s/((..){$width})/\n$1/g;
+ $character = "$character $charname"
+ if $charname = $charname{pack("n",hex($character))};
+
+ print "STARTCHAR U+$character
+ENCODING $encoding
+SWIDTH $swidth 0
+DWIDTH $dwidth 0
+BBX $dwidth 16 0 -2
+BITMAP $glyph
+ENDCHAR\n";
+}
+
+print "ENDFONT\n";