ISO-8859-1 Characters

The PCL default symbol set used by UnForm is 9J, which matches matches what is commonly called Windows ANSI.  It contains all the characters defined in ISO-8859-1, plus some additional characters in the high bit control region, and it matches the standard internal character set supported by PDF and PostScript.  To see what these characters are, use a -testpr option, such as this:


uf80c -testpr 9101 9J -p pdf -o testpr.pdf


The resulting PDF file contains a table of all the character values supported by the default symbol set.


When producing PCL output, any symbol set supported by the printer can be specified, using the symset option at the rule set or text/font command level.  However, be aware that such jobs mayprint different characters when producing PDF or Postscript output. If possible, it is best to utilize the default character set.


To insert a character that can't be typed into the rule set, you can use <n> notation in a literal text string, such as "This is a Euro character: <128>", or you can use the chr(n) function in an expression, such as "This is a Euro character "+chr(128).


Note that when typing your machine's default character set would need to be ISO-8859-1 in order for the typed character to match what will end up printed.



Special Characters

To print special characters in UnForm, you need to select a symbol set and/or font that will provide the character desired.The choice of symbol set or font depends on the output format.  For PDF and PostScript, you are limited to two fonts: 4141 for Dingbats and 16686 for Symbol, both of which will be printed using the default 9J symbol set.For PCL, it is actually the symbol set that takes precedence, and supported symbol sets vary by printer.

UnForm can provide a character table to a PCL or PDF job with the -testpr option, like this:

uf80c -testpr 16686 9J -p pdf -o symbols.pdf


uf80c -testpr 16686 19M -o symbols.pcl


It might help to do a fonts test print from the printer control panel to see what fonts are available, and then try various symbol set values that can be found in the ufparam.txt file or in your printer's documentation.

Once you know the decimal value, then use a text command with the value in angle brackets. For example:

text 10,10,"<187>",symset 19M,font 16686


In cases where the character desired is very low,like 1 or 10, it may conflict with some internal control bytes that UnForm uses. To avoid this problem, use an expression:

text 10,10,{chr(1)},symset 19M, font 16686