Revert: Update B.js

This commit is contained in:
2025-11-09 12:29:06 -08:00
parent aa810e7b36
commit 7c8917fbd8

View File

@@ -1,62 +1,87 @@
const makeGlyph=(opentype,name,unicode,cmds,adv)=> const makeGlyph = (opentype, name, unicode, cmds, adv) =>
new opentype.Glyph({name,unicode,advanceWidth:adv,path:cmds(new opentype.Path())}); new opentype.Glyph({
name,
unicode,
advanceWidth: adv,
path: cmds(new opentype.Path())
});
export const glyphB=(opentype,adv)=> export const glyphB = (opentype, adv) =>
makeGlyph( makeGlyph(
opentype, opentype,
"B", "B",
"B".codePointAt(0), "B".codePointAt(0),
p=>{ (p) => {
const x0=120,stem=60,top=700,midY=360; p.moveTo(100, 0);
p.moveTo(x0,0); p.lineTo(100, 700);
p.lineTo(x0,top); p.lineTo(340, 700);
p.lineTo(340,top); p.curveTo(450, 700, 520, 640, 520, 560);
p.curveTo(470,top,560,640,560,540); p.curveTo(520, 500, 480, 450, 420, 430);
p.curveTo(560,450,500,400,420,390); p.curveTo(490, 410, 540, 360, 540, 280);
p.curveTo(510,370,580,310,580,220); p.curveTo(540, 180, 460, 120, 340, 120);
p.curveTo(580,100,490,0,350,0); p.lineTo(100, 120);
p.close(); p.close();
p.moveTo(180,60); p.moveTo(160, 60);
p.lineTo(340,60); p.lineTo(340, 60);
p.curveTo(450,60,520,120,520,210); p.curveTo(490, 60, 600, 140, 600, 280);
p.curveTo(520,300,450,340,350,340); p.curveTo(600, 390, 520, 460, 420, 470);
p.lineTo(180,340); p.lineTo(420, 410);
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(180,400); p.moveTo(160, 60);
p.lineTo(340,400); p.lineTo(340, 60);
p.curveTo(440,400,500,440,500,520); p.curveTo(430, 60, 480, 110, 480, 180);
p.curveTo(500,600,440,640,340,640); p.lineTo(480, 280);
p.lineTo(180,640); p.curveTo(480, 350, 430, 400, 340, 400);
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;
}, },
adv adv
); );
export const glyphb=(opentype,adv)=> export const glyphb = (opentype, adv) =>
makeGlyph( makeGlyph(
opentype, opentype,
"b", "b",
"b".codePointAt(0), "b".codePointAt(0),
p=>{ (p) => {
const cx=310; p.moveTo(100, 0);
p.moveTo(140,0); p.lineTo(100, 720);
p.lineTo(80,0); p.lineTo(160, 720);
p.lineTo(80,720); p.lineTo(160, 440);
p.lineTo(140,720); p.curveTo(200, 470, 250, 490, 310, 490);
p.lineTo(140,340); p.curveTo(430, 490, 520, 400, 520, 280);
p.curveTo(180,390,230,420,300,420); p.curveTo(520, 160, 430, 70, 310, 70);
p.curveTo(410,420,500,330,500,210); p.curveTo(250, 70, 200, 90, 160, 120);
p.curveTo(500,90,410,0,300,0); p.lineTo(160, 0);
p.curveTo(230,0,180,30,140,80);
p.close(); p.close();
p.moveTo(300,60); p.moveTo(310, 130);
p.curveTo(380,60,440,120,440,210); p.curveTo(400, 130, 460, 190, 460, 280);
p.curveTo(440,300,380,360,300,360); p.curveTo(460, 370, 400, 430, 310, 430);
p.curveTo(220,360,140,300,140,210); p.curveTo(220, 430, 160, 370, 160, 280);
p.curveTo(140,120,220,60,300,60); p.curveTo(160, 190, 220, 130, 310, 130);
p.close(); p.close();
return p; return p;
}, },
adv adv
); );