| Size | Value |
|---|---|
| 256 x4 | Hash table of offsets to first kern pair with this hash value |
| 4 | Offset of end of all pairs |
| 4 | Font Kern Flags (see below) |
| ? | Kern pair data (see below) |
The kern pair data is stored consecutively, in hash function order.
| Standard Pair Format | |
|---|---|
| Size | Value |
| 256 x4 | Hash table of offsets to first kern pair with this hash value |
| 4 | First letter of kern pair |
| 4 | X offset (if flag bit 1 clear) |
| 4 | Y offset (if flag bit 2 clear) |
| Compressed Pair Format | |
|---|---|
| Bits | Value |
| 0-7 | First letter of kern pair |
| 8-31 | X or y offset |
If bit 31 of the flags is set, the kern data is compressed by combining the first two (or only two) words.
| Bit | Meaning when set |
|---|---|
| 0 | No bounding boxes |
| 1 | No x offset |
| 2 | No y offset |
| 31 | Specify short kern pairs |
| All other bits reserved | |
Kerning information is found by hash table lookup, using the functions:
| Value | Function |
|---|---|
| Hash table index | (first letter) EOR (second letter ROR 4) |
| Second letter | (first letter EOR hash table index) ROR 4 |