unipng2hex(1) Portable Network Graphics to GNU Unifont .hex file converter


unipng2hex -i input_file.png [-o output_file.hex ] [-w width ]


unipng2hex reads a PNG file produced by unihex2png before or after editing, and converts it back into a Unifont .hex format file. The PNG file contains a block of 256 Unicode code points arranged in a 16 by 16 grid. Each code point appears in a 32 by 32 or a 40 by 40 pixel grid. Characters are either 16, 24 or 32 pixel rows high, depending on the "-r" parameter specified by unihex2png. They can be 8, 16, 24, or 32 pixel columns wide (widths of 32 are only supported for 32 pixel row tall characters).


Specify the input file.
Specify the output file. If omitted, a file in the Unifont .hex format is written to STDOUT.
-w width
Specify the minimum width of the output glyphs. Valid values are 16, 24,
 and 32.  The default is no minimum width.
Print a help message of options and exit.


Sample usage:

unipng2hex -i my_input_file.png -o my_output_file.hex


*.png graphics files


unipng2hex was written by Andrew Miller, starting by converting Paul Hardy's unibmp2hex C program to Perl.


unipng2hex is Copyright © 2007, 2008 Paul Hardy, © 2013 Andrew Miller.

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.


No known real bugs exist, but the optional pixel rows parameter is not yet supported by all other Unifont utilities. Use of glyphs taller than the default of 16 pixels is considered experimental. Currently unihex2png, unipng2hex, hexdraw, and hex2bdf tentatively support glyphs that are 16, 24, and 32 pixels tall.

Also, this software does not perform extensive error checking on its input files. If they're not in the format of the original PNG output from unihex2png, all bets are off.

If the output file is for a "page" containing space code points and the PNG file squares for those code points are not empty, unipng2hex preserves the graphics as they are drawn.

unipng2hex is designed to work with black and white pixels; do not use other colors.