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 | (LSB) 0 | Byte |
0 | VT (22100) |
|
|
|
| 1 |
2 | Data Segment Size (4*n+4) * |
| 3 | |||
4 |
|
|
|
|
| 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 |
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.
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
If the Font Type is not Type 3