mirror of
https://github.com/multipleof4/stain.otf.git
synced 2026-01-14 00:27:55 +00:00
Fix b: unified path geometry to match d style
This commit is contained in:
@@ -6,12 +6,16 @@ export const glyphB=(o,w)=>new o.Glyph({name:"B",unicode:66,advanceWidth:w,path:
|
|||||||
})(new o.Path())});
|
})(new o.Path())});
|
||||||
|
|
||||||
export const glyphb=(o,w)=>new o.Glyph({name:"b",unicode:98,advanceWidth:w,path:(p=>{
|
export const glyphb=(o,w)=>new o.Glyph({name:"b",unicode:98,advanceWidth:w,path:(p=>{
|
||||||
// Match d stem style: straight ascender
|
// Unified Outer Path (CCW-ish) to match 'd' reflection logic
|
||||||
p.moveTo(95,720).lineTo(175,720).lineTo(175,400).lineTo(175,0).lineTo(95,0).close()
|
// Stem: Left ~90-160. Bowl flows from 160.
|
||||||
// Bowl
|
p.moveTo(90,720).lineTo(160,720).lineTo(160,360)
|
||||||
.moveTo(175,55).lineTo(175,350).curveTo(175,480,270,520,345,520).curveTo(475,520,535,395,535,260)
|
.curveTo(160,460,205,525,330,525).curveTo(465,525,530,410,530,260) // Right heavy bowl
|
||||||
.curveTo(535,95,445,-15,335,-15).curveTo(250,-15,195,10,175,55).close()
|
.curveTo(530,100,455,-15,325,-15).curveTo(245,-15,190,20,160,70)
|
||||||
// Hole (CW)
|
.lineTo(160,0).lineTo(90,0).close()
|
||||||
.moveTo(345,440).curveTo(305,440,255,415,255,265).curveTo(255,115,305,65,345,65)
|
// Inner Hole (Opposite Winding)
|
||||||
.curveTo(415,65,455,130,455,250).curveTo(455,375,415,440,345,440).close(); return p;
|
.moveTo(160,260).curveTo(160,155,210,60,300,60)
|
||||||
|
.curveTo(380,60,445,140,445,260).curveTo(445,370,400,450,310,450)
|
||||||
|
.curveTo(225,450,160,380,160,260).close();
|
||||||
|
return p;
|
||||||
})(new o.Path())});
|
})(new o.Path())});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user