unifont-6.3.20140202.tar.gz
[unifont.git] / README
1
2 OVERVIEW
3 --------
4 GNU Unifont is an official GNU package.  It is a dual-width
5 (8x16/16x16) bitmap font, designed to provide coverage for
6 all of Unicode Plane 0, the Basic Multilingual Plane (BMP).
7
8 This version has a glyph for each visible code point in the
9 Unicode 6.3 Basic Multilingual Plane (Plane 0) and some glyphs
10 in the Supplemental Multilingual Plane (Plane 1).  This version
11 also includes many glyphs in Michael Everson's ConScript
12 Unicode Registry (CSUR).
13
14 Unifont only provides a single glyph for each character, making it
15 impossible to handle any language properly that needs context-dependent
16 character shaping. It is supplied in the form of a hex file, with
17 a converter to convert it to BDF. See http://czyborra.com/unifont/
18 or http://unifoundry.com/unifont.html for more information.  The
19 BDF font is converted to PCF, and the hex file is converted to a
20 TrueType font.
21
22 This is the unifoundry.com collection of utilities for GNU Unifont,
23 assembled by Paul Hardy with the encouragement of the font's creator,
24 Roman Czyborra.  This archive contains the following directories
25 and files:
26
27      ChangeLog  Log of changes made to each GNU release
28      COPYING    Full text of GPL version 2
29      doc        Documentation in Texinfo format
30      font       The font source file with scripts for building
31      hangul     Standalone font sources to build hangul-syllables.hex
32      INSTALL    Instructions for font and software installation
33      Makefile   The "make" file
34      man        Unix man pages
35      NEWS       Summary of what's new with each GNU release
36      README     This file
37      src        Source programs, in Perl and C
38
39 The "font/precompiled" directory contains prebuilt font-related files:
40
41      coverage.txt                     Percentage coverage of Plane 0 scripts
42
43      unifont-<version>.hex            Hex string source of glyphs to build
44                                       Unifont
45      unifont-<version>.bdf.gz         BDF version of Unifont
46      unifont-<version>.pcf.gz         PCF version of Unifont
47      unifont-<version>.ttf            TrueType version of Unifont
48
49      unifont_sample-<version>.hex     Hex string source of all Plane 0 glyphs
50                                       (except those for U+FFFE and U+FFFF),
51                                       including nonprinting and PUA glyphs,
52                                       with combining circles
53      unifont_sample-<version>.bdf.gz  BDF font version of the above .hex file
54      unifont_sample-<version>.ttf     SBIT font version of the above .hex file
55
56      unifont_csur-<version>.*         Fonts containing Plane 0 Unifont glyphs
57                                       plus glyphs for Michael Everson's
58                                       ConScript Unicode Registry (CSUR) for
59                                       the Plane 0 Private Use Area
60
61      unifont_upper-<version>.*        Fonts containing glyphs from Unicode
62                                       Plane 1 through Plane 14, inclusive
63
64      unifont_upper_csur-<version>.*   Fonts containing glyphs from Unifont
65                                       Upper plus glyphs from Michael Everson's
66                                       ConScript Unicode Registry (CSUR) that
67                                       are in the Private Use Area in Plane 15
68
69      unifont-<version>.bmp            The entire Plane 0 Unifont font with
70                                       combining circles, built from the files
71                                       font/plane00/*.hex, showing combining
72                                       circles
73
74 The directory that was originally named "font/hexsrc" has been renamed
75 to "font/plane00" now that Unifont supports glyphs beyond Plane 0.  Higher
76 plane glyphs appear in "font/plane01" through "font/plane0F".  Currently
77 there is no "font/plane10" directory (the highest Unicode plane is Plane 17,
78 or 0x10).
79
80 This release incorporates all glyph errata issued by The Unicode Consortium
81 from Unicode 1.0 errata to the latest.
82
83
84 BUILDING
85 --------
86 See the "INSTALL" file in this directory for building instructions.
87
88
89 src/ AUTHORS
90 ------------
91 Roman Czyborra wrote all the Perl files in the src directory except
92 "hex2sfd", "hexkinya", "unifontchojung", "unifontksx", "unihex2png",
93 and "unipng2hex".
94
95 In the case of "johab2ucs2", Jungshik Shin wrote the orignial version;
96 he then gave it to Roman.  Paul Hardy made further changes to "johab2ucs2".
97
98 Roman originally named the "src/hexbraille" script as simply "braille".
99 Paul Hardy thought there was too great a chance of a name conflict with
100 other utilities, and so renamed it.
101
102 Luis Alejandro Gonzalez Miranda wrote the original "hex2sfd" Perl
103 script, as well as a "howto-build.sh" shell script that Paul Hardy
104 converted into "./font/ttfsrc/Makefile".
105
106 Paul Hardy wrote "unifontchojung" and "unifontksx" for extracting subsets
107 of Hangul glyphs, as an aid in creating a new Hangul Syllables block.
108
109 Andrew Miller wrote "hexkinya".  He also wrote "unihex2png" and "unipng2hex"
110 based upon Paul Hardy's "unihex2bmp" and "unibmp2hex" programs.
111
112 Paul Hardy wrote all the C programs.
113
114
115 Unifont AUTHORS
116 ---------------
117 Roman Czyborra created the original GNU Unifont, including the
118 .hex format.  For greater detail, see the HISTORY section below.
119
120 David Starner aggregated many glyphs contributed by others and
121 incorporated these into pre-2004 Unifont releases.
122
123 Qianqian Fang began his Wen Quan Yi font in 2004, by which
124 time work on Unifont had stopped.  Most of the almost 30,000
125 CJK ideographs in Unifont versions 5.1 and later were taken
126 from Wen Quan Yi with permission of Qianqian Fang.  The glyphs
127 in "./font/hexsrc/wqy-cjk.hex" are for the most part Qianqian
128 Fang's Unibit and Wen Quan Yi glyphs.
129
130 Paul Hardy drew most of the newly-drawn glyphs added to the BMP
131 from the Unifont 5.1 release to the present release.  This includes
132 the 11,172 glyphs in the Hangul Syllables block, plus approximately
133 10,000 additional glyphs scattered throughout the BMP.
134
135 Andrew Miller drew the glyphs added to Unicode 6.3.0.
136
137 For higher planes and the Private Use Area glyphs, see the ChangeLog
138 file.
139
140
141 LICENSE
142 -------
143 The source code for everything except the compiled fonts in this current
144 release is licensed as follows:
145
146      License for this current distribution of program source
147      files (i.e., everything except the fonts) is released under
148      the terms of the GNU General Public License version 2,
149      or (at your option) a later version.
150
151 GPL version 2 is contained in the "COPYING" file in the main source
152 directory for this package.  If your received this source without
153 a copy of GPL version 2, you can download a copy from GNU's website
154 at http://www.gnu.org/licenses/gpl-2.0.html.
155
156 The license for the compiled fonts is covered by the above GPL terms
157 with the GNU font embedding exception, as follows:
158
159      As a special exception, if you create a document which uses this font,
160      and embed this font or unaltered portions of this font into the document,
161      this font does not by itself cause the resulting document to be covered
162      by the GNU General Public License. This exception does not however
163      invalidate any other reasons why the document might be covered by the
164      GNU General Public License. If you modify this font, you may extend
165      this exception to your version of the font, but you are not obligated
166      to do so. If you do not wish to do so, delete this exception statement
167      from your version. 
168
169 See "http://www.gnu.org/licenses/gpl-faq.html#FontException" for more details.
170
171
172 CHANGES IN VERSION 6.3
173 ----------------------
174 Version 6.3 reflects all glyph changes and errata published in Unicode
175 6.3.0.  In preparation for releasing this version, Paul Hardy obtained
176 a hard copy of the errata published in Unicode Version 1.1, not yet
177 available on Unicode's website.  All previously published errata have
178 been incorporated.  This is a complete replacement for all previous
179 releases.
180
181 The following code points in previously published errata were examined
182 and found to be correct:
183
184      Unicode 1.1: U+717F, U+773E, U+809C, U+8480, U+908E
185
186 Andrew Miller drew the 5 new additions to the Unicode 6.3.0 Basic
187 Multilingual Plane in the initial Unifont 6.3 release.
188
189 The latest Unifont 6.3 release includes these glyph changes by Paul Hardy:
190
191    - Armenian -- several glyphs were redrawn based upon feedback from
192      native speakers (U+0530..U+058F).
193
194    - CJK Radicals Supplement -- several glyphs were redrawn to better match
195      their representations in The Unicode Standard code charts:
196      U+2E9F, U+2EA9, U+2EAC, U+2EAE, U+2EC0, U+2EDE, U+2EE7, and U+2EED.
197
198    - Capricorn sign (U+2651) -- this was redrawn to an alternate form that
199      better fit in an 8 by 16 pixel grid.
200
201    - Dashes -- changed to distguish better between different dash types
202      (a two horizontal pixel difference is the minimum to easily distinguish
203      a difference between two glyphs):
204      * Hyphen (U+002D) and Soft Hyphen (U+00AD) are now 4 pixels wide
205      * En Dash (U+2012) is now 6 pixels wide
206      * Em Dash (U+2013) is now 8 pixels wide
207
208    - Control Pictures:
209      * Centered text for C1 Controls U+0089 ("HTJ"), U+0095 ("MW"),
210        and U+009E ("PM")
211      * Copied glyphs from U+0000..U+001F to U+2400..u+241F and erased
212        surrounding borders; earlier, some glyphs in U+0000..U+001F had
213        their text re-centered so this carries that change forward
214
215    - Arrows -- General Re-alignment
216      * Aligned most single vertical arrow strokes with the 5th column,
217        counting from the left, to align with the center of the "w" glyph
218        (U+0077)
219      * Aligned most single horizontal arrow strokes with the 7th row,
220        counting from the bottom, to align with the horizontal stroke in
221        the "e" glyph (U+0065); this follows the convention of Donald Knuth's
222        fonts in TeX, as illustrated in The TeXbook
223      * Modified the following ranges per the above two re-alignments:
224        o U+2190..U+21FF Arrows
225        o U+27F0..U+27FF Supplemental Arrows -- A
226        o U+2900..U+297F Supplemental Arrows -- B
227        o U+2B00..U+2BFF Miscellaneous Symbols and Arrows
228
229    - Modified the following additional Miscellaneous Technical glyphs
230      * Scan lines for old 9-line character terminals:
231        o U+23BA Line 1, horizontal line across row  1 (counting from the top)
232        o U+23BB Line 3, horizontal line across row  5 (counting from the top)
233        o U+23BC Line 7, horizontal line across row 12 (counting from the top)
234        o U+23BD Line 9, horizontal line across row 16 (counting from the top)
235      * U+23CE Return Symbol: shortened to match Latin capital height
236      * U+23AF Horizontal Line Extension: aligned on 7th row, counting
237        from the bottom
238      * U+23D0 Vertical Line Extension: aligned on 5th column, counting
239        from the left
240      * U+23DA Ground Symbol: aligned with Vertical Line Extension (U+23D0)
241      * U+23DB Fuse Symbol: algined with Horizontal Line Extension (U+23AF)
242      * U+23EC Black Down-pointing Double Triangle: moved down one row to
243        match Latin capital height
244
245    - Swapped U+FE17 and U+FE18, which had been reversed
246
247    - hangul/ directory -- updated "hangul-generation.html" to match the
248      latest version at http://unifoundry.com/hangul/hangul-generation.html
249
250 Five new utility programs have also been added:
251
252    - unifontpic - creates a bitmapped graphics (.bmp) file of the entire
253      Basic Multilingual Plane (Plane 0), by default in a 256-by-256
254      glyph grid for ease of printing, and optionally in a 16-by-4096 glyph
255      grid for easier scrolling on a screen, for software that can handle
256      a .bmp file with over 64k pixel rows (not all software can).  The
257      256-by-256 glyph grid can be scaled to print on a piece of paper
258      approximately 3 feet by 3 feet (or one meter by one meter).  Written
259      by Paul Hardy.
260
261    - unigencircles - adds dashed combining circles to unifont.hex glyphs
262      for code points that are in "font/ttfsrc/combining.txt" but not in
263      "font/hexsrc/nonprinting.hex".  Written by Paul Hardy.
264
265    - unigenwidth - creates an implementation of the POSIX functions
266      wcwidth() and wcswidth() as specified in IEEE 1003.1-2008, Vol. 2:
267      System Interfaces, Issue 7, pages 2251 and 2241, respectively.
268      Plane 0 widths are determined by reading the current Unifont glyphs.
269      All higher planes, 0x01 through 0x10, are calculated without regard
270      to Unifont glyphs.  This can be modified in the future if Unifont
271      glyphs extend beyond Plane 0.  Written by Paul Hardy.
272
273    - unihex2png - converts a unifont.hex-format file into a Portable
274      Network Graphics (PNG) file for editing with a wider rane of graphics
275      editors than the original unihex2bmp allowed.  Written by Andrew
276      Miller, based upon the unihex2bmp source code.  Introduced in
277      Version 6.3.20131215.
278
279    - unipng2hex - converts a PNG graphics file created by unihex2png
280      back into a unifont.hex-format file.  Written by Andrew Miller,
281      based upon the unibmp2hex source code.  Introduced in Version
282      6.3.20131215.
283
284 The last two program additions, unihex2png and unipng2hex, also support
285 glyph heights of 24 and 32 pixels in addition to Unifont's original
286 height of 16 pixels.  hex2bdf and hexdraw have also been modified to
287 support these alternate glyph heights.  This capability has not been
288 tested extensively, and for now is considered experimental.
289
290
291 CHANGES IN VERSION 6.2
292 ----------------------
293 After release of version 5.1 of Unifont, it was learned that the
294 replacement glyphs used in Hangul Syllables, although free to use,
295 could never be licensed under any version of GPL.  For that reason,
296 Paul Hardy created a set of Hangul Syllables from scratch with the
297 oversight of some native Koreans.  This was done using the files that
298 appear in the "hangul/" directory.  For a detailed discussion of the
299 process, see
300
301      http://unifoundry.com/hangul/hangul-generation.html
302
303 The new font was released as Unifont 6.2, with representation of
304 all glyphs in the Unicode 6.2 BMP.  As a result of replacing the
305 Hangul Syllables block, this was the first release that provided
306 GPLv2+ coverage (with a font embedding exception) for the entire
307 package.
308
309 The Unicode Consortium released Unicode Version 6.2.0 on 22 April 2013.
310
311 This version of Unifont includes all additions to the BMP since Unicode
312 Version 5.1, and adds 1,328 more glyphs to the Basic Multilingual Plane.
313
314 It also incorporates all errata that the Unicode Consortium published
315 that apply to the BMP from Unicode 3.0 errata through Unicode 6.1 errata
316 (listed with the Unicode 6.2.0 release).  Only one erratum was left
317 unmodified: the Ogham Space glyph, U+1680, which was left as a line stroke
318 because of the rendering limitations of the bitmapped Unifont.  The errata
319 for the following glyphs were examined and if necessary corrected:
320
321      Unicode 3.1: U+066B, U+224C, U+1780..U+17E9
322      Unicode 3.2: [none]
323      Unicode 4.0: U+06DD, U+0B66
324      Unicode 4.1: U+01B3, U+031A
325      Unicode 5.0: U+0485, U+0486, U+06E1
326      Unicode 5.1: U+047C, U+047D, U+075E, U+075F,
327                   U+1031, U+1E9A, U+1460, U+147E,
328                   U+2626 
329      Unicode 5.2: U+04A8, U+04A9, U+04BE, U+04BF,
330                   U+135F, U+19D1, U+19D2, U+19D4 
331                   [U+1680 left as is]
332      Unicode 6.0: [none]
333      Unicode 6.1: U+2D7F
334
335 Note that some glyphs were assigned in earlier versions of Unicode and
336 later withdrawn, but their glyphs still appear in the code charts.
337 Therefore, they have been left in place.  The Unicode Consortium now
338 holds the position that once a glyph is assigned, it is not replaced.
339
340 Andrew Miller noted that one glyph (U+2047) was incorrect and the glyph
341 CYRILLIC CAPITAL LETTER A (U+0410) did not match LATIN CAPITAL LETTER A
342 (U+0041).  He submitted corrections and they have been incorporated.
343
344 The biggest change was a totally redrawn set of Hangul Syllables,
345 U+AC00..U+D7A3, comprising 11,172 glyphs in all.  This allowed the
346 entire font to be licensed under the GNU GPL.
347
348 Unicode 6.2 (and hence Unifont) now only has 2,330 unassigned code points
349 in the BMP for possible future assignments, and the rate at which new
350 code points are being assigned in the BMP is decreasing greatly.
351
352 The unihex2bmp program has reversed the meaning of its "-f" (flip,
353 or transpose) flag compared to Unifont Version 5.1 unihex2bmp.
354 Now the default behavior is to produce 16x16 glyph charts with
355 the same arrangement as The Unicode Standard.
356
357 The unibmp2hex program now hard-codes several scripts and code points
358 to be double-width.  This was necessary after removing the combining
359 circles from many glyphs that only occupied the left-hand side of the
360 16x16 grid, but combine with double-width glyphs from the rest of a
361 given script.
362
363 The "blanks.hex" file has been renamed to "unassigned.hex" as a more
364 accurate description of its contents.  The "substitutes.hex" file has
365 been renamed to "spaces.hex", as all it contained were single- and
366 double-width space glyphs (strings of 0s).
367
368
369 Roman Czyborra and Paul Hardy wanted to license this entire collection
370 under GPL to simplify its adoption by the GNU Project.  In the end, there
371 was just one catch: the Hangul Syllables block that appeared in Unifont 5.1,
372 although licensed for free use, could not be licensed under the GPL.
373
374 There was no suitable alternative that was covered under the GPL, so Paul
375 Hardy created a new block of Hangul Syllables.  This took a few years of
376 spare time to complete.  Native Koreans reviewed and critiqued the glyphs.
377 If anyone who is Korean would like to improve this block (U+AC00..U+D7A3),
378 please feel free to do so and submit the changes so they can be incorporated.
379
380 The font has also gone through a couple of simplifications since the
381 release of version 5.1:
382
383    - There is only one source file for CJK ideographs now, "wqy.hex",
384      acknowledging that most of these glyphs were taken from the Wen
385      Quan Yi distribution.
386
387    - There are no more combining circles; these were all removed.
388
389 The result is now there is just one variation of output font rather than
390 four.  That one is used to generate the TrueType "unifont.ttf" font.
391
392 The directory "font/hexsrc" contains the .hex input files for building
393 Unifont, and contains these files:
394
395      hangul-syllables.hex   Unicode Hangul Syllables, U+AC00..U+D7A3
396      nonprinting.hex        Format and other assigned but invisible glyphs
397      pua.hex                Private Use Area glyphs
398      README                 The README file
399      spaces.hex             Code points that are space glyphs
400      unassigned.hex         Unassigned code points in the BMP
401      unifont-base.hex       Source file with almost all BMP scripts
402      wqy.hex                Source file with Wen Quan Yi CJK ideographs
403
404 The file previously named "blanks.hex" is now named "unassigned.hex".
405 These "blank" glyphs are no longer included in the compiled font.
406 Although the Unicode Standard specifically allows a visual rendering
407 of unassigned code points, doing so would prevent a display engine
408 finding a glyph in another font.  In fact, the original "blanks.hex"
409 pattern was modeled after the proposed representation of unassigned
410 code points depicted in The Unicode Standard, Version 5.0, Section 5.3,
411 Unknown and Missing Characters (p. 155).
412
413 Incorporating "blanks.hex" (now "unassigned.hex") was invaluable in
414 spotting assigned code points with glyphs that had not yet been drawn.
415 However, now there is complete coverage of the entire BMP, with only
416 about 2,300 BMP code points remaining out of 65,536 that could potentially
417 be given assignments in the future, so the great bulk of work on the
418 BMP is done.
419
420 The "pua.hex" file contains a four-digit hexadecimal representation of
421 each code point, rendered as white on black.  The new program "hexgen.c"
422 generated these glyphs.  A four-digit hexadecimal code point is suggested
423 as one possible rendering of PUA glyphs in The Unicode Standard, Version
424 5.0, Section 5.3.  Another possible rendering suggested in that same
425 section is a pencil glyph.  A pencil glyph was used originally in Unifont
426 Version 5.1.
427
428 The glyphs in "pua.hex" are not compiled into the final font.  To do
429 so, modify font/Makefile by adding "pua.hex" to the list of hex source
430 files.  Alternatively, someone could use their own pua.hex file for
431 various Private Use Area assignments.
432
433
434 UNIFONT VERSION 5.1
435 -------------------
436 Paul Hardy's first release of Unifont and associated graphics utilities
437 was Version 5.1.  This corresponded to Unicode Version 5.1 (the current
438 version at the time), with a glyph for every visible character in the
439 Unicode 5.1 Basic Multilingual Plane.
440
441 For the Unifont 5.1 release, Paul Hardy replaced the 11,172
442 thick-stroke Hangul Syllables glyphs with thin-stroke glyphs
443 (a desire expressed by Roman Czyborra for years), merged Qianqian
444 Fang's unibit and Wen Quan Yi glyphs into GNU Unifont (with lots
445 of help and enthusiasm from Qianqian Fang), drew about 8,500 more
446 glyphs to provide complete coerage of the BMP, and replaced the
447 existing Tibetan glyphs with new ones contributed by Rich Felker.
448
449 There was a bug in the johab2ucs2 Perl Script that formed one range
450 of Hangul Syllables incorrectly in previous releases.  Paul Hardy
451 noticed and fixed the bug for the Unifont 5.1 release.  All previous
452 releases of Unifont have an incorrectly formed Hangul Syllables block.
453
454 Earlier releases also had an incorrectly formed Braille glyph block.
455 There was a bug in the Perl script that drew the Braille glyphs in
456 earlier releases.  Roman Czyborra made a fix to that Perl script,
457 named "braille" at his website (http://czyborra.com).  The revised
458 script ("hexbraille") was included in the Unifont 5.1 release, and
459 used to generate the Unifont 5.1 Braille glyphs.
460
461
462 HISTORY
463 -------
464 Roman Czyborra <roman@czybora.com> began GNU Unifont in 1998 as a low
465 quality font to provide a glyph for every Unicode character in the
466 Basic Multilingual Plane.  He realized that no one font at the time
467 had complete coverage of the Unicode BMP.  http://czyborra.com still
468 has several cool tools for Unifont not included here.
469
470 Since Roman Czyborra was unable to maintain the Unifont for a while,
471 and many patches existed on gnu-unifont@groups.yahoo.com
472 (http://groups.yahoo.com/group/gnu-unifont), David Starner
473 <dstarner98@aasaa.ofe.org> decided to make a new release extending
474 Unifont with many characters in 1999.  That was the foundation of earlier
475 GNU Unifont compilations from 1999 to 2004.
476
477 By 2004, work on Unifont had stopped.  Qianqian Fang wanted to create
478 a high-quality Chinese Unicode font in 2004.  He began by copying the
479 GNU Unifont glyphs.  He replaced its Latin glyphs with those of another
480 X11 font.  He replaced the existing main CJK ideographs with a higher
481 quality font that the People's Republic of China had placed in the public
482 domain.  Qianqian named this new font "unibit", and released it under
483 the terms of the GNU General Public License (GPL) version 2, with the
484 exception that embedding his font in a document did not by itself bind
485 that document to the terms of the GNU GPL.
486
487 See http://wqy.sourceforge.net/cgi-bin/enindex.cgi (English) or
488 http://wenq.org (Chinese) for more information on Wen Quan Yi.
489
490 In late 2007, Paul Hardy became interested in adding to GNU Unifont.
491 He wrote a couple of programs to convert GNU Unifont .hex files to and
492 from bitmap images for easy editing with any graphics software.  He began
493 by combining the latest glyphs available for GNU Unifont.  This starting
494 point was posted at http://czyborra.com as the 2007-12-31 version of
495 unifont.hex.  Shortly after that, Roman Czyborra's website went down.
496 Paul Hardy then started posting complete copies of GNU Unifont on his
497 website, at "http://unifoundry.com/unifont.html".
498
499 Roman Czyborra encouraged Paul Hardy to continue this work on GNU Unifont.
500
501 In early 2008, Paul Hardy learned of Qianqian Fang's work.  Qianqian
502 encouraged a combining of effort, and Paul Hardy at that point created
503 two versions of GNU Unifont: one with the original Chinese ideographs
504 (which Roman Czyborra copied from a Japanese font in the public domain),
505 and one with Qianqian Fang's Wen Quan Yi (Spring of Letters) ideographs.
506 The Wen Quan Yi font provides far more coverage of CJK ideographs than
507 the original Japanese font did, and is of higher quality.
508
509 Paul Hardy created a version of both the font with the original CJK
510 ideographs from Japan and with CJK ideographs from Wen Quan Yi that
511 contained combining circles.  He then wrote a post-processing program
512 to remove the combining circles from the final font.
513
514 In 2005, Luis Alejandro Gonzalez Miranda (http://www.lgm.cl) created
515 a set of Fontforge scripts and Perl programs to build a TrueType font
516 from unifont.hex.  Paul Hardy modified Luis' software in 2008 to cover
517 the full Unicode 5.1 Basic Multilingual Plane range.  Luis gave Paul
518 Hardy permission to release this modified version under the terms of
519 "the GNU General Public License, version 2 or (at your option) a later
520 version."
521
522 On 4 July 2008, Paul Hardy was looking through all of Roman Czyborra's
523 Perl scripts.  One of these, "braille", contained a comment from 2003
524 that the original GNU Unifont did not generate its Braille patterns
525 (U+2800..U+28FF) correctly.  The modified script fixed that bug.  Paul
526 Hardy incorporated the corrected Braille glyphs into the 6 July 2008
527 release of GNU Unifont.
528
529 All previous versions probably contain this Braille bug and should be
530 replaced.
531
532 Other notable additions include:
533
534      - Incorporation of CJK glyphs from Qianqian Fang's fonts
535
536      - Incorporation of Rich Felker's Tibetan glyphs
537
538      - Replacement of the Hangul Syllables block with a thin stroke font
539        (Roman had mentioned wanting to do this someday on his website),
540        the current version being created from scratch by Paul Hardy
541
542      - Addition of circled pencil glyphs for the Private Use Area
543        (suggested as an acceptable rendering in the Unicode 5.0 Standard),
544        now replaced with optional four-digit hexadecimal code point glyphs;
545        thought not built into the final font by default, they are available
546        in "font/hexsrc/pua.hex"
547
548      - Replacement of the Unifont 5.1 gray box glyphs for unassigned
549        code points with four-digit hexadecimal glyphs; these are built
550        into the final font by default
551
552      - Proper handling of combining characters in the TrueType version
553
554      - Proper handling of space glyphs in the TrueType version
555
556 The hex2bdf script in this release is Roman's original script, not the
557 modified version that produced two BDF files (one for 8 pixel wide glyphs
558 and another for 16 pixel wide glyphs).  The TrueType font should be used
559 in preference to the BDF font, so this is probably a moot point.
560
561 For the Unifont 6.2 release, Qianqian Fang gave Paul Hardy permission
562 to release the subset of Wen Quan Yi glyphs included in Unifont under
563 GPLv2+, with a font embedding exception.  With the newly-drawn Hangul
564 Syllables block, this allowed the entire font to be released under
565 GPLv2+ with a font embedding exception.
566
567
568 OPEN ISSUES
569 -----------
570 * Some CJK ideographs use an entire 16x16 pixel grid.  This leaves
571 insufficient space between lines.  However, changing to a non-square
572 grid would distort the block drawing glyphs.  The best solution is
573 probably to use GNU Unifont for mostly non-CJK glyph rendering, and
574 to use Qianqian Fang's Wen Quan Yi fonts (http://wenq.org) for
575 predominately CJK glyph rendering.  The Wen Quan Yi fonts use extra
576 leading (blank space) between lines.
577
578 * There are still some Control and Format glyphs in "unifont-base.hex";
579 these might be more appropriate for "nonprinting.hex".
580