The Bit-mapped Japanese font parser software is designed to parse Japanese fonts using bitmaps. It is a font parsing tool for developers who need to incorporate Japanese fonts into their software products.
Once the font data is downloaded, users should move the *.jfr file into the directory where they unpacked the parser and follow the quick instructions provided. These instructions include making a complete parse, which requires about 4 megabytes of free disk space. This is a significant improvement over the previous version, which required almost 45 megabytes.
Users should make, make parse, and watch the progress indicator before moving the *.pcf.gz file to /usr/X11R/lib/X11R6/fonts/misc in step 4. It is important to make clean and HUP the font server if you use one, and xset fp rehash before performing the final command: xlsfonts | grep kanji.
The standard location for all sorts of random bit-mapped fonts is /usr/X11R/lib/X11R6/fonts/misc, but users may have a special location. They should substitute it in step 4 accordingly.
The parser was created by an individual who came across a number of "raster fonts" and realized they were bit-mapped. After writing the original parser by experimenting and playing around with the values, he later came across some documentation on the subject. It turns out these fonts were used in Windows 3.1 Japanese edition to substitute low quality Japanese TrueType fonts at small point sizes. They were designed using full-scale 16 bit programming techniques.
The font format includes headers and a "segment table", which is a table with pointers inside the font file indicating where to locate a particular chunk of data. Since the 16-bit way of accessing memory uses 65k "segments", each file is virtually split into 65k segments, loaded into separate memory areas, and assembled using an algorithm that uses the segment number and offset. However, with 32-bit access, this method is no longer necessary.
The implementation of the parser involves the whole file being mapped and read out of memory. Generating table.h was particularly challenging, involving taking the codearea table out of one of the jfr files, extracting number ranges, converting the data from shift-jis to JISX0208, and utilizing a significant amount of code to complete the conversion.
The new release uses correct JISX0208 tables and is much faster than previous versions. The font parser is easy to use and, with some bit hackery in the bitmapXX() functions and the use of function pointers to select a conversion function at runtime, is an excellent tool for parsing bit-mapped Japanese fonts.
Version 2.0: N/A