HP 1200 HP PCL/PJL reference - PCL 5 Comparison Guide - Page 89

Typeface String Segment, Substitute String Length UB-the number of UI characters

Page 89 highlights

A TrueType mort table typically contains a header of 76 bytes, followed by the vertical substitution array which follows the segment format described here. However, the mort table header is designed to be variable-length, and the location of the vertical substitution data may be located elsewhere in mort tables in future fonts. If the Font Type is not Type 3 (16-bit fonts), this data segment is ignored. If the value pairs are not sorted by horizontal glyph ID, the data segment is invalid. If the End of Table mark #1 is not 0xFFFF, the data segment is invalid. The location of the end of the table is determined using the Data Segment Size field. If the segment is invalid, the font download is ignored. Typeface String Segment The purpose of this segment is to provide a substitute string to print for a permanent downloaded font when doing a PCL Typeface List printout. It has the following structure: Byte 15 (MSB) 8 7 (LSB) 0 Byte 0 TF (21574) 1 2 Data Segment Size (2*n+2) * 3 4 5 6 Embedded Font Substitute String 7 Name Flag Length (n) 8 Substitute String Character List 9 . . . . . . * This segment is for Font Format 16. The Data Segment Size field for Font Format 16 fonts is 4 bytes; the segment for Font Format 15 fonts is identical except the Data Segment Size field is 2 bytes instead. Embedded Font Name Flag (UB)-A zero value in this field is used to indicate that the ASCII name of the font (from the Font Name field) should be printed in addition to the substitute string. A non-zero value is used to indicate that only the substitute string should be printed. • Substitute String Length (UB)-the number of UI characters in the Substitute String Character List. ENWW Printer-Specific Differences 2-41

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • 279
  • 280
  • 281
  • 282
  • 283
  • 284
  • 285
  • 286
  • 287
  • 288
  • 289
  • 290
  • 291
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298
  • 299
  • 300
  • 301
  • 302
  • 303
  • 304
  • 305
  • 306
  • 307
  • 308
  • 309
  • 310
  • 311
  • 312
  • 313
  • 314
  • 315
  • 316
  • 317
  • 318
  • 319
  • 320
  • 321
  • 322
  • 323
  • 324
  • 325
  • 326
  • 327
  • 328
  • 329
  • 330
  • 331
  • 332
  • 333
  • 334
  • 335
  • 336
  • 337
  • 338
  • 339
  • 340

ENWW
Printer-Specific Differences 2-41
A TrueType
mort
table typically contains a header of 76 bytes,
followed by the vertical substitution array which follows the segment
format described here. However, the mort table header is designed to
be variable-length, and the location of the vertical substitution data
may be located elsewhere in mort tables in future fonts.
If the Font Type is not Type 3 (16-bit fonts), this data segment is
ignored.
If the value pairs are not sorted by horizontal glyph ID, the data
segment is invalid. If the End of Table mark #1 is not 0xFFFF, the data
segment is invalid. The location of the end of the table is determined
using the Data Segment Size field. If the segment is invalid, the font
download is ignored.
Typeface String Segment
The purpose of this segment is to provide a substitute string to print
for a permanent downloaded font when doing a PCL Typeface List
printout. It has the following structure:
Embedded Font Name Flag (UB)—A zero value in this field is used to
indicate that the ASCII name of the font (from the Font Name field)
should be printed in addition to the substitute string. A non-zero value
is used to indicate that only the substitute string should be printed.
Substitute String Length (UB)—the number of UI characters in
the Substitute String Character List.
Byte
15 (MSB)
8
7
(LSB) 0
Byte
0
TF (21574)
1
2
4
Data Segment Size (2*n+2) *
3
5
6
Embedded Font
Name Flag
Substitute String
Length (n)
7
8
Substitute String Character List
9
. . .
. . .
* This segment is for Font Format 16. The Data Segment Size field for Font Format 16
fonts is 4 bytes; the segment for Font Format 15 fonts is identical except the Data
Segment Size field is 2 bytes instead.