Fix Te bar terminal of TeTse/Tche for sans oblique (#2349)

This commit is contained in:
John McWilliams 2024-05-28 12:22:19 -04:00 committed by GitHub
parent 6f4957ea98
commit aa7b545f32
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 15 additions and 15 deletions

View file

@ -1,3 +1,5 @@
* Fix Te bar terminal for Cyrillic TeTse (`U+04B4`..`U+04B5`) and Tche (`U+A693`..`U+A694`) under sans italic/oblique when `T` (`cv19`) is serifed.
* Make presence of non-Te serifs of Cyrillic TeTse automatic.
* Add characters: * Add characters:
- DOTTED OBELOS (`U+2E13`). - DOTTED OBELOS (`U+2E13`).
- MODIFIER LETTER DOT VERTICAL BAR (`U+A717`) ... MODIFIER LETTER DOT HORIZONTAL BAR (`U+A719`). - MODIFIER LETTER DOT VERTICAL BAR (`U+A717`) ... MODIFIER LETTER DOT HORIZONTAL BAR (`U+A719`).

View file

@ -121,8 +121,8 @@ glyph-block Letter-Cyrillic-Che : begin
include : dispiro include : dispiro
widths.rhs sw widths.rhs sw
flat xTopBarLeft top [if SLAB [heading Rightward] null] flat xTopBarLeft top [if teSerifs [heading Rightward] null]
curl xTopBarRight top [if SLAB [heading Rightward] null] curl xTopBarRight top [if teSerifs [heading Rightward] null]
local sf : SerifFrame top 0 left right (swRef -- sw) local sf : SerifFrame top 0 left right (swRef -- sw)
include : tagged 'SerifRT' : match slabType include : tagged 'SerifRT' : match slabType

View file

@ -41,9 +41,8 @@ glyph-block Letter-Cyrillic-Tse : begin
define TeTseConfig : object define TeTseConfig : object
serifless { false false } serifless { false false }
motionSerifed { true false } motionSerifed { true false }
serifed { true true }
define [CyrTeTseShape top slabTop slabBot] : glyph-proc define [CyrTeTseShape top teSerifs] : glyph-proc
local sw : AdviceStroke 2.75 local sw : AdviceStroke 2.75
local left : [mix SB RightSB 0.2] - [HSwToV : 0.25 * sw] + OX local left : [mix SB RightSB 0.2] - [HSwToV : 0.25 * sw] + OX
local right : RightSB - OX local right : RightSB - OX
@ -56,31 +55,30 @@ glyph-block Letter-Cyrillic-Tse : begin
include : VBar.r right 0 top sw include : VBar.r right 0 top sw
include : dispiro include : dispiro
widths.rhs sw widths.rhs sw
flat xTopBarLeft top [if SLAB [heading Rightward] null] flat xTopBarLeft top [if teSerifs [heading Rightward] null]
curl xTopBarRight top [if SLAB [heading Rightward] null] curl xTopBarRight top [if teSerifs [heading Rightward] null]
local sf : SerifFrame top 0 left right (swRef -- sw) local sf : SerifFrame top 0 left right (swRef -- sw)
include : CyrDescender.rSideJut right 0 (sideJut -- sf.sideJut) include : CyrDescender.rSideJut right 0 (sideJut -- sf.sideJut)
if slabTop : begin if SLAB : begin
include sf.rt.outer include sf.rt.outer
include sf.lb.outer
include sf.rb.outer
if teSerifs : begin
local swVJut : Math.min [AdviceStroke 4.5] (0.625 * (left - xTopBarLeft)) local swVJut : Math.min [AdviceStroke 4.5] (0.625 * (left - xTopBarLeft))
include : VSerif.dl xTopBarLeft top VJut swVJut include : VSerif.dl xTopBarLeft top VJut swVJut
include : VSerif.dr xTopBarRight top VJut swVJut include : VSerif.dr xTopBarRight top VJut swVJut
if slabBot : begin
include sf.lb.outer
include sf.rb.outer
foreach { suffix { doST doSB } } [Object.entries TeTseConfig] : do foreach { suffix { doST doSB } } [Object.entries TeTseConfig] : do
create-glyph "cyrl/TeTse.\(suffix)" : glyph-proc create-glyph "cyrl/TeTse.\(suffix)" : glyph-proc
include : MarkSet.capital include : MarkSet.capital
include : CyrTeTseShape CAP doST doSB include : CyrTeTseShape CAP doST
create-glyph "cyrl/tetse.upright.\(suffix)" : glyph-proc create-glyph "cyrl/tetse.upright.\(suffix)" : glyph-proc
include : MarkSet.e include : MarkSet.e
include : CyrTeTseShape XH doST doSB include : CyrTeTseShape XH doST
select-variant 'cyrl/TeTse' 0x4B4 (follow -- 'T') select-variant 'cyrl/TeTse' 0x4B4 (follow -- 'T/rtailBase')
select-variant 'cyrl/tetse.upright' (follow -- 'T') select-variant 'cyrl/tetse.upright' (follow -- 'T/rtailBase')