1 .TH UNIFONT 5 "2013 Sep 27"
3 Unifont \- A bitmapped font with full Unicode Plane 0 (BMP) coverage
9 is a bitmapped font with glyphs described in a plain text file, generically
13 This man page describes the format of three related files:
14 .B unifont.hex, masks.hex,
17 All three of these files start with a Unicode code point as a hexadecimal
18 string, with code points appearing in ascending order.
22 file consists of single-line entries for each Unicode code point.
23 Each line contains the code point, a colon (':') field separator,
25 .B The glyphs in a unifont.hex format file must appear in ascending
26 .B Unicode code point order.
28 This file can be converted into a BDF font using the
30 program, and into a TrueType font using
32 (which is not part of this package).
33 The BDF font can also be converted into a PCF font using
35 (which is also not part of this package).
39 The first field is the Unicode code point in hexadecimal, ranging from
40 "0000" through "FFFF", inclusive. This corresponds to the Unicode
41 code points U+0000 through U+FFFF, respectively.
46 The second field is the glyph's bitmap string. This is a series of
47 hexadecimal digits. Currently Unifont encodes two glyph sizes:
48 8 pixels wide by 16 pixels tall (single-width), and
49 16 pixels wide by 16 pixels tall (double-width).
51 As each hexadecimal digit can encode four bits, one pixel row of a glyph
52 is either two hexadecimal digits long (single-width) or four hexadecimal
53 digits long (double-width). The glyphs are 16 pixels tall, so
54 a single-width glyph is (2)(16) = 32 hexadecimal digits long and
55 a double-width glyph is (4)(16) = 64 hexadecimal digits long.
58 Previous versions of this package supplied a file named
60 This file followed the same format as
62 with a first field that was a Unicode code point in hexadecimal,
63 followed by a colon (':') field separator,
64 followed by a second field that was a hexadecimal string representing
65 a glyph bitmap. Code points were in ascending order. The glyph bitmaps
66 were bitmaps that would be exclusive-ored with the glyph in
68 that had the same code point.
71 contained combining circles as depicted in
72 .I The Unicode Standard.
73 When Paul Hardy got combining characters to display properly in the
74 TrueType version, it became desirable to remove these combining circles
75 for proper display with
83 format file, and apply the exclusive-or masks in
87 The output is another file in
89 format with the masked-off bits (i.e., combining circles) removed.
91 Because the operation is an exclusive-or,
93 could also be used to turn on pixels in selective glyphs, for exmaple
94 to add combining circles to selective glyphs that do not show them.
97 can do this without a separate
101 is no longer supplied with this package.
103 remains part of this distribution in case someone might find creating a custom
105 file useful for another purpose.
107 The TrueType version of the font,
111 utility both read a file
113 This file appears in the directory
117 file is a list of code points as hexadecimal strings, one per line in
118 ascending order, of Unicode code points that show combining circles in
119 .I The Unicode Standard.
120 Any glyph with its code point listed in
122 will have zero width in
125 Roman Czyborra, the font's creator, originally wrote two Perl scripts
133 Perl script reads in a font in BDF format and generates a font output in
139 Perl script might appear somewhat magical. It can read a file in
141 format and generate a text file with each glyph appearing
142 as a grid of characters in an 8 by 16 or 16 by 16 grid:
143 a '-' character indicates a corresponding white pixel, and
144 a '#' character indicates a corresponding black pixel. These pixel grids
145 are indented. The first line shows the code point for a glyph, followed
146 by a colon (':'). This text file can then be modified with any text
147 editor. The magical part about
149 is that it will read in
150 this text file, detect that it is in this converted format, and produce
151 as output a second file in Unifont's .hex format. Thus
153 automagically provides round-trip coverage between an original font file in
155 format and an intermediate text graphics format for editing.
157 Utilities introduced after those first two convert a file in
159 format to and from bitmapped
160 graphics (".bmp") files. The
162 program converts a file in
164 format into a .bmp format file,
165 for editing with a graphics editor. The
167 program performs the reverse conversion, from a bitmapped graphics format
172 .B hexdraw (1), unihex2bmp (1),
175 are the central programs that handle conversion of a
177 file to and from two-dimensional glyph representations for visual editing.
180 file included in the source pakcage for more information on these and
181 other utilities to customize
183 format files. Also consult the man pages for the utilities listed below.
185 The following files are part of the Unifont source distribution:
187 .B font/plane00/*.hex
188 GNU Unifont font files
194 Instructions on building Unifont
197 Tutorial on customizing Unifont
211 .BR unifont-viewer(1),
212 .BR unifontchojung(1),
215 .BR unigencircles(1),
225 format was created by Roman Czyborra, who drew the original set of glyphs.
228 is Copyright \(co 1998 Roman Czyborra, with portions Copyright \(co 2007-2013
229 Paul Hardy, Copyright \(co 2004-2013 Qianqian Fang, and others.
231 This program is free software; you can redistribute it and/or modify
232 it under the terms of the GNU General Public License as published by
233 the Free Software Foundation; either version 2 of the License, or
234 (at your option) any later version.
236 The format is very straihtforward and no real bugs exist. However,
237 Unifont's original BDF font format does not support Unicode's combining
238 characters (accents, etc.); only the TrueType version of Unifont does.