Refactor Z/z: Sharp corners

This commit is contained in:
2025-11-19 08:07:17 -08:00
parent 04bd19596c
commit 6b60d85d18

View File

@@ -1,51 +1,11 @@
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 glyphZ=(o,w)=>mk(o,"Z",90,p=>{
name, p.moveTo(80,700);p.lineTo(520,700);p.lineTo(520,620);p.lineTo(180,620);p.lineTo(520,80);
unicode, p.lineTo(520,0);p.lineTo(80,0);p.lineTo(80,80);p.lineTo(420,80);p.lineTo(80,620);p.close();
advanceWidth: adv, return p;
path: cmds(new opentype.Path()) },w);
}); export const glyphz=(o,w)=>mk(o,"z",122,p=>{
p.moveTo(80,480);p.lineTo(520,480);p.lineTo(520,400);p.lineTo(180,400);p.lineTo(520,80);
export const glyphZ = (opentype, adv) => p.lineTo(520,0);p.lineTo(80,0);p.lineTo(80,80);p.lineTo(420,80);p.lineTo(80,400);p.close();
makeGlyph( return p;
opentype, },w);
"Z",
"Z".codePointAt(0),
(p) => {
p.moveTo(80, 0);
p.lineTo(80, 60);
p.lineTo(440, 640);
p.lineTo(90, 640);
p.lineTo(90, 700);
p.lineTo(520, 700);
p.lineTo(520, 640);
p.lineTo(160, 60);
p.lineTo(520, 60);
p.lineTo(520, 0);
p.close();
return p;
},
adv
);
export const glyphz = (opentype, adv) =>
makeGlyph(
opentype,
"z",
"z".codePointAt(0),
(p) => {
p.moveTo(80, 0);
p.lineTo(80, 50);
p.lineTo(380, 430);
p.lineTo(90, 430);
p.lineTo(90, 480);
p.lineTo(460, 480);
p.lineTo(460, 430);
p.lineTo(160, 50);
p.lineTo(460, 50);
p.lineTo(460, 0);
p.close();
return p;
},
adv
);