Rule-based text layout
First Claim
1. A computer program, tangibly embodied on an information carrier, 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 being operable to define 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;
if the line of text needs to be compressed, compress the line of text according to the inter-class spacing rules for each sequential pairs of characters in the sequence of characters defined in the classification file; and
if the line of text needs to be stretched, decompress the line of text according to the inter-class spacing rules for each sequential pairs of characters in the sequence of characters defined in the classification file.
2 Assignments
0 Petitions
Accused Products
Abstract
The invention features systems, methods, and computer program products for typesetting a sequence of character glyphs. In on implementation, the invention provides a spacing classification file for a character set, the classification file being a text file, containing text form definitions of multiple character classes, each character class definition being structured to define a character class as having one or more arbitrary characters, the classification file further containing, in text form, multiple inter-class spacing definitions, each inter-class spacing definition defining, for an order pair of character classes, one or more spacing parameters for the ordered pair and an associated priority for each defined spacing parameter. A line of text can be compressed or expanded according to the inter-class spacing definitions for each sequential pairs of characters in the sequence of characters defined in the classification file according to their respective priorities.
-
Citations
14 Claims
-
1. A computer program, tangibly embodied on an information carrier, 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 being operable to define 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;
if the line of text needs to be compressed, compress the line of text according to the inter-class spacing rules for each sequential pairs of characters in the sequence of characters defined in the classification file; and
if the line of text needs to be stretched, decompress the line of text according to the inter-class spacing rules for each sequential pairs of characters in the sequence of characters defined in the classification file. - View Dependent Claims (2, 3)
-
-
4. A computer program, tangibly embodied on an information carrier, comprising instructions operable to cause data processing apparatus to:
-
receive a line of Latin character text for typesetting;
receive user input defining a character classification and inter-class rules for character spacing and justification, the rules defining spacing parameters and justification parameters independent of font-specific glyph parameters, the rules further defining priorities for application of justification parameters in a justification process, the character classification defining classes including a many-to-one mapping of characters to classes, the rules defining spacing and justification parameters for ordered pairs of the class, each pair of characters in the line of text mapping to a pair of the classes, the user input being unconstrained by the program as to the number of two or more classes or the mapping of characters to classes; and
lay out the line of text in accordance with the character classification and rules. - View Dependent Claims (5, 6, 7, 8)
-
-
9. A computer program, tangibly embodied on an information carrier, comprising instructions operable to cause data processing apparatus to:
-
space a line of text comprising a sequence of characters;
thenjustify the line of text by stretching or compressing, comprising instructions to collect stretch justification values or compress justification values for each sequential pair of characters in the line by priority, with all justifications of the same priority combined as one value, and starting with the highest priority, finding fractions in the range 0.0 to 1.0 for each priority until the necessary delta to the width is accumulated, and applying the found fractions to the justification values of the pairs of characters by priority. - View Dependent Claims (10, 11, 12)
-
-
13. A computer program, tangibly embodied on an information carrier, comprising instructions operable to cause data processing apparatus to:
-
receive a definition of character-specific spacing rules for justification; and
apply the character-specific spacing rules so that characters are spaced according to their type design in a font, or characters are spaced according to the character-specific spacing rules, or characters are spaced according to their type design in a font without regard to character-specific spacing rules, or characters are spaced according to both their type design in a font and character-specific spacing rules. - View Dependent Claims (14)
-
Specification