Refactor W/w: Double V construction

This commit is contained in:
2025-11-19 08:07:09 -08:00
parent 1c1a92ec21
commit 8ee06a0f29

View File

@@ -1,58 +1,13 @@
const makeGlyph = (opentype, name, unicode, cmds, adv) => const mk=(o,n,u,d,w)=>new o.Glyph({name:n,unicode:u,advanceWidth:w,path:d(new o.Path())});
new opentype.Glyph({ export const glyphW=(o,w)=>mk(o,"W",87,p=>{
name, p.moveTo(20,700);p.lineTo(110,700);p.lineTo(220,200);p.lineTo(330,700);p.lineTo(430,700);
unicode, p.lineTo(540,200);p.lineTo(650,700);p.lineTo(740,700);p.lineTo(580,0);p.lineTo(490,0);
advanceWidth: adv, p.lineTo(380,400);p.lineTo(270,0);p.lineTo(180,0);p.close();
path: cmds(new opentype.Path())
});
export const glyphW = (opentype, adv) =>
makeGlyph(
opentype,
"W",
"W".codePointAt(0),
(p) => {
p.moveTo(40, 700);
p.lineTo(110, 700);
p.lineTo(230, 140);
p.lineTo(350, 700);
p.lineTo(410, 700);
p.lineTo(530, 140);
p.lineTo(650, 700);
p.lineTo(720, 700);
p.lineTo(570, 0);
p.lineTo(510, 0);
p.lineTo(380, 600);
p.lineTo(250, 0);
p.lineTo(190, 0);
p.close();
return p; return p;
}, },760);
760 export const glyphw=(o,w)=>mk(o,"w",119,p=>{
); p.moveTo(20,480);p.lineTo(100,480);p.lineTo(190,140);p.lineTo(280,480);p.lineTo(380,480);
p.lineTo(470,140);p.lineTo(560,480);p.lineTo(640,480);p.lineTo(510,0);p.lineTo(430,0);
export const glyphw = (opentype, adv) => p.lineTo(330,300);p.lineTo(230,0);p.lineTo(150,0);p.close();
makeGlyph(
opentype,
"w",
"w".codePointAt(0),
(p) => {
p.moveTo(50, 480);
p.lineTo(120, 480);
p.lineTo(210, 100);
p.lineTo(300, 480);
p.lineTo(360, 480);
p.lineTo(450, 100);
p.lineTo(540, 480);
p.lineTo(610, 480);
p.lineTo(490, 0);
p.lineTo(430, 0);
p.lineTo(330, 400);
p.lineTo(230, 0);
p.lineTo(170, 0);
p.close();
return p; return p;
}, },660);
660
);