diff --git a/packages/font-glyphs/src/letter/cyrillic/iotified-a.ptl b/packages/font-glyphs/src/letter/cyrillic/iotified-a.ptl index 7f8674d44..46e4939f6 100644 --- a/packages/font-glyphs/src/letter/cyrillic/iotified-a.ptl +++ b/packages/font-glyphs/src/letter/cyrillic/iotified-a.ptl @@ -147,7 +147,7 @@ glyph-block Letter-Cyrillic-Iotified-A : begin include : df.markSet.e local { subDf shift } : SubDfAndShift 1 df - include : with-transform [ApparentTranslate shift 0] [body subDf XH bar no-shape df.mvs] + include : with-transform [ApparentTranslate shift 0] [body subDf XH bar df.mvs] include : Iotified.full df XH (shift + subDf.leftSB + [HSwToV : 0.5 * df.mvs]) (XH / 2) diff --git a/packages/font-glyphs/src/letter/greek/lower-alpha.ptl b/packages/font-glyphs/src/letter/greek/lower-alpha.ptl index e4284370d..ef671fb37 100644 --- a/packages/font-glyphs/src/letter/greek/lower-alpha.ptl +++ b/packages/font-glyphs/src/letter/greek/lower-alpha.ptl @@ -38,8 +38,9 @@ glyph-block Letter-Greek-Lower-Alpha : begin foreach { suffix { body bar } } [Object.entries SingleStoreyConfig] : do create-glyph "grek/alpha.\(suffix)" : glyph-proc - include : MarkSet.e - include : body [DivFrame 1] XH bar no-shape + 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/greek/lower-epsilon.ptl b/packages/font-glyphs/src/letter/greek/lower-epsilon.ptl index 5da77dfcb..4b669011f 100644 --- a/packages/font-glyphs/src/letter/greek/lower-epsilon.ptl +++ b/packages/font-glyphs/src/letter/greek/lower-epsilon.ptl @@ -44,7 +44,7 @@ glyph-block Letter-Greek-Lower-Epsilon : begin local ada : topHeight - [mix (midyHeight + stroke / 2) (topHeight - O - stroke) (ArchDepthB / (ArchDepthA + ArchDepthB))] - [HSwToV TanSlope] * stroke local adb : [mix (stroke + O) (midyHeight - stroke / 2) (ArchDepthB / (ArchDepthA + ArchDepthB))] + [HSwToV TanSlope] * stroke local fine : stroke * CThin - local stemFine : stroke * (ShoulderFine / Stroke) + local stemFine : ShoulderFine * (stroke / Stroke) return : object stroke midx midy ada adb fine stemFine export : define [UpperShape] : begin @@ -114,7 +114,7 @@ glyph-block Letter-Greek-Lower-Epsilon : begin local adb : topHeight - [mix (midyHeight + stroke / 2) (topHeight - yo - stroke) (ArchDepthA / (ArchDepthA + ArchDepthB))] + [HSwToV TanSlope] * stroke local ada : [mix (stroke + yo) (midyHeight - stroke / 2) (ArchDepthA / (ArchDepthA + ArchDepthB))] - [HSwToV TanSlope] * stroke local fine : stroke * CThin - local stemFine : stroke * (ShoulderFine / Stroke) + local stemFine : ShoulderFine * (stroke / Stroke) return : object stroke midx midy ada adb fine stemFine define [UpperShapeT sink] : begin @@ -376,47 +376,47 @@ glyph-block Letter-Greek-Lower-Epsilon : begin do "Volapuk AE" glyph-block-import Letter-Latin-Lower-A : SingleStorey - define [FullBarBody df height bar hook ada2 adb2] : glyph-proc + define [FullBarBody df height bar hook ada adb] : glyph-proc local eps : SmallEpsilon CLOSED-STEM CLOSED-STEM height 0 blend -- VolBlend hook -- hook overflow -- 0 - ada2 -- ada2 - adb2 -- adb2 + ada2 -- ada + adb2 -- adb define [object stroke] : eps.Dim include : eps.Shape - include : bar df height no-shape stroke + include : bar df height stroke - define [EarlessCornerBody df height bar hook ada2 adb2] : glyph-proc + define [EarlessCornerBody df height bar hook ada adb] : glyph-proc local eps : SmallEpsilon SLAB-INWARD CLOSED-STEM height 0 blend -- VolBlend hook -- hook overflow -- 0 - ada2 -- ada2 - adb2 -- adb2 + ada2 -- ada + adb2 -- adb define [object stroke] : eps.Dim include : eps.Shape - include : bar df (height - DToothlessRise) no-shape stroke + include : bar df (height - DToothlessRise) stroke - define [EarlessRoundedBody df height bar hook ada2 adb2] : glyph-proc + define [EarlessRoundedBody df height bar hook ada adb] : glyph-proc local eps : SmallEpsilon CLOSED-ROUND CLOSED-STEM height 0 blend -- VolBlend hook -- hook overflow -- 0 - ada2 -- ada2 - adb2 -- adb2 + ada2 -- ada + adb2 -- adb define [object stroke] : eps.Dim include : eps.Shape - include : bar df (height - adb2) no-shape stroke + include : bar df (height - adb) stroke define SingleStoreyConfig : object singleStoreySerifless { FullBarBody SingleStorey.SeriflessBar } singleStoreyEarlessCornerSerifless { EarlessCornerBody SingleStorey.SeriflessBar } singleStoreyEarlessRoundedSerifless { EarlessRoundedBody SingleStorey.SeriflessBar } - singleStoreySerifed { FullBarBody SingleStorey.SerifedBar } - singleStoreyEarlessCornerSerifed { EarlessCornerBody SingleStorey.SerifedBar } - singleStoreyEarlessRoundedSerifed { EarlessRoundedBody SingleStorey.SerifedBar } + singleStoreySerifed { FullBarBody SingleStorey.BottomSerifedBar } + singleStoreyEarlessCornerSerifed { EarlessCornerBody SingleStorey.BottomSerifedBar } + singleStoreyEarlessRoundedSerifed { EarlessRoundedBody SingleStorey.BottomSerifedBar } singleStoreyDoubleSerifed { FullBarBody SingleStorey.DoubleSerifedBar } @@ -428,61 +428,63 @@ glyph-block Letter-Greek-Lower-Epsilon : begin foreach { suffix { body bar } } [Object.entries SingleStoreyConfig] : do create-glyph "AeVolapuk.\(suffix)" : glyph-proc - include : MarkSet.capital - include : body [DivFrame 1] CAP bar Hook ArchDepthA ArchDepthB + local df : include : DivFrame 1 + include : df.markSet.capital + include : body df CAP bar Hook ArchDepthA ArchDepthB create-glyph "aeVolapuk.\(suffix)" : glyph-proc - include : MarkSet.e - include : body [DivFrame 1] XH bar SHook SmallArchDepthA SmallArchDepthB + local df : include : DivFrame 1 + include : df.markSet.e + include : body df XH bar SHook SmallArchDepthA SmallArchDepthB do "Volapuk UE" glyph-block-import Letter-Latin-U : USerifs glyph-block-import Letter-Shared-Shapes : RightwardTailedBar - define [UToothed df height slab hook ada2 adb2] : glyph-proc + define [UToothed df height slab hook ada adb] : glyph-proc set-base-anchor 'trailing' df.rightSB 0 local eps : SmallEpsilon OPEN-VERTICAL CLOSED-STEM height 0 blend -- VolBlend hook -- hook overflow -- 0 - ada2 -- ada2 - adb2 -- adb2 + ada2 -- ada + adb2 -- adb define [object stroke] : eps.Dim include : eps.Shape include : VBar.r df.rightSB 0 height stroke include : slab df height - define [UTailed df height slab hook ada2 adb2] : glyph-proc + define [UTailed df height slab hook ada adb] : glyph-proc set-base-anchor 'trailing' (df.rightSB + SideJut) 0 local eps : SmallEpsilon OPEN-VERTICAL CLOSED-STEM height 0 blend -- VolBlend hook -- hook overflow -- 0 - ada2 -- ada2 - adb2 -- adb2 + ada2 -- ada + adb2 -- adb define [object stroke] : eps.Dim include : eps.Shape include : RightwardTailedBar df.rightSB 0 height stroke include : slab df height - define [UToothlessRounded df height slab hook ada2 adb2] : glyph-proc + define [UToothlessRounded df height slab hook ada adb] : glyph-proc local eps : SmallEpsilon OPEN-VERTICAL CLOSED-ROUND height 0 blend -- VolBlend hook -- hook overflow -- 0 - ada2 -- ada2 - adb2 -- adb2 + ada2 -- ada + adb2 -- adb define [object stroke] : eps.Dim include : eps.Shape - include : VBar.r df.rightSB ada2 height stroke + include : VBar.r df.rightSB ada height stroke include : slab df height - define [UToothlessCorner df height slab hook ada2 adb2] : glyph-proc + define [UToothlessCorner df height slab hook ada adb] : glyph-proc local eps : SmallEpsilon OPEN-VERTICAL SLAB-INWARD height 0 blend -- VolBlend hook -- hook overflow -- 0 - ada2 -- ada2 - adb2 -- adb2 + ada2 -- ada + adb2 -- adb define [object stroke] : eps.Dim include : eps.Shape include : VBar.r df.rightSB DToothlessRise height stroke diff --git a/packages/font-glyphs/src/letter/latin/lower-a.ptl b/packages/font-glyphs/src/letter/latin/lower-a.ptl index e7b9ba0e7..f4690f238 100644 --- a/packages/font-glyphs/src/letter/latin/lower-a.ptl +++ b/packages/font-glyphs/src/letter/latin/lower-a.ptl @@ -9,11 +9,10 @@ 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 - glyph-block-import Letter-Shared : CreateTurnedLetter + glyph-block-import Letter-Shared : CreateAccentedComposition CreateTurnedLetter glyph-block-import Letter-Shared-Shapes : SerifFrame OBarLeft OBarRight ArcStartSerif - glyph-block-import Letter-Shared-Shapes : RightwardTailedBar InvRightwardTailedBar - glyph-block-import Letter-Shared-Shapes : DToothlessRise DMBlend RetroflexHook InwardSlabArcStart + glyph-block-import Letter-Shared-Shapes : RightwardTailedBar DToothlessRise DMBlend + glyph-block-import Letter-Shared-Shapes : RetroflexHook InwardSlabArcStart glyph-block-export DoubleStorey define DoubleStorey : namespace @@ -142,105 +141,112 @@ glyph-block Letter-Latin-Lower-A : begin glyph-block-export SingleStorey define SingleStorey : namespace - export : define [FullBarBody df height bar mask _sw] : glyph-proc + define [EaredBodyImpl df top sw] : OBarRight.shape + top -- top + left -- df.leftSB + right -- df.rightSB + sw -- sw + fine -- (ShoulderFine * (sw / Stroke)) + ada -- [df.archDepthA SmallArchDepth sw] + adb -- [df.archDepthB SmallArchDepth sw] + + export : define [FullBarBody df top bar _sw] : glyph-proc local sw : fallback _sw df.mvs - include : OBarRight.shape - top -- height - left -- df.leftSB - right -- df.rightSB - sw -- sw - fine -- sw * (ShoulderFine / Stroke) - ada -- [df.archDepthA SmallArchDepth sw] - adb -- [df.archDepthB SmallArchDepth sw] - include : bar df height mask sw - export : define [EarlessCornerBody df height bar mask _sw] : glyph-proc + include : EaredBodyImpl df top sw + include : bar df top sw + export : define [ScriptCutBody df top bar _sw] : glyph-proc + local sw : fallback _sw df.mvs + include : EaredBodyImpl df top sw + include : bar df (top - sw / 2) sw + include : spiro-outline + corner df.rightSB top + corner df.rightSB (top - sw / 2) + corner (df.rightSB - [HSwToV sw]) (top - sw / 2) + export : define [EarlessCornerBody df top bar _sw] : glyph-proc local sw : fallback _sw df.mvs include : OBarLeft.toothless - top -- height + top -- top left -- df.leftSB right -- df.rightSB sw -- sw - fine -- sw * (ShoulderFine / Stroke) + fine -- (ShoulderFine * (sw / Stroke)) ada -- [df.archDepthA SmallArchDepth sw] adb -- [df.archDepthB SmallArchDepth sw] rise -- DToothlessRise mBlend -- DMBlend - include : FlipAround df.middle (height / 2) - include : bar df (height - DToothlessRise) mask sw - export : define [EarlessRoundedBody df height bar mask _sw] : glyph-proc + include : FlipAround df.middle (top / 2) + include : bar df (top - DToothlessRise) sw + export : define [EarlessRoundedBody df top bar _sw] : glyph-proc local sw : fallback _sw df.mvs local ada : df.archDepthA SmallArchDepth sw local adb : df.archDepthB SmallArchDepth sw include : OBarLeft.rounded - top -- height + top -- top left -- df.leftSB right -- df.rightSB sw -- sw - fine -- sw * (ShoulderFine / Stroke) + fine -- (ShoulderFine * (sw / Stroke)) ada -- ada adb -- adb - yTerminal -- (height - ada) - include : FlipAround df.middle (height / 2) - include : bar df (height - adb) mask sw + yTerminal -- (top - ada) + include : FlipAround df.middle (top / 2) + include : bar df (top - adb) sw - export : define [SeriflessBar df height mask sw] : glyph-proc + export : define [SeriflessBar df top sw] : glyph-proc set-base-anchor 'trailing' df.rightSB 0 - include : difference - VBar.r df.rightSB 0 height sw - mask df height sw - export : define [SerifedBar df height mask sw] : glyph-proc - include : SeriflessBar df height mask sw - include [SerifFrame.fromDf df height 0 (swSerif -- sw)].rb.outer - export : define [TopSerifedBar df height mask sw] : glyph-proc - include : SeriflessBar df height mask sw - include [SerifFrame.fromDf df height 0 (swSerif -- sw)].rt.outer - export : define [DoubleSerifedBar df height mask sw] : glyph-proc - include : SerifedBar df height mask sw - include [SerifFrame.fromDf df height 0 (swSerif -- sw)].rt.outer - export : define [TailedBar df height mask sw] : glyph-proc + include : VBar.r df.rightSB 0 top sw + export : define [TopSerifedBar df top sw] : glyph-proc + include : SeriflessBar df top sw + local sf : SerifFrame.fromDf df top 0 (swSerif -- sw) + include sf.rt.outer + export : define [BottomSerifedBar df top sw] : glyph-proc + include : SeriflessBar df top sw + local sf : SerifFrame.fromDf df top 0 (swSerif -- sw) + include sf.rb.outer + export : define [DoubleSerifedBar df top sw] : glyph-proc + include : SeriflessBar df top sw + local sf : SerifFrame.fromDf df top 0 (swSerif -- sw) + include : composite-proc sf.rt.outer sf.rb.outer + export : define [TailedBar df top sw] : glyph-proc set-base-anchor 'trailing' (df.rightSB + SideJut) 0 - include : difference - RightwardTailedBar df.rightSB 0 height sw - mask df height sw - export : define [TailedSerifedBar df height mask sw] : glyph-proc - include : TailedBar df height mask sw - include [SerifFrame.fromDf df height 0 (swSerif -- sw)].rt.outer - - export : define [ScriptCut df y sw] : spiro-outline - corner df.rightSB y - corner (df.rightSB - [HSwToV sw]) y - corner (df.rightSB - [HSwToV sw]) (y - sw / 2) + include : RightwardTailedBar df.rightSB 0 top sw + export : define [TailedSerifedBar df top sw] : glyph-proc + include : TailedBar df top sw + local sf : SerifFrame.fromDf df top 0 (swSerif -- sw) + include sf.rt.outer glyph-block-export SingleStoreyConfig define SingleStoreyConfig : object singleStoreySerifless { SingleStorey.FullBarBody SingleStorey.SeriflessBar } singleStoreyEarlessCornerSerifless { SingleStorey.EarlessCornerBody SingleStorey.SeriflessBar } singleStoreyEarlessRoundedSerifless { SingleStorey.EarlessRoundedBody SingleStorey.SeriflessBar } + singleStoreyScriptCutSerifless { SingleStorey.ScriptCutBody SingleStorey.SeriflessBar } singleStoreyTopSerifed { SingleStorey.FullBarBody SingleStorey.TopSerifedBar } - singleStoreySerifed { SingleStorey.FullBarBody SingleStorey.SerifedBar } - singleStoreyEarlessCornerSerifed { SingleStorey.EarlessCornerBody SingleStorey.SerifedBar } - singleStoreyEarlessRoundedSerifed { SingleStorey.EarlessRoundedBody SingleStorey.SerifedBar } + singleStoreySerifed { SingleStorey.FullBarBody SingleStorey.BottomSerifedBar } + singleStoreyEarlessCornerSerifed { SingleStorey.EarlessCornerBody SingleStorey.BottomSerifedBar } + singleStoreyEarlessRoundedSerifed { SingleStorey.EarlessRoundedBody SingleStorey.BottomSerifedBar } + singleStoreyScriptCutSerifed { SingleStorey.ScriptCutBody SingleStorey.BottomSerifedBar } singleStoreyDoubleSerifed { SingleStorey.FullBarBody SingleStorey.DoubleSerifedBar } singleStoreyTailed { SingleStorey.FullBarBody SingleStorey.TailedBar } singleStoreyEarlessCornerTailed { SingleStorey.EarlessCornerBody SingleStorey.TailedBar } singleStoreyEarlessRoundedTailed { SingleStorey.EarlessRoundedBody SingleStorey.TailedBar } + singleStoreyScriptCutTailed { SingleStorey.ScriptCutBody SingleStorey.TailedBar } singleStoreyTailedSerifed { SingleStorey.FullBarBody SingleStorey.TailedSerifedBar } foreach { suffix { body bar } } [Object.entries SingleStoreyConfig] : do create-glyph "a.\(suffix)" : glyph-proc - include : MarkSet.e - include : body [DivFrame 1] XH bar no-shape + local df : include : DivFrame 1 + include : df.markSet.e + include : body df XH bar create-glyph "AScript.\(suffix)" : glyph-proc - include : MarkSet.capital - include : body [DivFrame 1] CAP bar SingleStorey.ScriptCut - create-glyph "aScript.\(suffix)" : glyph-proc - include : MarkSet.e - include : body [DivFrame 1] XH bar SingleStorey.ScriptCut + local df : include : DivFrame 1 + include : df.markSet.capital + include : body df CAP bar select-variant 'a' 'a' link-reduced-variant 'a/sansSerif' 'a' MathSansSerif @@ -253,10 +259,10 @@ glyph-block Letter-Latin-Lower-A : begin derive-composites 'aRetroflexHook' 0x1D8F 'a/rtailBase' RetroflexHook.rSideJut RightSB 0 (yOverflow -- Stroke) - select-variant 'aScript' 0x251 (follow -- [conditional-follow SLAB 'aScript/autoSerifed/slab' 'aScript/autoSerifed/sans']) + 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']) - derive-composites 'aScriptRetroflexHook' 0x1D90 'aScript.singleStoreySerifless' + derive-composites 'aScriptRetroflexHook' 0x1D90 'a.singleStoreyScriptCutSerifless' RetroflexHook.rSideJut RightSB 0 (yOverflow -- Stroke) CreateTurnedLetter 'turnaScript' 0x252 'aScript' HalfAdvance (XH / 2) diff --git a/packages/font-glyphs/src/letter/latin/lower-g.ptl b/packages/font-glyphs/src/letter/latin/lower-g.ptl index dd3b5938f..16aa1cdf5 100644 --- a/packages/font-glyphs/src/letter/latin/lower-g.ptl +++ b/packages/font-glyphs/src/letter/latin/lower-g.ptl @@ -21,7 +21,7 @@ glyph-block Letter-Latin-Lower-G : begin # overlay bar width for double-storey g define obwDoubleStorey : Math.min [AdviceStroke 5] (0.5 / 3 * (CAP - Stroke * 4)) - create-glyph 'g.doubleStorey' : glyph-proc + create-glyph 'g.doubleStoreyClosed' : glyph-proc include : MarkSet.p local obot : XH * DesignParameters.gBarPos - O - Stroke * 0.4 include : OShape XH obot SB (RightSB - 0.3 * SB) @@ -51,7 +51,7 @@ glyph-block Letter-Latin-Lower-G : begin set-base-anchor 'overlay' Middle [mix (Descender + O) groundy 0.5] set-base-anchor 'strike' Middle (XH / 2) - derive-composites "gBar.doubleStorey" null "g.doubleStorey" [OverlayW obwDoubleStorey] + derive-composites "gBar.doubleStoreyClosed" null "g.doubleStoreyClosed" [OverlayW obwDoubleStorey] create-glyph 'g.doubleStoreyOpen' : glyph-proc include : MarkSet.p @@ -147,7 +147,7 @@ glyph-block Letter-Latin-Lower-G : begin define SingleStoreyConfig : SuffixCfg.weave object # hook - singleStorey SingleStorey.BentHook + singleStoreyBentHook SingleStorey.BentHook singleStoreyFlatHook SingleStorey.FlatHook object # ear/serif serifless { SingleStorey.SeriflessBody 0 } diff --git a/packages/font-glyphs/src/letter/latin/lower-j.ptl b/packages/font-glyphs/src/letter/latin/lower-j.ptl index 5d7468b06..db72990f1 100644 --- a/packages/font-glyphs/src/letter/latin/lower-j.ptl +++ b/packages/font-glyphs/src/letter/latin/lower-j.ptl @@ -141,7 +141,7 @@ glyph-block Letter-Latin-Lower-J : begin alias 'grek/yot' 0x3F3 'j' alias 'cyrl/je' 0x458 'j' - create-glyph 'dotlessjCurlyTail.serifless' : glyph-proc + create-glyph 'dotlessjCurlyTail.bentHookSerifless' : glyph-proc include : MarkSet.p set-base-anchor 'above' (Middle + JBalance) XH local fine : AdviceStroke 3.5 @@ -155,8 +155,8 @@ glyph-block Letter-Latin-Lower-J : begin x2 -- RightSB + [HSwToV : 0.5 * fine] y2 -- Descender + 0.5 * fine - create-glyph 'dotlessjCurlyTail.serifed' : glyph-proc - include [refer-glyph 'dotlessjCurlyTail.serifless'] AS_BASE ALSO_METRICS + create-glyph 'dotlessjCurlyTail.bentHookSerifed' : glyph-proc + include [refer-glyph 'dotlessjCurlyTail.bentHookSerifless'] AS_BASE ALSO_METRICS include : HSerif.lt (Middle + JBalance) XH LongJut select-variant 'dotlessjCurlyTail' diff --git a/params/variants.toml b/params/variants.toml index c09b1d1a6..6d88095a9 100644 --- a/params/variants.toml +++ b/params/variants.toml @@ -2139,8 +2139,8 @@ selectorAffix."a/rtailBase" = "doubleStorey" 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."aScript/autoSerifed/slab" = "singleStoreyScriptCut" +selectorAffix."aScript/autoSerifed/sans" = "singleStoreyScriptCut" [prime.a.variants-buildup.stages.storey.single-storey] rank = 2 @@ -2200,8 +2200,8 @@ selectorAffix."a/rtailBase" = "" selectorAffix."a/doubleStorey" = "" selectorAffix."a/singleStorey/autoSerifed/slab" = "" selectorAffix."a/singleStorey/autoSerifed/sans" = "" -selectorAffix."aScript/autoSerifed/slab" = "" -selectorAffix."aScript/autoSerifed/sans" = "" +selectorAffix."aScript/autoSerifed/slab" = "scriptCut" +selectorAffix."aScript/autoSerifed/sans" = "scriptCut" [prime.a.variants-buildup.stages.ear.earless-corner] rank = 2 @@ -2213,8 +2213,8 @@ selectorAffix."a/rtailBase" = "earlessCorner" selectorAffix."a/doubleStorey" = "" selectorAffix."a/singleStorey/autoSerifed/slab" = "earlessCorner" selectorAffix."a/singleStorey/autoSerifed/sans" = "earlessCorner" -selectorAffix."aScript/autoSerifed/slab" = "" -selectorAffix."aScript/autoSerifed/sans" = "" +selectorAffix."aScript/autoSerifed/slab" = "scriptCut" +selectorAffix."aScript/autoSerifed/sans" = "scriptCut" [prime.a.variants-buildup.stages.ear.earless-rounded] rank = 3 @@ -2226,8 +2226,8 @@ selectorAffix."a/rtailBase" = "earlessRounded" selectorAffix."a/doubleStorey" = "" selectorAffix."a/singleStorey/autoSerifed/slab" = "earlessRounded" selectorAffix."a/singleStorey/autoSerifed/sans" = "earlessRounded" -selectorAffix."aScript/autoSerifed/slab" = "" -selectorAffix."aScript/autoSerifed/sans" = "" +selectorAffix."aScript/autoSerifed/slab" = "scriptCut" +selectorAffix."aScript/autoSerifed/sans" = "scriptCut" [prime.a.variants-buildup.stages.bar.serifless] rank = 1 @@ -2765,10 +2765,10 @@ rank = 1 descriptionAffix = "double-storey shape" selectorAffix.g = "doubleStorey" selectorAffix."g/sansSerif" = "doubleStorey" -selectorAffix."g/hookTopBase" = "singleStoreySerifless" -selectorAffix."g/singleStorey/autoSerifed/slab" = "singleStoreySerifed" -selectorAffix."g/singleStorey/autoSerifed/sans" = "singleStoreySerifless" -selectorAffix.gScript = "singleStoreyScriptCut" +selectorAffix."g/hookTopBase" = "singleStoreyBentHookSerifless" +selectorAffix."g/singleStorey/autoSerifed/slab" = "singleStoreyBentHookSerifed" +selectorAffix."g/singleStorey/autoSerifed/sans" = "singleStoreyBentHookSerifless" +selectorAffix.gScript = "singleStoreyBentHookScriptCut" [prime.g.variants-buildup.stages.openness."*"] next = "END" @@ -2776,8 +2776,8 @@ next = "END" [prime.g.variants-buildup.stages.openness.closed] rank = 1 keyAffix = "" -selectorAffix.g = "" -selectorAffix."g/sansSerif" = "" +selectorAffix.g = "closed" +selectorAffix."g/sansSerif" = "closed" selectorAffix."g/hookTopBase" = "" selectorAffix."g/singleStorey/autoSerifed/slab" = "" selectorAffix."g/singleStorey/autoSerifed/sans" = "" @@ -2810,12 +2810,12 @@ next = "ear" [prime.g.variants-buildup.stages.hook.bent-hook] rank = 1 keyAffix = "" -selectorAffix.g = "" -selectorAffix."g/sansSerif" = "" -selectorAffix."g/hookTopBase" = "" -selectorAffix."g/singleStorey/autoSerifed/slab" = "" -selectorAffix."g/singleStorey/autoSerifed/sans" = "" -selectorAffix.gScript = "" +selectorAffix.g = "bentHook" +selectorAffix."g/sansSerif" = "bentHook" +selectorAffix."g/hookTopBase" = "bentHook" +selectorAffix."g/singleStorey/autoSerifed/slab" = "bentHook" +selectorAffix."g/singleStorey/autoSerifed/sans" = "bentHook" +selectorAffix.gScript = "bentHook" [prime.g.variants-buildup.stages.hook.flat-hook] rank = 2 @@ -3085,7 +3085,7 @@ description = "`j` without serif" selector.dotlessj = "bentHookSerifless" selector."dotlessj/sansSerif" = "bentHookSerifless" selector.dotlessjHookTop = "bentHookSerifless" -selector.dotlessjCurlyTail = "serifless" +selector.dotlessjCurlyTail = "bentHookSerifless" [prime.j.variants.serifed] rank = 2 @@ -3093,7 +3093,7 @@ description = "`j` with top serif" selector.dotlessj = "bentHookSerifed" selector."dotlessj/sansSerif" = "bentHookSerifless" selector.dotlessjHookTop = "bentHookShortSerifed" -selector.dotlessjCurlyTail = "serifed" +selector.dotlessjCurlyTail = "bentHookSerifed" [prime.j.variants.straight-line] rank = 3 @@ -3101,7 +3101,7 @@ description = "`j` like a straight line" selector.dotlessj = "straightSerifless" selector."dotlessj/sansSerif" = "straightSerifless" selector.dotlessjHookTop = "straightSerifless" -selector.dotlessjCurlyTail = "serifless" +selector.dotlessjCurlyTail = "bentHookSerifless" [prime.j.variants.hooky] rank = 4 @@ -3109,7 +3109,7 @@ description = "`j` like a straight line with top serif" selector.dotlessj = "straightSerifed" selector."dotlessj/sansSerif" = "straightSerifless" selector.dotlessjHookTop = "straightShortSerifed" -selector.dotlessjCurlyTail = "serifed" +selector.dotlessjCurlyTail = "bentHookSerifed" [prime.j.variants.flat-hook-serifless] rank = 5 @@ -3117,7 +3117,7 @@ description = "`j` with flat terminal hook" selector.dotlessj = "flatHookSerifless" selector."dotlessj/sansSerif" = "flatHookSerifless" selector.dotlessjHookTop = "flatHookSerifless" -selector.dotlessjCurlyTail = "serifless" +selector.dotlessjCurlyTail = "bentHookSerifless" [prime.j.variants.flat-hook-serifed] rank = 6 @@ -3125,7 +3125,7 @@ description = "`j` with flat terminal hook and top serif" selector.dotlessj = "flatHookSerifed" selector."dotlessj/sansSerif" = "flatHookSerifless" selector.dotlessjHookTop = "flatHookShortSerifed" -selector.dotlessjCurlyTail = "serifed" +selector.dotlessjCurlyTail = "bentHookSerifed" [prime.j.variants.diagonal-tailed-serifless] rank = 7 @@ -3133,7 +3133,7 @@ description = "`j` with diagonal tail" selector.dotlessj = "diagonalTailedSerifless" selector."dotlessj/sansSerif" = "diagonalTailedSerifless" selector.dotlessjHookTop = "diagonalTailedSerifless" -selector.dotlessjCurlyTail = "serifless" +selector.dotlessjCurlyTail = "bentHookSerifless" [prime.j.variants.diagonal-tailed-serifed] rank = 8 @@ -3141,7 +3141,7 @@ description = "`j` with top serif and diagonal tail" selector.dotlessj = "diagonalTailedSerifed" selector."dotlessj/sansSerif" = "diagonalTailedSerifless" selector.dotlessjHookTop = "diagonalTailedShortSerifed" -selector.dotlessjCurlyTail = "serifed" +selector.dotlessjCurlyTail = "bentHookSerifed"