Refactor: Redraw uppercase B glyph

This commit is contained in:
2025-11-09 12:36:41 -08:00
parent 8e617dd9c3
commit 2c09fd51e2

View File

@@ -11,47 +11,28 @@ export const glyphB = (opentype, adv) =>
opentype, opentype,
"B", "B",
"B".codePointAt(0), "B".codePointAt(0),
(p) => { p=>{
p.moveTo(100, 0); const s=90;
p.lineTo(100, 700); const x0=110,x1=x0+s;
p.lineTo(340, 700); const top=700,mid=360,bot=0;
p.curveTo(450, 700, 520, 640, 520, 560); const ix=320;
p.curveTo(520, 500, 480, 450, 420, 430); const oTop=560,oMid=520,oBot=bot;
p.curveTo(490, 410, 540, 360, 540, 280); p.moveTo(x0,bot);
p.curveTo(540, 180, 460, 120, 340, 120); p.lineTo(x0,top);
p.lineTo(100, 120); p.lineTo(x1,top);
p.lineTo(x1,bot);
p.close(); p.close();
p.moveTo(160, 60); p.moveTo(ix,top);
p.lineTo(340, 60); p.curveTo(oTop,top,oTop-10,top-70,oTop-40,top-120);
p.curveTo(490, 60, 600, 140, 600, 280); p.curveTo(oTop-70,top-180,ix+40,mid+80,ix,mid+80);
p.curveTo(600, 390, 520, 460, 420, 470); p.lineTo(x1,mid+80);
p.lineTo(420, 410); p.lineTo(x1,top- s/2);
p.curveTo(460, 410, 460, 360, 460, 360);
p.curveTo(460, 360, 460, 310, 420, 310);
p.lineTo(340, 310);
p.lineTo(340, 370);
p.lineTo(380, 370);
p.curveTo(440, 370, 460, 410, 460, 460);
p.curveTo(460, 510, 440, 550, 380, 550);
p.lineTo(340, 550);
p.lineTo(340, 640);
p.lineTo(340, 640);
p.curveTo(420, 640, 460, 600, 460, 560);
p.curveTo(460, 520, 420, 480, 340, 480);
p.lineTo(160, 480);
p.close(); p.close();
p.moveTo(160, 60); p.moveTo(ix,mid);
p.lineTo(340, 60); p.curveTo(oMid,mid,oMid+40,mid-80,oMid+40,mid-150);
p.curveTo(430, 60, 480, 110, 480, 180); p.curveTo(oMid+40,200,oMid-40,120,ix,120);
p.lineTo(480, 280); p.lineTo(x1,120);
p.curveTo(480, 350, 430, 400, 340, 400); p.lineTo(x1,mid);
p.lineTo(160, 400);
p.close();
p.moveTo(160, 460);
p.lineTo(330, 460);
p.curveTo(410, 460, 460, 500, 460, 560);
p.curveTo(460, 620, 410, 640, 330, 640);
p.lineTo(160, 640);
p.close(); p.close();
return p; return p;
}, },
@@ -63,7 +44,7 @@ export const glyphb = (opentype, adv) =>
opentype, opentype,
"b", "b",
"b".codePointAt(0), "b".codePointAt(0),
(p) => { p=>{
p.moveTo(100,0); p.moveTo(100,0);
p.lineTo(100,720); p.lineTo(100,720);
p.lineTo(160,720); p.lineTo(160,720);
@@ -84,4 +65,3 @@ export const glyphb = (opentype, adv) =>
}, },
adv adv
); );