#
269041 |
|
23-Jul-2014 |
emaste |
MFC vtfontcvt improvements:
r267011: Make height and width optional arguments
Now defaults to a 16x8 font size. The height and width can be specified using -h and -w respectively.
r267012: Make the bold font optional
r267035: Use a hash to speed up glyph deduplication
Walking a linked list of all glyphs to look for a duplicate is very slow for large fonts (e.g., for CJK character sets). In my test the runtime for a sample 40000 character font went from just over 80 seconds on average to just over 2 seconds.
r267119: -w sets the width, not height
r267123: Support "GNU Unifont" format font data
The GNU Unifont .hex format is a text file. Each line represents one glyph and consists of a four-digit hex code point, a colon, and pairs of hex digits representing the bitmap. By default an 8x16 font is assumed, with 16x16 double-width glyphs, resulting in either 32 or 64 hex digits for the bitmap.
Our version of the file format supports comments at the top of the file to set the height and width:
Each row of bitmap data is rounded up to byte width - for example, a 10-pixel wide font uses 4 characters per row.
See http://czyborra.com/unifont/ for more background on the original format.
r267126: Accept space after BITMAP in .bdf parser
The Unifont BDF generator incorrectly adds a space after BITMAP, and and that error has been widely propagated.
r267173: use -h height and -w width args
r267298: Hide stats by default and improve error handling
The font stats are interesting, but rather verbose.
r267301: Speed up bold glyph map deduplication
Perform an O(n) deduplication pass over the bold maps at the end, rather than walking the normal map list to look for a duplicate glyph each time a bold mapping entry is added.
r267324: handle failure writing output font
r267337: move to usr.bin/vtfontcvt
vtfontcvt is useful for end users to convert arbitrary bitmap fonts for use by vt(4). It can also be used as a build tool, allowing us to keep the source font data in the src tree rather than uuencoded binaries.
Reviewed by: ray, wblock (D183)
r267366: Avoid leaking file pointer on error
CID: 1222506, 1222505
r268022: Rename the WITHOUT_VT_SUPPORT knob to WITHOUT_VT
The _SUPPORT knobs have a consistent meaning which differs from the behaviour controlled by this knob. As the knob is opt-out and has not appeared in a release the impact should be low.
r268172: correct width calculation (.hex files and commandline)
r268948: Use the standard way of printing the usage string
r268949: Remove redundant return statement after errx
Also update vtfontcvt(8), based on inclusion in FreeBSD 10.1
Sponsored by: The FreeBSD Foundation
|
#
269041 |
|
23-Jul-2014 |
emaste |
MFC vtfontcvt improvements:
r267011: Make height and width optional arguments
Now defaults to a 16x8 font size. The height and width can be specified using -h and -w respectively.
r267012: Make the bold font optional
r267035: Use a hash to speed up glyph deduplication
Walking a linked list of all glyphs to look for a duplicate is very slow for large fonts (e.g., for CJK character sets). In my test the runtime for a sample 40000 character font went from just over 80 seconds on average to just over 2 seconds.
r267119: -w sets the width, not height
r267123: Support "GNU Unifont" format font data
The GNU Unifont .hex format is a text file. Each line represents one glyph and consists of a four-digit hex code point, a colon, and pairs of hex digits representing the bitmap. By default an 8x16 font is assumed, with 16x16 double-width glyphs, resulting in either 32 or 64 hex digits for the bitmap.
Our version of the file format supports comments at the top of the file to set the height and width:
Each row of bitmap data is rounded up to byte width - for example, a 10-pixel wide font uses 4 characters per row.
See http://czyborra.com/unifont/ for more background on the original format.
r267126: Accept space after BITMAP in .bdf parser
The Unifont BDF generator incorrectly adds a space after BITMAP, and and that error has been widely propagated.
r267173: use -h height and -w width args
r267298: Hide stats by default and improve error handling
The font stats are interesting, but rather verbose.
r267301: Speed up bold glyph map deduplication
Perform an O(n) deduplication pass over the bold maps at the end, rather than walking the normal map list to look for a duplicate glyph each time a bold mapping entry is added.
r267324: handle failure writing output font
r267337: move to usr.bin/vtfontcvt
vtfontcvt is useful for end users to convert arbitrary bitmap fonts for use by vt(4). It can also be used as a build tool, allowing us to keep the source font data in the src tree rather than uuencoded binaries.
Reviewed by: ray, wblock (D183)
r267366: Avoid leaking file pointer on error
CID: 1222506, 1222505
r268022: Rename the WITHOUT_VT_SUPPORT knob to WITHOUT_VT
The _SUPPORT knobs have a consistent meaning which differs from the behaviour controlled by this knob. As the knob is opt-out and has not appeared in a release the impact should be low.
r268172: correct width calculation (.hex files and commandline)
r268948: Use the standard way of printing the usage string
r268949: Remove redundant return statement after errx
Also update vtfontcvt(8), based on inclusion in FreeBSD 10.1
Sponsored by: The FreeBSD Foundation
|