The following fonts are implemented mainly for being compatible to the stethos sos8026 fontbased barcode product.
OCR A (A1)
The ELP Server traces the data stream for original HP Escape Sequences for OCR A1 (check printing). Once the correct sequence is found, the font is automatically loaded to the printer and activated.
ESC-Sequence HP version "Bar Codes & More": \x1B(0O\x1B(sp10h12vsb104T
ESC-Sequence stethos version: \x1B(___\x1B(s1p###vsb10451T ___ any symbol set ### font size in point
ESC-Sequence HP US version: \x1B(13Y\x1B(s1p###vsb28698T ### font size in point
OCR B
The ELP Server traces the data stream for original HP Escape Sequences for OCR B (Swiss, Austrian address printing, bar code readable text). Once the correct sequence is found, the font is automatically loaded to the printer and activated.
ESC-Sequence HP version "Bar Codes & More": \x1B(1O\x1B(sp10h12vsb110T
ESC-Sequence stethos version: \x1B(___\x1B(s1p###vsb10450T ___ any symbol set ### font size in point
ESC-Sequence Jetmobile BarDIMM version: \x1B(___\x1B(s1p###vsb23590T ___ up to 10 different symbol sets within a print job ### font size in point. German umlauts will only work with symbol sets 1O, 10U, 12U, 18U.
ESC-Sequence HP US version: \x1B(11Y\x1B(s1p###vsb28675T ### font size in point
ESC-Sequence HP US version: \x1B(10Y\x1B(s1p###vsb28684T ### font size in point
ESC-Sequence HP US version: \x1B(13Y\x1B(s1p###vsb28699T ### font size in point
Line Draw
ESC-Sequence: \x1B(0B\x1B(sp10h12vsbT Line Draw of the original Cartridge HP Bar Codes & More
Emergency Symbols
ESC-Sequence: \x1B(10Q\x1B(s1p###vvsb10400T ### font size in point
Green point | \x0E\x1B)10Q\x1B)s1p20vsb10400TE\x0F |
Green point with text | \x0E\x1B)10Q\x1B)s1p20vsb10400TDE\x0F |
gray arrows | \x0E\x1B)10Q\x1B)s1p20vsb10400Td\x1B*c15G\x1B*v2Te\x1B*vT\x0F |
Recycling logo | \x0E\x1B(10Q\x1B(s1p20vsb10400Tghij\x08123\x0F |
Explosion | \x0E\x1B)10Q\x1B)s1p20vsb10400Tst\x0F |
Electric and security symbols
ESC-Sequence \x1B(10Q\x1B(s1p###vs3b10400T ### font size in point
Those symbols are part of the font library of Elsner und Flake Fontinform GmbH, Hamburg. Those fonts are only available for the HW solution.
EURO-Symbols
ESC-Sequence: \x1B(s1p###v0s0b10452T ___ any symbol set, ### font size in point
European currency symbol inverse: \x0E\x1B)10U\x1B)s1p20vsb10452TC\x0F
MICR CMC-7
ESC-Sequence stethos version: \x1B(__\x1B(s1p##v0s3b10453T ____ any symbol set, ### Font size in point
ESC-Sequence HP US version: \x1B(8M\x1B(s1p##v0s3b101T ### Font size in point
The control characters after the numerals below are (from left to right and the corresponding character used is enclosed in [ ]) internal [:], terminator [;], amount [<], routing [=], and an unused [>] character.
Usage: This font is used in some countries for check printing.
Example \x1B(10U\x1B(s1p12vs3b10453T<1972675>0013< 0267> 0100027073;
Hint: The MicrDIMM in an HP printer uses one of these custom ESC-Sequences for CMC-7 printing:
\x1B(14Y(s0p8.00h12.0v0s0b105T
\x1B(8M(s0p8.00h10.0v0s0b101T
It could also use other control characters than the stethos version for example using the letters (A, B, C, D and E) instead of (:, ;, <, = and >)
ELP can translate on the fly these sequences and control characters in order to have the MicrDIMM replaced by ELP. The following example shows how could it be done:
[GLOBAL]
; ELP function should be turned on
ELP=ON
[Search and replace CMC7 suequnce]
; Search for bad ESC-Sequances
Search_Binary=(s0p8.00h12.0v0s0b105T
Search_Binary=(s0p8.00h10.0v0s0b101T
; Replace with Stethos version
Replace_Binary=(s1p8.00h12.0v0s3b10453T
; Enable the followig rules to replace the control charachters
Enable_SearchRule=Change A
Enable_SearchRule=Change B
Enable_SearchRule=Change C
Enable_SearchRule=Change D
Enable_SearchRule=Change E
; Enable the following rule to prevent the replacement of letters in the variable data
Enable_SearchRule=Search Esc
[Change A]
; Search for the letter A
Search_Binary=A
; Replace it with :
Replace_Binary=:
; Speed up
ReadOnlySearchKeyss=ON
[Change B]
; Search for the letter B
Search_Binary=B
; Replace it with ;
Replace_Binary=;
; Speed up
ReadOnlySearchKeyss=ON
[Change C]
; Search for the letter C
Search_Binary=C
; Replace it with <
Replace_Binary=<
; Speed up
ReadOnlySearchKeyss=ON
[Change D]
; Search for the letter D
Search_Binary=D
; Replace it with =
Replace_Binary==
; Speed up
ReadOnlySearchKeyss=ON
[Change E]
; Search for the letter E
Search_Binary=E
; Replace it with >
Replace_Binary=>
; Speed up
ReadOnlySearchKeyss=ON
[Search Esc]
; The print job must begin with an escape sequence to prevent the replacement of letters in the variable data
; Search for escape sequence
Search_Binary=\x1B
; Disable the rules that the replace the letters
Disable_SearchRule=Change A
Disable_SearchRule=Change B
Disable_SearchRule=Change C
Disable_SearchRule=Change D
Disable_SearchRule=Change E
This solution assumes that the print job is well PJL bounded or at least it should begin with an ESC-Sequence. In addition, the print job should not contain too many ESC-Sequences. If that is not the case, then the replacement should be done using a second configuration file as the following example shows:
Content of convert.ini
[GLOBAL]
; ELP function should be turned on
ELP=ON
[Search and replace CMC7 suequnce]
; Search for bad ESC-Sequances
Search_Binary=\x1B(14Y\x1B(s0p8.00h12.0v0s0b105T
Search_Binary=\x1B(8M\x1B(s0p8.00h10.0v0s0b101T
; Replace with Stethos version and add also an escape sequence that doesn't do anything but is searched for in the next rule
Replace_Binary=\x1B(10Q\x1B(s1p8.00h12.0v0s3b10453T\x1B&a+0H
; Speed up
Read_Only_Search_Keys=ON
[Switch to the other ini file]
; Search for the inserted escape sequence that does nothing
Search_Binary=&a+0H
; Start executing the other ini file called CMC7_Change.ini
IniFile=CMC7_Change.ini
Content of CMC7_Change.ini
[switch back the main ini file]
; On the next escape
Search_Binary=\x1B
; Return back to convert.ini file
IniFile=#ELP_FORMS_PATH#Convert.ini
[Change A]
; Search for the letter A
Search_Binary=A
; Replace it with :
Replace_Binary=:
; Speed up
ReadOnlySearchKeyss=ON
[Change B]
; Search for the letter B
Search_Binary=B
; Replace it with ;
Replace_Binary=;
; Speed up
ReadOnlySearchKeyss=ON
[Change C]
; Search for the letter C
Search_Binary=C
; Replace it with <
Replace_Binary=<
; Speed up
ReadOnlySearchKeyss=ON
[Change D]
; Search for the letter D
Search_Binary=D
; Replace it with =
Replace_Binary==
; Speed up
ReadOnlySearchKeyss=ON
[Change E]
; Search for the letter E
Search_Binary=E
; Replace it with >
Replace_Binary=>
; Speed up
ReadOnlySearchKeyss=ON
ESC-Sequence stethos version: \x1B(__\x1B(s1p##v0s0b10453T ____ any symbol set, ### Font size in point
ESC-Sequence HP US version: \x1B(0Q\x1B(s0p8h8.4v0s0b0T
The control characters bracketing each numeral block are (from left to right and the corresponding character used is enclosed in [ ]) transit [A], on-us [C], amount [B], and dash [D].
Hints:
1) If you encounter that the MICR font is used in 3 different flavors and only the third sequences matches the MICR font which is included in ELP you can easily map on the fly the ESC sequences. So e.g. for the first sequence:
[Change MICR Sequence 1]
Search_Binary=\x1B(4B\x1B(s1p33.0v0s0b102T
Replace_Binary=\x1B(0Q\x1B(s0p8h8.4v0s0b0T
2) If you want to print CMC-7 or E-13B from SAP and you use the DeviceType HPLJMI:
you might want to map the Print Controls SF451 and SF450:
to the suitable font selection sequences:
[Change CMC-7 MICR_C SF451 Sequence]
Search_Binary=\x1B(8M\x1B(s0p8.00h10.0v0s0b101T
Replace_Binary=\x1B(8M\x1B(s1p10.0v0s3b101T
[Change E-13B MICR_E SF450 Sequence]
Search_Binary=\x1B(8M\x1B(s0p8.00h10.0v0s0b100T
Replace_Binary=\x1B(8M\x1B(s1p10.0v0s0b10453T