This commit is contained in:
be5invis 2023-12-19 15:20:41 -08:00
commit 0de6d353fd
7 changed files with 24 additions and 18 deletions

View file

@ -1,2 +1,4 @@
* Refine shape of Tshe and Cyrillic Capital Letter Te with Middle Hook (`U+A68A`) (#2123). * Refine shape of Tshe and Cyrillic Capital Letter Te with Middle Hook (`U+A68A`) (#2123).
* Remove bottom serif of Cyrillic Small Letter Ghe with Middle Hook (`U+0495`) under italics. * Remove bottom serif of Cyrillic Small Letter Ghe with Middle Hook (`U+0495`) under italics.
* Make serif variants of Cyrillic Small Letter Tall Te (`U+1C84`) respond to italics.
* Make terminal serif behavior of palatalized Komi consonants (`U+0502`...`U+0505`, `U+0508`..`U+050F`) more consistent with each other.

View file

@ -28,6 +28,7 @@ glyph-block Letter-Cyrillic-Orthography : begin
orthographic-italic 'cyrl/peDescender' 0x525 orthographic-italic 'cyrl/peDescender' 0x525
orthographic-italic 'cyrl/dzzhe' 0x52B orthographic-italic 'cyrl/dzzhe' 0x52B
orthographic-italic 'cyrl/dche' 0x52D orthographic-italic 'cyrl/dche' 0x52D
orthographic-italic 'cyrl/teTall' 0x1C84
orthographic-italic 'cyrl/teThreeLeg' 0x1C85 orthographic-italic 'cyrl/teThreeLeg' 0x1C85
orthographic-italic 'cyrl/dzze' 0xA689 orthographic-italic 'cyrl/dzze' 0xA689
orthographic-italic 'cyrl/teMidHook' 0xA68B orthographic-italic 'cyrl/teMidHook' 0xA68B

View file

@ -12,11 +12,11 @@ glyph-block Letter-Latin-Hwair : begin
glyph-block-import Letter-Shared-Shapes : SerifFrame glyph-block-import Letter-Shared-Shapes : SerifFrame
define Variants : object define Variants : object
straightSerifless { false false false } straightSerifless { false false }
straightTopLeftSerifed { true false false } straightTopLeftSerifed { true false }
straightSerifed { true true true } straightSerifed { true true }
foreach { suffix { serifLT serifLB serifRT } } [pairs-of Variants] : do foreach { suffix { serifLT serifLB } } [pairs-of Variants] : do
create-glyph "hwair.\(suffix)" : glyph-proc create-glyph "hwair.\(suffix)" : glyph-proc
local df : include : DivFrame para.diversityM 3 local df : include : DivFrame para.diversityM 3
include : df.markSet.b include : df.markSet.b
@ -37,6 +37,6 @@ glyph-block Letter-Latin-Hwair : begin
local jut : Jut * 0.75 local jut : Jut * 0.75
if serifLT : include : tagged 'serifLT' sf1.lt.outer if serifLT : include : tagged 'serifLT' sf1.lt.outer
if serifLB : include : tagged 'serifLB' sf1.lb.full if serifLB : include : tagged 'serifLB' sf1.lb.full
if serifRT : include : tagged 'serifRT' sf2.rt.full if SLAB : include : tagged 'serifRT' sf2.rt.full
select-variant 'hwair' 0x195 (follow -- 'heng') select-variant 'hwair' 0x195 (follow -- 'heng')

View file

@ -106,8 +106,10 @@ glyph-block Letter-Latin-Lower-D : begin
local df : DivFrame 1 local df : DivFrame 1
include [refer-glyph "d.\(suffix)"] AS_BASE ALSO_METRICS include [refer-glyph "d.\(suffix)"] AS_BASE ALSO_METRICS
local xLeft : mix df.rightSB df.leftSB 0.9 local xLeft : mix df.rightSB df.leftSB 0.9
include : HBar.t xLeft (df.rightSB + O) CAP include : HBar.t xLeft (df.rightSB + O) Ascender
if topSerif : include : VSerif.dl xLeft CAP : Math.min VJut (0.8 * (Ascender - XH)) if topSerif : begin
include : VSerif.dl xLeft Ascender : Math.min VJut (0.8 * (Ascender - XH))
if [not para.isItalic] : include : HSerif.rt df.rightSB Ascender SideJut
create-glyph "dHookTop.\(suffix)" : glyph-proc create-glyph "dHookTop.\(suffix)" : glyph-proc
local df : DivFrame 1 local df : DivFrame 1
@ -134,7 +136,7 @@ glyph-block Letter-Latin-Lower-D : begin
sw -- df.mvs sw -- df.mvs
if topSerif : include : topSerif dfHalf Ascender if topSerif : include : topSerif dfHalf Ascender
if bottomSerif : begin if SLAB : begin
local sf2 : [SerifFrame.fromDf df (XH / 2) 0].slice 1 2 local sf2 : [SerifFrame.fromDf df (XH / 2) 0].slice 1 2
include sf2.rt.full include sf2.rt.full

View file

@ -80,7 +80,7 @@ glyph-block Letter-Latin-Upper-H : begin
include : HSerifs slabType top 0 df.leftSB (df.middle + [HSwToV : 0.5 * df.mvs]) df.mvs include : HSerifs slabType top 0 df.leftSB (df.middle + [HSwToV : 0.5 * df.mvs]) df.mvs
local sf2 : [SerifFrame.fromDf df yend 0].slice 1 2 local sf2 : [SerifFrame.fromDf df yend 0].slice 1 2
if (slabType === SLAB-ALL || slabType === SLAB-TAILED-CYRILLIC) : include sf2.rt.full if SLAB : include sf2.rt.full
define [OverlayStrokeShape top slabType] : begin define [OverlayStrokeShape top slabType] : begin
local yb : top * HBarPos + HalfStroke local yb : top * HBarPos + HalfStroke

View file

@ -95,7 +95,7 @@ glyph-block Letter-Latin-Upper-T : begin
y -- 0 y -- 0
jut -- [if doSB MidJutCenter Jut] jut -- [if doSB MidJutCenter Jut]
create-glyph "TBar.\(suffix)" : glyph-proc create-glyph "TStroke.\(suffix)" : glyph-proc
include [refer-glyph "T.\(suffix)"] AS_BASE ALSO_METRICS include [refer-glyph "T.\(suffix)"] AS_BASE ALSO_METRICS
include : LetterBarOverlay.m.in df.middle 0 CAP 0.45 include : LetterBarOverlay.m.in df.middle 0 CAP 0.45
@ -156,15 +156,15 @@ glyph-block Letter-Latin-Upper-T : begin
include : df.markSet.e include : df.markSet.e
include : TjeShape df XH doST include : TjeShape df XH doST
create-glyph "cyrl/TeTall.\(suffix)" : glyph-proc create-glyph "cyrl/teTall.upright.\(suffix)" : glyph-proc
local df : include : DivFrame 1 local df : include : DivFrame 1
include : df.markSet.capital include : df.markSet.b
include : CyrlTallTeShape df CAP doST doSB include : CyrlTallTeShape df Ascender doST doSB
select-variant 'T' 'T' select-variant 'T' 'T'
link-reduced-variant 'T/sansSerif' 'T' MathSansSerif link-reduced-variant 'T/sansSerif' 'T' MathSansSerif
select-variant 'smcpT' 0x1D1B (follow -- 'T') select-variant 'smcpT' 0x1D1B (follow -- 'T')
select-variant "TBar" 0x166 (follow -- 'T') select-variant "TStroke" 0x166 (follow -- 'T')
select-variant "Thookleft" 0x1AC (follow -- 'T') select-variant "Thookleft" 0x1AC (follow -- 'T')
select-variant "cyrl/TeDescender" 0x4AC (follow -- 'T') select-variant "cyrl/TeDescender" 0x4AC (follow -- 'T')
select-variant 'turnT' 0xA7B1 (follow -- 'T') select-variant 'turnT' 0xA7B1 (follow -- 'T')
@ -187,7 +187,8 @@ glyph-block Letter-Latin-Upper-T : begin
select-variant 'currency/tengeSign' 0x20B8 (follow -- 'T') select-variant 'currency/tengeSign' 0x20B8 (follow -- 'T')
select-variant 'cyrl/TeTall' 0x1C84 (follow -- 'T') select-variant 'cyrl/teTall.upright' (follow -- 'T')
select-variant 'cyrl/teTall.italic' (shapeFrom -- 'cyrl/teTall.upright') (follow -- 'T/rtailBase')
create-glyph 'mathbb/T' 0x1D54B : glyph-proc create-glyph 'mathbb/T' 0x1D54B : glyph-proc
local df : DivFrame 1 local df : DivFrame 1

View file

@ -1879,7 +1879,7 @@ selectorAffix."d/hookBottomBase" = "toothed"
selectorAffix.dCurlyTail = "toothed" selectorAffix.dCurlyTail = "toothed"
selectorAffix.dHookTop = "toothlessRounded" selectorAffix.dHookTop = "toothlessRounded"
selectorAffix."dHookTop/hookBottomBase" = "toothed" selectorAffix."dHookTop/hookBottomBase" = "toothed"
selectorAffix."cyrl/djeKomi" = "toothlessRounded" selectorAffix."cyrl/djeKomi" = "toothed"
[prime.d.variants-buildup.stages.serifs.serifless] [prime.d.variants-buildup.stages.serifs.serifless]
rank = 1 rank = 1
@ -1921,7 +1921,7 @@ selectorAffix."d/hookBottomBase" = "serifless"
selectorAffix.dCurlyTail = "serifless" selectorAffix.dCurlyTail = "serifless"
selectorAffix.dHookTop = "bottomSerifed" selectorAffix.dHookTop = "bottomSerifed"
selectorAffix."dHookTop/hookBottomBase" = "serifless" selectorAffix."dHookTop/hookBottomBase" = "serifless"
selectorAffix."cyrl/djeKomi" = "bottomSerifed" selectorAffix."cyrl/djeKomi" = "serifless"
[prime.d.variants-buildup.stages.serifs.serifed__toothed] [prime.d.variants-buildup.stages.serifs.serifed__toothed]
rank = 4 rank = 4
@ -1936,7 +1936,7 @@ selectorAffix."d/hookBottomBase" = "topSerifed"
selectorAffix.dCurlyTail = "topSerifed" selectorAffix.dCurlyTail = "topSerifed"
selectorAffix.dHookTop = "bottomSerifed" selectorAffix.dHookTop = "bottomSerifed"
selectorAffix."dHookTop/hookBottomBase" = "serifless" selectorAffix."dHookTop/hookBottomBase" = "serifless"
selectorAffix."cyrl/djeKomi" = "serifed" selectorAffix."cyrl/djeKomi" = "topSerifed"
[prime.d.variants-buildup.stages.serifs.serifed__toothless] [prime.d.variants-buildup.stages.serifs.serifed__toothless]
rank = 4 rank = 4