diff --git a/changes/33.0.0.md b/changes/33.0.0.md index 6a4a27d70..5d30ebd81 100644 --- a/changes/33.0.0.md +++ b/changes/33.0.0.md @@ -39,7 +39,6 @@ - LATIN SMALL LETTER REVERSED HALF H (`U+A7F6`). * Make certain characters slightly wider under Quasi-Proportional. Affected characters: - CYRILLIC CAPITAL LETTER UK (`U+0478`). - - LATIN SMALL LETTER TH WITH STRIKETHROUGH (`U+1D7A`). - LATIN SMALL LIGATURE FF (`U+FB00`) ... LATIN SMALL LIGATURE FFL (`U+FB04`). * Add Characters: - OBSERVER EYE SYMBOL (`U+23FF`). diff --git a/changes/33.0.1.md b/changes/33.0.1.md new file mode 100644 index 000000000..a75eff7bb --- /dev/null +++ b/changes/33.0.1.md @@ -0,0 +1,3 @@ +* Make certain characters slightly wider under Quasi-Proportional. Affected characters: + - LATIN SMALL LETTER TH WITH STRIKETHROUGH (`U+1D7A`). +* Allow Latin Alpha (`ɑ`) and Script G (`ɡ`) to use eared/earless variants of `a` (`cv36`) and `g` (`cv42`) respectively. diff --git a/packages/font-glyphs/src/letter/greek.ptl b/packages/font-glyphs/src/letter/greek.ptl index cef61ace0..e5f8e71f7 100644 --- a/packages/font-glyphs/src/letter/greek.ptl +++ b/packages/font-glyphs/src/letter/greek.ptl @@ -12,11 +12,10 @@ export : define [apply] : begin run-glyph-module "./greek/psi.mjs" run-glyph-module "./greek/upper-omega.mjs" - run-glyph-module "./greek/lower-alpha.mjs" + run-glyph-module "./greek/lower-gamma.mjs" run-glyph-module "./greek/lower-delta.mjs" run-glyph-module "./greek/lower-epsilon.mjs" run-glyph-module "./greek/lower-lunate-epsilon.mjs" - run-glyph-module "./greek/lower-gamma.mjs" run-glyph-module "./greek/lower-zeta.mjs" run-glyph-module "./greek/lower-theta.mjs" run-glyph-module "./greek/lower-kappa-symbol.mjs" diff --git a/packages/font-glyphs/src/letter/greek/lower-alpha.ptl b/packages/font-glyphs/src/letter/greek/lower-alpha.ptl deleted file mode 100644 index ef671fb37..000000000 --- a/packages/font-glyphs/src/letter/greek/lower-alpha.ptl +++ /dev/null @@ -1,46 +0,0 @@ -$$include '../../meta/macros.ptl' - -import [mix linreg fallback SuffixCfg] from "@iosevka/util" -import [MathSansSerif] from "@iosevka/glyph/relation" - -glyph-module - -glyph-block Letter-Greek-Lower-Alpha : begin - glyph-block-import CommonShapes - glyph-block-import Common-Derivatives - glyph-block-import Letter-Latin-Lower-A : SingleStoreyConfig - - ########################################################################################### - # UNIFIED LETTERFORMS : GREEK ORIGINALS - ########################################################################################### - create-glyph 'grek/alpha.crossing' : glyph-proc - include : MarkSet.e - - local middle : mix SB RightSB 0.42 - local fine : AdviceStroke 3.25 - local k1 0.25 - local k2 0.5 - local k3 0.35 - include : dispiro - widths.rhs fine - g4 (RightSB - OX * 1.75) XH [heading Downward] - bezControls k1 k2 k3 1 6 - arch.rhs.centerAt.rtl.b middle 0 - archv - flat (SB + OX * 2) SmallArchDepthB - curl (SB + OX * 2) (XH - SmallArchDepthA) - arcvh - arch.rhs.centerAt.ltr.t middle XH - bezControls (1 - k3) 0 (1 - k1) (1 - k2) 6 - g4 (RightSB - OX * 2) 0 [widths.heading 0 fine Downward] - - set-base-anchor 'overlay' (middle - OX) (XH * OverlayPos) - - foreach { suffix { body bar } } [Object.entries SingleStoreyConfig] : do - create-glyph "grek/alpha.\(suffix)" : glyph-proc - local df : include : DivFrame 1 - include : df.markSet.e - include : body df XH bar - - select-variant 'grek/alpha' 0x3B1 - link-reduced-variant 'grek/alpha/sansSerif' 'grek/alpha' MathSansSerif diff --git a/packages/font-glyphs/src/letter/latin/lower-a.ptl b/packages/font-glyphs/src/letter/latin/lower-a.ptl index 8c0b63cd6..b26f4fb75 100644 --- a/packages/font-glyphs/src/letter/latin/lower-a.ptl +++ b/packages/font-glyphs/src/letter/latin/lower-a.ptl @@ -120,6 +120,9 @@ glyph-block Letter-Latin-Lower-A : begin include : df.markSet.e if xTrailing : set-base-anchor 'trailing' xTrailing 0 include : body df hookStyle + create-glyph "aRetroflexHook.\(suffix)" : glyph-proc + include [refer-glyph "a.\(suffix)"] AS_BASE ALSO_METRICS + include : RetroflexHook.rSideJut RightSB 0 (yOverflow -- Stroke) glyph-block-import Letter-Blackboard : BBS BBD create-glyph 'mathbb/a' 0x1D552 : glyph-proc @@ -139,6 +142,30 @@ glyph-block Letter-Latin-Lower-A : begin Rect XH 0 (RightSB - BBD) Width include : HBar.b (RightSB - BBD) RightSB 0 BBS + # Greek Lower Alpha + create-glyph 'a.crossing' : glyph-proc + include : MarkSet.e + + local middle : mix SB RightSB 0.42 + local fine : AdviceStroke 3.25 + local k1 0.25 + local k2 0.5 + local k3 0.35 + include : dispiro + widths.rhs fine + g4 (RightSB - OX * 1.75) XH [heading Downward] + bezControls k1 k2 k3 1 6 + arch.rhs.centerAt.rtl.b middle 0 + archv + flat (SB + OX * 2) SmallArchDepthB + curl (SB + OX * 2) (XH - SmallArchDepthA) + arcvh + arch.rhs.centerAt.ltr.t middle XH + bezControls (1 - k3) 0 (1 - k1) (1 - k2) 6 + g4 (RightSB - OX * 2) 0 [widths.heading 0 fine Downward] + + set-base-anchor 'overlay' (middle - OX) (XH * OverlayPos) + glyph-block-export SingleStorey define SingleStorey : namespace define [EaredBodyImpl df top sw] : OBarRight.shape @@ -247,23 +274,26 @@ glyph-block Letter-Latin-Lower-A : begin local df : include : DivFrame 1 include : df.markSet.capital include : body df CAP bar + create-glyph "aRetroflexHook.\(suffix)" : glyph-proc + include [refer-glyph "a.\(suffix)"] AS_BASE ALSO_METRICS + include : RetroflexHook.rSideJut RightSB 0 (yOverflow -- Stroke) select-variant 'a' 'a' link-reduced-variant 'a/sansSerif' 'a' MathSansSerif - link-reduced-variant 'a/rtailBase' 'a' link-reduced-variant 'a/doubleStorey' 'a' select-variant 'cyrl/a' 0x430 (shapeFrom -- 'a') CreateTurnedLetter 'turna' 0x250 'a/doubleStorey' HalfAdvance (XH / 2) - derive-composites 'aRetroflexHook' 0x1D8F 'a/rtailBase' - RetroflexHook.rSideJut RightSB 0 (yOverflow -- Stroke) + select-variant 'aRetroflexHook' 0x1D8F - select-variant 'aScript' 0x251 (follow -- [conditional-follow SLAB 'aScript/autoSerifed/slab' 'aScript/autoSerifed/sans']) (shapeFrom -- 'a') - select-variant 'AScript' 0x2C6D (follow -- [conditional-follow SLAB 'aScript/autoSerifed/slab' 'aScript/autoSerifed/sans']) + select-variant 'grek/alpha' 0x3B1 (shapeFrom -- 'a') + link-reduced-variant 'grek/alpha/sansSerif' 'grek/alpha' MathSansSerif (shapeFrom -- 'a') - derive-composites 'aScriptRetroflexHook' 0x1D90 'a.singleStoreyTopCutSerifless' - RetroflexHook.rSideJut RightSB 0 (yOverflow -- Stroke) + select-variant 'aScript' 0x251 (follow -- [conditional-follow SLAB 'a/singleStorey/autoSerifed/slab' 'a/singleStorey/autoSerifed/sans']) (shapeFrom -- 'a') + select-variant 'AScript' 0x2C6D (follow -- [conditional-follow SLAB 'a/singleStorey/autoSerifed/slab' 'a/singleStorey/autoSerifed/sans']) + + select-variant 'aScriptRetroflexHook' 0x1D90 (follow -- [conditional-follow SLAB 'aRetroflexHook/singleStorey/autoSerifed/slab' 'aRetroflexHook/singleStorey/autoSerifed/sans']) (shapeFrom -- 'aRetroflexHook') CreateTurnedLetter 'turnaScript' 0x252 'aScript' HalfAdvance (XH / 2) CreateTurnedLetter 'turnAScript' 0x2C70 'AScript' HalfAdvance (CAP / 2) diff --git a/packages/font-glyphs/src/letter/latin/lower-g.ptl b/packages/font-glyphs/src/letter/latin/lower-g.ptl index a5360eb6e..0db961351 100644 --- a/packages/font-glyphs/src/letter/latin/lower-g.ptl +++ b/packages/font-glyphs/src/letter/latin/lower-g.ptl @@ -195,17 +195,25 @@ glyph-block Letter-Latin-Lower-G : begin include [refer-glyph "g.\(suffix)"] AS_BASE ALSO_METRICS include : OverlayW [AdviceStroke2 2 4 XH] + create-glyph "gScriptCrossedTail.\(suffix)" : glyph-proc + local df : include : DivFrame 1 + include : df.markSet.p + set-base-anchor 'overlay' Middle (XH / 2) + include : bodyShape df XH + include : SingleStorey.CrossedHook df (XH - hookStart) + select-variant 'g' 'g' link-reduced-variant 'g/sansSerif' 'g' MathSansSerif CreateTurnedLetter 'turng' 0x1D77 'g' HalfAdvance [mix Descender XH 0.5] select-variant "gBar" 0x1E5 (follow -- 'g') - select-variant 'gScript' 0x261 (shapeFrom -- 'g') (follow -- 'gScript') - select-variant 'GScript' 0xA7AC (follow -- 'gScript') - select-variant 'gScriptPalatalHook' 0x1D83 (shapeFrom -- 'gPalatalHook') (follow -- 'gScript') + 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 'gScriptCrossedTail' 0xAB36 (follow -- [conditional-follow SLAB 'g/singleStoreyBentHook/autoSerifed/slab' 'g/singleStoreyBentHook/autoSerifed/sans']) - select-variant 'cyrl/de.BGR' (shapeFrom -- 'g') (follow -- [conditional-follow SLAB 'g/singleStorey/autoSerifed/slab' 'g/singleStorey/autoSerifed/sans']) - alias 'cyrl/de.SRB' null 'cyrl/de.BGR' + alias 'cyrl/de.BGR' null 'gScript' + alias 'cyrl/de.SRB' null 'gScript' select-variant 'g/hookTopBase' (shapeFrom -- 'g') derive-glyphs 'gHookTop' 0x260 "g/hookTopBase" : function [src gr] : glyph-proc @@ -213,13 +221,6 @@ glyph-block Letter-Latin-Lower-G : begin include : TopHook.toRight.rBarOuter RightSB 0 XH include : LeaningAnchor.Above.VBar.r RightSB - create-glyph 'gScriptCrossedTail' 0xAB36 : glyph-proc - include : MarkSet.p - set-base-anchor 'overlay' Middle (XH / 2) - define df : DivFrame 1 - include : SingleStorey.TopCutBody df XH - include : SingleStorey.CrossedHook df (XH - HalfStroke) - glyph-block-import Letter-Blackboard : BBS BBD BBBarRight create-glyph 'mathbb/g' 0x1D558 : glyph-proc include : MarkSet.p diff --git a/params/variants.toml b/params/variants.toml index 07fbf56cf..63a5e2bdd 100644 --- a/params/variants.toml +++ b/params/variants.toml @@ -1857,7 +1857,6 @@ selectorAffix.W = "curly" selectorAffix."W/sansSerif" = "curly" selectorAffix.WHookTop = "curly" - [prime.capital-w.variants-buildup.stages.serifs.serifless] rank = 1 descriptionAffix = "serifs" @@ -2149,12 +2148,12 @@ descriptionAffix = "double-storey body" selectorAffix.a = "doubleStorey" selectorAffix."ae/a" = "doubleStorey" selectorAffix."a/sansSerif" = "doubleStorey" -selectorAffix."a/rtailBase" = "doubleStorey" +selectorAffix."aRetroflexHook" = "doubleStorey" selectorAffix."a/doubleStorey" = "doubleStorey" selectorAffix."a/singleStorey/autoSerifed/slab" = "singleStorey" selectorAffix."a/singleStorey/autoSerifed/sans" = "singleStorey" -selectorAffix."aScript/autoSerifed/slab" = "singleStoreyTopCut" -selectorAffix."aScript/autoSerifed/sans" = "singleStoreyTopCut" +selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = "singleStorey" +selectorAffix."aRetroflexHook/singleStorey/autoSerifed/sans" = "singleStorey" [prime.a.variants-buildup.stages.storey.single-storey] rank = 2 @@ -2163,12 +2162,12 @@ descriptionAffix = "single-storey body" selectorAffix.a = "singleStorey" selectorAffix."ae/a" = "doubleStorey" selectorAffix."a/sansSerif" = "singleStorey" -selectorAffix."a/rtailBase" = "singleStorey" +selectorAffix."aRetroflexHook" = "singleStorey" selectorAffix."a/doubleStorey" = "doubleStorey" selectorAffix."a/singleStorey/autoSerifed/slab" = "singleStorey" selectorAffix."a/singleStorey/autoSerifed/sans" = "singleStorey" -selectorAffix."aScript/autoSerifed/slab" = "singleStorey" -selectorAffix."aScript/autoSerifed/sans" = "singleStorey" +selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = "singleStorey" +selectorAffix."aRetroflexHook/singleStorey/autoSerifed/sans" = "singleStorey" [prime.a.variants-buildup.stages.double-storey-hook."*"] next = "bar" @@ -2180,12 +2179,12 @@ descriptionAffix = "serifless hook" selectorAffix.a = "" selectorAffix."ae/a" = "" selectorAffix."a/sansSerif" = "" -selectorAffix."a/rtailBase" = "" +selectorAffix."aRetroflexHook" = "" selectorAffix."a/doubleStorey" = "" selectorAffix."a/singleStorey/autoSerifed/slab" = "" selectorAffix."a/singleStorey/autoSerifed/sans" = "" -selectorAffix."aScript/autoSerifed/slab" = "" -selectorAffix."aScript/autoSerifed/sans" = "" +selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = "" +selectorAffix."aRetroflexHook/singleStorey/autoSerifed/sans" = "" [prime.a.variants-buildup.stages.double-storey-hook.hook-serifed] rank = 2 @@ -2194,12 +2193,12 @@ descriptionAffix = "serifed hook" selectorAffix.a = "hookInwardSerifed" selectorAffix."ae/a" = "hookInwardSerifed" selectorAffix."a/sansSerif" = "" -selectorAffix."a/rtailBase" = "hookInwardSerifed" +selectorAffix."aRetroflexHook" = "hookInwardSerifed" selectorAffix."a/doubleStorey" = "hookInwardSerifed" selectorAffix."a/singleStorey/autoSerifed/slab" = "" selectorAffix."a/singleStorey/autoSerifed/sans" = "" -selectorAffix."aScript/autoSerifed/slab" = "" -selectorAffix."aScript/autoSerifed/sans" = "" +selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = "" +selectorAffix."aRetroflexHook/singleStorey/autoSerifed/sans" = "" [prime.a.variants-buildup.stages.ear."*"] next = "bar" @@ -2210,12 +2209,12 @@ keyAffix = "" selectorAffix.a = "" selectorAffix."ae/a" = "" selectorAffix."a/sansSerif" = "" -selectorAffix."a/rtailBase" = "" +selectorAffix."aRetroflexHook" = "" selectorAffix."a/doubleStorey" = "" selectorAffix."a/singleStorey/autoSerifed/slab" = "" selectorAffix."a/singleStorey/autoSerifed/sans" = "" -selectorAffix."aScript/autoSerifed/slab" = "topCut" -selectorAffix."aScript/autoSerifed/sans" = "topCut" +selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = "" +selectorAffix."aRetroflexHook/singleStorey/autoSerifed/sans" = "" [prime.a.variants-buildup.stages.ear.top-cut] rank = 2 @@ -2223,12 +2222,12 @@ descriptionAffix = "a diagonal cut at top" selectorAffix.a = "topCut" selectorAffix."ae/a" = "" selectorAffix."a/sansSerif" = "topCut" -selectorAffix."a/rtailBase" = "topCut" +selectorAffix."aRetroflexHook" = "topCut" selectorAffix."a/doubleStorey" = "" selectorAffix."a/singleStorey/autoSerifed/slab" = "topCut" selectorAffix."a/singleStorey/autoSerifed/sans" = "topCut" -selectorAffix."aScript/autoSerifed/slab" = "topCut" -selectorAffix."aScript/autoSerifed/sans" = "topCut" +selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = "topCut" +selectorAffix."aRetroflexHook/singleStorey/autoSerifed/sans" = "topCut" [prime.a.variants-buildup.stages.ear.earless-corner] rank = 3 @@ -2236,12 +2235,12 @@ descriptionAffix = "earless (cornered top-right)" selectorAffix.a = "earlessCorner" selectorAffix."ae/a" = "" selectorAffix."a/sansSerif" = "earlessCorner" -selectorAffix."a/rtailBase" = "earlessCorner" +selectorAffix."aRetroflexHook" = "earlessCorner" selectorAffix."a/doubleStorey" = "" selectorAffix."a/singleStorey/autoSerifed/slab" = "earlessCorner" selectorAffix."a/singleStorey/autoSerifed/sans" = "earlessCorner" -selectorAffix."aScript/autoSerifed/slab" = "topCut" -selectorAffix."aScript/autoSerifed/sans" = "topCut" +selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = "earlessCorner" +selectorAffix."aRetroflexHook/singleStorey/autoSerifed/sans" = "earlessCorner" [prime.a.variants-buildup.stages.ear.earless-rounded] rank = 4 @@ -2249,12 +2248,12 @@ descriptionAffix = "earless (rounded top-right)" selectorAffix.a = "earlessRounded" selectorAffix."ae/a" = "" selectorAffix."a/sansSerif" = "earlessRounded" -selectorAffix."a/rtailBase" = "earlessRounded" +selectorAffix."aRetroflexHook" = "earlessRounded" selectorAffix."a/doubleStorey" = "" selectorAffix."a/singleStorey/autoSerifed/slab" = "earlessRounded" selectorAffix."a/singleStorey/autoSerifed/sans" = "earlessRounded" -selectorAffix."aScript/autoSerifed/slab" = "topCut" -selectorAffix."aScript/autoSerifed/sans" = "topCut" +selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = "earlessRounded" +selectorAffix."aRetroflexHook/singleStorey/autoSerifed/sans" = "earlessRounded" [prime.a.variants-buildup.stages.bar.serifless] rank = 1 @@ -2263,12 +2262,12 @@ descriptionJoiner = "without" selectorAffix.a = "serifless" selectorAffix."ae/a" = "serifless" selectorAffix."a/sansSerif" = "serifless" -selectorAffix."a/rtailBase" = "serifless" +selectorAffix."aRetroflexHook" = "serifless" selectorAffix."a/doubleStorey" = "serifless" selectorAffix."a/singleStorey/autoSerifed/slab" = "serifless" selectorAffix."a/singleStorey/autoSerifed/sans" = "serifless" -selectorAffix."aScript/autoSerifed/slab" = "serifless" -selectorAffix."aScript/autoSerifed/sans" = "serifless" +selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = "serifless" +selectorAffix."aRetroflexHook/singleStorey/autoSerifed/sans" = "serifless" [prime.a.variants-buildup.stages.bar.serifed] rank = 2 @@ -2276,12 +2275,12 @@ descriptionAffix = "serif at terminal" selectorAffix.a = "serifed" selectorAffix."ae/a" = "serifless" selectorAffix."a/sansSerif" = "serifless" -selectorAffix."a/rtailBase" = "serifless" +selectorAffix."aRetroflexHook" = "serifless" selectorAffix."a/doubleStorey" = "serifed" selectorAffix."a/singleStorey/autoSerifed/slab" = { if = [{ storey = "double-storey" }], then = "doubleSerifed", else = "serifed" } selectorAffix."a/singleStorey/autoSerifed/sans" = "serifed" -selectorAffix."aScript/autoSerifed/slab" = "serifed" -selectorAffix."aScript/autoSerifed/sans" = "serifed" +selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = { if = [{ storey = "double-storey" }], then = "topSerifed", else = "serifless" } +selectorAffix."aRetroflexHook/singleStorey/autoSerifed/sans" = "serifless" [prime.a.variants-buildup.stages.bar.double-serifed] rank = 3 @@ -2290,12 +2289,12 @@ descriptionAffix = "serifs at top and bottom" selectorAffix.a = "doubleSerifed" selectorAffix."ae/a" = "serifless" selectorAffix."a/sansSerif" = "serifless" -selectorAffix."a/rtailBase" = "topSerifed" +selectorAffix."aRetroflexHook" = "topSerifed" selectorAffix."a/doubleStorey" = "serifed" selectorAffix."a/singleStorey/autoSerifed/slab" = "doubleSerifed" selectorAffix."a/singleStorey/autoSerifed/sans" = "doubleSerifed" -selectorAffix."aScript/autoSerifed/slab" = "serifed" -selectorAffix."aScript/autoSerifed/sans" = "serifed" +selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = "topSerifed" +selectorAffix."aRetroflexHook/singleStorey/autoSerifed/sans" = "topSerifed" [prime.a.variants-buildup.stages.bar.tailed] rank = 4 @@ -2303,12 +2302,12 @@ descriptionAffix = "curly tail" selectorAffix.a = "tailed" selectorAffix."ae/a" = "serifless" selectorAffix."a/sansSerif" = "tailed" -selectorAffix."a/rtailBase" = "serifless" +selectorAffix."aRetroflexHook" = "serifless" selectorAffix."a/doubleStorey" = "tailed" selectorAffix."a/singleStorey/autoSerifed/slab" = { if = [{ storey = "double-storey" }], then = "tailedSerifed", else = "tailed" } selectorAffix."a/singleStorey/autoSerifed/sans" = "tailed" -selectorAffix."aScript/autoSerifed/slab" = "tailed" -selectorAffix."aScript/autoSerifed/sans" = "tailed" +selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = { if = [{ storey = "double-storey" }], then = "topSerifed", else = "serifless" } +selectorAffix."aRetroflexHook/singleStorey/autoSerifed/sans" = "serifless" [prime.a.variants-buildup.stages.bar.tailed-serifed] rank = 5 @@ -2317,12 +2316,12 @@ descriptionAffix = "curly tail; with serifs at top and bottom" selectorAffix.a = "tailedSerifed" selectorAffix."ae/a" = "serifless" selectorAffix."a/sansSerif" = "tailed" -selectorAffix."a/rtailBase" = "topSerifed" +selectorAffix."aRetroflexHook" = "topSerifed" selectorAffix."a/doubleStorey" = "tailed" selectorAffix."a/singleStorey/autoSerifed/slab" = "tailedSerifed" selectorAffix."a/singleStorey/autoSerifed/sans" = "tailedSerifed" -selectorAffix."aScript/autoSerifed/slab" = "tailed" -selectorAffix."aScript/autoSerifed/sans" = "tailed" +selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = "topSerifed" +selectorAffix."aRetroflexHook/singleStorey/autoSerifed/sans" = "topSerifed" [prime.a.variants-buildup.stages.bar.toothless-corner] rank = 6 @@ -2331,12 +2330,12 @@ descriptionAffix = "toothless (cornered bottom-right)" selectorAffix.a = "toothlessCorner" selectorAffix."ae/a" = "serifless" selectorAffix."a/sansSerif" = "toothlessCorner" -selectorAffix."a/rtailBase" = "serifless" +selectorAffix."aRetroflexHook" = "serifless" selectorAffix."a/doubleStorey" = "toothlessCorner" selectorAffix."a/singleStorey/autoSerifed/slab" = "doubleSerifed" selectorAffix."a/singleStorey/autoSerifed/sans" = "serifless" -selectorAffix."aScript/autoSerifed/slab" = "serifed" -selectorAffix."aScript/autoSerifed/sans" = "serifless" +selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = "topSerifed" +selectorAffix."aRetroflexHook/singleStorey/autoSerifed/sans" = "serifless" [prime.a.variants-buildup.stages.bar.toothless-rounded] rank = 7 @@ -2345,12 +2344,12 @@ descriptionAffix = "toothless (rounded bottom-right)" selectorAffix.a = "toothlessRounded" selectorAffix."ae/a" = "serifless" selectorAffix."a/sansSerif" = "toothlessRounded" -selectorAffix."a/rtailBase" = "serifless" +selectorAffix."aRetroflexHook" = "serifless" selectorAffix."a/doubleStorey" = "toothlessRounded" selectorAffix."a/singleStorey/autoSerifed/slab" = "doubleSerifed" selectorAffix."a/singleStorey/autoSerifed/sans" = "serifless" -selectorAffix."aScript/autoSerifed/slab" = "serifed" -selectorAffix."aScript/autoSerifed/sans" = "serifless" +selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = "topSerifed" +selectorAffix."aRetroflexHook/singleStorey/autoSerifed/sans" = "serifless" @@ -2802,7 +2801,8 @@ selectorAffix."g/sansSerif" = "doubleStorey" selectorAffix."g/hookTopBase" = "singleStoreyBentHookSerifless" selectorAffix."g/singleStorey/autoSerifed/slab" = "singleStoreyBentHookSerifed" selectorAffix."g/singleStorey/autoSerifed/sans" = "singleStoreyBentHookSerifless" -selectorAffix.gScript = "singleStoreyBentHookTopCut" +selectorAffix."g/singleStoreyBentHook/autoSerifed/slab" = "singleStoreyBentHookSerifed" +selectorAffix."g/singleStoreyBentHook/autoSerifed/sans" = "singleStoreyBentHookSerifless" [prime.g.variants-buildup.stages.openness."*"] next = "END" @@ -2815,7 +2815,8 @@ selectorAffix."g/sansSerif" = "closed" selectorAffix."g/hookTopBase" = "" selectorAffix."g/singleStorey/autoSerifed/slab" = "" selectorAffix."g/singleStorey/autoSerifed/sans" = "" -selectorAffix.gScript = "" +selectorAffix."g/singleStoreyBentHook/autoSerifed/slab" = "" +selectorAffix."g/singleStoreyBentHook/autoSerifed/sans" = "" [prime.g.variants-buildup.stages.openness.open] rank = 1 @@ -2825,7 +2826,8 @@ selectorAffix."g/sansSerif" = "open" selectorAffix."g/hookTopBase" = "" selectorAffix."g/singleStorey/autoSerifed/slab" = "" selectorAffix."g/singleStorey/autoSerifed/sans" = "" -selectorAffix.gScript = "" +selectorAffix."g/singleStoreyBentHook/autoSerifed/slab" = "" +selectorAffix."g/singleStoreyBentHook/autoSerifed/sans" = "" [prime.g.variants-buildup.stages.storey.single-storey] next = "hook" @@ -2836,7 +2838,8 @@ selectorAffix."g/sansSerif" = "singleStorey" selectorAffix."g/hookTopBase" = "singleStorey" selectorAffix."g/singleStorey/autoSerifed/slab" = "singleStorey" selectorAffix."g/singleStorey/autoSerifed/sans" = "singleStorey" -selectorAffix.gScript = "singleStorey" +selectorAffix."g/singleStoreyBentHook/autoSerifed/slab" = "singleStorey" +selectorAffix."g/singleStoreyBentHook/autoSerifed/sans" = "singleStorey" [prime.g.variants-buildup.stages.hook."*"] next = "ear" @@ -2849,7 +2852,8 @@ selectorAffix."g/sansSerif" = "bentHook" selectorAffix."g/hookTopBase" = "bentHook" selectorAffix."g/singleStorey/autoSerifed/slab" = "bentHook" selectorAffix."g/singleStorey/autoSerifed/sans" = "bentHook" -selectorAffix.gScript = "bentHook" +selectorAffix."g/singleStoreyBentHook/autoSerifed/slab" = "bentHook" +selectorAffix."g/singleStoreyBentHook/autoSerifed/sans" = "bentHook" [prime.g.variants-buildup.stages.hook.flat-hook] rank = 2 @@ -2859,7 +2863,8 @@ selectorAffix."g/sansSerif" = "flatHook" selectorAffix."g/hookTopBase" = "flatHook" selectorAffix."g/singleStorey/autoSerifed/slab" = "flatHook" selectorAffix."g/singleStorey/autoSerifed/sans" = "flatHook" -selectorAffix.gScript = "flatHook" +selectorAffix."g/singleStoreyBentHook/autoSerifed/slab" = "bentHook" +selectorAffix."g/singleStoreyBentHook/autoSerifed/sans" = "bentHook" [prime.g.variants-buildup.stages.ear.serifless] rank = 1 @@ -2868,7 +2873,8 @@ selectorAffix."g/sansSerif" = "serifless" selectorAffix."g/hookTopBase" = "serifless" selectorAffix."g/singleStorey/autoSerifed/slab" = "serifless" selectorAffix."g/singleStorey/autoSerifed/sans" = "serifless" -selectorAffix.gScript = "topCut" +selectorAffix."g/singleStoreyBentHook/autoSerifed/slab" = "serifless" +selectorAffix."g/singleStoreyBentHook/autoSerifed/sans" = "serifless" [prime.g.variants-buildup.stages.ear.serifed] rank = 2 @@ -2878,7 +2884,8 @@ selectorAffix."g/sansSerif" = "serifless" selectorAffix."g/hookTopBase" = "serifless" selectorAffix."g/singleStorey/autoSerifed/slab" = "serifed" selectorAffix."g/singleStorey/autoSerifed/sans" = "serifed" -selectorAffix.gScript = "topCut" +selectorAffix."g/singleStoreyBentHook/autoSerifed/slab" = "serifed" +selectorAffix."g/singleStoreyBentHook/autoSerifed/sans" = "serifed" [prime.g.variants-buildup.stages.ear.top-cut] rank = 3 @@ -2888,7 +2895,8 @@ selectorAffix."g/sansSerif" = "topCut" selectorAffix."g/hookTopBase" = "serifless" selectorAffix."g/singleStorey/autoSerifed/slab" = "topCut" selectorAffix."g/singleStorey/autoSerifed/sans" = "topCut" -selectorAffix.gScript = "topCut" +selectorAffix."g/singleStoreyBentHook/autoSerifed/slab" = "topCut" +selectorAffix."g/singleStoreyBentHook/autoSerifed/sans" = "topCut" [prime.g.variants-buildup.stages.ear.earless-corner] rank = 4 @@ -2898,7 +2906,8 @@ selectorAffix."g/sansSerif" = "earlessCorner" selectorAffix."g/hookTopBase" = "earlessCornerHTB" selectorAffix."g/singleStorey/autoSerifed/slab" = "earlessCorner" selectorAffix."g/singleStorey/autoSerifed/sans" = "earlessCorner" -selectorAffix.gScript = "topCut" +selectorAffix."g/singleStoreyBentHook/autoSerifed/slab" = "earlessCorner" +selectorAffix."g/singleStoreyBentHook/autoSerifed/sans" = "earlessCorner" [prime.g.variants-buildup.stages.ear.earless-rounded] rank = 5 @@ -2908,7 +2917,8 @@ selectorAffix."g/sansSerif" = "earlessRounded" selectorAffix."g/hookTopBase" = "serifless" selectorAffix."g/singleStorey/autoSerifed/slab" = "earlessRounded" selectorAffix."g/singleStorey/autoSerifed/sans" = "earlessRounded" -selectorAffix.gScript = "topCut" +selectorAffix."g/singleStoreyBentHook/autoSerifed/slab" = "earlessRounded" +selectorAffix."g/singleStoreyBentHook/autoSerifed/sans" = "earlessRounded" @@ -4800,7 +4810,6 @@ selectorAffix.w = "cursive" selectorAffix."w/sansSerif" = "cursive" selectorAffix.wHookTop = "cursive" - [prime.w.variants-buildup.stages.serifs.serifless] rank = 1 descriptionAffix = "serifs"