@comment TROFF INPUT: .TH UNIGENCIRCLES 1 "2013 Sep 28"

@node unigencircles
@section unigencircles
@c DEBUG: print_menu("@section")

@menu
* unigencircles NAME::
* unigencircles SYNOPSIS::
* unigencircles DESCRIPTION::
* unigencircles EXAMPLE::
* unigencircles FILES::
* unigencircles SEE ALSO::
* unigencircles AUTHOR::
* unigencircles LICENSE::
* unigencircles BUGS::

@end menu


@comment TROFF INPUT: .SH NAME

@node unigencircles NAME
@subsection unigencircles NAME
@c DEBUG: print_menu("unigencircles NAME")

unigencircles @minus{} Add dashed combining circles to a unifont.hex file
@comment TROFF INPUT: .SH SYNOPSIS

@node unigencircles SYNOPSIS
@subsection unigencircles SYNOPSIS
@c DEBUG: print_menu("unigencircles SYNOPSIS")

@b{unigencircles} @i{combining.txt nonprinting.hex }< @i{unifont.hex }> @i{unifont-circles.hex}
@comment TROFF INPUT: .SH DESCRIPTION

@node unigencircles DESCRIPTION
@subsection unigencircles DESCRIPTION
@c DEBUG: print_menu("unigencircles DESCRIPTION")

@comment TROFF INPUT: .B unigencircles
@b{unigencircles}
reads a unifont.hex file from STDIN, adds dashed combining
circles to the hex strings for code points listed in "combining.txt"
but not listed in "nonprinting.hex", and writes the revised set of glyphs
in unifont.hex format to STDOUT.  The resulting combining character glyphs
show the dashed combining circles that appear in The Unicode Standard
code charts.
@comment TROFF INPUT: .PP

For each code point listed in the "combining.txt" file but not listed
in the "nonprinting.hex" file,
@comment TROFF INPUT: .B unigencircles
@b{unigencircles}
will superimpose a single-width dashed circle in glyphs that are
single-width (i.e., their hex glyph strings are 32 characters long)
and will superimpose a double-width dashed circle in glyphs that
are double-width (i.e., their hex glyph strings are 64 characters long).
@comment TROFF INPUT: .SH EXAMPLE

@node unigencircles EXAMPLE
@subsection unigencircles EXAMPLE
@c DEBUG: print_menu("unigencircles EXAMPLE")

@comment TROFF INPUT: .PP

@comment TROFF INPUT: .RS

@c ---------------------------------------------------------------------
@quotation
unigencircles combining.txt nonprinting.hex < unifont.hex > unifont@minus{}circles.hex
@comment TROFF INPUT: .RE

@end quotation

@c ---------------------------------------------------------------------
@comment TROFF INPUT: .SH FILES

@node unigencircles FILES
@subsection unigencircles FILES
@c DEBUG: print_menu("unigencircles FILES")

*.hex files for Unifont glyph data
@comment TROFF INPUT: .PP

@comment TROFF INPUT: .B font/ttfsrc/combining.txt
@b{font/ttfsrc/combining.txt}
for combining code points
@comment TROFF INPUT: .PP

@comment TROFF INPUT: .B font/plane00/nonprinting.hex
@b{font/plane00/nonprinting.hex}
for non-printing code points
@comment TROFF INPUT: .SH SEE ALSO

@node unigencircles SEE ALSO
@subsection unigencircles SEE ALSO
@c DEBUG: print_menu("unigencircles SEE ALSO")

@comment TROFF INPUT: .BR bdfimplode (1),
@b{bdfimplode}@r{(1),}
@comment TROFF INPUT: .BR hex2bdf (1),
@b{hex2bdf}@r{(1),}
@comment TROFF INPUT: .BR hex2otf (1),
@b{hex2otf}@r{(1),}
@comment TROFF INPUT: .BR hex2sfd (1),
@b{hex2sfd}@r{(1),}
@comment TROFF INPUT: .BR hexbraille (1),
@b{hexbraille}@r{(1),}
@comment TROFF INPUT: .BR hexdraw (1),
@b{hexdraw}@r{(1),}
@comment TROFF INPUT: .BR hexkinya (1),
@b{hexkinya}@r{(1),}
@comment TROFF INPUT: .BR hexmerge (1),
@b{hexmerge}@r{(1),}
@comment TROFF INPUT: .BR johab2ucs2 (1),
@b{johab2ucs2}@r{(1),}
@comment TROFF INPUT: .BR unibdf2hex (1),
@b{unibdf2hex}@r{(1),}
@comment TROFF INPUT: .BR unibmp2hex (1),
@b{unibmp2hex}@r{(1),}
@comment TROFF INPUT: .BR unibmpbump (1),
@b{unibmpbump}@r{(1),}
@comment TROFF INPUT: .BR unicoverage (1),
@b{unicoverage}@r{(1),}
@comment TROFF INPUT: .BR unidup (1),
@b{unidup}@r{(1),}
@comment TROFF INPUT: .BR unifont (5),
@b{unifont}@r{(5),}
@comment TROFF INPUT: .BR unifont-viewer (1),
@b{unifont-viewer}@r{(1),}
@comment TROFF INPUT: .BR unifont1per (1),
@b{unifont1per}@r{(1),}
@comment TROFF INPUT: .BR unifontchojung (1),
@b{unifontchojung}@r{(1),}
@comment TROFF INPUT: .BR unifontksx (1),
@b{unifontksx}@r{(1),}
@comment TROFF INPUT: .BR unifontpic (1),
@b{unifontpic}@r{(1),}
@comment TROFF INPUT: .BR unigenwidth (1),
@b{unigenwidth}@r{(1),}
@comment TROFF INPUT: .BR unihex2bmp (1),
@b{unihex2bmp}@r{(1),}
@comment TROFF INPUT: .BR unihex2png (1),
@b{unihex2png}@r{(1),}
@comment TROFF INPUT: .BR unihexfill (1),
@b{unihexfill}@r{(1),}
@comment TROFF INPUT: .BR unihexgen (1),
@b{unihexgen}@r{(1),}
@comment TROFF INPUT: .BR unihexrotate (1),
@b{unihexrotate}@r{(1),}
@comment TROFF INPUT: .BR unipagecount (1),
@b{unipagecount}@r{(1),}
@comment TROFF INPUT: .BR unipng2hex (1)
@b{unipng2hex}@r{(1)}
@comment TROFF INPUT: .SH AUTHOR

@node unigencircles AUTHOR
@subsection unigencircles AUTHOR
@c DEBUG: print_menu("unigencircles AUTHOR")

@comment TROFF INPUT: .B unigencircles
@b{unigencircles}
was written by Paul Hardy.
@comment TROFF INPUT: .SH LICENSE

@node unigencircles LICENSE
@subsection unigencircles LICENSE
@c DEBUG: print_menu("unigencircles LICENSE")

@comment TROFF INPUT: .B unigencircles
@b{unigencircles}
is Copyright @copyright{} 2013 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 unigencircles BUGS
@subsection unigencircles BUGS
@c DEBUG: print_menu("unigencircles BUGS")

No known real bugs exist, except that this software does not perform
extensive error checking on its input files.
