From f38d2bb4d8d5911d8ffb86d52ee2de35eae4b201 Mon Sep 17 00:00:00 2001 From: multipleof4 Date: Wed, 19 Nov 2025 08:17:26 -0800 Subject: [PATCH] Refactor: Fluid O/o --- src/glyphs/O.js | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/src/glyphs/O.js b/src/glyphs/O.js index 6715a5c..297f14e 100644 --- a/src/glyphs/O.js +++ b/src/glyphs/O.js @@ -1,11 +1,8 @@ -const mk=(o,n,u,d,w)=>new o.Glyph({name:n,unicode:u,advanceWidth:w,path:d(new o.Path())}); -export const glyphO=(o,w)=>mk(o,"O",79,p=>{ - p.moveTo(300,710);p.curveTo(60,710,60,-10,300,-10);p.curveTo(540,-10,540,710,300,710);p.close(); - p.moveTo(300,630);p.curveTo(460,630,460,70,300,70);p.curveTo(140,70,140,630,300,630);p.close(); - return p; -},w); -export const glypho=(o,w)=>mk(o,"o",111,p=>{ - p.moveTo(300,490);p.curveTo(80,490,80,-10,300,-10);p.curveTo(520,-10,520,490,300,490);p.close(); - p.moveTo(300,410);p.curveTo(440,410,440,70,300,70);p.curveTo(160,70,160,410,300,410);p.close(); - return p; -},w); +export const glyphO=(o,w)=>new o.Glyph({name:"O",unicode:79,advanceWidth:w,path:(p=>{ + p.moveTo(340,-15).curveTo(160,-15,65,165,65,350).curveTo(65,555,170,715,340,715).curveTo(520,715,615,535,615,350).curveTo(615,160,520,-15,340,-15).close() + .moveTo(340,70).curveTo(460,70,525,190,525,350).curveTo(525,510,460,635,340,635).curveTo(220,635,155,510,155,350).curveTo(155,190,220,70,340,70).close(); return p; +})(new o.Path())}); +export const glypho=(o,w)=>new o.Glyph({name:"o",unicode:111,advanceWidth:w,path:(p=>{ + p.moveTo(275,-15).curveTo(145,-15,55,120,55,255).curveTo(55,410,145,506,275,506).curveTo(410,506,495,405,495,245).curveTo(495,80,410,-15,275,-15).close() + .moveTo(275,60).curveTo(365,60,415,120,415,245).curveTo(415,370,365,435,275,435).curveTo(185,435,135,370,135,245).curveTo(135,120,185,60,275,60).close(); return p; +})(new o.Path())});