Server-Side Font Preparation for Cross-Platform WYSIWYG Fidelity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Web-based word processing applications face challenges in providing a consistent 'What You See Is What You Get' (WYSIWYG) experience across different operating systems and devices due to varying font rendering algorithms, leading to inconsistent text layout and formatting.
Innovation Solution
The system employs server-side font preparation, where font rendering information is retrieved from a remote server, allowing browsers to render text consistently by calculating character positions and using platform-independent font files, ensuring WYSIWYG and cross-platform fidelity through a model-view-controller framework and HTML5 canvas rendering.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the web browser relies on the underlying operating system font rendering algorithm for text display, then the browser can display text using native OS fonts, but the rendered text is displayed differently on different platforms, making WYSIWYG experience difficult to achieve
Solution Approach 1:
The patent introduces a font rendering service as an intermediary component that sits between the browser and the operating system's native font rendering. This service receives font rendering requests from the browser, processes them using platform-independent font files obtained from a remote server, and returns consistent rendering results across different operating systems. The intermediary layer effectively decouples the browser from OS-specific rendering behaviors, enabling WYSIWYG experience across platforms.
Solution Approach 2:
The patent obtains font files from a remote server that contain platform-independent font rendering information. Instead of relying on native OS fonts that differ across platforms, the system copies and uses these standardized font files across all operating systems. This copying approach ensures that the same font representation is used universally, eliminating the inconsistencies caused by native font variations.
2Ease of manufacture
If different operating systems use different font rendering algorithms, then each OS can optimize text rendering for its own requirements, but the same body of text is rendered differently on different computing devices
Solution Approach 1:
The patent performs font file acquisition and preparation in advance through a font rendering service before the actual text rendering occurs. The service pre-obtains platform-independent font files from a remote server and prepares them for use. This preliminary action ensures that the correct, consistent font files are ready before rendering, preventing the reliability issues that would arise from ad-hoc native font selection.
Solution Approach 2:
The patent changes the fundamental parameter of font rendering from using OS-specific native fonts to using platform-independent font files obtained from a remote server. By changing this critical parameter, the system transforms the rendering behavior from being OS-dependent to being universally consistent across all platforms, thereby improving text display fidelity while maintaining ease of implementation through the font rendering service.
Data Source
Figure 1
Figure 2A
Figure 2B
AI summary
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.