diff --git a/font-src/glyphs/symbol/punctuation.ptl b/font-src/glyphs/symbol/punctuation.ptl index 292a377bf..c6476e1ab 100644 --- a/font-src/glyphs/symbol/punctuation.ptl +++ b/font-src/glyphs/symbol/punctuation.ptl @@ -1507,20 +1507,30 @@ glyph-block Symbol-Punctuation-Percentages : begin local perMilleOffset : Width + l - halfGapRing * 1.5 - m - create-derived 'percent.ringsContinuousSlashAlsoConnected' : difference + define [ConnnectedBar] : difference HBarTop ([mix l (m - halfGapRing) 0.5] - CorrectionOMidX * swRing) (r - swBar * HVContrast) CAP fineBar OShapeOutline.NoOvershoot CAP (CAP / 2 + halfGapRing) l (m - halfGapRing) swRing sma smb - create-derived 'permille.WWID' [WideUnicode 0x2030] : glyph-proc + define [PerMilleProc] : glyph-proc set-width WideWidth0 include : OShape (CAP / 2 - halfGapRing) 0 (m + halfGapRing + perMilleOffset) (r + perMilleOffset) swRing sma smb include : Translate ((WideWidth0 - r - perMilleOffset) / 2) 0 - create-derived 'basepoint.WWID' [WideUnicode 0x2031] : glyph-proc + + define [BasePointProc] : glyph-proc set-width WideWidth0 include : OShape (CAP / 2 - halfGapRing) 0 (m + halfGapRing + perMilleOffset) (r + perMilleOffset) swRing sma smb include : OShape (CAP / 2 - halfGapRing) 0 (m + halfGapRing + 2 * perMilleOffset) (r + 2 * perMilleOffset) swRing sma smb include : Translate ((WideWidth0 - r - 2 * perMilleOffset) / 2) 0 + create-derived 'percent.ringsContinuousSlashAlsoConnected' : ConnnectedBar + create-derived 'permille.WWID.ringsContinuousSlash' : PerMilleProc + create-derived 'basepoint.WWID.ringsContinuousSlash' : BasePointProc + create-derived 'permille.WWID.ringsContinuousSlashAlsoConnected' : composite-proc [ConnnectedBar] [PerMilleProc] + create-derived 'basepoint.WWID.ringsContinuousSlashAlsoConnected' : composite-proc [ConnnectedBar] [BasePointProc] + + select-variant 'permille.WWID' [WideUnicode 0x2030] (follow -- 'permille.WWID') + select-variant 'basepoint.WWID' [WideUnicode 0x2031] (follow -- 'permille.WWID') + create-glyph 'percent.ringsSegmentedSlash' : glyph-proc set-width Width local l : SB / 2 @@ -1600,8 +1610,8 @@ glyph-block Symbol-Punctuation-Percentages : begin include : OShape otop 0 l3 r3 swp smap smbp select-variant 'percent' '%' - select-variant 'permille.NWID' [NarrowUnicode 0x2030] (follow -- 'permille') - select-variant 'basepoint.NWID' [NarrowUnicode 0x2031] (follow -- 'permille') + select-variant 'permille.NWID' [NarrowUnicode 0x2030] (follow -- 'permille.NWID') + select-variant 'basepoint.NWID' [NarrowUnicode 0x2031] (follow -- 'permille.NWID') glyph-block Symbol-Punctuation-Ascii-Marks : begin glyph-block-import CommonShapes diff --git a/params/variants.toml b/params/variants.toml index 9d861c885..109297d2d 100644 --- a/params/variants.toml +++ b/params/variants.toml @@ -3498,25 +3498,29 @@ tag = "cv83" rank = 1 description = "Percent `%` with rectangular dots" selector.percent = "dots" -selector.permille = "dots" +selector."permille.NWID" = "dots" +selector."permille.WWID" = "ringsContinuousSlash" [prime.percent.variants.rings-segmented-slash] rank = 2 description = "Percent `%` with rings and segmented slash" selector.percent = "ringsSegmentedSlash" -selector.permille = "ringsContinuousSlash" +selector."permille.NWID" = "ringsContinuousSlash" +selector."permille.WWID" = "ringsContinuousSlash" [prime.percent.variants.rings-continuous-slash] rank = 3 description = "Percent `%` with rings and continuous bar" selector.percent = "ringsContinuousSlash" -selector.permille = "ringsContinuousSlash" +selector."permille.NWID" = "ringsContinuousSlash" +selector."permille.WWID" = "ringsContinuousSlash" [prime.percent.variants.rings-continuous-slash-also-connected] rank = 4 description = "Percent `%` with rings and continuous bar and the slash in `%` is also connected to the top-left ring" selector.percent = "ringsContinuousSlashAlsoConnected" -selector.permille = "ringsContinuousSlash" +selector."permille.NWID" = "ringsContinuousSlash" +selector."permille.WWID" = "ringsContinuousSlashAlsoConnected"