Fix broken serif of iotified capital Cyrillic letters (#1184).

This commit is contained in:
be5invis 2021-07-31 22:28:12 -07:00
parent fe35f3dff7
commit b90e63fcf6
4 changed files with 26 additions and 17 deletions

View file

@ -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
include : CyrIotifiedBigYusShape false df XH 0.55

View file

@ -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')

View file

@ -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