From 877ed66c6049d27d84f38f5a25200c5e265b77cf Mon Sep 17 00:00:00 2001 From: John McWilliams <37010132+jmcwilliams403@users.noreply.github.com> Date: Sun, 22 Jun 2025 11:16:02 -0400 Subject: [PATCH] =?UTF-8?q?Make=20Cyrillic=C2=A0Upper=C2=A0Zhe=20(`=D0=96`?= =?UTF-8?q?)=20slightly=20wider=20under=20QP.=20(#2805)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- changes/33.2.6.md | 7 ++++++ .../src/letter/cyrillic/dzzhe-zhwe.ptl | 24 +++++++++---------- .../font-glyphs/src/letter/cyrillic/zhe.ptl | 8 +++---- 3 files changed, 23 insertions(+), 16 deletions(-) create mode 100644 changes/33.2.6.md diff --git a/changes/33.2.6.md b/changes/33.2.6.md new file mode 100644 index 000000000..e35fe5b02 --- /dev/null +++ b/changes/33.2.6.md @@ -0,0 +1,7 @@ +* Make certain characters slightly wider under Quasi-Proportional. Affected characters: + - CYRILLIC CAPITAL LETTER ZHE (`U+0416`). + - CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER (`U+0496`). + - CYRILLIC CAPITAL LETTER ZHE WITH BREVE (`U+04C1`). + - CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS (`U+04DC`). + - CYRILLIC CAPITAL LETTER DZZHE (`U+052A`). + - CYRILLIC CAPITAL LETTER ZHWE (`U+A684`). diff --git a/packages/font-glyphs/src/letter/cyrillic/dzzhe-zhwe.ptl b/packages/font-glyphs/src/letter/cyrillic/dzzhe-zhwe.ptl index ecaa4b061..59d9e171c 100644 --- a/packages/font-glyphs/src/letter/cyrillic/dzzhe-zhwe.ptl +++ b/packages/font-glyphs/src/letter/cyrillic/dzzhe-zhwe.ptl @@ -31,21 +31,21 @@ glyph-block Letter-Cyrillic-Dzzhe-Zhwe : begin include : CyrDeItalicShapeT dispiro subDf sw create-glyph "cyrl/Dzzhe/left" : glyph-proc - define df : include : DivFrame (para.advanceScaleM ** 2) 3.5 + define df : include : DivFrame (para.advanceScaleMM * para.advanceScaleM) 3.5 include : df.markSet.capital - include : ExtendBelowBaseAnchors (-LongVJut + HalfStroke) + include : ExtendBelowBaseAnchors ((-LongVJut) + QuarterStroke) set-base-anchor 'cvDecompose' 0 0 include : CyrDzzheDeShape df CAP create-glyph "cyrl/dzzhe.upright/left" : glyph-proc - define df : include : DivFrame (para.advanceScaleM ** 2) 3.5 + define df : include : DivFrame (para.advanceScaleM * para.advanceScaleM) 3.5 include : df.markSet.e - include : ExtendBelowBaseAnchors (-LongVJut + HalfStroke) + include : ExtendBelowBaseAnchors ((-LongVJut) + QuarterStroke) set-base-anchor 'cvDecompose' 0 0 include : CyrDzzheDeShape df XH create-glyph "cyrl/dzzhe.italic/left" : glyph-proc - define df : include : DivFrame (para.advanceScaleM ** 2) 3.5 + define df : include : DivFrame (para.advanceScaleM * para.advanceScaleM) 3.5 include : df.markSet.b set-base-anchor 'cvDecompose' 0 0 include : CyrDzzheDeItalicShape df @@ -65,13 +65,13 @@ glyph-block Letter-Cyrillic-Dzzhe-Zhwe : begin foreach { suffix { slabTop slabBot } } [Object.entries ZeConfig] : do create-glyph "cyrl/Zhwe/left.\(suffix)" : glyph-proc - define df : include : DivFrame (para.advanceScaleM ** 2) 3.5 + define df : include : DivFrame (para.advanceScaleMM * para.advanceScaleM) 3.5 include : df.markSet.capital set-base-anchor 'cvDecompose' 0 0 include : CyrZhweZeShape slabTop slabBot df CAP Hook create-glyph "cyrl/zhwe/left.\(suffix)" : glyph-proc - define df : include : DivFrame (para.advanceScaleM ** 2) 3.5 + define df : include : DivFrame (para.advanceScaleM * para.advanceScaleM) 3.5 include : df.markSet.e set-base-anchor 'cvDecompose' 0 0 include : CyrZhweZeShape slabTop slabBot df XH SHook @@ -115,28 +115,28 @@ glyph-block Letter-Cyrillic-Dzzhe-Zhwe : begin foreach { suffix { legShape fSlab fMidSlab } } [Object.entries ZheConfig] : do create-glyph "cyrl/Dzzhe/right.\(suffix)" : glyph-proc - define df : include : DivFrame (para.advanceScaleM ** 2) 3.5 + define df : include : DivFrame (para.advanceScaleMM * para.advanceScaleM) 3.5 include : df.markSet.capital include : CyrRightZheShape legShape fSlab fMidSlab df CAP : DzzheLeft df create-glyph "cyrl/dzzhe.upright/right.\(suffix)" : glyph-proc - define df : include : DivFrame (para.advanceScaleM ** 2) 3.5 + define df : include : DivFrame (para.advanceScaleM * para.advanceScaleM) 3.5 include : df.markSet.e include : CyrRightZheShape legShape fSlab fMidSlab df XH : DzzheLeft df create-glyph "cyrl/dzzhe.italic/right.\(suffix)" : glyph-proc - define df : include : DivFrame (para.advanceScaleM ** 2) 3.5 + define df : include : DivFrame (para.advanceScaleM * para.advanceScaleM) 3.5 include : df.markSet.e include : DzzheZheItalicShape legShape fSlab fMidSlab df XH create-glyph "cyrl/Zhwe/right.\(suffix)" : glyph-proc - define df : include : DivFrame (para.advanceScaleM ** 2) 3.5 + define df : include : DivFrame (para.advanceScaleMM * para.advanceScaleM) 3.5 include : df.markSet.capital set-base-anchor 'cvDecompose' 0 0 include : ZhweZheShape legShape fSlab fMidSlab df CAP Hook create-glyph "cyrl/zhwe/right.\(suffix)" : glyph-proc - define df : include : DivFrame (para.advanceScaleM ** 2) 3.5 + define df : include : DivFrame (para.advanceScaleM * para.advanceScaleM) 3.5 include : df.markSet.e set-base-anchor 'cvDecompose' 0 0 include : ZhweZheShape legShape fSlab fMidSlab df XH SHook diff --git a/packages/font-glyphs/src/letter/cyrillic/zhe.ptl b/packages/font-glyphs/src/letter/cyrillic/zhe.ptl index e1188fd76..bcb0becc2 100644 --- a/packages/font-glyphs/src/letter/cyrillic/zhe.ptl +++ b/packages/font-glyphs/src/letter/cyrillic/zhe.ptl @@ -54,10 +54,10 @@ glyph-block Letter-Cyrillic-Zhe : begin define attach2Y : [mix bot top 0.72] + fine define [mask] : spiro-outline - corner (df.leftSB + overshoot + TINY) top + corner (df.leftSB + overshoot + TINY) top corner attach1X (attach1Y + TINY) corner (df.width - attach1X) (attach1Y + TINY) - corner (df.rightSB - overshoot - TINY) top + corner (df.rightSB - overshoot - TINY) top local rightHalf : union intersection [MaskRight df.middle] @@ -189,12 +189,12 @@ glyph-block Letter-Cyrillic-Zhe : begin foreach { suffix { legShape fSlab fMidSlab } } [Object.entries ZheConfig] : do create-glyph "cyrl/Zhe.\(suffix)" : glyph-proc - local df : include : DivFrame para.advanceScaleM 3 + local df : include : DivFrame para.advanceScaleMM 3 include : df.markSet.capital include : Zhe.Shape legShape fSlab fMidSlab df 0 CAP CAP create-glyph "cyrl/ZheDescender.\(suffix)" : glyph-proc - local df : DivFrame para.advanceScaleM 3 + local df : DivFrame para.advanceScaleMM 3 include [refer-glyph "cyrl/Zhe.\(suffix)"] AS_BASE ALSO_METRICS include : Zhe.Descender fSlab df