Fix g: switch to clean single-story design

This commit is contained in:
2025-11-19 11:48:48 -08:00
parent e800443a27
commit 9ac8bdb80e

View File

@@ -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())});