mirror of
https://github.com/multipleof4/stain.otf.git
synced 2026-01-14 00:27:55 +00:00
Refactor D/d: Geometric bowls and stems
This commit is contained in:
@@ -1,60 +1,12 @@
|
|||||||
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 glyphD=(o,w)=>mk(o,"D",68,p=>{
|
||||||
name,
|
p.moveTo(80,0);p.lineTo(80,700);p.lineTo(300,700);p.curveTo(560,700,560,0,300,0);p.close();
|
||||||
unicode,
|
p.moveTo(160,60);p.lineTo(300,60);p.curveTo(480,60,480,640,300,640);p.lineTo(160,640);p.close();
|
||||||
advanceWidth:adv,
|
return p;
|
||||||
path:cmds(new opentype.Path())
|
},w);
|
||||||
});
|
export const glyphd=(o,w)=>mk(o,"d",100,p=>{
|
||||||
|
p.moveTo(440,0);p.lineTo(440,710);p.lineTo(520,710);p.lineTo(520,0);p.close();
|
||||||
export const glyphD=(opentype,adv)=>
|
p.moveTo(440,240);p.curveTo(440,480,80,480,80,240);p.curveTo(80,0,440,0,440,240);p.close();
|
||||||
makeGlyph(
|
p.moveTo(440,360);p.curveTo(440,420,160,420,160,240);p.curveTo(160,60,440,60,440,120);p.close();
|
||||||
opentype,
|
return p;
|
||||||
"D",
|
},w);
|
||||||
"D".codePointAt(0),
|
|
||||||
p=>{
|
|
||||||
p.moveTo(100,0);
|
|
||||||
p.lineTo(100,700);
|
|
||||||
p.lineTo(320,700);
|
|
||||||
p.curveTo(480,700,580,590,580,420);
|
|
||||||
p.lineTo(580,280);
|
|
||||||
p.curveTo(580,110,480,0,320,0);
|
|
||||||
p.close();
|
|
||||||
p.moveTo(160,60);
|
|
||||||
p.lineTo(320,60);
|
|
||||||
p.curveTo(450,60,520,140,520,280);
|
|
||||||
p.lineTo(520,420);
|
|
||||||
p.curveTo(520,560,450,640,320,640);
|
|
||||||
p.lineTo(160,640);
|
|
||||||
p.close();
|
|
||||||
return p;
|
|
||||||
},
|
|
||||||
adv
|
|
||||||
);
|
|
||||||
|
|
||||||
export const glyphd=(opentype,adv)=>
|
|
||||||
makeGlyph(
|
|
||||||
opentype,
|
|
||||||
"d",
|
|
||||||
"d".codePointAt(0),
|
|
||||||
p=>{
|
|
||||||
p.moveTo(310,-10);
|
|
||||||
p.curveTo(190,-10,100,80,100,240);
|
|
||||||
p.curveTo(100,400,190,490,310,490);
|
|
||||||
p.curveTo(360,490,400,470,430,440);
|
|
||||||
p.lineTo(430,720);
|
|
||||||
p.lineTo(490,720);
|
|
||||||
p.lineTo(490,0);
|
|
||||||
p.lineTo(430,0);
|
|
||||||
p.lineTo(430,40);
|
|
||||||
p.curveTo(400,10,360,-10,310,-10);
|
|
||||||
p.close();
|
|
||||||
p.moveTo(310,50);
|
|
||||||
p.curveTo(400,50,460,110,460,240);
|
|
||||||
p.curveTo(460,370,400,430,310,430);
|
|
||||||
p.curveTo(220,430,160,370,160,240);
|
|
||||||
p.curveTo(160,110,220,50,310,50);
|
|
||||||
p.close();
|
|
||||||
return p;
|
|
||||||
},
|
|
||||||
adv
|
|
||||||
);
|
|
||||||
|
|||||||
Reference in New Issue
Block a user