Automatic Hinting for Complex Scripts Using Directed Acyclic Graphs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for automatic hinting of complex scripts like Chinese and Japanese characters are inadequate, leading to inefficient labor costs and suboptimal rendering quality, especially at small screen sizes and for animated type.

Innovation Solution

A method that aligns character outlines to a sampling grid using directed acyclic graphs (DAGs) to determine radicals, merge segments, resolve collisions, and fit points to the grid, eliminating the need for manual hints and improving rendering quality across various screen sizes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If manual hinting is used to improve rendering quality, then text clarity is improved, but labor cost and time increase significantly

Engineering Contradiction:
Improverendering qualityVSAvoidlabor cost
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The system performs automatic hinting that allows the font rendering system to self-adjust and optimize character outlines without manual intervention. The automatic hinting algorithm analyzes glyph geometry and automatically generates hinting instructions, eliminating the need for manual hinting while maintaining rendering quality.

Inventive Principle:
Principle #25Self-service

2Reliability

If manual hinting is used to ensure clear text rendering, then legibility is improved, but development time extends to years for complex scripts

Engineering Contradiction:
Improvetext legibilityVSAvoiddevelopment time
Core Design Contradiction:
ReliabilityVSDuration of action of moving object

Solution Approach 1:

The patent replaces the manual mechanical process of hinting with an automated computational system. The automatic hinting algorithm uses geometric analysis and optimization techniques to generate hinting instructions, substituting human labor with machine-based automated processing that delivers consistent results across all glyphs in complex scripts.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Productivity

If current automatic hinting methods are used, then labor cost is reduced, but rendering quality becomes inadequate for complex scripts

Engineering Contradiction:
Improvehinting efficiencyVSAvoidrendering quality
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The patent modifies the parameters and algorithms of automatic hinting to improve its effectiveness for complex scripts. The system adjusts hinting parameters dynamically based on glyph characteristics, screen resolution, and font size, enabling the automatic process to achieve rendering quality previously only attainable through manual hinting while maintaining high productivity.

Inventive Principle:
Principle #35Parameter changes

4Manufacturing precision

If hints are optimized for body type rendering, then paragraph text quality is improved, but animated type and arbitrary path text deteriorate

Engineering Contradiction:
Improvebody type renderingVSAvoidanimated type support
Core Design Contradiction:
Manufacturing precisionVSAdaptability or versatility

Solution Approach 1:

The patent introduces dynamic hinting that adapts to different rendering contexts in real-time. The system adjusts hinting parameters based on whether the text is static body type, animated, or placed on arbitrary paths, allowing the same font to maintain high quality across all usage scenarios without requiring separate hinting sets for each case.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8107729B2Method for improving character outlines using multiple alignment zones
Publication Date: 2012.01.31 MITSUBISHI ELECTRIC RESEARCH LABORATORIES INC
  • US8107729B2 patent drawing
  • US8107729B2 patent drawing
  • US8107729B2 patent drawing

AI summary

A method aligns a character to a sampling grid of an image, where an outline of the character is specified by input pen commands. Points and contours of the input pen commands are determined. An orientation of each contour is determined. A first directed acyclic graph (DAG) is constructed indicating a hierarchical relationship of related contours. Radicals are determined using the first DAG. Simple segments of the contours are determined and merged independently for each radical. Segment pairs and their hinted coordinates are determined. The segment pairs are sorted and a second DAG is constructed for the sorted segment pairs. Collisions between the segment pairs are resolved using the second DAG. The segments pairs, x-free points, and y-free points are fitted to the sampling grid independently for each radical and a result of the fitting is stored in output pen commands.