Remaining bug fixes (#2018, #2088)

This commit is contained in:
be5invis 2023-11-12 19:50:43 -08:00
parent 2abffb0e69
commit 4831e4e079
3 changed files with 43 additions and 22 deletions

View file

@ -1,7 +1,7 @@
* \[**BREAKING**\] The filenames and package filenames are changed. * \[**BREAKING**\] The filenames and package filenames are changed.
- They will now use PascalCase instead of kebab-case. - They will now use PascalCase instead of kebab-case.
- To package manager maintainers: Please upgrade your script to make it capable to download and install the fonts under new names, and properly uninstall the fonts under old names. - To package manager maintainers: Please upgrade your script to make it capable to download and install the fonts under new names, and properly uninstall the fonts under old names.
* \[**BREAKING**\] Certain properties in the build plans are changed to camelCase. Using them will trigger a build failure. * \[**BREAKING**\] Certain properties in the build plans are changed to camelCase. Using them will trigger a build failure.
- `no-cv-ss``noCvSs` - `no-cv-ss``noCvSs`
- `no-ligation``noLigation` - `no-ligation``noLigation`
- `export-glyph-names``exportGlyphNames` - `export-glyph-names``exportGlyphNames`
@ -10,9 +10,11 @@
- `compatibility-ligatures``compatibilityLigatures` - `compatibility-ligatures``compatibilityLigatures`
- `exclude-chars``excludeChars` - `exclude-chars``excludeChars`
- `webfont-formats``webfontFormats` - `webfont-formats``webfontFormats`
* \[**BREAKING**\] The "SGr" TTC packages for Iosevka Aile and Etoile will no longer be generated, as they are duplicates to the non-SGr TTC packages. * \[**BREAKING**\] The "SGr" TTC packages for Iosevka Aile and Etoile will no longer be generated, as they are duplicates to the non-SGr TTC packages.
* \[**BREAKING**\] Reorder of glyph variants: * \[**BREAKING**\] Reorder of glyph variants:
- Influenced characters: `M`, `R`, `f`, `t`, `x`, Long S (`ſ`), Lower Lambda (`λ`), Lower Tau (`τ`), Lower Chi (`χ`), Cyrillic Lower Em (`м`), Cyrillic Lower Ef (`ф`), Cyrillic Ya (`Я`, `я`), `5`. - Influenced characters: `M`, `R`, `f`, `t`, `x`, Long S (`ſ`), Lower Lambda (`λ`), Lower Tau (`τ`), Lower Chi (`χ`), Cyrillic Lower Em (`м`), Cyrillic Lower Ef (`ф`), Cyrillic Ya (`Я`, `я`), `5`.
* \[**BREAKING**\] Tags for variant features for Cyrillic lowercase Er and U are changed to `cv76` and `cv78`. * \[**BREAKING**\] Tags for variant features for Cyrillic lowercase Er and U are changed to `cv76` and `cv78`.
- Various other glyph variant tags are also changed to reflect this insertion. - Various other glyph variant tags are also changed to reflect this insertion.
* Add hook-inward-serifed variants for `a` (#2085). * Add Characters:
- CYRILLIC CAPITAL LETTER LHA (`U+0514`) ... CYRILLIC SMALL LETTER YAE (`U+0519`) (#2018).
* Add hook-inward-serifed variants for `a` (#2085).

View file

@ -203,7 +203,7 @@ glyph-block Letter-Latin-Lower-AE-OE : begin
glyph-block-import Letter-Latin-Upper-P : PShape PBarPosY glyph-block-import Letter-Latin-Upper-P : PShape PBarPosY
glyph-block-import Letter-Latin-Upper-R : RevRShape RConfig RBarPos glyph-block-import Letter-Latin-Upper-R : RevRShape RConfig RBarPos
# Ya # ya
foreach { suffix { legShape fOpen fTailed {slabs revSlabs doLegSlab} } } [Object.entries RConfig] : begin foreach { suffix { legShape fOpen fTailed {slabs revSlabs doLegSlab} } } [Object.entries RConfig] : begin
local fSlabBot : slabs && slabs !== PShape.SlabMotion local fSlabBot : slabs && slabs !== PShape.SlabMotion
@ -223,7 +223,7 @@ glyph-block Letter-Latin-Lower-AE-OE : begin
eject-contour 'serifRT' eject-contour 'serifRT'
include : VBar.r subDf.rightSB [PBarPosY XH df.mvs bp] XH df.mvs include : VBar.r subDf.rightSB [PBarPosY XH df.mvs bp] XH df.mvs
# P # p
glyph-block-import Letter-Latin-Lower-P : PConfig glyph-block-import Letter-Latin-Lower-P : PConfig
foreach { suffix { Body {Serifs doBS} }} [Object.entries PConfig] : do foreach { suffix { Body {Serifs doBS} }} [Object.entries PConfig] : do
create-glyph "cyrl/rha/left.\(suffix)" : glyph-proc create-glyph "cyrl/rha/left.\(suffix)" : glyph-proc
@ -234,7 +234,7 @@ glyph-block Letter-Latin-Lower-AE-OE : begin
include : Body include : Body
left -- subDf.leftSB left -- subDf.leftSB
right -- subDf.rightSB right -- subDf.rightSB + OX
sw -- df.mvs sw -- df.mvs
include : Serifs subDf XH df.mvs include : Serifs subDf XH df.mvs
include : LeaningAnchor.Below.VBar.l SB include : LeaningAnchor.Below.VBar.l SB
@ -275,7 +275,7 @@ glyph-block Letter-Latin-Lower-AE-OE : begin
include : halfLetterShape df XH 0 0.1 0.20 include : halfLetterShape df XH 0 0.1 0.20
create-glyph "cyrl/lha/right.\(suffix)" : glyph-proc create-glyph "cyrl/lha/right.\(suffix)" : glyph-proc
local df : DivFrame para.diversityM 3.5 local df : DivFrame para.diversityM 3.2
set-width 0 set-width 0
set-mark-anchor 'cvDecompose' 0 0 set-mark-anchor 'cvDecompose' 0 0
@ -283,7 +283,7 @@ glyph-block Letter-Latin-Lower-AE-OE : begin
include : with-transform [ApparentTranslate shift 0] : LhaRightLetterShape subDf XH 0 0.1 0.20 include : with-transform [ApparentTranslate shift 0] : LhaRightLetterShape subDf XH 0 0.1 0.20
create-glyph "cyrl/Lha/right.\(suffix)" : glyph-proc create-glyph "cyrl/Lha/right.\(suffix)" : glyph-proc
local df : DivFrame para.diversityM 3.5 local df : DivFrame para.diversityM 3.2
set-width 0 set-width 0
set-mark-anchor 'cvDecompose' 0 0 set-mark-anchor 'cvDecompose' 0 0
@ -324,14 +324,14 @@ glyph-block Letter-Latin-Lower-AE-OE : begin
# El # El
glyph-block-import Letter-Cyrillic-El : CyrElShape glyph-block-import Letter-Cyrillic-El : CyrElShape
create-glyph 'cyrl/Lha/left' : glyph-proc create-glyph 'cyrl/Lha/left' : glyph-proc
local df : include : DivFrame para.diversityM 3.5 local df : include : DivFrame para.diversityM 3.2
include : df.markSet.capital include : df.markSet.capital
local { subDf } : SubDfAndShiftEx 6 3 0 df local { subDf } : SubDfAndShiftEx 6 3 0 df
set-base-anchor 'cvDecompose' 0 0 set-base-anchor 'cvDecompose' 0 0
include : CyrElShape subDf.leftSB (subDf.rightSB - [HSwToV : 0.5 * df.mvs]) CAP 0 [if SLAB 4 0] df.mvs include : CyrElShape subDf.leftSB (subDf.rightSB - [HSwToV : 0.5 * df.mvs]) CAP 0 [if SLAB 4 0] df.mvs
create-glyph 'cyrl/lha/left' : glyph-proc create-glyph 'cyrl/lha/left' : glyph-proc
local df : include : DivFrame para.diversityM 3.5 local df : include : DivFrame para.diversityM 3.2
include : df.markSet.e include : df.markSet.e
local { subDf } : SubDfAndShiftEx 6 3 0 df local { subDf } : SubDfAndShiftEx 6 3 0 df
set-base-anchor 'cvDecompose' 0 0 set-base-anchor 'cvDecompose' 0 0
@ -395,7 +395,6 @@ glyph-block Letter-Latin-Lower-AE-OE : begin
derive-composites 'oeInv' 0xAB40 'oe/o' 'aeInvE/right' derive-composites 'oeInv' 0xAB40 'oe/o' 'aeInvE/right'
derive-composites 'cyrl/lha' 0x515 'cyrl/lha/left' 'cyrl/lha/right' derive-composites 'cyrl/lha' 0x515 'cyrl/lha/left' 'cyrl/lha/right'
derive-composites 'cyrl/Lha' 0x514 'cyrl/Lha/left' 'cyrl/Lha/right' derive-composites 'cyrl/Lha' 0x514 'cyrl/Lha/left' 'cyrl/Lha/right'
derive-composites 'cyrl/rha' 0x517 'cyrl/rha/left' 'cyrl/rha/right'
derive-composites 'cyrl/yae' 0x519 'cyrl/yae/left' 'ae/e' derive-composites 'cyrl/yae' 0x519 'cyrl/yae/left' 'ae/e'
alias 'cyrl/ae' 0x4D5 'ae' alias 'cyrl/ae' 0x4D5 'ae'
@ -419,3 +418,20 @@ glyph-block Letter-Latin-Lower-AE-OE : begin
select-variant 'cyrl/este/left' (follow -- 'cBottomSerifOnly') select-variant 'cyrl/este/left' (follow -- 'cBottomSerifOnly')
select-variant 'cyrl/este/right' (follow -- 'T') select-variant 'cyrl/este/right' (follow -- 'T')
derive-composites 'cyrl/este' null 'cyrl/este/left' 'cyrl/este/right' derive-composites 'cyrl/este' null 'cyrl/este/left' 'cyrl/este/right'
glyph-block-export BuildRha
define [BuildRha srcs] : glyph-proc
local df : include : DivFrame para.diversityM 3
include : df.markSet.p
local {ra ha} srcs
include : union
refer-glyph ra
difference
refer-glyph ha
with-transform [ApparentTranslate (-0.25 * df.mvs) 0] [refer-glyph ra]
with-transform [ApparentTranslate (-0.50 * df.mvs) 0] [refer-glyph ra]
with-transform [ApparentTranslate (-0.75 * df.mvs) 0] [refer-glyph ra]
with-transform [ApparentTranslate (-1.00 * df.mvs) 0] [refer-glyph ra]
derive-multi-part-glyphs 'cyrl/rha' 0x517 { 'cyrl/rha/left' 'cyrl/rha/right' } BuildRha

View file

@ -85,10 +85,20 @@ glyph-block Letter-Latin-Upper-AA-AO : begin
with-transform [ApparentTranslate topSerifGap 0] [refer-glyph leftMask] with-transform [ApparentTranslate topSerifGap 0] [refer-glyph leftMask]
with-transform [ApparentTranslate (OX - 0.1) 0] [refer-glyph rightMask] with-transform [ApparentTranslate (OX - 0.1) 0] [refer-glyph rightMask]
do "AO"
derive-multi-part-glyphs 'AO' 0xA734 {"AA/Left" "AA/LeftMask" "OO/right"}
function [srcs gr] : glyph-proc
define df : DivFrame para.diversityM 3.5
define topSerifGap : Math.max (0.1 * (df.rightSB - df.leftSB)) [AdviceStroke 6]
define { left leftMask right } srcs
include [refer-glyph left] AS_BASE ALSO_METRICS
include : difference [refer-glyph right] [refer-glyph leftMask]
do "RHA" do "RHA"
glyph-block-import Letter-Shared-Shapes : SerifFrame WithSerifOverflowMask glyph-block-import Letter-Shared-Shapes : SerifFrame WithSerifOverflowMask
glyph-block-import Letter-Latin-Upper-P : PShape PConfig glyph-block-import Letter-Latin-Upper-P : PShape PConfig
glyph-block-import Letter-Latin-X : XConfig XLetterForm XSerifs glyph-block-import Letter-Latin-X : XConfig XLetterForm XSerifs
glyph-block-import Letter-Latin-Lower-AE-OE : BuildRha
foreach { suffix { fGap slabs revSlabs } } [Object.entries PConfig] : do foreach { suffix { fGap slabs revSlabs } } [Object.entries PConfig] : do
local fMotion : slabs === PShape.SlabMotion local fMotion : slabs === PShape.SlabMotion
@ -124,11 +134,4 @@ glyph-block Letter-Latin-Upper-AA-AO : begin
select-variant "cyrl/Rha/left" (follow -- 'P') select-variant "cyrl/Rha/left" (follow -- 'P')
select-variant "cyrl/Rha/right" select-variant "cyrl/Rha/right"
derive-composites "cyrl/Rha" 0x516 'cyrl/Rha/left' 'cyrl/Rha/right' derive-multi-part-glyphs "cyrl/Rha" 0x516 {'cyrl/Rha/left' 'cyrl/Rha/right'} BuildRha
derive-multi-part-glyphs 'AO' 0xA734 {"AA/Left" "AA/LeftMask" "OO/right"} : function [srcs gr] : glyph-proc
define df : DivFrame para.diversityM 3.5
define topSerifGap : Math.max (0.1 * (df.rightSB - df.leftSB)) [AdviceStroke 6]
define { left leftMask right } srcs
include [refer-glyph left] AS_BASE ALSO_METRICS
include : difference [refer-glyph right] [refer-glyph leftMask]