From 8af2257f7508bec35f07a9a84b7fab23b87cbeea Mon Sep 17 00:00:00 2001 From: multipleof4 Date: Wed, 19 Nov 2025 08:07:00 -0800 Subject: [PATCH] Refactor T/t: Aligned bars --- src/glyphs/T.js | 69 ++++++++++--------------------------------------- 1 file changed, 13 insertions(+), 56 deletions(-) diff --git a/src/glyphs/T.js b/src/glyphs/T.js index 7f0a478..7310a84 100644 --- a/src/glyphs/T.js +++ b/src/glyphs/T.js @@ -1,56 +1,13 @@ -const makeGlyph = (opentype, name, unicode, cmds, adv) => - new opentype.Glyph({ - name, - unicode, - advanceWidth: adv, - path: cmds(new opentype.Path()) - }); - -export const glyphT = (opentype, adv) => - makeGlyph( - opentype, - "T", - "T".codePointAt(0), - (p) => { - p.moveTo(40, 640); - p.lineTo(40, 700); - p.lineTo(560, 700); - p.lineTo(560, 640); - p.lineTo(330, 640); - p.lineTo(330, 0); - p.lineTo(270, 0); - p.lineTo(270, 640); - p.close(); - return p; - }, - adv - ); - -export const glypht = (opentype, adv) => - makeGlyph( - opentype, - "t", - "t".codePointAt(0), - (p) => { - p.moveTo(180, 0); - p.lineTo(180, 420); - p.lineTo(80, 420); - p.lineTo(80, 480); - p.lineTo(180, 480); - p.lineTo(180, 620); - p.lineTo(240, 620); - p.lineTo(240, 480); - p.lineTo(380, 480); - p.lineTo(380, 420); - p.lineTo(240, 420); - p.lineTo(240, 80); - p.curveTo(240, 30, 270, 0, 320, 0); - p.curveTo(350, 0, 370, 10, 390, 20); - p.lineTo(410, -30); - p.curveTo(380, -50, 350, -60, 310, -60); - p.curveTo(230, -60, 180, -10, 180, 80); - p.close(); - return p; - }, - adv - ); +const mk=(o,n,u,d,w)=>new o.Glyph({name:n,unicode:u,advanceWidth:w,path:d(new o.Path())}); +export const glyphT=(o,w)=>mk(o,"T",84,p=>{ + p.moveTo(40,620);p.lineTo(40,700);p.lineTo(560,700);p.lineTo(560,620);p.lineTo(340,620); + p.lineTo(340,0);p.lineTo(260,0);p.lineTo(260,620);p.close(); + return p; +},w); +export const glypht=(o,w)=>mk(o,"t",116,p=>{ + p.moveTo(240,0);p.lineTo(240,420);p.lineTo(160,420);p.lineTo(160,480);p.lineTo(240,480); + p.lineTo(240,640);p.lineTo(320,640);p.lineTo(320,480);p.lineTo(420,480);p.lineTo(420,420); + p.lineTo(320,420);p.lineTo(320,80);p.curveTo(320,20,420,20,420,20);p.lineTo(420,-60); + p.curveTo(240,-60,240,80,240,80);p.close(); + return p; +},w);