diff --git a/changes/29.0.3.md b/changes/29.0.3.md index b98b8ce05..da82a2143 100644 --- a/changes/29.0.3.md +++ b/changes/29.0.3.md @@ -6,3 +6,4 @@ * Make the behavior of serifs of `U+027F` automatic. * Fix side bearings of `U+29E2` under Quasi-Proportional. * Fix width of PUNCTUATION SPACE (`U+2008`) under Quasi-Proportional. +* Fix `percent`=`dots` glyphs for PER {MILLE|TEN THOUSAND} SIGN (`U+2030`..`U+2031`) under Quasi-Proportional when `NWID` is enabled. diff --git a/packages/font-glyphs/src/symbol/punctuation/percentages.ptl b/packages/font-glyphs/src/symbol/punctuation/percentages.ptl index bed4978f2..50ea04951 100644 --- a/packages/font-glyphs/src/symbol/punctuation/percentages.ptl +++ b/packages/font-glyphs/src/symbol/punctuation/percentages.ptl @@ -38,21 +38,22 @@ glyph-block Symbol-Punctuation-Percentages : begin create-glyph 'permille.NWID.dots' : glyph-proc define df : include : DivFrame para.diversityM + define slopeDf : DivFrame 1 define refSw : AdviceStroke 4 df.div - include : PercentBarShape df refSw + include : PercentBarShape slopeDf refSw local dotwidth : refSw * 1.5 include : VBar.l SB [mix CAP 0 0.3] CAP dotwidth - local gap : (df.width - df.leftSB) * 0.9 - refSw * [PercentBarCor df refSw] + local gap : (df.width - df.leftSB) * 0.9 - refSw * [PercentBarCor slopeDf refSw] local lowerDotWidth : 1.5 * [AdviceStroke 3 (gap / Width)] - include : VBar.r (RightSB - gap * 0.45) 0 [mix 0 CAP 0.3] lowerDotWidth - include : VBar.r RightSB 0 [mix 0 CAP 0.3] lowerDotWidth + include : VBar.r (df.rightSB - gap * 0.45) 0 [mix 0 CAP 0.3] lowerDotWidth + include : VBar.r df.rightSB 0 [mix 0 CAP 0.3] lowerDotWidth create-glyph 'basepoint.NWID.dots' : glyph-proc define df : include : DivFrame para.diversityM - define slopeDf : DivFrame (para.diversityM * 0.8) + define slopeDf : DivFrame [Math.min (para.diversityM * 0.8) 1] define refSw : AdviceStroke 5 df.div @@ -62,9 +63,9 @@ glyph-block Symbol-Punctuation-Percentages : begin local gap : (df.width - df.leftSB) * 0.9 - refSw * [PercentBarCor slopeDf refSw] local lowerDotWidth : 1.5 * [AdviceStroke 4 (gap / Width)] - include : VBar.r (RightSB - gap * 0.6) 0 [mix 0 CAP 0.3] lowerDotWidth - include : VBar.r (RightSB - gap * 0.3) 0 [mix 0 CAP 0.3] lowerDotWidth - include : VBar.r RightSB 0 [mix 0 CAP 0.3] lowerDotWidth + include : VBar.r (df.rightSB - gap * 0.6) 0 [mix 0 CAP 0.3] lowerDotWidth + include : VBar.r (df.rightSB - gap * 0.3) 0 [mix 0 CAP 0.3] lowerDotWidth + include : VBar.r df.rightSB 0 [mix 0 CAP 0.3] lowerDotWidth create-glyph 'percent.ringsContinuousSlash' : glyph-proc set-width Width