Select your language

The PCL5 Technical Reference manual from Hewlett-Packard explains how soft fonts are built. In order to work properly together with ELP, a downloadable soft font needs to have a proper ID sequence in front, \x1B*c###D and at the end of the font file, the font resident sequence \x1B*c5F, which makes the loaded font resident against any software reset. After the font is loaded, it can be addressed either by the ID or using the proper ESC sequence. The font(s) must be in a PCL downloadable soft font format, either as bitmapped (.sfp), Intellifont (.sfs), PostScript or TrueType. As PostScript or TrueType fonts are normally not in the  PCL download format please contact us if we are able to convert them properly.

There are three different ways using ELP to automate the soft font download into the printer's memory on-thy-fly before they can are used seamlessly. In any case the font file(s) needed to be stored in the ELP Workpath folder.

1. Print job initialization

This method is mainly used if you have one single soft font. Make sure that the name of the font file is job_init.mac. ELP will download this file automatically at the beginning of every print job. The disadvantage is, the soft font is downloaded every time with every print job even the font might not be used in that specific job.

 

2. Ressource File

This is for sure the most elegant way how additional fonts can be downloaded. The font name can remain in his original format - just make sure that the suffix is renamed to .mac
Once the ELP printing process finds a plain text file named FontLoad.ini in the Workpath folder (e.g. c:\ProgramData\WELP) the content of each line will be parsed and processed (incl. decryption if needed) based on the font selection criteria.

[Fonts]

; Sequence processed

; <Symbolset><Spacing><Style><Typeface>

; <Symbolset><Spacing><Style><Weight><Typeface>

; <Symbolset><Spacing><Pitch><Height><Style><Typeface>

; <Symbolset><Spacing><Pitch><Style><Typeface>

; <Symbolset><Spacing><Pitch><Height><Style><Weight><Typeface>

; <Symbolset><Spacing><Pitch><Style><Weight><Typeface>

;

; Font1.mac download selected with Symbolset 8U, Spacing 1p, Style 1s and Typeface 0T

8U1p1s0T=Font1

; Font2.mac download selected with Symbolset 10U, Spacing 1p, Pitch 5.00h, Height 30.96, Style 1s and Typeface 0T

10U1p5.00h30.96v1s0T=Font2

; Font3.mac download selected with Symbolset 10U, Spacing 1p, Pitch 5.00h, Height 90.24, Style 1s and Typeface 0T

10U1p5.00h90.24v1s0T=Font3

; Font4.mac download selected with Symbolset 10U, Spacing 1p, Pitch 5.00h, Style 1s, Weight 3b and Typeface 0T

10U1p5.00h1s3b0T=Font4

 

3. ELP Command

This assumes that all jobs start with a special sequence like Escape%-12345X and the font download file is named in our example case 2000.mac

[Add Font file to each job]

; Add those 2 keys search key for the escape sequence

SEARCH_BINARY=\x1B%-12345X

; Adds the form 2000 which is the font file in the workpath folder named 2000.mac

INSERT_BINARY=\x1B&f2000Y

; Speed up process

READONLYSEARCHKEYS=ON

; Only once per job needed

Search_Only_Once=ON


The exact same result, but independent from the initialization of the data stream is using an ELP_COMMAND and also the fonts in one single mac file: ELP_COMMAND=C1:1G###; where ### is replaced by the macro number.
Activating the ELP_Command in the section GLOBAL or any automatically executed sections like Printer, Driver- or User named sections will lead to the same result as the job_init.mac method, but at least user or driver restricted.

[GLOBAL]

; Add fonts to each job search key for the escape sequence

ELP_Command=C1:1G1000;


The same can be achieved using of of the other ELP_Commands sending forms or sequences in front of any data stream.

The most elegant way of course is to load the fonts dynamically when they are addressed. Let us assume, the special font is addressed first time in the data stream using this escape sequence: Esc(10UEsc(s1p11vsb1001T
Then open ELP Control Center configuration tab and add those three lines to the convert.ini, starting with the creation of a new rule:

[Add Font 2]

; Search key for special font escape sequence

SEARCH_BINARY=\x1B(10U\x1B(s1p11vsb1001T

; Insert the font file via macro just before the call

INSERT_BINARY=\x1B&f2000Y
READONLYSEARCHKEYS=ON
Read_Only_Once=ON


Note: The font will be sent only once per job to the printer, although the escape sequence occurs multiple times.

Another way could also be that you add a trigger in the beginning of the data stream, indicating ELP to download some special fonts or macros.

[Add Font 3]

; Add those 2 keys
; Search key for the trigger

Search_BINARY=GreekFontsNeeded

; Replace the trigger with the font mac file[s]

Replace_Binary=\x1B&f2000Y\x1B&f2001Y\x1B&f2002Y
ReadOnlySearchKeys=ON

; Using this method allows to download only the fonts needed, as you may generate a second rule for a needed bold font, etc.. If the Insert_Binary key is replaced with the ELP_COMMAND lead into a combination of described methods 2 and 3
; By the way, in this application the following 3 ELP commands lead to the exact same result, loading at the beginning of the job a file:

ELP_Command=C1:1G1000;
ELP_Command=EB1000;
ELP_Command=EAF1000;


The benefit of the EA key is the possibility of being repeatable within the ELP_COMMAND syntax example: EAF1000F1100; is the same as EAF1000;EAF1100;
The EB key is explained here.

 

With the ELP_COMMAND_ADD you can add new statements to an existing ELP_Command:

[Send Greek courier font normal]

Search_Binary=\x1B(2G\x1B(s0p10h0s0b4099T
ELP_COMMAND_ADD=EAF1000;
Search_Only_Once=ON

[Send Greek courier font bold]

Search_Binary=\x1B(2G\x1B(s0p10h0s3b4099T
ELP_COMMAND_ADD=EAF1100;
Search_Only_Once=ON


Using trigger, but trigger for example on the symbol set and only on the type face number:

[Send Greek courier font]

Trigger_Binary=\x1B(2G
Trigger_Binary=b4099T

; If both triggers are found

ELP_COMMAND_ADD=EAF1000;

[Send Greek Univers font]

Trigger_Binary=\x1B(2G
Trigger_Binary=b4148T
ELP_COMMAND_ADD=EAF1200;

;So in this case the final ELP_Command for both fonts will be this: EAF1000;EAF1200;

 

Related articles: Rules theory, Rule assistant, Add key to rule

We use cookies

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.