From c24f81b5f0993baefef34e38031dea7fe6c2c1f4 Mon Sep 17 00:00:00 2001 From: multipleof4 Date: Sun, 9 Nov 2025 12:45:02 -0800 Subject: [PATCH] Refactor: redraw lowercase q inspired by Candara --- src/glyphs/Q.js | 39 +++++++++++++++++++-------------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/src/glyphs/Q.js b/src/glyphs/Q.js index 9c3a510..290b52d 100644 --- a/src/glyphs/Q.js +++ b/src/glyphs/Q.js @@ -45,28 +45,27 @@ export const glyphq=(opentype,adv)=> "q", "q".codePointAt(0), p=>{ - const cx=290,cy=245; - const rO=175,rI=115; - p.moveTo(cx+rO,cy); - p.curveTo(cx+rO,cy+96,cx+96,cy+rO,cx,cy+rO); - p.curveTo(cx-96,cy+rO,cx-rO,cy+96,cx-rO,cy); - p.curveTo(cx-rO,cy-96,cx-96,cy-rO,cx,cy-rO); - p.curveTo(cx+96,cy-rO,cx+rO,cy-96,cx+rO,cy); + p.moveTo(310,-10); + p.curveTo(250,-10,200,10,160,40); + p.lineTo(160,0); + p.lineTo(100,0); + p.lineTo(100,480); + p.lineTo(160,480); + p.lineTo(160,440); + p.curveTo(200,470,250,490,310,490); + p.curveTo(430,490,520,400,520,240); + p.curveTo(520,80,430,-10,310,-10); p.close(); - p.moveTo(cx+rI,cy); - p.curveTo(cx+rI,cy+64,cx+64,cy+rI,cx,cy+rI); - p.curveTo(cx-64,cy+rI,cx-rI,cy+64,cx-rI,cy); - p.curveTo(cx-rI,cy-64,cx-64,cy-rI,cx,cy-rI); - p.curveTo(cx+64,cy-rI,cx+rI,cy-64,cx+rI,cy); + p.moveTo(310,50); + p.curveTo(400,50,460,110,460,240); + p.curveTo(460,370,400,430,310,430); + p.curveTo(220,430,160,370,160,240); + p.curveTo(160,110,220,50,310,50); p.close(); - p.moveTo(450,-150); - p.lineTo(510,-150); - p.lineTo(510,280); - p.curveTo(510,400,430,490,310,490); - p.curveTo(250,490,200,470,160,440); - p.lineTo(160,380); - p.curveTo(200,410,250,430,310,430); - p.curveTo(400,430,450,370,450,280); + p.moveTo(460,-150); + p.lineTo(460,0); + p.lineTo(520,0); + p.lineTo(520,-150); p.close(); return p; },