GNU Unifont is a Unicode font collection with glyphs for all
visible Unicode Basic Multilingual Plane (the first 64K)
character code points and many more, with supporting utilities
to view, define, modify, and convert fonts.
For more information see the project home page:
https://unifoundry.com/unifont/
NOTE: Releases from 15.1 do not include Truetype format, only Opentype
format Unifont fonts, as previously announced.
As these fonts are bitmap glyphs rendered into modern font formats,
both formats should render the same glyphs.
All modern systems support both Opentype and Truetype format fonts,
so there should be few or no issues if releases provide only Opentype
format Unifont, which are less than half the file size of the Truetype
format.
A known issue with TrueType is Pango combining character rendering not
being fixed as the Pango maintainers want to support only OpenType.
If anyone encounters issues using the Opentype format Unifont,
please let us know so we can address any issues.
The following packages have been upgraded in the Cygwin distribution:
- unifont-fonts 17.0.04
- unifont-viewer 17.0.04
- unifont 17.0.04
For changes since the previous Cygwin release, see below, or after
installation read /usr/share/doc/unifont/NEWS;
for full details see /usr/share/doc/unifont/ChangeLog:
https://unifoundry.com/unifont/index.html
https://unifoundry.com/unifont/unifont-utilities.html
2026-03-13 17.0.04
font/plane00/t-source.hex:
- added a set of over 28,000 Unicode Standard T-source Chinese glyphs.
font/plane00/unifont-base.hex:
- adjusted several Devanagari glyphs (U+0900..U+097F).
font/plane00/wqy.hex:
- Modified U+41AF to better distinguish the components "女" and "å"
- Raised the bottom stroke in U+3749(ã) to better align it with other
characters.
- Updated three glyphs that contain a horse radical: é§ (U+99CD),
é§» (U+99FB), and é§½ (U+99FD)
- Fixed a glyph error in ãµ® (U+3D6E)
- Modified the structure of æ© (U+6A5C) as made in Unicode 6.0.
font/plane01/plane01.hex:
- modified several Ancient Symbols glyphs:
U+10194 ROMAN DIMIDIA SEXTULA SIGN, U+10196 ROMAN DENARIUS SIGN,
U+10197 ROMAN QUINARIUS SIGN, U+10198 ROMAN SESTERTIUS SIGN,
U+10199 ROMAN DUPONDIUS SIGN, and U+1019C ASCIA SYMBOL, with
U+10197..U+10199 redrawn as half-width.
font/plane02/zh-plane02.hex:
- Updated U+2042D per Unicode 17.0.0
- Added a missing pixel in U+2CB5B
- Added 𥱠(U+25771).
- Completed all variant characters (except for 1 unencoded character)
not in BMP listed in Appendix 1 of the éç¨è§èæ±å表 (List of
Commonly Used Standard Chinese Characters)
- Completed the first 2100 characters of the å¤ç±å°å·éç¨åè§èå
形表
(Standardized Character Form Table for Commonly Used Characters in
Ancient Book Printing)
- Added some glyphs between U+20BE5 and U+30828.
- Updated U+2CD88 (ð¬¶) and U+2CD8B (ð¬¶) after report that the glyph for
U+2CD88 (ð¬¶) was mistakenly made identical to that of U+2CD8B (ð¬¶).
- contributed some glyphs between U+29A70 and U+29AFF.
- modified glyphs to make their style fit more closely with others:
U+20005 (ð
), U+20626 (ð ¦), U+206B3 (ð ³), U+206B4 (ð ´),
U+206B5 (ð µ), U+206BB (ð »), U+206F4 (ð ´), U+2071F (ð ),
U+20720 (ð ), U+2074B (ð ), U+20759 (ð ), U+2076B (ð «),
U+20770 (ð °), and U+207F2 (ð ²).
font/plane03/zh-plane03.hex:
- added glyphs: U+30E77, U+30F59, U+31E91, U+324DC, U+327F1, U+32972,
U+32F99, and U+33056.
- added U+317DB.
Makefile:
- Added "bin" and "lib" to .PHONY target so updates to them would not
trigger redundant operations.
- Changed "\rm" to "-rm" for Cygwin compatibility.
- Added *-stamp files to avoid redundant operations: bin-stamp,
buildfont-stamp, libdir-stamp, docdir-stamp, and doxdir-stamp.
- Added "-rm -f *-stamp" to distclean target.
font/README.font:
- New file to list files that should normally be present in the "font"
directory in a distclean state.
font/hexadecimate.awk:
- New script invoked from "font/Makefile" to generate 16-by-16 glyph
images in ".png" or ".bmp" format.
- Output is piped to "sh" in "font/Makefile" to run programs to create
those glyph images.
font/Makefile:
- Updated copyright for 2026.
- Added many new "-stamp" targets to increase building parallelism when
using "make -j".
- Added Unifont package programs as dependencies for any target that
requires them.
- Remove intermediate work files in font/otfsrc and font/ttfsrc
directories after each respective font build completes.
- plane00/hangul-syllables.hex is no longer generated from
plane00/hangul/hangul-base.hex, which contains ancient as well as
modern jamo, in preparation for decoupling the
plane00/hangul-syllables.hex file from the plane00/hangul directory
sources.
This will allow optimizing the Unicode Hangul Syllables block for
legibility using only modern jamo.
- Added BIN_STAMP definition and added as dependencies for targets that
use Unifont package Perl or C programs.
- Changed "$(HEXDIR)" to "plane00" and removed HEXDIR definition.
Unifont has grown into upper Unicode planes, each in their own
directory, so there is no longer a single "hex" directory.
- ALL_HEX_PLANE00 definition: added plane00/izmg16-plane00.hex.
- ALL_HEX_PLANE00CSUR definition: added plane00csur/noscript.hex.
- ALL_HEX_PLANE03 definition: added plane03/jp-plane03.hex.
- ALL_HEX definition created to combine "$(ALL_HEX_LOWER)", "$(PUA)",
and "$(ALL_HEX_UPPER)" definitions.
- Removed separate $(COMPILED_DIR)/unifont_all-$(VERSION).hex target;
moved creation of unifont_all-$(VERSION).hex to hex-stamp target.
- Changed dependency of targets "coverage.txt" and
"$(COMPILED_DIR)/unifont_all-$(VERSION).hex.gz" to "hex-stamp"
dependency as a result of the above change.
- compiled_files target: added "bdf" dependency.
- Removed "bdf" dependency from targets "coverage.txt", "opentype", and
"truetype".
- Consolidated creation of ".png" and ".bmp" 16-by-16 glyph grids to use
common targets as dependencies.
- Added calls to new "font/hexadecimate.awk" script for generation of
16-by-16 glyph ".png" and ".bmp" image files.
This new script runs in linear time, replacing the previous sh nested
for loops that ran in O(n^2) time, thereby reducing build time.
- Create new intermediate file "font/graphawks-env" as a poor man's way
of passing environment variables to "font/hexadecimate.awk", to
support versions of awk that cannot read environment variables.
- Consolidated creation of HTML coverage tables linking to ".bmp" or
".png" glyph image files into one "html-stamp" target.
- Made separate targets for each OTF font so they can be built
selectively if desired.
- bdf target: removed "hex" dependency.
- bdf-stamp target: added "hex-stamp" dependency.
- psf target: changed dependency to "bdf-stamp".
- bigpic target:
- Changed dependency to "bigpic-stamp" and created "bigpic-stamp" target.
- Use ImageMagick to convert BMP images to monochrome PNG.
- thumbnails target: chaged dependency to "thumbnails-stamp" and created
"thumbnails-stamp" target.
- pcf target: changed dependency to "pcf-stamp" and created
new "pcf-stamp" target.
- Build and preserve unifont_jp-$(VERSION).pcf.gz to install it.
- coverage target: changed dependency to "$(COMPILED_DIR)/coverage.txt"
and made new target for "$(COMPILED_DIR)/coverage.txt".
- distclean target no longer runs "make distclean" in plane00/hangul.
- .PHONY: removed "$(HANGUL)", because now it is a real file.
- pagecount target: changed dependency to
"$(COMPILED_DIR)/pagecount.html" and made new target for
"$(COMPILED_DIR)/pagecount.html".
- compiled target: changed dependency to "hex-stamp".
- hex-stamp target: moved *.hex dependencies from "compiled" target to
become "hex-stamp" target dependencies.
- $(HANGUL) target: changed installed filename from "hangul-syllables"
to "hangul-syllables.hex".
- png target: changed dependency to "png-stamp" and created new
"png-stamp" target.
- precompiled target: now has a list of dependencies to check if it
needs to re-run.
- truetype target: removed "hex" dependency.
- ttf target: changed dependency to "ttf-stamp" and created new
"ttf-stamp" target.
- csurttf target: changed dependency to "csurttf-stamp" and created new
"csurttf-stamp" target.
- upperttf target: changed dependency to "upperttf-stamp" and created
new "upperttf-stamp" target.
- Changed OpenType and TrueType target names to follow a consistent
pattern: "csurotf"-->"otf-csur", "csurttf"-->"ttf-csur",
"upperotf"-->"otf-upper", "upperttf"-->"ttf-upper", and
"sampleotf"-->"otf-sample".
- clean and distclean targets: changed "rm" to "-rm" after previously
using "\rm" but removing the '\' owing to lack of Cygwin support.
- clean target now removes new file "font/graphawks-env".
- .PHONY target:
- Added "sampleotf" dependency
- Added $(COMPILED_DIR) dependency so timestamp updates to
$(COMPILED_DIR) would not trigger redundant operations with the new
Makefile reorganization.
font/otfsrc/Makefile:
- Updated copyright for 2026.
- clean and distclean targets: changed "rm" to "-rm" after previously
using "\rm" but removing the '\' owing to lack of Cygwin support.
font/plane00/hangul/Makefile:
- Added "SHELL = /bin/sh".
- Changed CC and CFLAGS definitions from "=" to "?=".
- Removed "man" dependency from "all" target.
- Added target for "../hangul-syllables.hex" with a dependency of
"hangul-syllables.hex", so any update is installed in the font/plane00
directory.
- "clean" target no longer removes hangul-syllables.hex and
hangul-syllables2.hex, so the "hangul" directory can be distributed as a
self-contained whole archive if desired.
font/plane00/hangul-johab1044/Makefile:
- Added "SHELL = /bin/sh".
- Commented out clean and distclean target recipies.
font/plane00csur/Makefile:
- Added "SHELL = /bin/sh".
- distclean target: changed "rm" to "-rm" after previously using "\rm"
but removing the '\' owing to lack of Cygwin support.
font/plane01/Makefile:
- Added "SHELL = /bin/sh".
- distclean target: changed "rm" to "-rm" after previously using "\rm"
but removing the '\' owing to lack of Cygwin support.
font/plane0Fcsur/Makefile
- Added "SHELL = /bin/sh".
font/ttfsrc/Makefile:
- Updated copyright for 2026.
- clean and distclean targets: changed "rm" to "-rm" after previously
using "\rm" but removing the '\' owing to lack of Cygwin support.
src/Makefile:
- Set CC and CFLAGS with ?= for overriding from command line.
- Added C99 back in for compiling hex2otf.c, as
"C99 ?= $(CC) -std=c99" to allow overriding from the
command line.
- Changed "\rm" to "-rm" for Cygwin compatibility.
--
*** CYGWIN-ANNOUNCE UNSUBSCRIBE INFO ***
The easiest way to unsubscribe is to visit
<https://cygwin.com/mailman/options/cygwin-announce>, and click 'Unsubscribe'.
If you need more information on unsubscribing, start reading here:
<https://sourceware.org/lists.html#unsubscribe>.