Fix overlapping serifs of italic Yat (#2061).
This commit is contained in:
parent
a2e77efa76
commit
6495d7d30d
5 changed files with 35 additions and 12 deletions
|
@ -19,10 +19,11 @@ glyph-block Letter-Cyrillic-Nje : begin
|
|||
define SLAB-ALL 4
|
||||
|
||||
define [LeftHalf slabType df top] : glyph-proc
|
||||
include : VBar.l df.leftSB 0 top df.mvs
|
||||
include : HBar.m df.leftSB df.middle (top / 2)
|
||||
local dfSub : df.slice 3 2
|
||||
include : VBar.l dfSub.leftSB 0 top dfSub.mvs
|
||||
include : HBar.m dfSub.leftSB dfSub.rightSB (top / 2)
|
||||
|
||||
local sf : [SerifFrame.fromDf df top 0].slice 0 1
|
||||
local sf : SerifFrame.fromDf dfSub top 0
|
||||
include : match slabType
|
||||
[Just SLAB-NONE] : glyph-proc
|
||||
[Just SLAB-TOP-LEFT] : begin sf.lt.outer
|
||||
|
|
|
@ -101,12 +101,13 @@ glyph-block Letter-Cyrillic-Yat : begin
|
|||
local df : include : DivFrame para.diversityM 3
|
||||
include : df.markSet.e
|
||||
|
||||
local xMidBarLeft : df.middle - [HSwToV : 0.5 * df.mvs]
|
||||
local xMidBarLeft : df.middle - [HSwToV : 0.5 * df.mvs]
|
||||
|
||||
include : Yeri XH xMidBarLeft df.rightSB
|
||||
stroke -- df.mvs
|
||||
yStart -- (XH - SmallArchDepthB)
|
||||
eject-contour 'serifYeriLT'
|
||||
eject-contour 'serifYeriLB'
|
||||
|
||||
select-variant 'cyrl/Yat' 0x462 (follow -- 'cyrl/YeriBar')
|
||||
select-variant 'cyrl/yat.upright' (follow -- 'cyrl/yeriBar')
|
||||
|
|
|
@ -19,9 +19,18 @@ glyph-block Letter-Latin-Lower-N : begin
|
|||
if trAnchor : set-base-anchor 'trailing' (trAnchor.x + SideJut) trAnchor.y
|
||||
|
||||
define [NHTB df top] : VBar.l df.leftSB 0 top
|
||||
define [NTopLeftSerif df top] : begin [local sf : SerifFrame.fromDf df top 0] sf.lt.outer
|
||||
define [NBottomLeftSerif df y] : begin [local sf : SerifFrame.fromDf df Ascender y] sf.lb.full
|
||||
define [NBottomLeftOuterSerif df y] : begin [local sf : SerifFrame.fromDf df Ascender y] sf.lb.outer
|
||||
define [NTopLeftSerif df top] : begin
|
||||
local sf : SerifFrame.fromDf df top 0
|
||||
return sf.lt.outer
|
||||
define [NBottomLeftSerif df y] : begin
|
||||
local sf : SerifFrame.fromDf df Ascender y
|
||||
return sf.lb.full
|
||||
define [NBottomLeftOuterSerif df y] : begin
|
||||
local sf : SerifFrame.fromDf df Ascender y
|
||||
return sf.lb.outer
|
||||
define [NBottomLeftYatSerif df y] : begin
|
||||
local sf : SerifFrame.fromDf df Ascender y
|
||||
return : if sf.enoughSpaceForFullSerifs sf.lb.full sf.lb.outer
|
||||
|
||||
define [NBottomRightSerifUpright df y] : glyph-proc
|
||||
local sf : SerifFrame.fromDf df Ascender y
|
||||
|
@ -31,6 +40,9 @@ glyph-block Letter-Latin-Lower-N : begin
|
|||
local sf : SerifFrame.fromDf df Ascender y
|
||||
include sf.rb.outer
|
||||
include : AdjustTrailingAnchor
|
||||
define [NBottomRightYatSerif df y] : begin
|
||||
local sf : SerifFrame.fromDf df Ascender y
|
||||
return : if sf.enoughSpaceForFullSerifs sf.rb.full [no-shape]
|
||||
|
||||
define [EaredBody top left right yBR sw] : glyph-proc
|
||||
include : VBar.l left 0 top sw
|
||||
|
@ -94,6 +106,13 @@ glyph-block Letter-Latin-Lower-N : begin
|
|||
__ NTopLeftSerif
|
||||
begin NBottomLeftSerif
|
||||
if (tail != 'tailed') NBottomRightSerifUpright
|
||||
serifedItalicYat : list
|
||||
match body
|
||||
([Just "earlessCorner"] || [Just "earlessRounded"]) nothing
|
||||
([Just "earlessCornerHTB"] || [Just "earlessRoundedHTB"]) NHTB
|
||||
__ NTopLeftSerif
|
||||
begin NBottomLeftYatSerif
|
||||
begin NBottomRightYatSerif
|
||||
|
||||
foreach { suffix { Body tailed {sLT sLB sRB} } } [Object.entries NConfig] : do
|
||||
create-glyph "n.\(suffix)" : glyph-proc
|
||||
|
@ -219,11 +238,12 @@ glyph-block Letter-Latin-Lower-N : begin
|
|||
local df : include : DivFrame para.diversityM 3
|
||||
include : df.markSet.e
|
||||
|
||||
local xMidBarRight : df.middle + [HSwToV : 0.5 * df.mvs]
|
||||
include : Body XH df.leftSB xMidBarRight (XH - SmallArchDepthB - 0.1) df.mvs
|
||||
local dfSub : df.slice 3 2
|
||||
include : Body XH dfSub.leftSB dfSub.rightSB (XH - SmallArchDepthB - 0.1) dfSub.mvs
|
||||
|
||||
if sLT : include : sLT df XH
|
||||
if sLB : include : sLB df 0
|
||||
if sLT : include : sLT dfSub XH
|
||||
if sLB : include : sLB dfSub 0
|
||||
if sRB : include : sRB dfSub 0
|
||||
|
||||
select-variant 'n' 'n'
|
||||
link-reduced-variant 'n/sansSerif' 'n' MathSansSerif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue