380 likes | 407 Views
Explore a unique method for modeling handwritten fonts using fat curves with variable width. Learn about the process from digitization to skeleton construction, outline smoothing, and automatic kerning. Discover the advantages over traditional methods and the application in 3D modeling.
E N D
Handwritten Fonts Modeling Based on Fat Lines of Variable WidthStanislav KlimenkoMoscow Physicotechnical Institute Moscow, Russiaklimenko@sim.ol.ruLeonid MestetskiyMoscow State UniversityMoscow, Russial.mest@ru.netAndrey SemenovTver State UniversityTver, Russiasemenov@tversu.ru
Fonts Describing The 16-th International Conference in Central Europe on Computer Graphics, Visualization and Computer Vision'2008 Outline description is union of Bezier curves
Fonts Describing Disadvantages of outline description: 1. Implementation of “alive” handwriting is difficulty 2. Doesn’t allow implementing variations of stroke width of pen 3. The problem of preservation of contour smoothness ?
Our approach • Representation of a font as a trace of pen «with a variable width» • Obtaining of a font in the form of curves with a width on the scanned image
Fat Curve is family of circles of variable radius with centers on smooth curve - Fat curve with axis P(t)=(u(t),v(t)) and thickness r(t)
Our task The hand-written alphabet (Russian) Personal hand-written font
The methoddescription Step 1 • The person writes separate letters by ink pen on a paper, for example, the alphabet • Step 2 • The image is digitized by the scanner
The methoddescription • Step 3 • Construction of piecewise-linear boundary as a polygon of minimal perimeter Binary image Polygonal figure
The methoddescription • Step 4 • Construction of continuous skeleton as a set of medial axes of polygonal figure Continuous skeleton Polygonal figure
The methoddescription • Step 5 • Construction of a base skeleton Continuous skeleton Base skeleton
The methoddescription • Step 6 • Decomposition branches of base skeleton Base skeleton Base skeleton with circles
The methoddescription • Step 7 • Approximation of base skeleton by a circular figure Base skeleton with circles Circular figure
Fat Curve Outline Smoothing • Recalculation radius value for each control circle:
Fat Curve Axis Smoothing • Recalculation center coordinates for each control circle:
Kerning task What is better ?
Alignment of letter spacing • Kerning - is a visual alignment of letter spacing in process of text on raster devices . How is near ?
Method of Automatic Kerning 1. Rasterization of kerning pair of characters on a common base line of raster
Method of Automatic Kerning 2. Scanning by a horizontal line "from top to bottom" with step of 1 pixel
Method of Automatic Kerning 3. At each position of a scanning line
Method of Automatic Kerning 4. Defining position of a scanning line at which distance between the points is minimum Minimal distance
Method of Automatic Kerning 5. Defining minimal kerning distance Minimal kerning distance Is negative kerning
Method of Automatic Kerning 5. Defining minimal kerning distance Minimal kerning distance Is positive kerning
Method of Automatic Kerning Some examples Minimal kerning distance is 20 KERNING[я][б] = 15 KERNING[в][а] = -72
Method of Automatic Kerning Kerning table
Method of Automatic Kerning KERNING[в][ю] = -88 What does it mean ? It means how many pixels to the left it is necessary to move the right character Length of this segment is 88
Method of Automatic Kerning Some examples It’s A.S. Pushkin No kerning
Method of Automatic Kerning Some examples It’s A.S. Pushkin Kerning is 20 pixels
Method of Automatic Kerning Some examples It’s A.S. Pushkin Kerning is 40 pixels
3D Modeling • Modeling of 3D effect by layer painting
“Alive” Handwriting Modeling • Adding of small noise into values of radiuses - is noise
“Alive” Handwriting Modeling • Adding of small noise into values of radiuses
Export to famous description • Converting fat curve representation to outline description Fat curves description PostScript description
Summary • The method of fat curves is efficient tool for modeling of hand-written characters; • There is possibility of letterspacings controlling (zoom in/out letterspacing); • There is easy way to modeling “alive” handwriting; • Our approach can be used as embedded module (plug-in) in font editors.