Printer’s Apprentice 8.0.28 Released

February 23rd, 2009 by Bryan Kinkel

Printer’s Apprentice 8.0.28 was published on the web site this morning and is available for download.

Download Printer’s Apprentice 8.0 for Vista & XP

This ended up being a fairly sizable release. There are lots of bug fixes in this update and two new features that are worth taking a look at.

First up is the new Font List tab. This is simply a list of all the fonts in the currently selected folder or font group. Earlier versions had a similar feature on the Compare Fonts tab. But you needed to select fonts in order for them to appear in the list. This caused some problems that I elaborated on in an earlier post. (The Compare Fonts function is still there. But it has been renamed Compare Selected Fonts.) Here is a shot of the new Font List tab.

Printer's Apprentice - Font List

Printer’s Apprentice 8.0.28 now has seven different tabs for showing off your fonts. I figured it would be a good idea to be able to rearrange the tabs as you see fit. (Actually, several users mailed in this idea. So I went ahead and added to the application!) To rearrange the tabs, open the Options dialog. The User Interface tab has a new Tab Order section. Just drag the tab names around until they are in the order you want. Then click the OK button and the UI will rearrange itself.

Printer's Apprentice - Options

I hope you enjoy the latest batch of updates to Printer’s Apprentice. As I mentioned above, there are also other minor updates and bug fixes in this release.A complete list of changes can be found in the versionhistory.txt file on the web site.

Forward any questions or comments to Bryan – helpdesk at loseyourmind dot com.

Posted in Printer's Apprentice | No Comments »

Printer’s Apprentice 8.0 – Upcoming Version Notes

January 22nd, 2009 by Bryan Kinkel

I’ve got two new user interface enhancements coming up that I think users will be very pleased with.

First up, lets take a look at the order of the tabs in the main font window. Going all the way back to Printer’s Apprentice 1.0, the first tab has always been the single character tab. Why? That is just how I did it back then. And new tabs have been tacked on giving us Printer’s Apprentice as we know it today. The default tab order is Single Character, Character Set, Sample Text, Keyboard, Font Information and Compare Fonts.

Printer's Apprentice 8.0 - Windows Font Manager

Of course, the tab order that I have selected may not be suited for everybody else. So I have added tab order selection to the User Interface section of the Options tab. All you do is drag the entries in the Tab Order listbox to reorder as you see fit.

Printer's Apprentice 8.0 - Windows Font Manager

After we move our tabs around and click OK, the main Printer’s Apprentice window looks like the screenshot below.

Printer's Apprentice 8.0 - Windows Font Manager

This feature has been requested by many users and I think it will be well received.

In the screenshot above, we made the Compare Fonts tab come first. This leads us into the next UI enhancement.

If you are familiar with the Compare Fonts tab, you know that you have to use the checkboxes to select which fonts appear. This is a glaring problem in the software and leads to problems. For example, if you are looking at a folder of fonts and want to compare them all, you can do a Ctrl-A and add them to the Compare Fonts tab. Now you want to print or install just five of them. You can’t do that because the all the fonts are selected for use in the Compare Fonts tab. Not good.

Well we have changed that. When browsing Install Fonts, folder and groups, all the fonts will automatically be added to the Compare Fonts tab. There is no longer the need to need to select one or more fonts using the checkbox.

These two enhancements will be in the next version of Printer’s Apprentice. If you have any comments or you are interested in being a beta tester, drop a note to helpdesk at loseyourmind.com.

Posted in Fonts, Printer's Apprentice | No Comments »

Printer’s Apprentice 8.0.26 Released

January 7th, 2009 by Bryan Kinkel

Printer’s Apprentice 8.0.25 was recently posted to the web site and is available for download.

Download Printer’s Apprentice 8.0.26 for Vista & XP

This version includes many stability fixes. A full list of changes can be found in the versionhistory.txt file on the web site.

Send comments to Bryan at helpdesk at loseyourmind dot com.

Posted in Printer's Apprentice | No Comments »

Printer’s Apprentice 8.0.22 – New Character Set Support

October 15th, 2008 by Bryan Kinkel

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:

icon_greenarrow16 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.

charmap charmap2

 

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.
charset-cy charset-cy2

 

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.

options gridsize

 

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.

print1 print2

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

Posted in Printer's Apprentice, Programming, Windows | 1 Comment »

Printer’s Apprentice 8.0 – Character Sets

October 3rd, 2008 by Bryan Kinkel

Printer’s Apprentice 8.0, our font manager for Windows Vista & XP, has been out for a little over three weeks now. But I’m continuing work on new features.

If you take a look at the 8.0 Roadmap, you will see an entry for Unicode support. Since the early days, Printer’s Apprentice has only supported the Windows ANSI character set. Even the lowly charmap.exe application displays character sets and Unicode. Time to get that feature knocked off the To Do list.

This week I drafted out a plan for character sets & Unicode support. This touches on a couple of areas in Printer’s Apprentice:

  • The Single Character & Character Set tabs need to support slots 1-255 in any character set, not just Windows ANSI. They also need to support displaying the 65,000+ characters available in Unicode.
  • The Character Set tab itself is not as fast as I would like. It is a tad sluggish on redraw. Some working is needed here.
  • The printed Character Set sample sheets are Windows ANSI only. So these need to be retooled.

Printer's Apprentice 8.0 - Character Set tab I decided to start with the Character Set tab. This tab is actually a user control comprised of a .NET TableLayoutPanel that loads in a grid of surfaces used to draw each character (shown at the right). It is not very efficient. In a 4×4 grid, there are 16 different canvas surfaces loaded into memory. It would be faster to use a single canvas and do all the line drawing and text rendering myself.

I started a new project in Visual Studio 2005 and went to work. The goal was to build a new control that I could drop into the Printer’s Apprentice 8.0 codebase with minimal disruption. I duplicated all the properties, events and methods so it would be 100% compatible with the calling form.

Eventually I came up with something that looked very much like the Windows charmap.exe application. The image below, on the left, shows the first version of the map. The canvas is hosted inside an auto scrolling panel. The canvas is physically as “tall” as required to display 255 characters in a grid. It also supports additional character maps.

This version has two problems. I like the vertical scroll bar, but using this would require reworking of the Printer’s Apprentice UI. The host tab uses a horizontal slider below the grid to scroll through the character set. It is also not a virtual grid. In other words, all 255 characters are drawn on the canvas at once. That is fine for 255 characters, but creating a full sized canvas to hold 65,000+ Unicode characters would not be very efficient.

The second draft, below on the right, uses a virtual grid. Only the characters that are visible are actually on the canvas. If you are displaying a 5×5 grid, then the canvas is only as large as it needs to be to display those 25 characters. It uses a horizontal trackbar below the grid to scroll through the characters. Also note that this image is displaying characters from the Arabic set. Excellent!

New character grid - draft 1  New character grid - draft 2

Now that the character map control has been prototyped, it was very easy to drop it into the Printer’s Apprentice solution. Since the control handles all the drawing itself, it is much faster. I expanded the Character Set grid size option to allow for 20×20 grids. Here is a work in progress shot showing a 15×15 grid of Wingdings.

Printer's Apprentice - enhanced character set 

The new grid also supports alternate character sets. But I’m trying to figure out where to incorporate that option into the user interface. Once I get that sorted out, I’m going to add character set support to the the printed page and see what we can do about Unicode.

Any comments? Shoot them over to Bryan helpdesk at loseyourmind dot com. — BTK

Posted in Fonts, Printer's Apprentice, Programming | No Comments »

Printer’s Apprentice 8.00.0020 Released

September 25th, 2008 by Bryan Kinkel

One of the goals of the code behind Printer’s Apprentice 8.0 is to make it easy for us to release new versions of our font manager in a timely manner.

Version 8.00.0020 has been posted to the web site and is available to everybody.

Download Printer’s Apprentice 8.0 for Vista & XP

This version includes the following fixes and changes:

  • Fixed a start up bug – If the Print Spooler service was not started,  Printer’s Apprentice would crash with a "The RPC server is unavailable" error message.
  • Fixed a bug that could cause italic fonts to not print correctly if their internal "italic" flag was not set correctly. 
  • Added a much-needed scroll bar to the Sample Text tab.
  • Added a "Don’t show this message again" checkbox to the message box that appears when attempting to print both TrueType and Postscript based files.
  • Several menu items were missing status bar help.

The missing scrollbar on the Sample Text tab was a simple oversight. But it now works and looks good. Click the screen shot for the full version.

pa8-scrollbars

Working on the scroll bar fix also gave me some ideas about how to the retool the character set tab. I want to speed up that tab and add support Unicode character sets.

Comments or suggestions? Be sure to send them to Bryan at helpdesk at loseyourmind dot com.

Posted in Fonts, Printer's Apprentice | No Comments »

Printer’s Apprentice 8.0 – "Check for New Version"

September 4th, 2008 by Bryan Kinkel

Just about every Windows application has some sort of function for checking if there is a new version available. And considering the pace of development in our software, it makes absolute sense for Printer’s Apprentice to have this function as well.

The Printer’s Apprentice web site already has a changelog.dbf table that drives the product update pages. So it was trivial to add additional information and make it drive the "check for new version" function.

At this time, the UI is very simple. A menu item launches the operation with a confirmation dialog.

check1   check2

Once the operation is confirmed by the user, Printer’s Apprentice queries our server through a .NET based web service running on the box. The web service sends down the latest version information in an XML data structure. Printer’s Apprentice then picks apart the data and shows you a dialog box with the new version information.

check3

Clicking "Download New Version" will then download the most recent ZIP file. At this time, the software does not automatically unzip the file and launch the new executable. I will eventually get to that – but I wanted to get things going and keep it simple.

The "Check for New Version" function will be available in the next beta. — Bryan

Posted in Printer's Apprentice | 2 Comments »

Printer’s Apprentice 8.0 – Software Publishing Certificate

September 3rd, 2008 by Bryan Kinkel

After a couple weeks, we finally received our Software Publishing Certificate (SPC) from Comodo. All future versions of Printer’s Apprentice will now have digital certificate attached to the main executable file identifying us as the publisher.

So… what does that mean for you, the Printer’s Apprentice user?

The primary purpose of the SPC is to identify the author and prevent tampering with the software after it has been published. So with the certificate attached, you know you are getting an unaltered copy of Printer’s Apprentice, just as we intended it to be.

cert2

The SPC adds an additional benefit with Vista. Vista takes advantage of the digital certificate to display the publisher information when a User Access Control prompt pops up. Because Printer’s Apprentice runs in administrator mode, Vista always displays a UAC prompt. (We need admin mode since PA manipulates files in the Windows Fonts folder.)

The left image, below, is a shot of the UAC prompt for our application with no SPC attached. On the right is the prompt after we added the SPC.

Printer's Apprentice - User Access Control   Printer's Apprentice - User Access Control

Needless to say, the dialog prompt on the right is far less alarming. All future versions of Printer’s Apprentice and Virtual Font Folder will be signed with our software publishing certificate. — Bryan

Posted in Printer's Apprentice, Programming | No Comments »