diff --git a/changes/9.0.1.md b/changes/9.0.1.md index 75643b463..7fb714838 100644 --- a/changes/9.0.1.md +++ b/changes/9.0.1.md @@ -1,2 +1,3 @@ * Fix serifs in dingbat circled numbers (#1182). - * Fix broken shape of Latin Letter Tone Five (Regression, #1074). \ No newline at end of file + * Fix broken shape of Latin Letter Tone Five (Regression, #1074). + * Fix broken serif of iotified capital Cyrillic letters (#1184). \ No newline at end of file diff --git a/font-src/glyphs/letter/cyrillic/big-yus.ptl b/font-src/glyphs/letter/cyrillic/big-yus.ptl index c9a6e8ad4..a1c9bae25 100644 --- a/font-src/glyphs/letter/cyrillic/big-yus.ptl +++ b/font-src/glyphs/letter/cyrillic/big-yus.ptl @@ -63,7 +63,7 @@ glyph-block Letter-Cyrillic-BigYus : begin include : df.markSet.e include : CyrBigYusShape df XH 0.55 - define [CyrIotifiedBigYusShape df top yp] : glyph-proc + define [CyrIotifiedBigYusShape fCapital df top yp] : glyph-proc local gap : (df.width - 2 * df.leftSB - 4 * df.mvs) / 3 define divSub : (df.width - gap - df.mvs) / Width define dfSub : DivFrame divSub 3 @@ -76,17 +76,18 @@ glyph-block Letter-Cyrillic-BigYus : begin include : HBarTop (df.leftSB - O) [mix df.leftSB df.rightSB (2 / 3)] (top * yp) df.mvs if SLAB : begin include : tagged 'serifLT' : LeftwardTopSerif df.leftSB top SideJut df.mvs - if [not para.isItalic] : include : tagged 'serifLB' : LeftwardBottomSerif df.leftSB 0 SideJut df.mvs + if (fCapital || [not para.isItalic]) : begin + include : tagged 'serifLB' : LeftwardBottomSerif df.leftSB 0 SideJut df.mvs include : tagged 'serifRB' : RightwardBottomSerif (df.rightSB + 0.5 * df.mvs * HVContrast) 0 (SideJut - 0.5 * df.mvs * HVContrast) df.mvs create-glyph 'cyrl/BigYusIotified' 0x46C : glyph-proc local df : DivFrame para.diversityM 4 set-width df.width include : df.markSet.capital - include : CyrIotifiedBigYusShape df CAP 0.575 + include : CyrIotifiedBigYusShape true df CAP 0.575 create-glyph 'cyrl/bigYusIotified' 0x46D : glyph-proc local df : DivFrame para.diversityM 4 set-width df.width include : df.markSet.e - include : CyrIotifiedBigYusShape df XH 0.55 \ No newline at end of file + include : CyrIotifiedBigYusShape false df XH 0.55 \ No newline at end of file diff --git a/font-src/glyphs/letter/cyrillic/small-yus.ptl b/font-src/glyphs/letter/cyrillic/small-yus.ptl index 9bf590b20..bfa94bc15 100644 --- a/font-src/glyphs/letter/cyrillic/small-yus.ptl +++ b/font-src/glyphs/letter/cyrillic/small-yus.ptl @@ -41,7 +41,7 @@ glyph-block Letter-Cyrillic-SmallYus : begin select-variant 'cyrl/SmallYus' 0x466 (follow -- 'grek/Lambda') select-variant 'cyrl/smallYus' 0x467 (follow -- 'grek/Lambda') - define [CyrIotifiedSmallYusShape df top straightBar] : glyph-proc + define [CyrIotifiedSmallYusShape fCapital df top straightBar] : glyph-proc local gap : (df.width - 2 * df.leftSB - 4 * df.mvs) / 3 define divSub : (df.width - gap - df.mvs) / Width define dfSub : DivFrame divSub 3 @@ -53,25 +53,30 @@ glyph-block Letter-Cyrillic-SmallYus : begin include : VBarLeft df.leftSB 0 top df.mvs include : HBarTop (df.leftSB - O) [mix df.leftSB df.rightSB (2 / 3)] (top / 2) df.mvs if SLAB : begin - include : tagged 'serifLT' : if para.isItalic + include : tagged 'serifLT' : if (!fCapital && para.isItalic) LeftwardTopSerif df.leftSB top SideJut df.mvs CenterTopSerif (df.leftSB + 0.5 * df.mvs * HVContrast) top Jut df.mvs - if [not para.isItalic] : include : tagged 'serifLB' : LeftwardBottomSerif df.leftSB 0 SideJut df.mvs + if (fCapital || [not para.isItalic]) : begin + include : tagged 'serifLB' : LeftwardBottomSerif df.leftSB 0 SideJut df.mvs include : tagged 'serifRB' : RightwardBottomSerif df.rightSB 0 SideJut df.mvs create-glyph : glyph-proc local df : DivFrame para.diversityM 4 set-width df.width include : df.markSet.capital - create-forked-glyph 'cyrl/IotifiedSmallYus.straight' : CyrIotifiedSmallYusShape df CAP true - create-forked-glyph 'cyrl/IotifiedSmallYus.curly' : CyrIotifiedSmallYusShape df CAP false + create-forked-glyph 'cyrl/IotifiedSmallYus.straight' + CyrIotifiedSmallYusShape true df CAP true + create-forked-glyph 'cyrl/IotifiedSmallYus.curly' + CyrIotifiedSmallYusShape true df CAP false create-glyph : glyph-proc local df : DivFrame para.diversityM 4 set-width df.width include : df.markSet.e - create-forked-glyph 'cyrl/iotifiedSmallYus.straight' : CyrIotifiedSmallYusShape df XH true - create-forked-glyph 'cyrl/iotifiedSmallYus.curly' : CyrIotifiedSmallYusShape df XH false + create-forked-glyph 'cyrl/iotifiedSmallYus.straight' + CyrIotifiedSmallYusShape false df XH true + create-forked-glyph 'cyrl/iotifiedSmallYus.curly' + CyrIotifiedSmallYusShape false df XH false select-variant 'cyrl/IotifiedSmallYus' 0x468 (follow -- 'grek/Lambda') select-variant 'cyrl/iotifiedSmallYus' 0x469 (follow -- 'grek/Lambda') diff --git a/font-src/glyphs/letter/latin/c.ptl b/font-src/glyphs/letter/latin/c.ptl index fc7285665..9a4952c23 100644 --- a/font-src/glyphs/letter/latin/c.ptl +++ b/font-src/glyphs/letter/latin/c.ptl @@ -219,7 +219,7 @@ glyph-block Letter-Latin-C : begin include : AutoStartSerifR [DivFrame 1] sty XH include : AutoStartSerifRB [DivFrame 1] styBot Descender - define [IotifiedEsShape df top sma smb] : glyph-proc + define [IotifiedEsShape fCapital df top sma smb] : glyph-proc local gap : (df.width - 2 * df.leftSB - 2.5 * df.mvs) * 0.375 define divSub : (df.width - gap - df.mvs) / Width define dfSub : DivFrame divSub 2 @@ -234,22 +234,24 @@ glyph-block Letter-Latin-C : begin local sf : SerifFrame top 0 df.leftSB df.rightSB df.mvs if (df.width > para.refJut * 7) : begin include : tagged 'serifLT' sf.lt.full - if [not para.isItalic] : include : tagged 'serifLB' sf.lb.full + if (fCapital || [not para.isItalic]) : begin + include : tagged 'serifLB' sf.lb.full : else : begin include : tagged 'serifLT' sf.lt.outer - if [not para.isItalic] : include : tagged 'serifLB' sf.lb.outer + if (fCapital || [not para.isItalic]) : begin + include : tagged 'serifLB' sf.lb.outer create-glyph "cyrl/iotified{E}.\(suffix)" : glyph-proc local df : DivFrame para.diversityM 2.5 set-width df.width include : df.markSet.capital - include : IotifiedEsShape df CAP SmoothA SmoothB + include : IotifiedEsShape true df CAP SmoothA SmoothB create-glyph "cyrl/iotified{e}.\(suffix)" : glyph-proc local df : DivFrame para.diversityM 2.5 set-width df.width include : df.markSet.e - include : IotifiedEsShape df XH SmallSmoothA SmallSmoothB + include : IotifiedEsShape false df XH SmallSmoothA SmallSmoothB select-variant 'C' 'C' link-reduced-variant 'C/sansSerif' 'C' MathSansSerif