I have created a basic laserjet bitmap font which I can download to a variety of HP PCL printers, on all
of which it performs correctly and as expedted. However when I download it to an OfficeJet Pro X476dn
and make it permanent, it does not work. I can send this font to the X476 in a print job and use it
within that job and it works fine, but cannot seem to use it as a permanent font within the X476. Whenever
I try to do so, the printer uses the default Arial font instead.
The font record is described below. When I send the following sequence to the printer, it prints the
letters 'IRON SNOB' in Arial font rather than my 56789 font. (Small epislon (ε) denotes the escape
character.)
ε*r3Uε*v4Sε(10Uε(1Pε(s0Sε(s0Bε(56789Xε&a300v300HIRON SNOB
Questions:
1) Is there any way to verify that the font is correctly downloaded into the X476?
2) Can I somehow enable diagnostics on the X476 to see:
a. What it does with the font record.
b. What is does with my print job.
3) Is there something wrong with my font definition which prevents it from working?
FONT RECORD
I defined the new font as font number 56789, consisting of only 6 characters: B I N O R S.
The relevant sections of the font definition record are:
0x0 εE Reset
ε*t600R Graphics 600dpi (have tried with and without)
ε&u600D 600dpi resolution
0x2 ε*c56789D Define font # 56789
0xB ε)s68W Define Font Header
0x11(0) 0x0044 Font Descriptor Size (68)
0x13(2) 0x1400 Header Fmt (20), Type 0
0x15(4) 0x0000 Style MSB - Upright
0x17(6) 0x0095 Baseline Position - 149 pixels down
0x19(8) 0x00D9 Cell Width - 217
0x1B(10) 0x00A7 Cell Heigth - 167
0x1D(12) 0x0001 Orientation (portrait), Spacing 1(proportional)
0x1F(14) 0x0155 Symbol Set: (341) 10U
0x21(16) 0x0144 Pitch (HMI) 324q-dots
0x23(18) 0x029C Height (668 q-dots)
0x25(20) 0x0104 x-Height - 260 q-dots
0x27(22) 0x0000 Width Type, Style LSB (Norm, Upright)
0x29(24) 0x0000 Stroke Wt (Medium), Typeface LSB
0x2B(26) 0x0000 Typeface MSB, Serif Style (sans)
0x2D(28) 0x0000 Quality (draft), Placement (superior)
0x2F(30) 0xFF03 Underline Pos (-1), Thickness (3pix)
0x31(32) 0x024C Text Height (589)
0x33(34) 0x0144 Text Width (324)
0x35(36) 0x0042 First Code B
0x37(38) 0x0053 Last Code S
0x39(40) 0x0000 Pitch, Height Extended
0x3B(42) 0x0000 Cap Height
0x3D(44) 0x0000DDD5 Font Number
0x41(48) 0x436163… Name: 'Cache 56789…'
0x51(64) 0x0258 X-Resolution
0x53(66) 0x0258 Y-Resolution
0x55 ε(56789X Select Primary Font: 56789
0x5D ε&d@ Underline Off
0x61 ε*c66E Define ASCII code char 'B'
0x67 ε(s2221W Character Bitmap 2221 bytes
. . . 0x6F + 0x8AD = 0x91C
0x91C ε*c73E Define ASCII code char 'I'
0x922 ε(s541W Character Bitmap 541 bytes
. . . 0x929 + 0x21D = 0xB46
0xB46 ε*c78E Define ASCII code char 'N'
0xB4C ε(s2431W Character Bitmap 2431 bytes
. . . 0xB54 + 0x97F = 0x14D3
0x14D3 ε*c79E Define ASCII code char 'O'
0x14D9 ε(s2536W Character Bitmap 2536 bytes
. . . 0x14E1 + 0x9E8 = 0x1EC9
0x1EC9 ε*c82E Define ASCII code char 'R'
0x1ECF ε(s2221W Character Bitmap 2221 bytes
. . . 0x1ED7 + 0x9AD = 0x2784
0x2784 ε*c83E Define ASCII code char 'S'
0x278A ε(s2326W Character Bitmap 2326 bytes
. . . 0x2792 + 0x916 = 0x30A8
0x30A8 ε*c5F Make Fone Permanent
Actual dump of the sections as documented above:
00000000 1b 45 1b 2a 63 35 36 37 38 39 44 1b 29 73 36 38 |.E.*c56789D.)s68|
00000010 57 00 44 14 00 00 00 00 95 00 d9 00 a7 00 01 01 |W.D.............|
00000020 55 01 44 02 9c 01 04 00 00 00 00 00 00 00 00 ff |U.D.............|
00000030 03 02 4c 01 44 00 42 00 53 00 00 00 00 00 00 dd |..L.D.B.S.......|
00000040 d5 43 61 63 68 65 20 35 36 37 38 39 00 00 00 00 |.Cache 56789....|
00000050 00 02 58 02 58 1b 28 35 36 37 38 39 58 1b 26 64 |..X.X.(56789X.&d|
00000060 40 1b 2a 63 36 36 45 1b 28 73 32 32 32 31 57 04 |@.*c66E.(s2221W.|
00000070 00 0e 01 00 00 00 0a 00 69 00 a8 00 69 02 f0 7f |........i...i...|
00000900 ff ff ff f8 00 00 00 7f ff ff ff ff ff ff ff ff |................|
00000910 ff ff ff ff ff ff ff fc 00 00 00 00 1b 2a 63 37 |.............*c7|
00000920 33 45 1b 28 73 35 34 31 57 04 00 0e 01 00 00 00 |3E.(s541W.......|
00000930 0a 00 69 00 22 00 69 00 d0 7f ff ff ff 80 ff ff |..i.".i.........|
00000b30 ff c0 ff ff ff ff c0 ff ff ff ff c0 ff ff ff ff |................|
00000b40 c0 7f ff ff ff 80 1b 2a 63 37 38 45 1b 28 73 32 |.......*c78E.(s2|
00000b50 34 33 31 57 04 00 0e 01 00 00 00 0a 00 69 00 b5 |431W.........i..|
00000b60 00 69 03 24 7f ff ff ff ff f8 00 00 00 00 00 00 |.i.$............|
000014c0 fc 00 00 00 00 00 00 00 00 00 00 00 00 01 ff ff |................|
000014d0 ff ff f8 1b 2a 63 37 39 45 1b 28 73 32 35 33 36 |....*c79E.(s2536|
000014e0 57 04 00 0e 01 00 00 00 0a 00 69 00 bc 00 69 03 |W.........i...i.|
000014f0 40 00 00 00 00 07 ff ff ff ff ff ff ff ff ff ff |@...............|
00001eb0 00 00 00 00 00 3f ff ff ff ff ff ff ff ff ff ff |.....?..........|
00001ec0 ff ff ff ff e0 00 00 00 00 1b 2a 63 38 32 45 1b |..........*c82E.|
00001ed0 28 73 32 32 32 31 57 04 00 0e 01 00 00 00 0a 00 |(s2221W.........|
00001ee0 69 00 a8 00 69 02 f0 7f ff ff ff ff ff ff ff ff |i...i...........|
00002770 ff ff ff 80 00 00 00 00 00 00 00 00 00 00 00 3f |...............?|
00002780 ff ff ff f0 1b 2a 63 38 33 45 1b 28 73 32 33 32 |.....*c83E.(s232|
00002790 36 57 04 00 0e 01 00 00 00 0a 00 69 00 ad 00 69 |6W.........i...i|
000027a0 03 04 00 00 00 00 07 ff ff ff ff ff ff ff ff ff |................|
00003090 00 00 00 00 00 00 3f ff ff ff ff ff ff ff ff ff |......?.........|
000030a0 ff ff ff e0 00 00 00 00 1b 2a 63 35 46 |.........*c5F|
PS.
I have already attemped:
1. Font Type of 0 or 2
2. Font Number 19876 and 56789
3. Internal Font Number of 0 or 0xDDD5
4. With and without First and Last characters.
5. Style as Italic or Standard.
6. Stroke weight as 0 or 3.