Font Loading System Using Test Character Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Efficient font loading for documents, particularly PDF fonts, is challenging due to incomplete and non-standardized font sets, leading to difficulties in accurate display on client devices.

Innovation Solution

A system and method for downloading fonts in a client-server architecture that involves parsing documents to extract font information, storing it on a server database, and using a font loader to ensure proper font loading on client devices by testing with valid characters and fallback fonts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If fonts are downloaded and collected quickly for display, then document display speed is improved, but font loading accuracy deteriorates due to incomplete and non-standardized font sets

Engineering Contradiction:
Improvefont loading speedVSAvoidfont display accuracy
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system performs preliminary actions by extracting font information from the document on the server side before transmission, storing it in a database, and preparing font loading instructions in advance. This allows the client to efficiently load only the specific fonts needed for the document without waiting for font discovery and loading during display, thus improving speed while maintaining accuracy through pre-validated font information.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary font information extraction and storage mechanism between the document source and the client display. The server extracts font metadata, creates font loading instructions, and stores them in a database, acting as an intermediary that prepares and validates font information before it reaches the client. This intermediary process ensures font loading accuracy while enabling efficient client-side execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If font information is extracted and stored on server, then font loading accuracy is improved, but system complexity increases

Engineering Contradiction:
Improvefont information accuracyVSAvoidsystem architecture complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent extracts font information from the complete document structure, separating font metadata from the actual document content. By taking out only the essential font information (font names, character sets, encoding) and storing it independently in a database, the system achieves high font information accuracy without proportionally increasing overall system complexity. The extraction focuses only on necessary font attributes.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system segments the font loading process into distinct components: font information extraction on the server, font metadata storage in a database, font loading instructions generation, and client-side font loading execution. This segmentation allows each component to be optimized independently, managing complexity through modular architecture while maintaining high font information accuracy through dedicated extraction and validation processes.

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If test characters are drawn to verify font loading, then font loading verification accuracy is improved, but display processing time increases

Engineering Contradiction:
Improvefont verification accuracyVSAvoiddisplay processing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system applies partial action by drawing only a single test character (or a limited set of test characters) to verify font loading, rather than rendering complete document content or testing all possible characters. This partial verification provides sufficient font loading confirmation with minimal processing time overhead, achieving adequate verification accuracy without excessive time loss.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The test character drawing uses a disposable, temporary rendering approach where a minimal test element is drawn, verified, and then discarded. The test character serves its purpose of confirming font loading functionality and is then removed or overwritten by the actual document content. This disposable verification method provides necessary validation with negligible time cost compared to full document rendering.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Data Source

PatentUS9940306B2Font loading system and method
Publication Date: 2018.04.10 WORKIVA INC
  • US9940306B2 patent drawing
  • US9940306B2 patent drawing
  • US9940306B2 patent drawing

AI summary

Disclosed herein is a system and related method for downloading fonts associated with a document in a client-server architecture. On a client side the client is: receiving some of the document to reproduce; retrieving fonts needed to display a page of the document on the client device by: requesting a font loader to load a requested font; determining if the font is loaded by: determining a valid test character of the font that is a viewable character; attempting to draw the test character in a small portion of a display screen of the client device; recording a width of the drawn character; determining that the test character was written in the requested font if its character width is not equal to zero; and determining that the test character was written in a fallback font if its character width is equal to zero.