IP Library Granted Patent US 10,460,013
Granted Patent B2
US 10,460,013 · App. 16/002,474 · Granted Oct 29, 2019

Using server side font preparation to achieve WYSIWYG and cross platform fidelity on web based word processor

Inventor: Wang Xin (Mountain House, CA)
Assignee: EMC Corporation
G06F17/214G06F16/9038G06F17/2247
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,460,013
App. No.
16/002,474
Granted
Oct 29, 2019
Kind
B2
Abstract

A system and method is illustrated for platform-independent rendering of a document in a web browser supporting a two-dimensional (2D) canvas. The system and method includes obtaining the document, wherein the document includes text characters, text elements, and associated style information including at least one font, determining that font metrics do not exist, and obtaining the font metrics for the at least one font, using the font metrics and the text elements to determine how the document is divided into page criteria, determining a font file does not exist, and obtaining the font file for the at least one font, and rendering the document by drawing glyphs associated with the text characters in the 2D canvas, using the font file and the page criteria, so that the at least one font and the page criteria are platform-independent.

Claims (62)

1. A computer implemented method for platform-independent rendering of a document in a web browser supporting a two-dimensional (2D) canvas, comprising:

obtaining from a server that includes a document repository and a fonts system the document, wherein the document includes text characters, text elements, and associated style information including at least one font;

determining that font metrics associated with a segment of text characters included in the document do not exist;

obtaining from the fonts system the font metrics for the at least one font;

using the font metrics and the text elements to determine how the document is divided into page criteria;

determining that a font file associated with the segment of text characters exists at the font system;

determining that a web browser font file does not match the font file associated with the segment of text characters;

obtaining from the fonts system the font file associated with the segment of text characters; and

rendering the document by drawing glyphs associated with the text characters in the 2D canvas, using the obtained font file and the page criteria, so that the at least one font and the page criteria are platform-independent.

2. The method of claim 1 , wherein the text elements include at least one of paragraphs, spans, and the text characters.

3. The method of claim 2 , wherein the page criteria include at least one of glyphs, text runs, lines, and pages.

4. The method of claim 3 , wherein using the font metrics and the text elements to determine how the document is divided into the page criteria includes:

based on the font metrics and the associated style information, converting the text characters into the glyphs;

based on the spans and the glyphs, generating the text runs; and

based on the text runs, calculating a position of each of the glyphs within the lines and the pages on the 2D canvas.

5. The method of claim 1 , wherein the font file has information associated with glyphs defined for the at least one font.

6. The method of claim 1 , wherein for each of the glyphs, the font metrics are derived from the font file and include glyph geometry comprising height and weight.

7. The method of claim 1 , wherein obtaining the document includes:

obtaining a font list including the at least one font from the server; and

obtaining default font metrics and a default font file associated with a default font of the font list from the server.

8. The method of claim 1 , wherein the font metrics are specified using extensible Markup Language (XML).

9. The method of claim 1 , wherein obtaining the font file associated with the segment of text characters includes retrieving the font file associated with the segment of text characters for at least one font from the server through a use of a URL.

10. A system, comprising:

a processor configured to:

obtain from a server that includes a document repository and a fonts system a document, wherein the document includes text characters, text elements, and associated style information including at least one font;

determine that font metrics associated with a segment of text characters included in the document do not exist;

obtain from the fonts system the font metrics for the at least one font;

use the font metrics and the text elements to determine how the document is divided into page criteria;

determine that a font file associated with the segment of text characters exists at the font system;

determine that a web browser font file does not match the font file associated with the segment of text characters;

obtain from the fonts system the font file associated with the segment of text characters; and

render the document by drawing glyphs associated with the text characters in the 2D canvas, using the obtained font file and the page criteria, so that the at least one font and the page criteria are platform-independent; and

a memory coupled to the processor and configured to provide the processor with instructions.

11. The system of claim 10 , wherein the text elements include at least one of paragraphs, spans, and the text characters.

12. The system of claim 11 , wherein the page criteria include at least one of text runs, lines, and pages.

13. The system of claim 12 , wherein to use the font metrics and the text elements to determine how the document is divided into the page criteria, the processor is configured to:

based on the font metrics and the associated style information, convert the text characters into the glyphs;

based on the spans and the glyphs, generate the text runs; and

based on the text runs, calculate a position of each of the glyphs within the lines and the pages on the 2D canvas.

14. The system of claim 10 , wherein the processor is further configured to:

obtain a font list including the at least one font from the server;

obtain default font metrics and a default font file associated with a default font of the font list from the server; and

obtain the document from the server using a document retrieving module.

15. The system of claim 10 , wherein to obtain the font file associated with the segment of text characters the processor is configured to retrieve the font file associated with the segment of text characters from the server through a use of a URL.

16. A computer program product embodied on a non-transitory computer storage medium and comprising instructions for:

obtaining from a server that includes a document repository and a fonts system a document, wherein the document includes text characters, text elements, and associated style information including at least one font;

determining that font metrics associated with a segment of text characters included in the document do not exist;

obtaining from the fonts system the font metrics for the at least one font;

using the font metrics and the text elements to determine how the document is divided into page criteria;

determining that a font file associated with the segment of text characters exists at the font system;

determining that a web browser font file does not match the font file associated with the segment of text characters;

obtaining from the fonts system the font file associated with the segment of text characters; and

rendering the document by drawing glyphs associated with the text characters in the 2D canvas, using the obtained font file and the page criteria, so that the at least one font and the page criteria are platform-independent.

17. The computer program product of claim 16 , wherein the text elements include at least one of paragraphs, spans, and the text characters.

18. The computer program product of claim 17 , wherein the page criteria include at least one of text runs, lines, and pages.

19. The computer program product of claim 18 , wherein using the font metrics and the text elements to determine how the document is divided into the page criteria includes:

based on the font metrics and the associated style information, converting the text characters into the glyphs;

based on the spans and the glyphs, generating the text runs; and

based on the text runs, calculating a position of each of the glyphs within the lines and the pages on the 2D canvas.

20. The computer program product of claim 16 , wherein obtaining the document includes:

obtaining a font list including the at least one font from the server; and

obtaining default font metrics and a default font file associated with a default font of the font list from the server.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (047648/0422) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060160/0862 →
RELEASE OF SECURITY INTEREST AT REEL 047648 FRAME 0346 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0510 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047648/0346 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 047648/0422 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2018
From: XIN, WANG
To: EMC CORPORATION
Reel/Frame 046678/0248 →
Continuity (2)
Continuation 14256101 · Apr 18, 2014
Related Publication 20180349331A1 · Dec 6, 2018