mirror of
https://github.com/multipleof4/stain.otf.git
synced 2026-01-14 08:37:59 +00:00
Refactor Z/z: Sharp corners
This commit is contained in:
@@ -1,51 +1,11 @@
|
||||
const makeGlyph = (opentype, name, unicode, cmds, adv) =>
|
||||
new opentype.Glyph({
|
||||
name,
|
||||
unicode,
|
||||
advanceWidth: adv,
|
||||
path: cmds(new opentype.Path())
|
||||
});
|
||||
|
||||
export const glyphZ = (opentype, adv) =>
|
||||
makeGlyph(
|
||||
opentype,
|
||||
"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();
|
||||
const mk=(o,n,u,d,w)=>new o.Glyph({name:n,unicode:u,advanceWidth:w,path:d(new o.Path())});
|
||||
export const glyphZ=(o,w)=>mk(o,"Z",90,p=>{
|
||||
p.moveTo(80,700);p.lineTo(520,700);p.lineTo(520,620);p.lineTo(180,620);p.lineTo(520,80);
|
||||
p.lineTo(520,0);p.lineTo(80,0);p.lineTo(80,80);p.lineTo(420,80);p.lineTo(80,620);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();
|
||||
},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);
|
||||
p.lineTo(520,0);p.lineTo(80,0);p.lineTo(80,80);p.lineTo(420,80);p.lineTo(80,400);p.close();
|
||||
return p;
|
||||
},
|
||||
adv
|
||||
);
|
||||
},w);
|
||||
|
||||
Reference in New Issue
Block a user