libkate: Format - header packet type 0x88 - font ranges

# Format - header packet type 0x88 - font ranges

This header contains a (possibly empty) list of predefined font ranges that may be referred to by data packets. This header is mandatory, even if no font ranges are predefined.

As with all headers, the first 8 bytes are composed of the header type (0x88) and the 7 byte kate signature ("kate\0\0\0").

Next, we find a variable length integer, holding the number of predefined font ranges this header contains. A negative value is an error.

Next, we find a list of font range definitions, as many as defined int the previously read number.

Next, we find a variable length integer, holding the number of predefined font mappings this header contains. A negative value is an error.

Next, for each predefined font mapping:

- a variable length integer represented the number of ranges in this mapping.

For each of those ranges:

- a bit being 1 if the range is predefined, 0 if not
- if the range is predefined, a variable length integer being the index of the range in the list of predefined ranges
- if the range is not predefined, a font range definition.

Next, we find a warp.

Next, the data ends.