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

Vertical Writing with Proportional Fonts, UBYTE[2] SEGMENT ID, UBYTE Format, UBYTE NumRanges

Page 148 highlights

Vertical Writing with Proportional Fonts The Character Text Path Direction command was introduced with the HP LaserJet 4PJ printer to allow users to vertically rotate Asian fonts which were dual pitched. That is, the single-byte characters were half-width and the other characters were full-width. An algorithm was implemented to determine whether or not to counter-rotate characters when using the vertical-rotated printing mode of the Character Text Path Direction command. A character is rotated if the glyph is full-width; otherwise, the character is not rotated. Since the introduction of the LaserJet 4PJ, many vendors have produced proportional versions of their Asian fonts. Thus, the algorithm described above is no longer appropriate for determining character rotation. A new method to explicitly enumerate which characters should be counter-rotated in the font is being introduced with HP LaserJet 5 and 5M printers. The new method consists of adding an optional font segment to Font Format 16. The optional segment, which is called the Vertical Exception (VE) segment, has the following form: UBYTE[2] SEGMENT ID UBYTE Format (other values reserved) UBYTE NumRanges UINT16 Range1FirstCode UINT16 Range1LastCode = 'VE' = 0 = N • • • UINT16 RangeNFirstCode UINT16 RangeNLastCode 2-100 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-100
Printer-Specific Differences
ENWW
Vertical Writing with Proportional Fonts
The Character Text Path Direction command was introduced with the
HP LaserJet 4PJ printer to allow users to vertically rotate Asian fonts
which were dual pitched. That is, the single-byte characters were
half-width and the other characters were full-width.
An algorithm was implemented to determine whether or not to
counter-rotate characters when using the vertical-rotated printing
mode of the Character Text Path Direction command. A character is
rotated if the glyph is full-width; otherwise, the character is not
rotated.
Since the introduction of the LaserJet 4PJ, many vendors have
produced proportional versions of their Asian fonts. Thus, the
algorithm described above is no longer appropriate for determining
character rotation.
A new method to explicitly enumerate which characters should be
counter-rotated in the font is being introduced with HP LaserJet 5 and
5M printers. The new method consists of adding an optional font
segment to Font Format 16. The optional segment, which is called the
Vertical Exception (VE) segment, has the following form:
UBYTE[2] SEGMENT ID
= 'VE'
UBYTE Format
= 0
(other values reserved)
UBYTE NumRanges
= N
UINT16 Range1FirstCode
UINT16 Range1LastCode
UINT16 RangeNFirstCode
UINT16 RangeNLastCode