From e011aa3b68a8e95396ff2753fe693af84b453dcd Mon Sep 17 00:00:00 2001 From: multipleof4 Date: Wed, 19 Nov 2025 08:16:57 -0800 Subject: [PATCH] Refactor: Geometric Humanist A/a --- src/glyphs/A.js | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/src/glyphs/A.js b/src/glyphs/A.js index bcfbdd3..07b01f8 100644 --- a/src/glyphs/A.js +++ b/src/glyphs/A.js @@ -1,15 +1,12 @@ -const mk=(o,n,u,d,w)=>new o.Glyph({name:n,unicode:u,advanceWidth:w,path:d(new o.Path())}); -export const glyphA=(o,w)=>mk(o,"A",65,p=>{ - p.moveTo(260,700);p.lineTo(340,700);p.lineTo(600,0);p.lineTo(510,0);p.lineTo(430,220); - p.lineTo(170,220);p.lineTo(90,0);p.lineTo(0,0);p.close(); - p.moveTo(200,300);p.lineTo(400,300);p.lineTo(300,580);p.close(); +export const glyphA = (o, w) => new o.Glyph({ name: "A", unicode: 65, advanceWidth: w, path: (p => { + p.moveTo(20,0).lineTo(268,700).lineTo(332,700).lineTo(580,0).lineTo(486,0).lineTo(422,200).lineTo(178,200).lineTo(114,0).close() + .moveTo(204,285).lineTo(396,285).lineTo(300,585).close(); return p; +})(new o.Path()) }); + +export const glypha = (o, w) => new o.Glyph({ name: "a", unicode: 97, advanceWidth: w, path: (p => { + p.moveTo(420,280).curveTo(380,450,230,506,130,506).curveTo(50,506,25,440,25,365).curveTo(25,230,160,155,408,120).lineTo(408,100) + .curveTo(408,40,350,55,280,55).curveTo(180,55,120,75,120,75).lineTo(105,15).curveTo(180,-15,280,-15,340,-15) + .curveTo(450,-15,495,60,495,180).lineTo(495,490).lineTo(420,490).lineTo(420,280).close() + .moveTo(408,170).curveTo(220,200,110,260,110,350).curveTo(110,410,145,440,210,440).curveTo(330,440,408,330,408,220).close(); return p; -},w); -export const glypha=(o,w)=>mk(o,"a",97,p=>{ - p.moveTo(420,480);p.lineTo(420,0);p.lineTo(500,0);p.lineTo(500,480);p.close(); - p.moveTo(420,260);p.curveTo(420,420,80,420,80,240);p.curveTo(80,60,420,60,420,220); - p.close(); - p.moveTo(420,140);p.curveTo(380,120,160,120,160,240);p.curveTo(160,360,420,360,420,340); - p.close(); - return p; -},w); +})(new o.Path()) });