mirror of
https://github.com/multipleof4/stain.otf.git
synced 2026-01-13 16:17:55 +00:00
Fix g: switch to clean single-story design
This commit is contained in:
@@ -6,14 +6,19 @@ export const glyphG=(o,w)=>new o.Glyph({name:"G",unicode:71,advanceWidth:w,path:
|
||||
})(new o.Path())});
|
||||
|
||||
export const glyphg=(o,w)=>new o.Glyph({name:"g",unicode:103,advanceWidth:w,path:(p=>{
|
||||
// Outer (CCW)
|
||||
p.moveTo(475,490).lineTo(250,490).curveTo(130,490,65,420,65,255).curveTo(65,135,105,70,180,55)
|
||||
.curveTo(130,35,85,-20,85,-80).curveTo(85,-160,150,-210,270,-210).curveTo(420,-210,470,-130,470,-60)
|
||||
.lineTo(470,30).lineTo(390,30).lineTo(390,-60).curveTo(390,-110,355,-135,275,-135)
|
||||
.curveTo(200,-135,170,-110,170,-80).curveTo(170,-25,250,5,415,30)
|
||||
.lineTo(485,40).curveTo(495,135,490,340,490,370).lineTo(545,370).lineTo(545,450) // Ear
|
||||
.lineTo(480,450).curveTo(485,470,480,490,475,490).close()
|
||||
// Top Hole (CW)
|
||||
.moveTo(300,415).curveTo(405,415,400,320,405,215).curveTo(380,185,260,90,165,125)
|
||||
.curveTo(145,160,145,180,145,245).curveTo(145,385,215,415,300,415).close(); return p;
|
||||
// Single-story 'g' construction
|
||||
p.moveTo(480,500).lineTo(395,500).lineTo(395,430)
|
||||
.curveTo(360,490,295,515,220,515).curveTo(100,515,40,395,40,260)
|
||||
.curveTo(40,115,95,-5,185,-5).curveTo(250,-5,300,20,345,55) // join area
|
||||
.lineTo(355,-40) // Start tail descend
|
||||
.curveTo(365,-140,305,-200,195,-200).curveTo(135,-200,90,-175,60,-150)
|
||||
.lineTo(30,-210).curveTo(75,-260,140,-280,200,-280)
|
||||
.curveTo(340,-280,430,-200,440,-40).lineTo(480,-40) // Wide stem for stability
|
||||
.lineTo(480,500).close()
|
||||
// Hole
|
||||
.moveTo(235,435).curveTo(335,435,395,355,395,260)
|
||||
.curveTo(395,145,335,75,235,75).curveTo(135,75,125,145,125,260)
|
||||
.curveTo(125,360,135,435,235,435).close();
|
||||
return p;
|
||||
})(new o.Path())});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user