diff --git a/changes/33.1.0.md b/changes/33.1.0.md index b030fe3b8..669fddc4d 100644 --- a/changes/33.1.0.md +++ b/changes/33.1.0.md @@ -1,5 +1,6 @@ * Add `full-serifed` variants for `K` and `k`, and related letters (#2696). * Add `top-right-serifed` and `tri-serifed` variants for `K` and `k`, and related letters. * Add `cursive` variant for Greek Lower Theta (`θ`). -* Add IPA localization form for Latin Lower G with Stroke (`ǥ`). +* Add IPA localization form for Latin Lower `a` and `g`. +* Add IPA localization form for Latin Lower G with Stroke (`ǥ`) (#2632). * Add variant selectors for Greek Lower Eta (`η`) and Kappa (`κ`). diff --git a/packages/font-glyphs/src/letter/greek/orthography.ptl b/packages/font-glyphs/src/letter/greek/orthography.ptl index 17f4036fc..36c62026a 100644 --- a/packages/font-glyphs/src/letter/greek/orthography.ptl +++ b/packages/font-glyphs/src/letter/greek/orthography.ptl @@ -9,7 +9,49 @@ glyph-block Letter-Greek-Orthography : begin # Link localization forms - link-gr LocalizedForm.IPPH 'gBar' 'gScriptBar' - link-gr LocalizedForm.IPPH 'grek/beta' 'latn/beta' - link-gr LocalizedForm.IPPH 'grek/theta' 'grek/theta/nonCursive' - link-gr LocalizedForm.IPPH 'grek/chi' 'latn/chi' + link-gr LocalizedForm.IPPH 'a' 'a/doubleStorey' + link-gr LocalizedForm.IPPH 'aGrave' 'aGrave/doubleStorey' + link-gr LocalizedForm.IPPH 'aAcute' 'aAcute/doubleStorey' + link-gr LocalizedForm.IPPH 'aCircum' 'aCircum/doubleStorey' + link-gr LocalizedForm.IPPH 'aTilde' 'aTilde/doubleStorey' + link-gr LocalizedForm.IPPH 'aDieresis' 'aDieresis/doubleStorey' + link-gr LocalizedForm.IPPH 'aRing' 'aRing/doubleStorey' + link-gr LocalizedForm.IPPH 'aMacron' 'aMacron/doubleStorey' + link-gr LocalizedForm.IPPH 'aBreve' 'aBreve/doubleStorey' + link-gr LocalizedForm.IPPH 'aOgonek' 'aOgonek/doubleStorey' + link-gr LocalizedForm.IPPH 'aCaron' 'aCaron/doubleStorey' + link-gr LocalizedForm.IPPH 'aDieresisMacron' 'aDieresisMacron/doubleStorey' + link-gr LocalizedForm.IPPH 'aDotMacron' 'aDotMacron/doubleStorey' + link-gr LocalizedForm.IPPH 'aRingAcute' 'aRingAcute/doubleStorey' + link-gr LocalizedForm.IPPH 'aDblGrave' 'aDblGrave/doubleStorey' + link-gr LocalizedForm.IPPH 'aInvBreve' 'aInvBreve/doubleStorey' + link-gr LocalizedForm.IPPH 'aDot' 'aDot/doubleStorey' + link-gr LocalizedForm.IPPH 'aRetroflexHook' 'aRetroflexHook/doubleStorey' + link-gr LocalizedForm.IPPH 'aBelowring' 'aBelowring/doubleStorey' + link-gr LocalizedForm.IPPH 'aRightHalfRing' 'aRightHalfRing/doubleStorey' + link-gr LocalizedForm.IPPH 'aBelowdot' 'aBelowdot/doubleStorey' + link-gr LocalizedForm.IPPH 'aHook' 'aHook/doubleStorey' + link-gr LocalizedForm.IPPH 'aCircumAcute' 'aCircumAcute/doubleStorey' + link-gr LocalizedForm.IPPH 'aCircumGrave' 'aCircumGrave/doubleStorey' + link-gr LocalizedForm.IPPH 'aCircumHook' 'aCircumHook/doubleStorey' + link-gr LocalizedForm.IPPH 'aCircumTilde' 'aCircumTilde/doubleStorey' + link-gr LocalizedForm.IPPH 'aCircumBelowdot' 'aCircumBelowdot/doubleStorey' + link-gr LocalizedForm.IPPH 'aBreveAcute' 'aBreveAcute/doubleStorey' + link-gr LocalizedForm.IPPH 'aBreveGrave' 'aBreveGrave/doubleStorey' + link-gr LocalizedForm.IPPH 'aBreveHook' 'aBreveHook/doubleStorey' + link-gr LocalizedForm.IPPH 'aBreveTilde' 'aBreveTilde/doubleStorey' + link-gr LocalizedForm.IPPH 'aBreveBelowdot' 'aBreveBelowdot/doubleStorey' + + link-gr LocalizedForm.IPPH 'g' 'g/doubleStorey' + link-gr LocalizedForm.IPPH 'gCircum' 'gCircum/doubleStorey' + link-gr LocalizedForm.IPPH 'gBreve' 'gBreve/doubleStorey' + link-gr LocalizedForm.IPPH 'gDot' 'gDot/doubleStorey' + link-gr LocalizedForm.IPPH 'gCedilla' 'gCedilla/doubleStorey' + link-gr LocalizedForm.IPPH 'gBar' 'gScriptBar' + link-gr LocalizedForm.IPPH 'gCaron' 'gCaron/doubleStorey' + link-gr LocalizedForm.IPPH 'gAcute' 'gAcute/doubleStorey' + link-gr LocalizedForm.IPPH 'gMacron' 'gMacron/doubleStorey' + + link-gr LocalizedForm.IPPH 'grek/beta' 'latn/beta' + link-gr LocalizedForm.IPPH 'grek/theta' 'grek/theta/nonCursive' + link-gr LocalizedForm.IPPH 'grek/chi' 'latn/chi' diff --git a/packages/font-glyphs/src/letter/latin/lower-a.ptl b/packages/font-glyphs/src/letter/latin/lower-a.ptl index b26f4fb75..c189f67a0 100644 --- a/packages/font-glyphs/src/letter/latin/lower-a.ptl +++ b/packages/font-glyphs/src/letter/latin/lower-a.ptl @@ -9,7 +9,7 @@ glyph-block Letter-Latin-Lower-A : begin glyph-block-import CommonShapes glyph-block-import Common-Derivatives glyph-block-import Mark-Shared-Metrics : markHalfStroke - glyph-block-import Letter-Shared : CreateAccentedComposition CreateTurnedLetter + glyph-block-import Letter-Shared : CreateAccentedComposition CreateMultiAccentedComposition CreateTurnedLetter glyph-block-import Letter-Shared-Shapes : SerifFrame OBarLeft OBarRight ArcStartSerif glyph-block-import Letter-Shared-Shapes : RightwardTailedBar RetroflexHook glyph-block-import Letter-Shared-Shapes : InwardSlabArcStart @@ -286,6 +286,7 @@ glyph-block Letter-Latin-Lower-A : begin CreateTurnedLetter 'turna' 0x250 'a/doubleStorey' HalfAdvance (XH / 2) select-variant 'aRetroflexHook' 0x1D8F + link-reduced-variant 'aRetroflexHook/doubleStorey' 'aRetroflexHook' select-variant 'grek/alpha' 0x3B1 (shapeFrom -- 'a') link-reduced-variant 'grek/alpha/sansSerif' 'grek/alpha' MathSansSerif (shapeFrom -- 'a') @@ -298,6 +299,68 @@ glyph-block Letter-Latin-Lower-A : begin CreateTurnedLetter 'turnaScript' 0x252 'aScript' HalfAdvance (XH / 2) CreateTurnedLetter 'turnAScript' 0x2C70 'AScript' HalfAdvance (CAP / 2) - CreateAccentedComposition 'aDieresis' 0xE4 'a' 'dieresisAbove' + CreateAccentedComposition 'aGrave' 0xE0 'a' 'graveAbove' + CreateAccentedComposition 'aAcute' 0xE1 'a' 'acuteAbove' + CreateAccentedComposition 'aCircum' 0xE2 'a' 'circumflexAbove' + CreateAccentedComposition 'aTilde' 0xE3 'a' 'tildeAbove' + CreateAccentedComposition 'aDieresis' 0xE4 'a' 'dieresisAbove' + CreateAccentedComposition 'aRing' 0xE5 'a' 'ringAbove' + CreateAccentedComposition 'aMacron' 0x101 'a' 'macronAbove' + CreateAccentedComposition 'aBreve' 0x103 'a' 'breveAbove' + CreateAccentedComposition 'aOgonek' 0x105 'a' 'ogonekBelow' + CreateAccentedComposition 'aCaron' 0x1CE 'a' 'caronAbove' + CreateAccentedComposition 'aDblGrave' 0x201 'a' 'doubleGraveAbove' + CreateAccentedComposition 'aInvBreve' 0x203 'a' 'archAbove' + CreateAccentedComposition 'aDot' 0x227 'a' 'dotAbove' + CreateAccentedComposition 'aBelowring' 0x1E01 'a' 'ringBelow' + CreateAccentedComposition 'aBelowdot' 0x1EA1 'a' 'dotBelow' + CreateAccentedComposition 'aHook' 0x1EA3 'a' 'hookAbove' + CreateAccentedComposition 'aRightHalfRing' 0x1E9A 'a' 'rightHalfCircleTR' + + CreateMultiAccentedComposition 'aDieresisMacron' 0x1DF 'a' { 'dieresisAbove' 'macronAbove' } + CreateMultiAccentedComposition 'aDotMacron' 0x1E1 'a' { 'dotAbove' 'macronAbove' } + CreateMultiAccentedComposition 'aRingAcute' 0x1FB 'a' { 'ringAbove' 'acuteAbove' } + CreateMultiAccentedComposition 'aCircumAcute' 0x1EA5 'a' { 'circumflexAbove' 'acuteAbove' } + CreateMultiAccentedComposition 'aCircumGrave' 0x1EA7 'a' { 'circumflexAbove' 'graveAbove' } + CreateMultiAccentedComposition 'aCircumHook' 0x1EA9 'a' { 'circumflexAbove' 'hookAbove' } + CreateMultiAccentedComposition 'aCircumTilde' 0x1EAB 'a' { 'circumflexAbove' 'tildeAbove' } + CreateMultiAccentedComposition 'aCircumBelowdot' 0x1EAD 'a' { 'circumflexAbove' 'dotBelow' } + CreateMultiAccentedComposition 'aBreveAcute' 0x1EAF 'a' { 'breveAbove' 'acuteAbove' } + CreateMultiAccentedComposition 'aBreveGrave' 0x1EB1 'a' { 'breveAbove' 'graveAbove' } + CreateMultiAccentedComposition 'aBreveHook' 0x1EB3 'a' { 'breveAbove' 'hookAbove' } + CreateMultiAccentedComposition 'aBreveTilde' 0x1EB5 'a' { 'breveAbove' 'tildeAbove' } + CreateMultiAccentedComposition 'aBreveBelowdot' 0x1EB7 'a' { 'breveAbove' 'dotBelow' } + + CreateAccentedComposition 'aGrave/doubleStorey' null 'a/doubleStorey' 'graveAbove' + CreateAccentedComposition 'aAcute/doubleStorey' null 'a/doubleStorey' 'acuteAbove' + CreateAccentedComposition 'aCircum/doubleStorey' null 'a/doubleStorey' 'circumflexAbove' + CreateAccentedComposition 'aTilde/doubleStorey' null 'a/doubleStorey' 'tildeAbove' + CreateAccentedComposition 'aDieresis/doubleStorey' null 'a/doubleStorey' 'dieresisAbove' + CreateAccentedComposition 'aRing/doubleStorey' null 'a/doubleStorey' 'ringAbove' + CreateAccentedComposition 'aMacron/doubleStorey' null 'a/doubleStorey' 'macronAbove' + CreateAccentedComposition 'aBreve/doubleStorey' null 'a/doubleStorey' 'breveAbove' + CreateAccentedComposition 'aOgonek/doubleStorey' null 'a/doubleStorey' 'ogonekBelow' + CreateAccentedComposition 'aCaron/doubleStorey' null 'a/doubleStorey' 'caronAbove' + CreateAccentedComposition 'aDblGrave/doubleStorey' null 'a/doubleStorey' 'doubleGraveAbove' + CreateAccentedComposition 'aInvBreve/doubleStorey' null 'a/doubleStorey' 'archAbove' + CreateAccentedComposition 'aDot/doubleStorey' null 'a/doubleStorey' 'dotAbove' + CreateAccentedComposition 'aBelowring/doubleStorey' null 'a/doubleStorey' 'ringBelow' + CreateAccentedComposition 'aBelowdot/doubleStorey' null 'a/doubleStorey' 'dotBelow' + CreateAccentedComposition 'aHook/doubleStorey' null 'a/doubleStorey' 'hookAbove' + CreateAccentedComposition 'aRightHalfRing/doubleStorey' null 'a/doubleStorey' 'rightHalfCircleAbove' + + CreateMultiAccentedComposition 'aDieresisMacron/doubleStorey' null 'a/doubleStorey' { 'dieresisAbove' 'macronAbove' } + CreateMultiAccentedComposition 'aDotMacron/doubleStorey' null 'a/doubleStorey' { 'dotAbove' 'macronAbove' } + CreateMultiAccentedComposition 'aRingAcute/doubleStorey' null 'a/doubleStorey' { 'ringAbove' 'acuteAbove' } + CreateMultiAccentedComposition 'aCircumAcute/doubleStorey' null 'a/doubleStorey' { 'circumflexAbove' 'acuteAbove' } + CreateMultiAccentedComposition 'aCircumGrave/doubleStorey' null 'a/doubleStorey' { 'circumflexAbove' 'graveAbove' } + CreateMultiAccentedComposition 'aCircumHook/doubleStorey' null 'a/doubleStorey' { 'circumflexAbove' 'hookAbove' } + CreateMultiAccentedComposition 'aCircumTilde/doubleStorey' null 'a/doubleStorey' { 'circumflexAbove' 'tildeAbove' } + CreateMultiAccentedComposition 'aCircumBelowdot/doubleStorey' null 'a/doubleStorey' { 'circumflexAbove' 'dotBelow' } + CreateMultiAccentedComposition 'aBreveAcute/doubleStorey' null 'a/doubleStorey' { 'breveAbove' 'acuteAbove' } + CreateMultiAccentedComposition 'aBreveGrave/doubleStorey' null 'a/doubleStorey' { 'breveAbove' 'graveAbove' } + CreateMultiAccentedComposition 'aBreveHook/doubleStorey' null 'a/doubleStorey' { 'breveAbove' 'hookAbove' } + CreateMultiAccentedComposition 'aBreveTilde/doubleStorey' null 'a/doubleStorey' { 'breveAbove' 'tildeAbove' } + CreateMultiAccentedComposition 'aBreveBelowdot/doubleStorey' null 'a/doubleStorey' { 'breveAbove' 'dotBelow' } + CreateAccentedComposition 'aSbRsbUnderlineBelow' null 'a' 'sbRsbUnderlineBelow' - CreateAccentedComposition 'aRightHalfRingTR' 0x1E9A 'a' 'rightHalfCircleTR' diff --git a/packages/font-glyphs/src/letter/latin/lower-g.ptl b/packages/font-glyphs/src/letter/latin/lower-g.ptl index 8121e45e7..c3da498c4 100644 --- a/packages/font-glyphs/src/letter/latin/lower-g.ptl +++ b/packages/font-glyphs/src/letter/latin/lower-g.ptl @@ -9,7 +9,7 @@ glyph-block Letter-Latin-Lower-G : begin glyph-block-import CommonShapes glyph-block-import Common-Derivatives glyph-block-import Mark-Adjustment : ExtendAboveBaseAnchors LeaningAnchor - glyph-block-import Letter-Shared : CreateTurnedLetter + glyph-block-import Letter-Shared : CreateAccentedComposition CreateTurnedLetter glyph-block-import Letter-Shared-Shapes : OBarLeft OBarRight FlatHookDepth glyph-block-import Letter-Shared-Shapes : CurlyTail PalatalHook TopHook @@ -204,13 +204,14 @@ glyph-block Letter-Latin-Lower-G : begin select-variant 'g' 'g' link-reduced-variant 'g/sansSerif' 'g' MathSansSerif + link-reduced-variant 'g/doubleStorey' 'g' CreateTurnedLetter 'turng' 0x1D77 'g' HalfAdvance [mix Descender XH 0.5] select-variant "gBar" 0x1E5 (follow -- 'g') - select-variant 'gScript' 0x261 (follow -- [conditional-follow SLAB 'g/singleStorey/autoSerifed/slab' 'g/singleStorey/autoSerifed/sans']) (shapeFrom -- 'g') - select-variant 'GScript' 0xA7AC (follow -- [conditional-follow SLAB 'g/singleStorey/autoSerifed/slab' 'g/singleStorey/autoSerifed/sans']) + select-variant 'gScript' 0x261 (follow -- [conditional-follow SLAB 'g/singleStorey/autoSerifed/slab' 'g/singleStorey/autoSerifed/sans']) (shapeFrom -- 'g') + select-variant 'GScript' 0xA7AC (follow -- [conditional-follow SLAB 'g/singleStorey/autoSerifed/slab' 'g/singleStorey/autoSerifed/sans']) select-variant 'gScriptPalatalHook' 0x1D83 (follow -- [conditional-follow SLAB 'g/singleStorey/autoSerifed/slab' 'g/singleStorey/autoSerifed/sans']) (shapeFrom -- 'gPalatalHook') - select-variant 'gScriptBar' (follow -- [conditional-follow SLAB 'g/singleStorey/autoSerifed/slab' 'g/singleStorey/autoSerifed/sans']) (shapeFrom -- 'gBar') + select-variant 'gScriptBar' (follow -- [conditional-follow SLAB 'g/singleStorey/autoSerifed/slab' 'g/singleStorey/autoSerifed/sans']) (shapeFrom -- 'gBar') select-variant 'gScriptCrossedTail' 0xAB36 (follow -- [conditional-follow SLAB 'g/singleStoreyBentHook/autoSerifed/slab' 'g/singleStoreyBentHook/autoSerifed/sans']) alias 'cyrl/de.BGR' null 'gScript' @@ -237,3 +238,20 @@ glyph-block Letter-Latin-Lower-G : begin include : intersection VBar.r (RightSB - BBD) Descender XH BBS SingleStorey.BentHookT spiro-outline [DivFrame 1] XH 1 BBS + + CreateAccentedComposition 'gCircum' 0x11D 'g' 'circumflexAbove' + CreateAccentedComposition 'gBreve' 0x11F 'g' 'breveAbove' + CreateAccentedComposition 'gDot' 0x121 'g' 'dotAbove' + CreateAccentedComposition 'gCedilla' 0x123 'g' 'turnCommaAbove' + CreateAccentedComposition 'gCaron' 0x1E7 'g' 'caronAbove' + CreateAccentedComposition 'gAcute' 0x1F5 'g' 'acuteAbove' + CreateAccentedComposition 'gMacron' 0x1E21 'g' 'macronAbove' + + CreateAccentedComposition 'gCircum/doubleStorey' null 'g/doubleStorey' 'circumflexAbove' + CreateAccentedComposition 'gBreve/doubleStorey' null 'g/doubleStorey' 'breveAbove' + CreateAccentedComposition 'gDot/doubleStorey' null 'g/doubleStorey' 'dotAbove' + CreateAccentedComposition 'gCaron/doubleStorey' null 'g/doubleStorey' 'caronAbove' + CreateAccentedComposition 'gAcute/doubleStorey' null 'g/doubleStorey' 'acuteAbove' + CreateAccentedComposition 'gMacron/doubleStorey' null 'g/doubleStorey' 'macronAbove' + + derive-composites 'gCedilla/doubleStorey' null 'g/doubleStorey' 'cedillaExtShapeBelowSOArc' diff --git a/packages/font-glyphs/src/meta/unicode-knowledge.ptl b/packages/font-glyphs/src/meta/unicode-knowledge.ptl index 50e6cdab4..d9682d48a 100644 --- a/packages/font-glyphs/src/meta/unicode-knowledge.ptl +++ b/packages/font-glyphs/src/meta/unicode-knowledge.ptl @@ -38,7 +38,6 @@ export : define decompOverrides : object # Latvians use comma instead of cedillas in several letters. # Record them as custom decomposition. 0x122 { 'G' 'commaBelow' } - 0x123 { 'g' 'turnCommaAbove' } 0x136 { 'K' 'commaBelow' } 0x137 { 'k' 'commaBelow' } 0x13B { 'L' 'commaBelow' } diff --git a/params/variants.toml b/params/variants.toml index 75ef38363..d8dd7a406 100644 --- a/params/variants.toml +++ b/params/variants.toml @@ -2185,6 +2185,7 @@ selectorAffix.a = "doubleStorey" selectorAffix."a/sansSerif" = "doubleStorey" selectorAffix."aRetroflexHook" = "doubleStorey" selectorAffix."a/doubleStorey" = "doubleStorey" +selectorAffix."aRetroflexHook/doubleStorey" = "doubleStorey" selectorAffix."a/singleStorey/autoSerifed/slab" = "singleStorey" selectorAffix."a/singleStorey/autoSerifed/sans" = "singleStorey" selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = "singleStorey" @@ -2199,6 +2200,7 @@ selectorAffix.a = "singleStorey" selectorAffix."a/sansSerif" = "singleStorey" selectorAffix."aRetroflexHook" = "singleStorey" selectorAffix."a/doubleStorey" = "doubleStorey" +selectorAffix."aRetroflexHook/doubleStorey" = "doubleStorey" selectorAffix."a/singleStorey/autoSerifed/slab" = "singleStorey" selectorAffix."a/singleStorey/autoSerifed/sans" = "singleStorey" selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = "singleStorey" @@ -2216,6 +2218,7 @@ selectorAffix.a = "" selectorAffix."a/sansSerif" = "" selectorAffix."aRetroflexHook" = "" selectorAffix."a/doubleStorey" = "" +selectorAffix."aRetroflexHook/doubleStorey" = "" selectorAffix."a/singleStorey/autoSerifed/slab" = "" selectorAffix."a/singleStorey/autoSerifed/sans" = "" selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = "" @@ -2230,6 +2233,7 @@ selectorAffix.a = "hookInwardSerifed" selectorAffix."a/sansSerif" = "" selectorAffix."aRetroflexHook" = "hookInwardSerifed" selectorAffix."a/doubleStorey" = "hookInwardSerifed" +selectorAffix."aRetroflexHook/doubleStorey" = "hookInwardSerifed" selectorAffix."a/singleStorey/autoSerifed/slab" = "" selectorAffix."a/singleStorey/autoSerifed/sans" = "" selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = "" @@ -2246,6 +2250,7 @@ selectorAffix.a = "" selectorAffix."a/sansSerif" = "" selectorAffix."aRetroflexHook" = "" selectorAffix."a/doubleStorey" = "" +selectorAffix."aRetroflexHook/doubleStorey" = "" selectorAffix."a/singleStorey/autoSerifed/slab" = "" selectorAffix."a/singleStorey/autoSerifed/sans" = "" selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = "" @@ -2259,6 +2264,7 @@ selectorAffix.a = "topCut" selectorAffix."a/sansSerif" = "topCut" selectorAffix."aRetroflexHook" = "topCut" selectorAffix."a/doubleStorey" = "" +selectorAffix."aRetroflexHook/doubleStorey" = "" selectorAffix."a/singleStorey/autoSerifed/slab" = "topCut" selectorAffix."a/singleStorey/autoSerifed/sans" = "topCut" selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = "topCut" @@ -2272,6 +2278,7 @@ selectorAffix.a = "earlessCorner" selectorAffix."a/sansSerif" = "earlessCorner" selectorAffix."aRetroflexHook" = "earlessCorner" selectorAffix."a/doubleStorey" = "" +selectorAffix."aRetroflexHook/doubleStorey" = "" selectorAffix."a/singleStorey/autoSerifed/slab" = "earlessCorner" selectorAffix."a/singleStorey/autoSerifed/sans" = "earlessCorner" selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = "earlessCorner" @@ -2285,6 +2292,7 @@ selectorAffix.a = "earlessRounded" selectorAffix."a/sansSerif" = "earlessRounded" selectorAffix."aRetroflexHook" = "earlessRounded" selectorAffix."a/doubleStorey" = "" +selectorAffix."aRetroflexHook/doubleStorey" = "" selectorAffix."a/singleStorey/autoSerifed/slab" = "earlessRounded" selectorAffix."a/singleStorey/autoSerifed/sans" = "earlessRounded" selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = "earlessRounded" @@ -2299,6 +2307,7 @@ selectorAffix.a = "serifless" selectorAffix."a/sansSerif" = "serifless" selectorAffix."aRetroflexHook" = "serifless" selectorAffix."a/doubleStorey" = "serifless" +selectorAffix."aRetroflexHook/doubleStorey" = "serifless" selectorAffix."a/singleStorey/autoSerifed/slab" = "serifless" selectorAffix."a/singleStorey/autoSerifed/sans" = "serifless" selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = "serifless" @@ -2312,6 +2321,7 @@ selectorAffix.a = "serifed" selectorAffix."a/sansSerif" = "serifless" selectorAffix."aRetroflexHook" = "serifless" selectorAffix."a/doubleStorey" = "serifed" +selectorAffix."aRetroflexHook/doubleStorey" = "serifless" selectorAffix."a/singleStorey/autoSerifed/slab" = { if = [{ storey = "double-storey" }], then = "doubleSerifed", else = "serifed" } selectorAffix."a/singleStorey/autoSerifed/sans" = "serifed" selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = { if = [{ storey = "double-storey" }], then = "topSerifed", else = "serifless" } @@ -2326,6 +2336,7 @@ selectorAffix.a = "doubleSerifed" selectorAffix."a/sansSerif" = "serifless" selectorAffix."aRetroflexHook" = "topSerifed" selectorAffix."a/doubleStorey" = "serifed" +selectorAffix."aRetroflexHook/doubleStorey" = "serifless" selectorAffix."a/singleStorey/autoSerifed/slab" = "doubleSerifed" selectorAffix."a/singleStorey/autoSerifed/sans" = "doubleSerifed" selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = "topSerifed" @@ -2339,6 +2350,7 @@ selectorAffix.a = "tailed" selectorAffix."a/sansSerif" = "tailed" selectorAffix."aRetroflexHook" = "serifless" selectorAffix."a/doubleStorey" = "tailed" +selectorAffix."aRetroflexHook/doubleStorey" = "serifless" selectorAffix."a/singleStorey/autoSerifed/slab" = { if = [{ storey = "double-storey" }], then = "tailedSerifed", else = "tailed" } selectorAffix."a/singleStorey/autoSerifed/sans" = "tailed" selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = { if = [{ storey = "double-storey" }], then = "topSerifed", else = "serifless" } @@ -2353,6 +2365,7 @@ selectorAffix.a = "tailedSerifed" selectorAffix."a/sansSerif" = "tailed" selectorAffix."aRetroflexHook" = "topSerifed" selectorAffix."a/doubleStorey" = "tailed" +selectorAffix."aRetroflexHook/doubleStorey" = "serifless" selectorAffix."a/singleStorey/autoSerifed/slab" = "tailedSerifed" selectorAffix."a/singleStorey/autoSerifed/sans" = "tailedSerifed" selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = "topSerifed" @@ -2367,6 +2380,7 @@ selectorAffix.a = "toothlessCorner" selectorAffix."a/sansSerif" = "toothlessCorner" selectorAffix."aRetroflexHook" = "serifless" selectorAffix."a/doubleStorey" = "toothlessCorner" +selectorAffix."aRetroflexHook/doubleStorey" = "serifless" selectorAffix."a/singleStorey/autoSerifed/slab" = "doubleSerifed" selectorAffix."a/singleStorey/autoSerifed/sans" = "serifless" selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = "topSerifed" @@ -2381,6 +2395,7 @@ selectorAffix.a = "toothlessRounded" selectorAffix."a/sansSerif" = "toothlessRounded" selectorAffix."aRetroflexHook" = "serifless" selectorAffix."a/doubleStorey" = "toothlessRounded" +selectorAffix."aRetroflexHook/doubleStorey" = "serifless" selectorAffix."a/singleStorey/autoSerifed/slab" = "doubleSerifed" selectorAffix."a/singleStorey/autoSerifed/sans" = "serifless" selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = "topSerifed" @@ -2835,6 +2850,7 @@ descriptionAffix = "double-storey shape" selectorAffix.g = "doubleStorey" selectorAffix."g/sansSerif" = "doubleStorey" selectorAffix."g/hookTopBase" = "singleStoreyBentHookSerifless" +selectorAffix."g/doubleStorey" = "doubleStorey" selectorAffix."g/singleStorey/autoSerifed/slab" = "singleStoreyBentHookSerifed" selectorAffix."g/singleStorey/autoSerifed/sans" = "singleStoreyBentHookSerifless" selectorAffix."g/singleStoreyBentHook/autoSerifed/slab" = "singleStoreyBentHookSerifed" @@ -2849,6 +2865,7 @@ keyAffix = "" selectorAffix.g = "closed" selectorAffix."g/sansSerif" = "closed" selectorAffix."g/hookTopBase" = "" +selectorAffix."g/doubleStorey" = "closed" selectorAffix."g/singleStorey/autoSerifed/slab" = "" selectorAffix."g/singleStorey/autoSerifed/sans" = "" selectorAffix."g/singleStoreyBentHook/autoSerifed/slab" = "" @@ -2860,6 +2877,7 @@ descriptionAffix = "open contour" selectorAffix.g = "open" selectorAffix."g/sansSerif" = "open" selectorAffix."g/hookTopBase" = "" +selectorAffix."g/doubleStorey" = "open" selectorAffix."g/singleStorey/autoSerifed/slab" = "" selectorAffix."g/singleStorey/autoSerifed/sans" = "" selectorAffix."g/singleStoreyBentHook/autoSerifed/slab" = "" @@ -2872,6 +2890,7 @@ descriptionAffix = "single-storey shape" selectorAffix.g = "singleStorey" selectorAffix."g/sansSerif" = "singleStorey" selectorAffix."g/hookTopBase" = "singleStorey" +selectorAffix."g/doubleStorey" = "doubleStoreyClosed" selectorAffix."g/singleStorey/autoSerifed/slab" = "singleStorey" selectorAffix."g/singleStorey/autoSerifed/sans" = "singleStorey" selectorAffix."g/singleStoreyBentHook/autoSerifed/slab" = "singleStorey" @@ -2886,6 +2905,7 @@ keyAffix = "" selectorAffix.g = "bentHook" selectorAffix."g/sansSerif" = "bentHook" selectorAffix."g/hookTopBase" = "bentHook" +selectorAffix."g/doubleStorey" = "" selectorAffix."g/singleStorey/autoSerifed/slab" = "bentHook" selectorAffix."g/singleStorey/autoSerifed/sans" = "bentHook" selectorAffix."g/singleStoreyBentHook/autoSerifed/slab" = "bentHook" @@ -2897,6 +2917,7 @@ descriptionAffix = "flat bottom hook" selectorAffix.g = "flatHook" selectorAffix."g/sansSerif" = "flatHook" selectorAffix."g/hookTopBase" = "flatHook" +selectorAffix."g/doubleStorey" = "" selectorAffix."g/singleStorey/autoSerifed/slab" = "flatHook" selectorAffix."g/singleStorey/autoSerifed/sans" = "flatHook" selectorAffix."g/singleStoreyBentHook/autoSerifed/slab" = "bentHook" @@ -2907,6 +2928,7 @@ rank = 1 selectorAffix.g = "serifless" selectorAffix."g/sansSerif" = "serifless" selectorAffix."g/hookTopBase" = "serifless" +selectorAffix."g/doubleStorey" = "" selectorAffix."g/singleStorey/autoSerifed/slab" = "serifless" selectorAffix."g/singleStorey/autoSerifed/sans" = "serifless" selectorAffix."g/singleStoreyBentHook/autoSerifed/slab" = "serifless" @@ -2918,6 +2940,7 @@ descriptionAffix = "top-right serif" selectorAffix.g = "serifed" selectorAffix."g/sansSerif" = "serifless" selectorAffix."g/hookTopBase" = "serifless" +selectorAffix."g/doubleStorey" = "" selectorAffix."g/singleStorey/autoSerifed/slab" = "serifed" selectorAffix."g/singleStorey/autoSerifed/sans" = "serifed" selectorAffix."g/singleStoreyBentHook/autoSerifed/slab" = "serifed" @@ -2929,6 +2952,7 @@ descriptionAffix = "a diagonal cut at top" selectorAffix.g = "topCut" selectorAffix."g/sansSerif" = "topCut" selectorAffix."g/hookTopBase" = "serifless" +selectorAffix."g/doubleStorey" = "" selectorAffix."g/singleStorey/autoSerifed/slab" = "topCut" selectorAffix."g/singleStorey/autoSerifed/sans" = "topCut" selectorAffix."g/singleStoreyBentHook/autoSerifed/slab" = "topCut" @@ -2940,6 +2964,7 @@ descriptionAffix = "earless (cornered top-right)" selectorAffix.g = "earlessCorner" selectorAffix."g/sansSerif" = "earlessCorner" selectorAffix."g/hookTopBase" = "earlessCornerHTB" +selectorAffix."g/doubleStorey" = "" selectorAffix."g/singleStorey/autoSerifed/slab" = "earlessCorner" selectorAffix."g/singleStorey/autoSerifed/sans" = "earlessCorner" selectorAffix."g/singleStoreyBentHook/autoSerifed/slab" = "earlessCorner" @@ -2951,6 +2976,7 @@ descriptionAffix = "earless (rounded top-right)" selectorAffix.g = "earlessRounded" selectorAffix."g/sansSerif" = "earlessRounded" selectorAffix."g/hookTopBase" = "serifless" +selectorAffix."g/doubleStorey" = "" selectorAffix."g/singleStorey/autoSerifed/slab" = "earlessRounded" selectorAffix."g/singleStorey/autoSerifed/sans" = "earlessRounded" selectorAffix."g/singleStoreyBentHook/autoSerifed/slab" = "earlessRounded"