Fix serifs of italic small Yat in Etoile (#2067).

This commit is contained in:
be5invis 2023-10-28 13:04:37 -07:00
parent ad453dd74b
commit 925ad7e302
5 changed files with 38 additions and 14 deletions

View file

@ -1 +1,2 @@
* Make `cv96` take effect on math asterisk operators (#2066). * Make `cv96` take effect on math asterisk operators (#2066).
* Fix serifs of italic small Yat in Etoile (#2067).

View file

@ -1,7 +1,7 @@
$$include '../../../meta/macros.ptl' $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from"../../../support/utils.mjs" import [mix linreg clamp fallback] from"../../../support/utils.mjs"
import [DependentSelector CvDecompose] from"../../../support/gr.mjs" import [DependentSelector] from"../../../support/gr.mjs"
glyph-module glyph-module

View file

@ -1,6 +1,7 @@
$$include '../../../meta/macros.ptl' $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from"../../../support/utils.mjs" import [mix linreg clamp fallback] from"../../../support/utils.mjs"
import [DependentSelector] from"../../../support/gr.mjs"
glyph-module glyph-module
@ -8,11 +9,11 @@ glyph-block Letter-Cyrillic-Yat : begin
glyph-block-import CommonShapes glyph-block-import CommonShapes
glyph-block-import Common-Derivatives glyph-block-import Common-Derivatives
glyph-block-import Mark-Adjustment : ExtendAboveBaseAnchors glyph-block-import Mark-Adjustment : ExtendAboveBaseAnchors
glyph-block-import Letter-Shared : CreateDependentComposite
glyph-block-import Letter-Shared-Metrics : BowlXDepth glyph-block-import Letter-Shared-Metrics : BowlXDepth
glyph-block-import Letter-Shared-Shapes : LetterBarOverlay glyph-block-import Letter-Shared-Shapes : LetterBarOverlay
glyph-block-import Letter-Cyrillic-Yeri : YeriConfig glyph-block-import Letter-Cyrillic-Yeri : YeriConfig
glyph-block-import Letter-Cyrillic-Iotified-A : Iotified glyph-block-import Letter-Cyrillic-Iotified-A : Iotified
glyph-block-import Letter-Shared-Shapes : nShoulderKnots
define [xBarLeft df] : Math.max (df.rightSB - (RightSB - SB)) : if SLAB define [xBarLeft df] : Math.max (df.rightSB - (RightSB - SB)) : if SLAB
Just ([mix df.leftSB df.rightSB 0.35] - [HSwToV : 0.5 * df.mvs]) Just ([mix df.leftSB df.rightSB 0.35] - [HSwToV : 0.5 * df.mvs])
@ -109,6 +110,8 @@ glyph-block Letter-Cyrillic-Yat : begin
eject-contour 'serifYeriLT' eject-contour 'serifYeriLT'
eject-contour 'serifYeriLB' eject-contour 'serifYeriLB'
DependentSelector.set currentGlyph : if (suffix === "corner") 'full' 'reduced'
select-variant 'cyrl/Yat' 0x462 (follow -- 'cyrl/YeriBar') select-variant 'cyrl/Yat' 0x462 (follow -- 'cyrl/YeriBar')
select-variant 'cyrl/yat.upright' (follow -- 'cyrl/yeriBar') select-variant 'cyrl/yat.upright' (follow -- 'cyrl/yeriBar')
select-variant 'cyrl/yatTall' 0x1C87 (follow -- 'cyrl/yeriBar') select-variant 'cyrl/yatTall' 0x1C87 (follow -- 'cyrl/yeriBar')
@ -117,5 +120,8 @@ glyph-block Letter-Cyrillic-Yat : begin
select-variant 'cyrl/yatIotified' 0xA653 (follow -- 'cyrl/yeriBar') select-variant 'cyrl/yatIotified' 0xA653 (follow -- 'cyrl/yeriBar')
select-variant 'cyrl/yat.italic/yeri' (follow -- 'cyrl/yeriBar') select-variant 'cyrl/yat.italic/yeri' (follow -- 'cyrl/yeriBar')
derive-composites 'cyrl/yat.italic' null 'cyrl/yat.italic/base' 'cyrl/yat.italic/yeri' CreateDependentComposite 'cyrl/yat.italic' null 'cyrl/yat.italic/yeri' : object
full 'cyrl/yat.italic/base/corner'
reduced 'cyrl/yat.italic/base/cursive'
alias 'latn/yatSakha.italic' null 'cyrl/yat.italic' alias 'latn/yatSakha.italic' null 'cyrl/yat.italic'

View file

@ -106,13 +106,20 @@ glyph-block Letter-Latin-Lower-N : begin
__ NTopLeftSerif __ NTopLeftSerif
begin NBottomLeftSerif begin NBottomLeftSerif
if (tail != 'tailed') NBottomRightSerifUpright if (tail != 'tailed') NBottomRightSerifUpright
serifedItalicYat : list serifedItalicYatCorner : list
match body match body
([Just "earlessCorner"] || [Just "earlessRounded"]) nothing ([Just "earlessCorner"] || [Just "earlessRounded"]) nothing
([Just "earlessCornerHTB"] || [Just "earlessRoundedHTB"]) NHTB ([Just "earlessCornerHTB"] || [Just "earlessRoundedHTB"]) NHTB
__ NTopLeftSerif __ NTopLeftSerif
begin NBottomLeftYatSerif begin NBottomLeftYatSerif
begin NBottomRightYatSerif begin NBottomRightYatSerif
serifedItalicYatCursive : list
match body
([Just "earlessCorner"] || [Just "earlessRounded"]) nothing
([Just "earlessCornerHTB"] || [Just "earlessRoundedHTB"]) NHTB
__ NTopLeftSerif
begin NBottomLeftYatSerif
begin nothing
foreach { suffix { Body tailed {sLT sLB sRB} } } [Object.entries NConfig] : do foreach { suffix { Body tailed {sLT sLB sRB} } } [Object.entries NConfig] : do
create-glyph "n.\(suffix)" : glyph-proc create-glyph "n.\(suffix)" : glyph-proc
@ -275,7 +282,8 @@ glyph-block Letter-Latin-Lower-N : begin
select-variant 'cyrl/peMidHook.italic' (follow -- 'cyrl/pe.italic') select-variant 'cyrl/peMidHook.italic' (follow -- 'cyrl/pe.italic')
select-variant 'cyrl/yat.italic/base' select-variant 'cyrl/yat.italic/base/corner' (shapeFrom -- 'cyrl/yat.italic/base')
select-variant 'cyrl/yat.italic/base/cursive' (shapeFrom -- 'cyrl/yat.italic/base')
do "n with Apostrophe" do "n with Apostrophe"
derive-glyphs 'nApostrophe/comma' null 'commaAbove/asPunctuation' : function [src gr] : glyph-proc derive-glyphs 'nApostrophe/comma' null 'commaAbove/asPunctuation' : function [src gr] : glyph-proc

View file

@ -2946,7 +2946,8 @@ selectorAffix."grek/eta" = ""
selectorAffix."grek/eta/sansSerif" = "" selectorAffix."grek/eta/sansSerif" = ""
selectorAffix."cyrl/pe.italic" = "" selectorAffix."cyrl/pe.italic" = ""
selectorAffix."cyrl/peItalicDescBase" = "" selectorAffix."cyrl/peItalicDescBase" = ""
selectorAffix."cyrl/yat.italic/base" = "" selectorAffix."cyrl/yat.italic/base/corner" = ""
selectorAffix."cyrl/yat.italic/base/cursive" = ""
[prime.n.variants-buildup.stages.body.earless-corner] [prime.n.variants-buildup.stages.body.earless-corner]
rank = 2 rank = 2
@ -2962,7 +2963,8 @@ selectorAffix."grek/eta" = "earlessCorner"
selectorAffix."grek/eta/sansSerif" = "earlessCorner" selectorAffix."grek/eta/sansSerif" = "earlessCorner"
selectorAffix."cyrl/pe.italic" = "" selectorAffix."cyrl/pe.italic" = ""
selectorAffix."cyrl/peItalicDescBase" = "" selectorAffix."cyrl/peItalicDescBase" = ""
selectorAffix."cyrl/yat.italic/base" = "" selectorAffix."cyrl/yat.italic/base/corner" = ""
selectorAffix."cyrl/yat.italic/base/cursive" = ""
[prime.n.variants-buildup.stages.body.earless-rounded] [prime.n.variants-buildup.stages.body.earless-rounded]
rank = 3 rank = 3
@ -2978,7 +2980,8 @@ selectorAffix."grek/eta" = "earlessRounded"
selectorAffix."grek/eta/sansSerif" = "earlessRounded" selectorAffix."grek/eta/sansSerif" = "earlessRounded"
selectorAffix."cyrl/pe.italic" = "" selectorAffix."cyrl/pe.italic" = ""
selectorAffix."cyrl/peItalicDescBase" = "" selectorAffix."cyrl/peItalicDescBase" = ""
selectorAffix."cyrl/yat.italic/base" = "" selectorAffix."cyrl/yat.italic/base/corner" = ""
selectorAffix."cyrl/yat.italic/base/cursive" = ""
[prime.n.variants-buildup.stages.terminal."*"] [prime.n.variants-buildup.stages.terminal."*"]
next = "serifs" next = "serifs"
@ -2997,7 +3000,8 @@ selectorAffix."grek/eta" = "straight"
selectorAffix."grek/eta/sansSerif" = "straight" selectorAffix."grek/eta/sansSerif" = "straight"
selectorAffix."cyrl/pe.italic" = "straight" selectorAffix."cyrl/pe.italic" = "straight"
selectorAffix."cyrl/peItalicDescBase" = "straight" selectorAffix."cyrl/peItalicDescBase" = "straight"
selectorAffix."cyrl/yat.italic/base" = "straight" selectorAffix."cyrl/yat.italic/base/corner" = "straight"
selectorAffix."cyrl/yat.italic/base/cursive" = "straight"
[prime.n.variants-buildup.stages.terminal.tailed] [prime.n.variants-buildup.stages.terminal.tailed]
rank = 2 rank = 2
@ -3013,7 +3017,8 @@ selectorAffix."grek/eta" = "straight"
selectorAffix."grek/eta/sansSerif" = "straight" selectorAffix."grek/eta/sansSerif" = "straight"
selectorAffix."cyrl/pe.italic" = "tailed" selectorAffix."cyrl/pe.italic" = "tailed"
selectorAffix."cyrl/peItalicDescBase" = "straight" selectorAffix."cyrl/peItalicDescBase" = "straight"
selectorAffix."cyrl/yat.italic/base" = "straight" selectorAffix."cyrl/yat.italic/base/corner" = "straight"
selectorAffix."cyrl/yat.italic/base/cursive" = "straight"
[prime.n.variants-buildup.stages.serifs.serifless] [prime.n.variants-buildup.stages.serifs.serifless]
rank = 1 rank = 1
@ -3030,7 +3035,8 @@ selectorAffix."grek/eta" = "serifless"
selectorAffix."grek/eta/sansSerif" = "serifless" selectorAffix."grek/eta/sansSerif" = "serifless"
selectorAffix."cyrl/pe.italic" = "serifless" selectorAffix."cyrl/pe.italic" = "serifless"
selectorAffix."cyrl/peItalicDescBase" = "serifless" selectorAffix."cyrl/peItalicDescBase" = "serifless"
selectorAffix."cyrl/yat.italic/base" = "serifless" selectorAffix."cyrl/yat.italic/base/corner" = "serifless"
selectorAffix."cyrl/yat.italic/base/cursive" = "serifless"
[prime.n.variants-buildup.stages.serifs.top-left-serifed] [prime.n.variants-buildup.stages.serifs.top-left-serifed]
rank = 2 rank = 2
@ -3047,7 +3053,8 @@ selectorAffix."grek/eta" = "topLeftSerifed"
selectorAffix."grek/eta/sansSerif" = "serifless" selectorAffix."grek/eta/sansSerif" = "serifless"
selectorAffix."cyrl/pe.italic" = "topLeftSerifed" selectorAffix."cyrl/pe.italic" = "topLeftSerifed"
selectorAffix."cyrl/peItalicDescBase" = "topLeftSerifed" selectorAffix."cyrl/peItalicDescBase" = "topLeftSerifed"
selectorAffix."cyrl/yat.italic/base" = "topLeftSerifed" selectorAffix."cyrl/yat.italic/base/corner" = "topLeftSerifed"
selectorAffix."cyrl/yat.italic/base/cursive" = "topLeftSerifed"
[prime.n.variants-buildup.stages.serifs.motion-serifed] [prime.n.variants-buildup.stages.serifs.motion-serifed]
rank = 3 rank = 3
@ -3064,7 +3071,8 @@ selectorAffix."grek/eta" = { if = [{ body = "normal" }], then = "topLeftSerifed"
selectorAffix."grek/eta/sansSerif" = "serifless" selectorAffix."grek/eta/sansSerif" = "serifless"
selectorAffix."cyrl/pe.italic" = "motionSerifed" selectorAffix."cyrl/pe.italic" = "motionSerifed"
selectorAffix."cyrl/peItalicDescBase" = "topLeftSerifed" selectorAffix."cyrl/peItalicDescBase" = "topLeftSerifed"
selectorAffix."cyrl/yat.italic/base" = "topLeftSerifed" selectorAffix."cyrl/yat.italic/base/corner" = "topLeftSerifed"
selectorAffix."cyrl/yat.italic/base/cursive" = "topLeftSerifed"
[prime.n.variants-buildup.stages.serifs.serifed] [prime.n.variants-buildup.stages.serifs.serifed]
rank = 4 rank = 4
@ -3080,7 +3088,8 @@ selectorAffix."grek/eta" = { if = [{ body = "normal" }], then = "topLeftSerifed"
selectorAffix."grek/eta/sansSerif" = "serifless" selectorAffix."grek/eta/sansSerif" = "serifless"
selectorAffix."cyrl/pe.italic" = "serifed" selectorAffix."cyrl/pe.italic" = "serifed"
selectorAffix."cyrl/peItalicDescBase" = "serifed" selectorAffix."cyrl/peItalicDescBase" = "serifed"
selectorAffix."cyrl/yat.italic/base" = "serifedItalicYat" selectorAffix."cyrl/yat.italic/base/corner" = "serifedItalicYatCorner"
selectorAffix."cyrl/yat.italic/base/cursive" = "serifedItalicYatCursive"