Rendering oversized glyphs to a monospace grid

US10636387B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10636387-B2
Application numberUS-201816125458-A
CountryUS
Kind codeB2
Filing dateSep 7, 2018
Priority dateSep 7, 2018
Publication dateApr 28, 2020
Grant dateApr 28, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Tools and techniques are described to render oversize glyphs in a monospace grid. Glyph rendering algorithms collect changed cells, collect affected cells based on overlap, clear certain affected cells, and redraw only specified cells. By reducing the number of cells whose glyphs are redrawn in response a text edit, algorithms permit faster execution even when rendering is done by a script rather than precompiled code. Algorithmic advances also permit faster display frame rates, and help preserve battery power. Grids may be numbered, and traversed, in different ways. Oversize glyphs may include underscores, ligatures, mathematical symbols, emojis, kanji, accented characters in various natural languages, and wide or tall text characters which extend beyond the display space of a single cell. Glyph rendering may provide user interface updates in browsers, shells, terminal emulators, and other programs.

First claim

Opening claim text (preview).

What is claimed is: 1. A computing system configured for rendering oversized glyphs to a monospace grid, the computing system comprising: a processor; a memory in operable communication with the processor; a display in operable communication with the processor, the display configured to display contents of glyphs in a monospace grid having at least two orthogonal axes and having grid cells; and a glyph renderer comprising rendering software which upon execution by the processor performs at least the following: (a) collects changed cells, namely, grid cells that upon being redrawn will get visible replacement glyph content; (b) collects affected cells, namely, to changed cells add cells that a changed cell or an affected cell overlaps; (c) clears the contents of changed or affected cells; and (d) redraws the contents of changed or affected cells in a redraw sequence which complies with a predefined grid traversal order, thereby replacing the contents of affected cells with their respective replacement glyph content, while avoiding redrawing visible cells which are not affected cells. 2. The computing system of claim 1 , wherein the predefined grid traversal order traverses at least a portion of a row R 1 from left to right and then traverses at least a portion of a row R 2 from left to right, where R 1 is above R 2 , from a perspective looking at the display. 3. The computing system of claim 1 , wherein the glyph content comprises at least one of the following: text characters, mathematical symbols, emojis, emoticons, graphemes, ligatures, underscores, or accented characters. 4. The computing system of claim 1 , wherein the glyph renderer resides in, includes, or is in operable communication with, a controller, wherein the redrawn contents of affected cells are displayed within a portion of the display that is controlled at least in part by the controller, and wherein the controller includes a browser or a web application or both. 5. The computing system of claim 1 , wherein the glyph renderer resides in, includes, or is in operable communication with, a controller, wherein the redrawn contents of affected cells are displayed within a portion of the display that is controlled at least in part by the controller, and wherein the controller includes at least one of the following: a shell, a terminal emulator, a text editor, an extensible software development tool, or an integrated development environment. 6. The computing system of claim 1 , wherein the glyph renderer is invoked by, includes, or is in operable communication with, a script, and wherein the redrawn contents of affected cells are displayed within a portion of the display that is controlled at least in part by execution of the script. 7. The computing system of claim 1 , wherein the glyph renderer includes non-kernel code bytes, and less than 20% of the glyph renderer non-kernel code bytes are precompiled native code. 8. The computing system of claim 1 , further comprising a map which correlates each cell C of a set of cells with zero or more other cells that C affects or that C is affected by. 9. A method for rendering oversized glyphs to a monospace grid, the method comprising: collecting changed cells, namely, grid cells that upon being redrawn will get visible replacement glyph content differing from their respective original glyph content; collecting a non-empty set of first-level affected cells, namely, by adding to changed cells any cells that a changed cell overlaps plus any cells that overlap a changed cell, where overlap is assessed with regard to original glyph content or replacement glyph content or both; collecting a set of second-level affected cells, if any, namely, each cell that is not a first-level affected cell, and that a first-level affected cell overlaps or that overlaps a first-level affected cell, where overlap is with regard to original glyph content or replacement glyph content or both; clearing the contents of first-level affected cells; redrawing the contents of affected cells in a redraw sequence which complies with a predefined grid traversal order, thereby replacing the contents of affected cells with their respective replacement glyph content; and avoiding redrawing visible cells which are not affected cells. 10. The method of claim 9 , wherein the set of collected second-level affected cells is empty, and redrawing only redraws the contents of first-level affected cells. 11. The method of claim 9 , wherein the method comprises avoiding redrawing any visible cell which is not an affected cell. 12. The method of claim 9 , wherein the method comprises accounting for a ligature. 13. The method of claim 9 , wherein the method further comprises mitigating cell escapes by glyphs of a font, by performing at least one of the following: increasing cell height; increasing cell width; clipping redrawing to occur only within first-level affected cells; clearing only a portion of a cell whose own contents consist of whitespace; or disallowing drawing between rows of cells. 14. The method of claim 9 , wherein the glyph renderer upon execution performs the following listed steps in the listed order and without any of the listed steps being concurrent with any other of the listed steps: (a) collecting changed cells, (b) collecting a non-empty set of first-level affected cells, (c) collecting a set of second-level affected cells, if any, (d) clearing the contents of first-level affected cells, and (e) redrawing the contents of affected cells without redrawing cells which are not affected cells. 15. The method of claim 9 , wherein the method comprises avoiding redrawing at least part of a row of visible cells when at least one cell of the row is not a changed cell. 16. The method of claim 9 , wherein the method comprises interpreting a script which controls the collecting steps, the clearing step, and the redrawing step. 17. A storage medium configured with code which upon execution by one or more processors performs a method for rendering oversized glyphs to a monospace grid, the method comprising: collecting changed cells, namely, grid cells that upon being redrawn will get visible replacement glyph content from their respective original glyph content; collecting a non-empty set of affected cells, namely, changed cells plus cells that a changed cell overlaps plus cells that overlap a changed cell, where overlap is with regard to original glyph content or replacement glyph content or both; clearing the contents of the affected cells; redrawing the contents of the affected cells in a redraw sequence which complies with a predefined grid traversal order, thereby replacing the contents of affected cells with their respective replacement glyph content; and avoiding redrawing an entire row of visible cells by avoiding redrawing at least one cell of the row which is not a changed cell. 18. The storage medium of claim 17 , wherein redrawing the contents comprises redrawing at least a portion of at least one of the following: a text character, kanji, hanzi, a mathematical symbol, a grapheme, a ligature, an underscore, or an accented character. 19. The storage medium of claim 17 , wherein the method further comprises mitigating cell escapes by glyphs of a font, by performing at least one of the following: increasing cell height for at least one row of cells; increasing cell width; clearing only a portion of a cell whose own contents consist of whitespace; or disallowing drawing between rows of cells. 20. The storage medium of

Assignees

Inventors

Classifications

  • Solving problems related to the presentation of information to be displayed · CPC title

  • G09G5/243Primary

    Circuits for displaying proportional spaced characters or for kerning · CPC title

  • Editing, e.g. inserting or deleting · CPC title

  • Font handling; Temporal or kinetic typography · CPC title

  • Handling of whitespace · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10636387B2 cover?
Tools and techniques are described to render oversize glyphs in a monospace grid. Glyph rendering algorithms collect changed cells, collect affected cells based on overlap, clear certain affected cells, and redraw only specified cells. By reducing the number of cells whose glyphs are redrawn in response a text edit, algorithms permit faster execution even when rendering is done by a script rath…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G09G5/243. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 28 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).