h6. [[FontManager]] h6(. » [[FontManager SWI Calls|SWI Calls]] h6((. » [[Font_ReadFontMetrics]] h6(((. » Kerning New Style Data h4. Data Format |_<^{width:3em}. 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)| h4. Kern Pair Data The kern pair data is stored consecutively, in hash function order. |_\3<^. Standard Data format| |_<^{width:3em}. Word|_<^{width:3em}. Bits|_<^. Value| |<^. 0|<^. 0-15|<^. Internal code of first letter of kern pair| |<^. 0|<^. 16-31|<^. Internal code of second letter of kern pair| |<^. 1|<^. 0-15|<^. X offset in 1/1000^th^ em | |<^. 1|<^. 16-31|<^. Y offset in 1/1000^th^ em | |_\3<^. Compressed Data format (bit 31 set)| |_<^{width:3em}. Bits |_<^. Contents | |<^. 0-7|<^. First character code| |<^. 8-15|<^. Second character code| |<^. 16-31|<^. X or Y offset| If bit 31 of the flag word is set, then each kern pair is held in 1 word. This can only happen if all kern pairs apply to the first 256 characters, and kerning is only in one direction. h4. Kerning Flags |_<^{width:3em}. Bit |_<^. Meaning when set | |<^. 1|<^. No x offset| |<^. 2|<^. No y offset| |<^. 31|<^. Specify _short_ kern pairs| |\2<. All other bits reserved| h4. Notes Kerning information is found by hash table lookup, using the functions:<br/> |_<^{width:8em}. Value |_<^. Function| |<^. Hash table index|<^. <code>(first letter) EOR (second letter ROR 4)</code>| Where the rotate happens in 8 bits. Note that unlike the rest of the values returned by this call, the kerning information in unscaled, and character codes are internal codes. [[Font_EnumerateCharacters]] can be used to map external codes to internal codes. h4. See also * [[Font Bounding Box]] * [[Font File Flags]] * [[Font Kerning Data]] * [[Font Miscellaneous Data]]