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

Vertical Substitution Segment, The Vertical Substitution Segment contains pairs of glyph IDs. Each

Page 88 highlights

In this example segment, there is one galley character region. This region is applied to all one-byte characters (character codes 0x0000-0x00FF); any missing character in this region is replaced with the character at character code location 0x00A5. Any missing characters falling into this region (e.g. character codes 0x0100 0xFFFF) are replaced with the default galley character. Since in this example the Default Galley Character field = 0xFFFF, the missing character glyph is printed if it is present in the font. Vertical Substitution Segment The Vertical Substitution Segment contains pairs of glyph IDs. Each pair specifies the horizontal and vertical glyph ID for a character. The segment can be built directly from a TrueType mort table which contains a vertical substitution array. The segment definition is shown in the table below. Byte 15 (MSB) 8 7 0 VT (22100) 2 Data Segment Size (4*n+4) * 4 6 Horizontal Glyph ID #1 8 Vertical Glyph ID #1 . . . 4*n+2 Horizontal Glyph ID #n 4*n+4 Vertical Glyph ID #n 4*n+6 End of table mark #1 = 0xFFFF 4*n+8 End of table mark #2 = 0xFFFF (LSB) 0 Byte 1 3 5 7 9 . . . 4*n+3 4*n+5 4*n+7 4*n+9 The Horizontal Glyph ID field is used by TrueType as an ID number for the horizontal glyph data associated with a given character. The Vertical Glyph ID field contains the ID number for the vertical glyph data associated with the same character. The vertical glyphs can be downloaded using the PCL Character Definition Command using a character code = 0xFFFF. 2-40 Printer-Specific Differences ENWW

  • 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

2-40
Printer-Specific Differences
ENWW
In this example segment, there is one galley character region. This
region is applied to all one-byte characters (character codes
0x0000-0x00FF); any missing character in this region is replaced with
the character at character code location 0x00A5. Any missing
characters falling into this region (e.g. character codes 0x0100 -
0xFFFF) are replaced with the default galley character. Since in this
example the Default Galley Character field = 0xFFFF, the missing
character glyph is printed if it is present in the font.
Vertical Substitution Segment
The Vertical Substitution Segment contains pairs of glyph IDs. Each
pair specifies the horizontal and vertical glyph ID for a character. The
segment can be built directly from a TrueType
mort
table which
contains a vertical substitution array. The segment definition is shown
in the table below.
The Horizontal Glyph ID field is used by TrueType as an ID number for
the horizontal glyph data associated with a given character. The
Vertical Glyph ID field contains the ID number for the vertical glyph
data associated with the same character.
The vertical glyphs can be downloaded using the PCL Character
Definition Command using a character code = 0xFFFF.
Byte
15 (MSB)
8
7
(LSB) 0
Byte
0
VT (22100)
1
2
4
Data Segment Size (4*n+4) *
3
5
6
Horizontal Glyph ID #1
7
8
Vertical Glyph ID #1
9
. . .
. . .
4*n+2
Horizontal Glyph ID #n
4*n+3
4*n+4
Vertical Glyph ID #n
4*n+5
4*n+6
End of table mark #1 = 0xFFFF
4*n+7
4*n+8
End of table mark #2 = 0xFFFF
4*n+9