From 75d71a32430696480d2f076d1c9f1af615aa6d63 Mon Sep 17 00:00:00 2001 From: multipleof4 Date: Sun, 9 Nov 2025 09:10:34 -0800 Subject: [PATCH] Refactor: Professional Candara-inspired C/c --- src/glyphs/C.js | 48 +++++++++++++++++++++++++----------------------- 1 file changed, 25 insertions(+), 23 deletions(-) diff --git a/src/glyphs/C.js b/src/glyphs/C.js index a0e1a55..1c241a5 100644 --- a/src/glyphs/C.js +++ b/src/glyphs/C.js @@ -3,9 +3,7 @@ const makeGlyph = (opentype, name, unicode, cmds, adv) => name, unicode, advanceWidth: adv, - path: cmds( - new opentype.Path() - ) + path: cmds(new opentype.Path()) }); export const glyphC = (opentype, adv) => @@ -14,16 +12,19 @@ export const glyphC = (opentype, adv) => "C", "C".codePointAt(0), (p) => { - p.moveTo(520, 620); - p.curveTo(470, 700, 400, 740, 310, 740); - p.curveTo(180, 740, 90, 640, 90, 400); - p.curveTo(90, 160, 180, 60, 310, 60); - p.curveTo(400, 60, 470, 100, 520, 180); - p.lineTo(450, 220); - p.curveTo(420, 170, 380, 140, 320, 140); - p.curveTo(230, 140, 170, 210, 170, 400); - p.curveTo(170, 590, 230, 660, 320, 660); - p.curveTo(380, 660, 420, 630, 450, 580); + p.moveTo(350, -10); + p.curveTo(190, -10, 80, 100, 80, 280); + p.lineTo(80, 420); + p.curveTo(80, 600, 190, 710, 350, 710); + p.curveTo(460, 710, 540, 660, 580, 570); + p.lineTo(520, 540); + p.curveTo(490, 610, 430, 650, 350, 650); + p.curveTo(220, 650, 140, 570, 140, 420); + p.lineTo(140, 280); + p.curveTo(140, 130, 220, 50, 350, 50); + p.curveTo(430, 50, 490, 90, 520, 160); + p.lineTo(580, 130); + p.curveTo(540, 40, 460, -10, 350, -10); p.close(); return p; }, @@ -36,16 +37,17 @@ export const glyphc = (opentype, adv) => "c", "c".codePointAt(0), (p) => { - p.moveTo(480, 420); - p.curveTo(450, 500, 390, 540, 310, 540); - p.curveTo(200, 540, 120, 450, 120, 320); - p.curveTo(120, 190, 200, 100, 310, 100); - p.curveTo(390, 100, 450, 140, 480, 220); - p.lineTo(410, 250); - p.curveTo(390, 200, 350, 180, 310, 180); - p.curveTo(240, 180, 190, 230, 190, 320); - p.curveTo(190, 410, 240, 460, 310, 460); - p.curveTo(350, 460, 390, 440, 410, 390); + p.moveTo(330, -10); + p.curveTo(200, -10, 110, 80, 110, 240); + p.curveTo(110, 400, 200, 490, 330, 490); + p.curveTo(410, 490, 470, 460, 510, 400); + p.lineTo(460, 360); + p.curveTo(430, 410, 390, 430, 330, 430); + p.curveTo(230, 430, 170, 370, 170, 240); + p.curveTo(170, 110, 230, 50, 330, 50); + p.curveTo(390, 50, 430, 70, 460, 120); + p.lineTo(510, 80); + p.curveTo(470, 20, 410, -10, 330, -10); p.close(); return p; },