Glyph Analysis
Now, You can imagine "How to implement Font Variation" (https://github.com/LayoutFarm/Typography/issues/37).
This issue is designed for documentation project. If you want to comment, just create a new issue and link back.
:)
Glyph Analysis (DEPRECATED)
see new version below

pic 1: Glyph analysis (deprecated)
pic 2: shows grid (deprecated)

pic 3: shows only glyph bones (hide centroid bones) (deprecated)
Glyph Analysis

pic 1: triangulated original outlines
-
original glyph outlines, contours are triangulated (with PixelFarm.Triangulation lib). The triangulation lib generates triangles (blue outline).
-
we create a centroid on each triangle (small yellow dot) and link it together (red line).
Each triangle has 1 centroid point. A centrod line connects between 2 adjacent triangles via centroid point.
(a centroid line links 2 triangulation triangle together)
-
then create a mid point at contact surface of the pair of triangles. We create a joint at that point, and call it 'GlyphBoneJoint'
-
we link 2 GlyphBoneJoints together, this link is called 'GlyphBone' (deep pink line).
-
we create a line from GlyphBoneJoint to 'outside' edge of the glyph contour, and call it 'Rib' (white line with green end point). Some ribs are unnecessary, we will remove it later

pic 2: triangulated triangles, remove some unnecessary ribs

pic 3: hides centroid link lines

pic 4: hides trianglulaton triangles

pic 5: new generated controlling 'rib', red line[1], 50% of original length

pic 6: new generated controlling 'rib', red line[1], 50% of original length

pic 7: new generated controlling 'rib', red line[1], 50% of original length

pic 8: a secondary rib (white line), a perpendicular line from edge to bone

pic 9: show triangulated triangles and centroid line of pic 8


pic 1: simplified bones, shows centroid link

pic 2: simplified bones, shows triangulation results

pic 3: simplified bones, shows perpendicular line (yellow) to shortest bone or joint

pic 4: new generated controlling 'rib', red line, 50% of original length

pic 5: new generated controlling 'rib', red line, 50% of original length

pic 6: new generated controlling 'rib', red line, 50% of original length

pic 7: a secondary rib (white line), a perpendicular line from edge to bone

pic 8: show triangulated triangles and centroid line of pic 7


pic 1: glyph l, Tahoma, most basic triangulated form (2 triangles)
[1], [2] => triangulated triangle and its centroid
[3], [4]=> triangulated triangle and its centroid
centroid line (red) link 2 centroid of 2 adjacent triangles.
[5] => mid point of the 'INSIDE' 'contact' edge of the two triangle, this become 'GlyphBoneJoint'
[6], [7] => line link (blue) from centroid to 'tip' edge

pic 1: Tahoma, 620 pt, GlyphDynamicOutline, 150% stroke expansion from original.

pic 2: Tahoma, 620 pt, GlyphDynamicOutline, 50% stroke expansion (shrink) from original.

pic 3: from pic1, remove triangulated triangles and centroid bones

pic 4: from pic2, remove triangulated triangles and centroid bones

pic 1: Tahoma, 460 pts

pic 2: from pic 1, no edge offset.

pic 3: from pic 1, edge offset +10px from master outline

pic 4: from pic 1, edge offset -10px from master outline, has some errs

pic 5: from pic 4
Century font, A, 460pts
pic 1: master outline

pic 2: from 1
pic 3: from 1, master outline with edge offset -10px (thin)
pic 4: from 3
pic 5: from 1, master outline with edge offset +10px (thick)

pic 5: from 4
AutoFit Developing...
new GlyphBone (white line) is move to fit the grid(x,y).
Tahoma font

pic 1: grid size w,h (20px,20px)

pic 2: grid size w,h (10px,10px)
pic 3: grid size w,h (10px,10px)

pic 4: grid size w,h (10px,10px)
Preview Latest AutoFit + SubPixelRendering

pic 1: Tahoma, 8 pt, (1) No AutoFit , (2) with AutoFit, Tahoma, 10pt, (3) No AutoFit, (4) with AutoFit
For this version, The AutoFit feature is nearly complete.
sharp edges

pic 1: autofit, gray scale,Tahoma 8 pts

pic 1: Tahoma, 8 pt, autofit + subpixel rendering with Typography
hint vs no hint problem
some glyphs have problems ...
pic 1: Tahoma, 8pt
pic 1: zoom
July 2019, Glyph analysis note, How to show 'glyph bone'?


July 2019, Glyph analysis note, 'DynamicOutline'


pic 2: grid w,h (1px,10px)