Refactor K/k: Diagonal legs

This commit is contained in:
2025-11-19 08:06:39 -08:00
parent 8e11fe94c2
commit 4ea51331cb

View File

@@ -1,53 +1,13 @@
const makeGlyph = (opentype, name, unicode, cmds, adv) =>
new opentype.Glyph({
name,
unicode,
advanceWidth: adv,
path: cmds(new opentype.Path())
});
export const glyphK = (opentype, adv) =>
makeGlyph(
opentype,
"K",
"K".codePointAt(0),
(p) => {
p.moveTo(100, 0);
p.lineTo(100, 700);
p.lineTo(160, 700);
p.lineTo(160, 380);
p.lineTo(420, 700);
p.lineTo(500, 700);
p.lineTo(220, 350);
p.lineTo(520, 0);
p.lineTo(440, 0);
p.lineTo(160, 320);
p.lineTo(160, 0);
p.close();
return p;
},
adv
);
export const glyphk = (opentype, adv) =>
makeGlyph(
opentype,
"k",
"k".codePointAt(0),
(p) => {
p.moveTo(100, 0);
p.lineTo(100, 720);
p.lineTo(160, 720);
p.lineTo(160, 300);
p.lineTo(380, 480);
p.lineTo(460, 480);
p.lineTo(220, 280);
p.lineTo(480, 0);
p.lineTo(400, 0);
p.lineTo(160, 260);
p.lineTo(160, 0);
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 glyphK=(o,w)=>mk(o,"K",75,p=>{
p.moveTo(80,0);p.lineTo(80,700);p.lineTo(160,700);p.lineTo(160,400);p.lineTo(420,700);
p.lineTo(520,700);p.lineTo(260,400);p.lineTo(540,0);p.lineTo(440,0);p.lineTo(160,300);
p.lineTo(160,0);p.close();
return p;
},w);
export const glyphk=(o,w)=>mk(o,"k",107,p=>{
p.moveTo(80,0);p.lineTo(80,710);p.lineTo(160,710);p.lineTo(160,300);p.lineTo(380,480);
p.lineTo(480,480);p.lineTo(260,300);p.lineTo(500,0);p.lineTo(400,0);p.lineTo(160,200);
p.lineTo(160,0);p.close();
return p;
},w);