Chapter 5.2 - HP-PCL concatenated sequences and printer fonts

While normally each control code is designed to enable / disable one particular effect, the HP-PCL language allows concatenating multiple sequences that start with similar bytes.

For example: Esc(s3B (27,40,115,51,66 in decimal notation) enables the Bold effect, Esc(s17H (27,40,115,49,55,72) compress the font in 17 cpi, and Esc(s3B17H (27,40,115,51,66,49,55,72) performs both the actions in once.

If your source program makes use of HP concatenated strings, then you can select the "HP-Complex.Seq" or the "HP-Comp2.seq" emulation at Configuration -> Standard -> Escape to make Printfil manage them separately instead of twicking the default entries in the previous chapter to match the program's concatenated ones.

The HP-Complex.seq emulation setup PreProcess=1 in the [Sequences] section of the Printfil.ini file for this purpose (older Printfil versions did setup this parameter=.T., that's still a supported value, but now it's deprecated), while the HP-Comp2.Seq emulation setup PreProcess=3.

In addition, the HP-PCL emulation allows changing font face within a single print job, by using the hardware specific fonts embedded in the printer itself. For example, the header may be printed in Times New Roman, while the body may be printed in Courier.

Printfil makes use of Windows fonts instead of printer specific fonts so that the source job can be correctly rendered even on printers does NOT have any embedded font (GDI printers for example).

When PreProcess=1 or 3, Printfil detects the HP-PCL sequences used to switch the font and converts them into the corresponding ones to select the corresponding Windows font.

The HP-PCL sequence starts with Esc(s (27,40,115), then there's a number to identify the font, then it ends for T (84) or t (116). The table below shows which Windows font is used by Printfil instead of the HP font number in the PCL escape sequence.

HP printer font number Windows Font
0 Default font selected at Configuration -> Standard
4362 Albertus
4168 Antique
4 or 16602 Arial
4140 Clarendon
20 or 4116 Coronet
3 or 4099 Courier New
4141 Dingbats
18 or 4197 Garamond
6 or 4102 Letter Gothic
4297 Marigold
4113 Omega
5 or 4101 or 16901 Times New Roman
24 or 4148 Univers
16686 Symbol
31402 Wingdings

If a font is not installed on your Windows system, then Printfil will use the default Windows font.

You can also make Printfil using a different Windows font instead of the printer font originally defined by the programmer in the source print job.

For this purpose a [Fonts] section can be used in the Printfil.ini file, when PreProcess=1 or 3 - It's automatically managed by the "Printer fonts" button at Configuration -> Standard -> Escape

For each single font in the table above you can choose to make Printfil using it (leaving the Windows font column empty), or choose "Default" to make Printfil using the Windows font selected at Configuration -> Standard, or even choose any other Windows font installed on your machine.

So, a job designed to be printed in Times New Roman + Courier by the original programmer may even be printed in Arial + Lucida Console with Printfil.

  17 Nov 2016  
  New Printfil 5.21
What's new
Print from DOS to USB printer now! Download free PrintFil trial!
  Click here to see the most Frequently Asked Questions  
  see also ...  
  File In Mail: Automatically send out files via email