Printer’s Apprentice 8.0.22 adds support for displaying character sets besides the standard 255 glyphs in the standard Latin Windows set (1252). This enables you to easily display and print characters found in non-Western alphabets such as Hebrew, Greek and Cyrillic.
You can download this version from the following link:
Download Printer’s Apprentice 8.0.22 for Vista & XP
In this post, I want to review how non-Western characters are implemented under Windows and the new features in Printer’s Apprentice 8.0.22.
Windows supports the Unicode standard along with several code pages that are included for backward compatibility. Unicode supports over 65,000 characters with defined subsets for different languages and glyphs (Latin, Greek, Arabic, etc). More information about Unicode can be found at unicode.org. Wikipedia also has a good article covering the topic.
The Windows character set approach is an encoding implemented by Microsoft prior to Unicode. Each set contains 255 numbered spots that map to the glyphs in the particular set. A standard set of alphanumeric, symbol and control characters occupy the the first 128 positions. Additionally, Microsoft provides tables, hosted at unicode.org, that map each character to its associated Unicode value. For example, the Windows Hebrew character set maps the Hebrew letter bet in slot 225 to code point 0x05D1 in Unicode. Printer’s Apprentice uses the Unicode values to draw glyphs on screen and on paper.
With Printer’s Apprentice, I chose to mimic the display of the Windows Character Map (charmap.exe) utility. This app displays glyphs using the full Unicode range, Unicode subsets and Windows Character sets.
This build, 8.0.22, uses the character set approach to group and display glyphs within a font. Eventually I will support full Unicode & Unicode subset displays. By using the Windows character sets, I minimized the changes to the existing code. It also meant that I did not have to design new printed sample sheets for the charts. The existing printed sample sheets work very will with non-Western sets.
One important note – internally, Printer’s Apprentice is a fully Unicode-based application. Strings in Microsoft’s .NET platform are represented as collections of Unicode characters which makes it easy to do the type of things I’m doing under the hood.
And in these example screen shots, I use Cyrillic. But Printer’s Apprentice supports the single byte character sets listed below. (Other sets and Unicode ranges are planned!)
When Printer’s Apprentice starts, it attempts to determine the locale that you are running. For example, if you are running a localized Russian version of Windows, PA will automatically default to displaying the Cyrillic character set.
You will notice the following minor changes in the user interface:
- The Single Character and Character Set tabs display the ANSI and Unicode values in the upper right hand corner. You can toggle their display using the Options screen.
- The current character set in use is displayed in the blue title bar in the upper right hand corner. It is a hotlink that will open the Options screen.
To change the change the character set being used, select Options from the Tools menu or click the set name in the blue title bar. This opens the Options dialog box where you can change the current character set. Also note the new sizes for the Character Set grid.
I also added support for printing the new character sets. So if Cyrillic is currently selected, you can print sheets that look like the sample below. The current character set name has also been added to the pages in the upper right hand corner. If you want to print a different set just click the Options tab on the Print dialog.
As always, we encourage feedback on how features are implemented in Printer’s Apprentice. Feel free to comment in the blog or shoot an email to helpdesk at lose your mind dot com. — Bryan