Patent ID: 7594171

Claim:
A computer program product, tangibly embodied on a machine-readable storage device, comprising instructions operable to cause data processing apparatus to: receive a spacing classification file specifying a classification for a Latin-based character set, the classification file being a text file containing in text form multiple character class definitions each defining a character class, each character class definition defining a character class as having one or more arbitrary Latin-based characters, the classification file further containing multiple inter-class spacing rules, in text form, each associated with an ordered pair of character classes, each inter-class spacing rule defining one or more spacing parameters for the ordered pair of character classes; lay out a line of text comprising a sequence of Latin-based character glyphs derived from a sequence of characters using the inter-class spacing rules, the sequence of characters including one or more characters belonging to different character classes; if the line of text needs to be compressed to a target line width, compress the line of text according to the inter-class spacing rules for each of two or more pairs of sequential characters in the sequence of characters, the inter-class spacing rules being defined in the spacing classification file, the inter-class spacing rules identifying a particular compression range for each pair of characters; and if the line of text needs to be stretched to a target line width, decompress the line of text according to the inter-class spacing rules for each of two or more pairs of sequential characters in the sequence of characters, the inter-class spacing rules being defined in the spacing classification file, the inter-class spacing rules identifying a particular stretching range for each pair of characters.