mirror of
https://github.com/multipleof4/stain.otf.git
synced 2026-01-14 16:47:57 +00:00
Refactor B/b: Refined bowls and stems
This commit is contained in:
@@ -1,65 +1,14 @@
|
|||||||
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 glyphB=(o,w)=>mk(o,"B",66,p=>{
|
||||||
name,
|
p.moveTo(80,0);p.lineTo(80,700);p.lineTo(340,700);p.curveTo(520,700,520,380,340,380);
|
||||||
unicode,
|
p.lineTo(160,380);p.lineTo(160,320);p.lineTo(360,320);p.curveTo(560,320,560,0,360,0);p.close();
|
||||||
advanceWidth:adv,
|
p.moveTo(160,440);p.lineTo(340,440);p.curveTo(440,440,440,640,340,640);p.lineTo(160,640);p.close();
|
||||||
path:cmds(new opentype.Path())
|
p.moveTo(160,60);p.lineTo(360,60);p.curveTo(480,60,480,260,360,260);p.lineTo(160,260);p.close();
|
||||||
});
|
return p;
|
||||||
|
},w);
|
||||||
export const glyphB=(opentype,adv)=>
|
export const glyphb=(o,w)=>mk(o,"b",98,p=>{
|
||||||
makeGlyph(
|
p.moveTo(80,0);p.lineTo(80,710);p.lineTo(160,710);p.lineTo(160,480);
|
||||||
opentype,
|
p.lineTo(320,480);p.curveTo(540,480,540,0,320,0);p.close();
|
||||||
"B",
|
p.moveTo(160,60);p.lineTo(320,60);p.curveTo(460,60,460,420,320,420);p.lineTo(160,420);p.close();
|
||||||
"B".codePointAt(0),
|
return p;
|
||||||
p=>{
|
},w);
|
||||||
p.moveTo(100,0);
|
|
||||||
p.lineTo(100,700);
|
|
||||||
p.lineTo(320,700);
|
|
||||||
p.curveTo(440,700,520,640,520,550);
|
|
||||||
p.curveTo(520,490,480,440,420,410);
|
|
||||||
p.curveTo(490,380,530,320,530,250);
|
|
||||||
p.curveTo(530,140,450,0,300,0);
|
|
||||||
p.close();
|
|
||||||
p.moveTo(160,60);
|
|
||||||
p.lineTo(300,60);
|
|
||||||
p.curveTo(410,60,470,130,470,250);
|
|
||||||
p.curveTo(470,370,410,370,300,370);
|
|
||||||
p.lineTo(160,370);
|
|
||||||
p.close();
|
|
||||||
p.moveTo(160,430);
|
|
||||||
p.lineTo(320,430);
|
|
||||||
p.curveTo(410,430,460,480,460,550);
|
|
||||||
p.curveTo(460,620,410,640,320,640);
|
|
||||||
p.lineTo(160,640);
|
|
||||||
p.close();
|
|
||||||
return p;
|
|
||||||
},
|
|
||||||
adv
|
|
||||||
);
|
|
||||||
|
|
||||||
export const glyphb=(opentype,adv)=>
|
|
||||||
makeGlyph(
|
|
||||||
opentype,
|
|
||||||
"b",
|
|
||||||
"b".codePointAt(0),
|
|
||||||
p=>{
|
|
||||||
p.moveTo(100,0);
|
|
||||||
p.lineTo(100,720);
|
|
||||||
p.lineTo(160,720);
|
|
||||||
p.lineTo(160,440);
|
|
||||||
p.curveTo(200,470,250,490,310,490);
|
|
||||||
p.curveTo(430,490,520,400,520,280);
|
|
||||||
p.curveTo(520,160,430,70,310,70);
|
|
||||||
p.curveTo(250,70,200,90,160,120);
|
|
||||||
p.lineTo(160,0);
|
|
||||||
p.close();
|
|
||||||
p.moveTo(310,130);
|
|
||||||
p.curveTo(400,130,460,190,460,280);
|
|
||||||
p.curveTo(460,370,400,430,310,430);
|
|
||||||
p.curveTo(220,430,160,370,160,280);
|
|
||||||
p.curveTo(160,190,220,130,310,130);
|
|
||||||
p.close();
|
|
||||||
return p;
|
|
||||||
},
|
|
||||||
adv
|
|
||||||
);
|
|
||||||
|
|||||||
Reference in New Issue
Block a user