CHARACTER-LEVEL FONT LINKING
First Claim
1. A system for providing fine granularity font selection for rendering text data, comprising using a computing device to perform steps for:
- receiving a text data input;
determining Unicode code-points corresponding to each character of the text data input;
parsing the text data input into a plurality of runs of one or more characters by sequentially comparing the Unicode code-points of each character of the text data input to entries in a lookup table corresponding to a set of one or more fonts;
wherein the lookup table specifically identifies the individual glyphs included in each font relative to the corresponding Unicode code-point of the character corresponding to each glyph;
assigning a font to each run of characters, wherein each character in each run is supported by a corresponding glyph in the assigned font, in accordance with the entries in the lookup table; and
rendering each run of characters using the corresponding glyphs of the assigned font for each run to render the individual characters of each run of characters.
2 Assignments
0 Petitions
Accused Products
Abstract
A “Character-Level Font Linker” provides character-level linking of fonts via Unicode code-point to font mapping. A lookup table is used to identify glyph-level support for runs of particular characters on a Unicode code-point basis for relative to a set of available fonts. This lookup table enables automatic selection of one or more specific fonts for rendering one or more runs of characters comprising a text string. The lookup table is constructed offline by automatically evaluating glyphs comprising a set of common or default fonts. The table is then used for automatically selecting fonts for rendering text strings. Alternately, the lookup table is generated (or updated) locally to include some or all locally installed fonts. Finally, in another embodiment, if no supporting font is identified in the table for a particular character, the system automatically downloads the necessary glyph from one or more remote servers.
99 Citations
20 Claims
-
1. A system for providing fine granularity font selection for rendering text data, comprising using a computing device to perform steps for:
-
receiving a text data input; determining Unicode code-points corresponding to each character of the text data input; parsing the text data input into a plurality of runs of one or more characters by sequentially comparing the Unicode code-points of each character of the text data input to entries in a lookup table corresponding to a set of one or more fonts; wherein the lookup table specifically identifies the individual glyphs included in each font relative to the corresponding Unicode code-point of the character corresponding to each glyph; assigning a font to each run of characters, wherein each character in each run is supported by a corresponding glyph in the assigned font, in accordance with the entries in the lookup table; and rendering each run of characters using the corresponding glyphs of the assigned font for each run to render the individual characters of each run of characters. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer readable medium having computer executable instructions for providing automatic font selection for rendering text data, said computer executable instructions comprising:
-
providing a lookup table defining which Unicode code-points are supported by glyphs for each script nominally supported by each font; receiving a text data input, said text data input comprising a set of characters having associated Unicode code-points; comparing the Unicode code-point of each character of the text data input to the code-points defined in the lookup table to identify a specific font for each character of the text data input, such that the font identified for each character of the text data input includes a glyph for the corresponding character; and rendering each character of the text data input using the corresponding glyphs from the font identified for each character. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A method for ensuring that each character of a text string is supported by a corresponding glyph in one or more fonts selected to render the characters of the text string, comprising:
-
receiving a text string input, said text string including a plurality of characters each defined by a Unicode code-point falling within a range of code-points defining a Unicode script; parsing the text string input into a plurality of runs of one or more characters by sequentially comparing the Unicode code-points of each character to corresponding Unicode code-point entries in a lookup table corresponding to a set of one or more fonts; wherein the lookup table defines, for each Unicode script supported for each of the set of one or more fonts, whether each Unicode code-point for each supported script is also supported by a corresponding glyph; wherein each run of one or more characters comprises a group of contiguous characters that are assigned the same font because that same font includes a glyph for each corresponding character of the run of one or more characters; and rendering each run of one or more characters using the corresponding glyph of the assigned font for each run of one or more characters to render the individual characters of each run of one or more characters, thereby rendering the entire text string. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification