* doc/unifont.texi: include unihexfill.texi.
* doc/unihexfill.texi: added file.
* doc/*.texi: updated all files to cross-reference unihexfill(1).
* font/Makefile: removed spurious "DF" element in "for"
loop to create "compiled/png/csur/" glyphs.
* font/plane00/unifont-base.hex: changed "y" glyph (U+0079)
back to previous version. Added modification to the
German double s glyph (U+00DF) submitted by Joshua Krämer.
* font/plane01/Makefile: corrected a comment line.
* man/unihexfill.1: created missing man page. Without that,
this version did not conform to Debian Policy. The
omission drove this release.
* man/*.[15]: updated all man pages to cross-reference unihexfill(1).
-2014-06-29 Paul Hardy <unifoundry@unifoundry.com>
+2014-07-01 Paul Hardy <unifoundry@unifoundry.com>
+
+ * doc/unifont.texi: include unihexfill.texi.
+ * doc/unihexfill.texi: added file.
+ * doc/*.texi: updated all files to cross-reference unihexfill(1).
+ * font/Makefile: removed spurious "DF" element in "for"
+ loop to create "compiled/png/csur/" glyphs.
+ * font/plane00/unifont-base.hex: changed "y" glyph (U+0079)
+ back to previous version. Added modification to the
+ German double s glyph (U+00DF) submitted by Joshua Krämer.
+ * font/plane01/Makefile: corrected a comment line.
+ * man/unihexfill.1: created missing man page. Without that,
+ this version did not conform to Debian Policy. The
+ omission drove this release.
+ * man/*.[15]: updated all man pages to cross-reference unihexfill(1).
+
+2014-06-29 Paul Hardy <unifoundry@unifoundry.com>
* ChangeLog:
- File now begins with UTF-8 encoded Byte Order Mark (U+FEFF),
PACKAGE = "unifont"
UNICODE_VERSION = 7.0
-PKG_REV = 02
+PKG_REV = 03
VERSION = $(UNICODE_VERSION).$(PKG_REV)
#
@b{unihex2bmp(1),}
@comment TROFF INPUT: .BR unihex2png(1),
@b{unihex2png(1),}
+@comment TROFF INPUT: .BR unihexfill(1),
+@b{unihexfill(1),}
@comment TROFF INPUT: .BR unihexgen(1),
@b{unihexgen(1),}
@comment TROFF INPUT: .BR unipagecount(1),
@b{unihex2bmp(1),}
@comment TROFF INPUT: .BR unihex2png(1),
@b{unihex2png(1),}
+@comment TROFF INPUT: .BR unihexfill(1),
+@b{unihexfill(1),}
@comment TROFF INPUT: .BR unihexgen(1),
@b{unihexgen(1),}
@comment TROFF INPUT: .BR unipagecount(1),
@b{unihex2bmp(1),}
@comment TROFF INPUT: .BR unihex2png(1),
@b{unihex2png(1),}
+@comment TROFF INPUT: .BR unihexfill(1),
+@b{unihexfill(1),}
@comment TROFF INPUT: .BR unihexgen(1),
@b{unihexgen(1),}
@comment TROFF INPUT: .BR unipagecount(1),
@b{unihex2bmp(1),}
@comment TROFF INPUT: .BR unihex2png(1),
@b{unihex2png(1),}
+@comment TROFF INPUT: .BR unihexfill(1),
+@b{unihexfill(1),}
@comment TROFF INPUT: .BR unihexgen(1),
@b{unihexgen(1),}
@comment TROFF INPUT: .BR unipagecount(1),
@b{unihex2bmp(1),}
@comment TROFF INPUT: .BR unihex2png(1),
@b{unihex2png(1),}
+@comment TROFF INPUT: .BR unihexfill(1),
+@b{unihexfill(1),}
@comment TROFF INPUT: .BR unihexgen(1),
@b{unihexgen(1),}
@comment TROFF INPUT: .BR unipagecount(1),
@b{unihex2bmp(1),}
@comment TROFF INPUT: .BR unihex2png(1),
@b{unihex2png(1),}
+@comment TROFF INPUT: .BR unihexfill(1),
+@b{unihexfill(1),}
@comment TROFF INPUT: .BR unihexgen(1),
@b{unihexgen(1),}
@comment TROFF INPUT: .BR unipagecount(1),
@b{unihex2bmp(1),}
@comment TROFF INPUT: .BR unihex2png(1),
@b{unihex2png(1),}
+@comment TROFF INPUT: .BR unihexfill(1),
+@b{unihexfill(1),}
@comment TROFF INPUT: .BR unihexgen(1),
@b{unihexgen(1),}
@comment TROFF INPUT: .BR unipagecount(1),
@b{unihex2bmp(1),}
@comment TROFF INPUT: .BR unihex2png(1),
@b{unihex2png(1),}
+@comment TROFF INPUT: .BR unihexfill(1),
+@b{unihexfill(1),}
@comment TROFF INPUT: .BR unihexgen(1),
@b{unihexgen(1),}
@comment TROFF INPUT: .BR unipagecount(1),
@b{unihex2bmp(1),}
@comment TROFF INPUT: .BR unihex2png(1),
@b{unihex2png(1),}
+@comment TROFF INPUT: .BR unihexfill(1),
+@b{unihexfill(1),}
@comment TROFF INPUT: .BR unihexgen(1),
@b{unihexgen(1),}
@comment TROFF INPUT: .BR unipagecount(1),
@b{unihex2bmp(1),}
@comment TROFF INPUT: .BR unihex2png(1),
@b{unihex2png(1),}
+@comment TROFF INPUT: .BR unihexfill(1),
+@b{unihexfill(1),}
@comment TROFF INPUT: .BR unihexgen(1),
@b{unihexgen(1),}
@comment TROFF INPUT: .BR unipagecount(1),
@b{unihex2bmp(1),}
@comment TROFF INPUT: .BR unihex2png(1),
@b{unihex2png(1),}
+@comment TROFF INPUT: .BR unihexfill(1),
+@b{unihexfill(1),}
@comment TROFF INPUT: .BR unihexgen(1),
@b{unihexgen(1),}
@comment TROFF INPUT: .BR unipagecount(1),
@b{unihex2bmp(1),}
@comment TROFF INPUT: .BR unihex2png(1),
@b{unihex2png(1),}
+@comment TROFF INPUT: .BR unihexfill(1),
+@b{unihexfill(1),}
@comment TROFF INPUT: .BR unihexgen(1),
@b{unihexgen(1),}
@comment TROFF INPUT: .BR unipagecount(1),
@b{unihex2bmp(1),}
@comment TROFF INPUT: .BR unihex2png(1),
@b{unihex2png(1),}
+@comment TROFF INPUT: .BR unihexfill(1),
+@b{unihexfill(1),}
@comment TROFF INPUT: .BR unihexgen(1),
@b{unihexgen(1),}
@comment TROFF INPUT: .BR unipagecount(1),
* unigenwidth::
* unihex2bmp::
* unihex2png::
+* unihexfill::
* unihexgen::
* unipagecount::
* unipng2hex::
@include unigenwidth.texi
@include unihex2bmp.texi
@include unihex2png.texi
+@include unihexfill.texi
@include unihexgen.texi
@include unipagecount.texi
@include unipng2hex.texi
@b{unihex2bmp(1),}
@comment TROFF INPUT: .BR unihex2png(1),
@b{unihex2png(1),}
+@comment TROFF INPUT: .BR unihexfill(1),
+@b{unihexfill(1),}
@comment TROFF INPUT: .BR unihexgen(1),
@b{unihexgen(1),}
@comment TROFF INPUT: .BR unipagecount(1),
@b{unihex2bmp(1),}
@comment TROFF INPUT: .BR unihex2png(1),
@b{unihex2png(1),}
+@comment TROFF INPUT: .BR unihexfill(1),
+@b{unihexfill(1),}
@comment TROFF INPUT: .BR unihexgen(1),
@b{unihexgen(1),}
@comment TROFF INPUT: .BR unipagecount(1),
@b{unihex2bmp(1),}
@comment TROFF INPUT: .BR unihex2png(1),
@b{unihex2png(1),}
+@comment TROFF INPUT: .BR unihexfill(1),
+@b{unihexfill(1),}
@comment TROFF INPUT: .BR unihexgen(1),
@b{unihexgen(1),}
@comment TROFF INPUT: .BR unipagecount(1),
@b{unihex2bmp(1),}
@comment TROFF INPUT: .BR unihex2png(1),
@b{unihex2png(1),}
+@comment TROFF INPUT: .BR unihexfill(1),
+@b{unihexfill(1),}
@comment TROFF INPUT: .BR unihexgen(1),
@b{unihexgen(1),}
@comment TROFF INPUT: .BR unipagecount(1),
@b{unihex2bmp(1),}
@comment TROFF INPUT: .BR unihex2png(1),
@b{unihex2png(1),}
+@comment TROFF INPUT: .BR unihexfill(1),
+@b{unihexfill(1),}
@comment TROFF INPUT: .BR unihexgen(1),
@b{unihexgen(1),}
@comment TROFF INPUT: .BR unipagecount(1),
@b{unigenwidth(1),}
@comment TROFF INPUT: .BR unihex2png(1),
@b{unihex2png(1),}
+@comment TROFF INPUT: .BR unihexfill(1),
+@b{unihexfill(1),}
@comment TROFF INPUT: .BR unihexgen(1),
@b{unihexgen(1),}
@comment TROFF INPUT: .BR unipagecount(1),
@b{unigenwidth(1),}
@comment TROFF INPUT: .BR unihex2bmp(1),
@b{unihex2bmp(1),}
+@comment TROFF INPUT: .BR unihexfill(1),
+@b{unihexfill(1),}
@comment TROFF INPUT: .BR unihexgen(1),
@b{unihexgen(1),}
@comment TROFF INPUT: .BR unipagecount(1),
--- /dev/null
+@comment TROFF INPUT: .TH UNIHEXFILL 1 "2014 Jun 30"
+
+@node unihexfill
+@section unihexfill
+@c DEBUG: print_menu("@section")
+
+@menu
+* unihexfill NAME::
+* unihexfill SYNOPSIS::
+* unihexfill DESCRIPTION::
+* unihexfill OPTIONS::
+* unihexfill FILES::
+* unihexfill EXAMPLE::
+* unihexfill SEE ALSO::
+* unihexfill AUTHOR::
+* unihexfill LICENSE::
+* unihexfill BUGS::
+
+@end menu
+
+
+@comment TROFF INPUT: .SH NAME
+
+@node unihexfill NAME
+@subsection unihexfill NAME
+@c DEBUG: print_menu("unihexfill NAME")
+
+unihexfill @minus{} Generate range of Unifont 4- or 6-digit hexadecimal glyphs
+@comment TROFF INPUT: .SH SYNOPSIS
+
+@node unihexfill SYNOPSIS
+@subsection unihexfill SYNOPSIS
+@c DEBUG: print_menu("unihexfill SYNOPSIS")
+
+@comment TROFF INPUT: .br
+@comment .br
+@comment TROFF INPUT: .B unihexfill
+@b{unihexfill}
+<
+@comment TROFF INPUT: .I unassigned-ranges.txt
+@i{unassigned-ranges.txt}
+>
+@comment TROFF INPUT: .I filler-glyphs.hex
+@i{filler-glyphs.hex}
+@comment TROFF INPUT: .SH DESCRIPTION
+
+@node unihexfill DESCRIPTION
+@subsection unihexfill DESCRIPTION
+@c DEBUG: print_menu("unihexfill DESCRIPTION")
+
+@comment TROFF INPUT: .B unihexfill
+@b{unihexfill}
+is a shell script that reads a list of code point ranges from STDIN
+and produces filler glyphs of 4- or 6-digit code points on STDOUT.
+@comment TROFF INPUT: .P
+@comment .P
+The format of the input file is a combination of comment lines,
+single code points on a line, and start/stop pairs of code points on
+a line separated by a space. Comment lines start with a semicolon (';')
+by convention. Start and stop code points are strings of hexadecimal
+digits, by convention either four or six digits.
+@comment TROFF INPUT: .P
+@comment .P
+@comment TROFF INPUT: .B unihexfill
+@b{unihexfill}
+invokes
+@comment TROFF INPUT: .B unihexgen
+@b{unihexgen}
+for each non-comment line in its input file. If a codepoint is less than
+or equal to "FFFF" (i.e., 0xFFFF), a four-digit hexadecimal number is encoded
+within the corresponding Unifont glyph as two digits on each of
+two rows. Otherwise, a six-digit hexadecimal number is encoded as
+three digits on each of two rows.
+@comment TROFF INPUT: .SH OPTIONS
+
+@node unihexfill OPTIONS
+@subsection unihexfill OPTIONS
+@c DEBUG: print_menu("unihexfill OPTIONS")
+
+There are no options.
+@comment TROFF INPUT: .SH FILES
+
+@node unihexfill FILES
+@subsection unihexfill FILES
+@c DEBUG: print_menu("unihexfill FILES")
+
+*.txt as input; *.hex as output.
+@comment TROFF INPUT: .SH EXAMPLE
+
+@node unihexfill EXAMPLE
+@subsection unihexfill EXAMPLE
+@c DEBUG: print_menu("unihexfill EXAMPLE")
+
+In the Unifont source package, the file font/plane01/Makefile generates
+Unicode Plane 1 hexadecimal filler glyphs of unassigned code points within
+assigned scripts with this single-line command:
+@comment TROFF INPUT: .PP
+
+@comment TROFF INPUT: .RS
+
+@c ---------------------------------------------------------------------
+@quotation
+@comment TROFF INPUT: .B ../../bin/unihexfill
+@b{../../bin/unihexfill}
+< unassigned-ranges.txt > unassigned.hex
+@comment TROFF INPUT: .RE
+
+@end quotation
+
+@c ---------------------------------------------------------------------
+@comment TROFF INPUT: .SH SEE ALSO
+
+@node unihexfill SEE ALSO
+@subsection unihexfill SEE ALSO
+@c DEBUG: print_menu("unihexfill SEE ALSO")
+
+@comment TROFF INPUT: .BR bdfimplode(1),
+@b{bdfimplode(1),}
+@comment TROFF INPUT: .BR hex2bdf(1),
+@b{hex2bdf(1),}
+@comment TROFF INPUT: .BR hex2sfd(1),
+@b{hex2sfd(1),}
+@comment TROFF INPUT: .BR hexbraille(1),
+@b{hexbraille(1),}
+@comment TROFF INPUT: .BR hexdraw(1),
+@b{hexdraw(1),}
+@comment TROFF INPUT: .BR hexkinya(1),
+@b{hexkinya(1),}
+@comment TROFF INPUT: .BR hexmerge(1),
+@b{hexmerge(1),}
+@comment TROFF INPUT: .BR johab2ucs2(1),
+@b{johab2ucs2(1),}
+@comment TROFF INPUT: .BR unibdf2hex(1),
+@b{unibdf2hex(1),}
+@comment TROFF INPUT: .BR unibmp2hex(1),
+@b{unibmp2hex(1),}
+@comment TROFF INPUT: .BR unicoverage(1),
+@b{unicoverage(1),}
+@comment TROFF INPUT: .BR unidup(1),
+@b{unidup(1),}
+@comment TROFF INPUT: .BR unifont(5),
+@b{unifont(5),}
+@comment TROFF INPUT: .BR unifont-viewer(1),
+@b{unifont-viewer(1),}
+@comment TROFF INPUT: .BR unifontchojung(1),
+@b{unifontchojung(1),}
+@comment TROFF INPUT: .BR unifontksx(1),
+@b{unifontksx(1),}
+@comment TROFF INPUT: .BR unifontpic(1),
+@b{unifontpic(1),}
+@comment TROFF INPUT: .BR unigencircles(1),
+@b{unigencircles(1),}
+@comment TROFF INPUT: .BR unigenwidth(1),
+@b{unigenwidth(1),}
+@comment TROFF INPUT: .BR unihex2bmp(1),
+@b{unihex2bmp(1),}
+@comment TROFF INPUT: .BR unihex2png(1),
+@b{unihex2png(1),}
+@comment TROFF INPUT: .BR unihexgen(1),
+@b{unihexgen(1),}
+@comment TROFF INPUT: .BR unipagecount(1),
+@b{unipagecount(1),}
+@comment TROFF INPUT: .BR unipng2hex(1)
+@b{unipng2hex(1)}
+@comment TROFF INPUT: .SH AUTHOR
+
+@node unihexfill AUTHOR
+@subsection unihexfill AUTHOR
+@c DEBUG: print_menu("unihexfill AUTHOR")
+
+@comment TROFF INPUT: .B unihexfill
+@b{unihexfill}
+was written by Paul Hardy.
+@comment TROFF INPUT: .SH LICENSE
+
+@node unihexfill LICENSE
+@subsection unihexfill LICENSE
+@c DEBUG: print_menu("unihexfill LICENSE")
+
+@comment TROFF INPUT: .B unihexfill
+@b{unihexfill}
+is Copyright @copyright{} 2014 Paul Hardy.
+@comment TROFF INPUT: .PP
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+@comment TROFF INPUT: .SH BUGS
+
+@node unihexfill BUGS
+@subsection unihexfill BUGS
+@c DEBUG: print_menu("unihexfill BUGS")
+
+No known real bugs exist, except that this software does not perform
+extensive error checking on its input file. Any line that appears to
+begin with a hexadecimal digit is fed to
+@comment TROFF INPUT: .B unihexgen.
+@b{unihexgen.}
@b{unihex2bmp(1),}
@comment TROFF INPUT: .BR unihex2png(1),
@b{unihex2png(1),}
+@comment TROFF INPUT: .BR unihexfill(1),
+@b{unihexfill(1),}
@comment TROFF INPUT: .BR unipagecount(1),
@b{unipagecount(1),}
@comment TROFF INPUT: .BR unipng2hex(1)
@b{unihex2bmp(1),}
@comment TROFF INPUT: .BR unihex2png(1),
@b{unihex2png(1),}
+@comment TROFF INPUT: .BR unihexfill(1),
+@b{unihexfill(1),}
@comment TROFF INPUT: .BR unihexgen(1),
@b{unihexgen(1),}
@comment TROFF INPUT: .BR unipng2hex(1)
@b{unihex2bmp(1),}
@comment TROFF INPUT: .BR unihex2png(1),
@b{unihex2png(1),}
+@comment TROFF INPUT: .BR unihexfill(1),
+@b{unihexfill(1),}
@comment TROFF INPUT: .BR unihexgen(1),
@b{unihexgen(1),}
@comment TROFF INPUT: .BR unipagecount(1)
# assembly date of this version
#
UNICODE_VERSION = 7.0
-PKG_REV = 02
+PKG_REV = 03
VERSION = $(UNICODE_VERSION).$(PKG_REV)
COPYRIGHT = "Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, \
if [ ! -d $(PNGDIR)/csur ] ; then \
mkdir -p $(PNGDIR)/csur ; \
fi
- for i in E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA DB EB EC ED EE EF \
+ for i in E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF \
F0 F1 F2 F3 F4 F5 F6 F7 F8 ; do \
$(BINDIR)/unihex2png -p 00$$i \
-i $(COMPILED_DIR)/unifont_csur_sample-$(VERSION).hex \
0076:00000000000042424224242418180000
0077:00000000000041494949494949360000
0078:00000000000042422418182442420000
-0079:00000000000042424224241808101020
+0079:0000000000004242424242261A02023C
007A:0000000000007E0204081020407E0000
007B:0000000C101008081010080810100C00
007C:00000808080808080808080808080808
00DC:242400004242424242424242423C0000
00DD:0C300000414122221408080808080000
00DE:00000040407844424244784040400000
-00DF:000000003844485048444242524C0000
+00DF:000000003844444858444242524C0000
00E0:0000300C00003C42023E4242463A0000
00E1:00000C3000003C42023E4242463A0000
00E2:0000182400003C42023E4242463A0000
#
-# Create the unassigned-ranges.hex file, with filler glyphs.
+# Create the Plane 1 unassigned.hex file, with filler glyphs.
#
all:
../../bin/unihexfill < unassigned-ranges.txt > unassigned.hex
(at your option) a later version, with the GNU Font Embedding Exception."
UNICODE_VERSION = 7.0
-PKG_REV = 02
+PKG_REV = 03
VERSION = $(UNICODE_VERSION).$(PKG_REV)
#
# assembly date of this version
#
UNICODE_VERSION = 7.0
-PKG_REV = 02
+PKG_REV = 03
VERSION = $(UNICODE_VERSION).$(PKG_REV)
COPYRIGHT = "Copyright (C) 2013 Paul Hardy. \
hexbraille.1 hexdraw.1 hexmerge.1 hexkinya.1 johab2ucs2.1 \
unibdf2hex.1 unibmp2hex.1 unicoverage.1 unidup.1 \
unifontpic.1 unifontchojung.1 unifontksx.1 unigencircles.1 \
- unigenwidth.1 unihex2bmp.1 unihex2png.1 unihexgen.1 \
+ unigenwidth.1 unihex2bmp.1 unihex2png.1 unihexgen.1 unihexfill.1 \
unipagecount.1 unipng2hex.1
MAN5PAGES = unifont.5
.BR unigenwidth(1),
.BR unihex2bmp(1),
.BR unihex2png(1),
+.BR unihexfill(1),
.BR unihexgen(1),
.BR unipagecount(1),
.BR unipng2hex(1)
.BR unigenwidth(1),
.BR unihex2bmp(1),
.BR unihex2png(1),
+.BR unihexfill(1),
.BR unihexgen(1),
.BR unipagecount(1),
.BR unipng2hex(1)
.BR unigenwidth(1),
.BR unihex2bmp(1),
.BR unihex2png(1),
+.BR unihexfill(1),
.BR unihexgen(1),
.BR unipagecount(1),
.BR unipng2hex(1)
.BR unigenwidth(1),
.BR unihex2bmp(1),
.BR unihex2png(1),
+.BR unihexfill(1),
.BR unihexgen(1),
.BR unipagecount(1),
.BR unipng2hex(1)
.BR unigenwidth(1),
.BR unihex2bmp(1),
.BR unihex2png(1),
+.BR unihexfill(1),
.BR unihexgen(1),
.BR unipagecount(1),
.BR unipng2hex(1)
.BR unigenwidth(1),
.BR unihex2bmp(1),
.BR unihex2png(1),
+.BR unihexfill(1),
.BR unihexgen(1),
.BR unipagecount(1),
.BR unipng2hex(1)
.BR unigenwidth(1),
.BR unihex2bmp(1),
.BR unihex2png(1),
+.BR unihexfill(1),
.BR unihexgen(1),
.BR unipagecount(1),
.BR unipng2hex(1)
.BR unigenwidth(1),
.BR unihex2bmp(1),
.BR unihex2png(1),
+.BR unihexfill(1),
.BR unihexgen(1),
.BR unipagecount(1),
.BR unipng2hex(1)
.BR unigenwidth(1),
.BR unihex2bmp(1),
.BR unihex2png(1),
+.BR unihexfill(1),
.BR unihexgen(1),
.BR unipagecount(1),
.BR unipng2hex(1)
.BR unigenwidth(1),
.BR unihex2bmp(1),
.BR unihex2png(1),
+.BR unihexfill(1),
.BR unihexgen(1),
.BR unipagecount(1),
.BR unipng2hex(1)
.BR unigenwidth(1),
.BR unihex2bmp(1),
.BR unihex2png(1),
+.BR unihexfill(1),
.BR unihexgen(1),
.BR unipagecount(1),
.BR unipng2hex(1)
.BR unigenwidth(1),
.BR unihex2bmp(1),
.BR unihex2png(1),
+.BR unihexfill(1),
.BR unihexgen(1),
.BR unipagecount(1),
.BR unipng2hex(1)
.BR unigenwidth(1),
.BR unihex2bmp(1),
.BR unihex2png(1),
+.BR unihexfill(1),
.BR unihexgen(1),
.BR unipagecount(1),
.BR unipng2hex(1)
.BR unigenwidth(1),
.BR unihex2bmp(1),
.BR unihex2png(1),
+.BR unihexfill(1),
.BR unihexgen(1),
.BR unipagecount(1),
.BR unipng2hex(1)
.BR unigenwidth(1),
.BR unihex2bmp(1),
.BR unihex2png(1),
+.BR unihexfill(1),
.BR unihexgen(1),
.BR unipagecount(1),
.BR unipng2hex(1)
.BR unigenwidth(1),
.BR unihex2bmp(1),
.BR unihex2png(1),
+.BR unihexfill(1),
.BR unihexgen(1),
.BR unipagecount(1),
.BR unipng2hex(1)
.BR unigenwidth(1),
.BR unihex2bmp(1),
.BR unihex2png(1),
+.BR unihexfill(1),
.BR unihexgen(1),
.BR unipagecount(1),
.BR unipng2hex(1)
.BR unigenwidth(1),
.BR unihex2bmp(1),
.BR unihex2png(1),
+.BR unihexfill(1),
.BR unihexgen(1),
.BR unipagecount(1),
.BR unipng2hex(1)
.BR unigencircles(1),
.BR unihex2bmp(1),
.BR unihex2png(1),
+.BR unihexfill(1),
.BR unihexgen(1),
.BR unipagecount(1),
.BR unipng2hex(1)
.BR unigencircles(1),
.BR unigenwidth(1),
.BR unihex2png(1),
+.BR unihexfill(1),
.BR unihexgen(1),
.BR unipagecount(1),
.BR unipng2hex(1)
.BR unigencircles(1),
.BR unigenwidth(1),
.BR unihex2bmp(1),
+.BR unihexfill(1),
.BR unihexgen(1),
.BR unipagecount(1),
.BR unipng2hex(1)
--- /dev/null
+.TH UNIHEXFILL 1 "2014 Jun 30"
+.SH NAME
+unihexfill \- Generate range of Unifont 4- or 6-digit hexadecimal glyphs
+.SH SYNOPSIS
+.br
+.B unihexfill
+<
+.I unassigned-ranges.txt
+>
+.I filler-glyphs.hex
+.SH DESCRIPTION
+.B unihexfill
+is a shell script that reads a list of code point ranges from STDIN
+and produces filler glyphs of 4- or 6-digit code points on STDOUT.
+.P
+The format of the input file is a combination of comment lines,
+single code points on a line, and start/stop pairs of code points on
+a line separated by a space. Comment lines start with a semicolon (';')
+by convention. Start and stop code points are strings of hexadecimal
+digits, by convention either four or six digits.
+.P
+.B unihexfill
+invokes
+.B unihexgen
+for each non-comment line in its input file. If a codepoint is less than
+or equal to "FFFF" (i.e., 0xFFFF), a four-digit hexadecimal number is encoded
+within the corresponding Unifont glyph as two digits on each of
+two rows. Otherwise, a six-digit hexadecimal number is encoded as
+three digits on each of two rows.
+.SH OPTIONS
+There are no options.
+.SH FILES
+*.txt as input; *.hex as output.
+.SH EXAMPLE
+In the Unifont source package, the file font/plane01/Makefile generates
+Unicode Plane 1 hexadecimal filler glyphs of unassigned code points within
+assigned scripts with this single-line command:
+.PP
+.RS
+.B ../../bin/unihexfill
+< unassigned-ranges.txt > unassigned.hex
+.RE
+.SH SEE ALSO
+.BR bdfimplode(1),
+.BR hex2bdf(1),
+.BR hex2sfd(1),
+.BR hexbraille(1),
+.BR hexdraw(1),
+.BR hexkinya(1),
+.BR hexmerge(1),
+.BR johab2ucs2(1),
+.BR unibdf2hex(1),
+.BR unibmp2hex(1),
+.BR unicoverage(1),
+.BR unidup(1),
+.BR unifont(5),
+.BR unifont-viewer(1),
+.BR unifontchojung(1),
+.BR unifontksx(1),
+.BR unifontpic(1),
+.BR unigencircles(1),
+.BR unigenwidth(1),
+.BR unihex2bmp(1),
+.BR unihex2png(1),
+.BR unihexgen(1),
+.BR unipagecount(1),
+.BR unipng2hex(1)
+.SH AUTHOR
+.B unihexfill
+was written by Paul Hardy.
+.SH LICENSE
+.B unihexfill
+is Copyright \(co 2014 Paul Hardy.
+.PP
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+.SH BUGS
+No known real bugs exist, except that this software does not perform
+extensive error checking on its input file. Any line that appears to
+begin with a hexadecimal digit is fed to
+.B unihexgen.
.BR unigenwidth(1),
.BR unihex2bmp(1),
.BR unihex2png(1),
+.BR unihexfill(1),
.BR unipagecount(1),
.BR unipng2hex(1)
.SH AUTHOR
.BR unigenwidth(1),
.BR unihex2bmp(1),
.BR unihex2png(1),
+.BR unihexfill(1),
.BR unihexgen(1),
.BR unipng2hex(1)
.SH AUTHOR
.BR unigenwidth(1),
.BR unihex2bmp(1),
.BR unihex2png(1),
+.BR unihexfill(1),
.BR unihexgen(1),
.BR unipagecount(1)
.SH AUTHOR