mirror of
https://github.com/multipleof4/stain.otf.git
synced 2026-01-13 16:17:55 +00:00
Refactor J/j: Clean hooks
This commit is contained in:
@@ -1,54 +1,12 @@
|
||||
const makeGlyph = (opentype, name, unicode, cmds, adv) =>
|
||||
new opentype.Glyph({
|
||||
name,
|
||||
unicode,
|
||||
advanceWidth: adv,
|
||||
path: cmds(new opentype.Path())
|
||||
});
|
||||
|
||||
export const glyphJ = (opentype, adv) =>
|
||||
makeGlyph(
|
||||
opentype,
|
||||
"J",
|
||||
"J".codePointAt(0),
|
||||
(p) => {
|
||||
p.moveTo(240, -10);
|
||||
p.curveTo(130, -10, 60, 50, 60, 160);
|
||||
p.lineTo(120, 160);
|
||||
p.curveTo(120, 80, 170, 50, 240, 50);
|
||||
p.curveTo(310, 50, 360, 80, 360, 160);
|
||||
p.lineTo(360, 700);
|
||||
p.lineTo(420, 700);
|
||||
p.lineTo(420, 160);
|
||||
p.curveTo(420, 50, 350, -10, 240, -10);
|
||||
p.close();
|
||||
return p;
|
||||
},
|
||||
adv
|
||||
);
|
||||
|
||||
export const glyphj = (opentype, adv) =>
|
||||
makeGlyph(
|
||||
opentype,
|
||||
"j",
|
||||
"j".codePointAt(0),
|
||||
(p) => {
|
||||
p.moveTo(210, -150);
|
||||
p.curveTo(130, -150, 80, -110, 60, -40);
|
||||
p.lineTo(110, -10);
|
||||
p.curveTo(130, -60, 160, -90, 210, -90);
|
||||
p.curveTo(260, -90, 290, -60, 290, 0);
|
||||
p.lineTo(290, 480);
|
||||
p.lineTo(350, 480);
|
||||
p.lineTo(350, 0);
|
||||
p.curveTo(350, -90, 300, -150, 210, -150);
|
||||
p.close();
|
||||
p.moveTo(290, 580);
|
||||
p.lineTo(290, 660);
|
||||
p.lineTo(350, 660);
|
||||
p.lineTo(350, 580);
|
||||
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 glyphJ=(o,w)=>mk(o,"J",74,p=>{
|
||||
p.moveTo(440,700);p.lineTo(520,700);p.lineTo(520,200);p.curveTo(520,-10,200,-10,200,100);
|
||||
p.lineTo(280,100);p.curveTo(280,60,440,60,440,200);p.close();
|
||||
return p;
|
||||
},w);
|
||||
export const glyphj=(o,w)=>mk(o,"j",106,p=>{
|
||||
p.moveTo(360,480);p.lineTo(440,480);p.lineTo(440,-100);p.curveTo(440,-200,200,-200,200,-100);
|
||||
p.lineTo(280,-100);p.curveTo(280,-140,360,-140,360,-100);p.close();
|
||||
p.moveTo(360,600);p.lineTo(360,680);p.lineTo(440,680);p.lineTo(440,600);p.close();
|
||||
return p;
|
||||
},w);
|
||||
|
||||
Reference in New Issue
Block a user