Make scriptCut
variants for a
/b
/g
/q
selectable via CV. (#2634)
* Make `scriptCut` variants for `a`/`b`/`g`/`q` selectable via CV. * Bump.
This commit is contained in:
parent
d12b856b37
commit
52c5e55053
9 changed files with 217 additions and 99 deletions
|
@ -1,3 +0,0 @@
|
||||||
* Add `curved` variant for `¶` (#2045).
|
|
||||||
* Add characters:
|
|
||||||
- CURVED STEM PARAGRAPH SIGN ORNAMENT (`U+2761`).
|
|
5
changes/32.4.0.md
Normal file
5
changes/32.4.0.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
* Add `curved` variant for `¶` (#2045).
|
||||||
|
* Add `top-cut` variants for `a`/`g`/`q`.
|
||||||
|
* Add `bottom-cut` variants for `b`.
|
||||||
|
* Add characters:
|
||||||
|
- CURVED STEM PARAGRAPH SIGN ORNAMENT (`U+2761`).
|
|
@ -389,6 +389,21 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
|
||||||
include : eps.Shape
|
include : eps.Shape
|
||||||
include : bar df top stroke
|
include : bar df top stroke
|
||||||
|
|
||||||
|
define [TopCutBody df top bar hook ada adb] : glyph-proc
|
||||||
|
local eps : SmallEpsilon CLOSED-STEM CLOSED-STEM top 0
|
||||||
|
blend -- VolBlend
|
||||||
|
hook -- hook
|
||||||
|
overflow -- 0
|
||||||
|
ada2 -- ada
|
||||||
|
adb2 -- adb
|
||||||
|
define [object stroke] : eps.Dim
|
||||||
|
include : eps.Shape
|
||||||
|
include : bar df (top - stroke / 2) stroke
|
||||||
|
include : spiro-outline
|
||||||
|
corner df.rightSB top
|
||||||
|
corner df.rightSB (top - stroke / 2)
|
||||||
|
corner (df.rightSB - [HSwToV stroke]) (top - stroke / 2)
|
||||||
|
|
||||||
define [EarlessCornerBody df top bar hook ada adb] : glyph-proc
|
define [EarlessCornerBody df top bar hook ada adb] : glyph-proc
|
||||||
local eps : SmallEpsilon SLAB-INWARD CLOSED-STEM top 0
|
local eps : SmallEpsilon SLAB-INWARD CLOSED-STEM top 0
|
||||||
blend -- VolBlend
|
blend -- VolBlend
|
||||||
|
@ -415,16 +430,19 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
|
||||||
singleStoreySerifless { FullBarBody SingleStorey.SeriflessBar }
|
singleStoreySerifless { FullBarBody SingleStorey.SeriflessBar }
|
||||||
singleStoreyEarlessCornerSerifless { EarlessCornerBody SingleStorey.SeriflessBar }
|
singleStoreyEarlessCornerSerifless { EarlessCornerBody SingleStorey.SeriflessBar }
|
||||||
singleStoreyEarlessRoundedSerifless { EarlessRoundedBody SingleStorey.SeriflessBar }
|
singleStoreyEarlessRoundedSerifless { EarlessRoundedBody SingleStorey.SeriflessBar }
|
||||||
|
singleStoreyTopCutSerifless { TopCutBody SingleStorey.SeriflessBar }
|
||||||
|
|
||||||
singleStoreySerifed { FullBarBody SingleStorey.BottomSerifedBar }
|
singleStoreySerifed { FullBarBody SingleStorey.BottomSerifedBar }
|
||||||
singleStoreyEarlessCornerSerifed { EarlessCornerBody SingleStorey.BottomSerifedBar }
|
singleStoreyEarlessCornerSerifed { EarlessCornerBody SingleStorey.BottomSerifedBar }
|
||||||
singleStoreyEarlessRoundedSerifed { EarlessRoundedBody SingleStorey.BottomSerifedBar }
|
singleStoreyEarlessRoundedSerifed { EarlessRoundedBody SingleStorey.BottomSerifedBar }
|
||||||
|
singleStoreyTopCutSerifed { TopCutBody SingleStorey.BottomSerifedBar }
|
||||||
|
|
||||||
singleStoreyDoubleSerifed { FullBarBody SingleStorey.DoubleSerifedBar }
|
singleStoreyDoubleSerifed { FullBarBody SingleStorey.DoubleSerifedBar }
|
||||||
|
|
||||||
singleStoreyTailed { FullBarBody SingleStorey.TailedBar }
|
singleStoreyTailed { FullBarBody SingleStorey.TailedBar }
|
||||||
singleStoreyEarlessCornerTailed { EarlessCornerBody SingleStorey.TailedBar }
|
singleStoreyEarlessCornerTailed { EarlessCornerBody SingleStorey.TailedBar }
|
||||||
singleStoreyEarlessRoundedTailed { EarlessRoundedBody SingleStorey.TailedBar }
|
singleStoreyEarlessRoundedTailed { EarlessRoundedBody SingleStorey.TailedBar }
|
||||||
|
singleStoreyTopCutTailed { TopCutBody SingleStorey.TailedBar }
|
||||||
|
|
||||||
singleStoreyTailedSerifed { FullBarBody SingleStorey.TailedSerifedBar }
|
singleStoreyTailedSerifed { FullBarBody SingleStorey.TailedSerifedBar }
|
||||||
|
|
||||||
|
@ -525,21 +543,26 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
|
||||||
select-variant 'UeVolapuk' 0xA79E (follow -- 'u')
|
select-variant 'UeVolapuk' 0xA79E (follow -- 'u')
|
||||||
select-variant 'ueVolapuk' 0xA79F (follow -- 'u')
|
select-variant 'ueVolapuk' 0xA79F (follow -- 'u')
|
||||||
|
|
||||||
alias 'grek/epsilon' 0x3B5 'latn/epsilon.serifless'
|
|
||||||
select-variant 'latn/Epsilon' 0x190
|
select-variant 'latn/Epsilon' 0x190
|
||||||
select-variant 'latn/epsilon' 0x25B
|
select-variant 'latn/epsilon' 0x25B
|
||||||
|
|
||||||
CreateTurnedLetter 'turnepsilon' 0x1D08 'latn/epsilon' HalfAdvance (XH / 2)
|
CreateTurnedLetter 'turnepsilon' 0x1D08 'latn/epsilon' HalfAdvance (XH / 2)
|
||||||
|
|
||||||
|
alias 'grek/epsilon' 0x3B5 'latn/epsilon.serifless'
|
||||||
|
|
||||||
alias 'cyrl/ZeRev' 0x510 'latn/Epsilon'
|
alias 'cyrl/ZeRev' 0x510 'latn/Epsilon'
|
||||||
alias 'cyrl/zeRev' 0x511 'latn/epsilon'
|
alias 'cyrl/zeRev' 0x511 'latn/epsilon'
|
||||||
|
|
||||||
select-variant 'cyrl/Ze' 0x417
|
select-variant 'cyrl/Ze' 0x417
|
||||||
select-variant 'cyrl/ze' 0x437
|
select-variant 'cyrl/ze' 0x437
|
||||||
select-variant 'cyrl/KsiBase' (follow -- 'cyrl/ZeTopSerifOnly')
|
select-variant 'cyrl/ze.BGR' (follow -- 'cyrl/ze')
|
||||||
select-variant 'cyrl/ksiBase' (follow -- 'cyrl/zeTopSerifOnly')
|
|
||||||
select-variant 'cyrl/ze.BGR' (follow -- 'cyrl/ze')
|
|
||||||
alias 'latn/EpsilonRev' 0xA7AB 'cyrl/Ze'
|
alias 'latn/EpsilonRev' 0xA7AB 'cyrl/Ze'
|
||||||
alias 'latn/epsilonRev' 0x25C 'cyrl/ze'
|
alias 'latn/epsilonRev' 0x25C 'cyrl/ze'
|
||||||
|
|
||||||
|
select-variant 'cyrl/KsiBase' (follow -- 'cyrl/ZeTopSerifOnly')
|
||||||
|
select-variant 'cyrl/ksiBase' (follow -- 'cyrl/zeTopSerifOnly')
|
||||||
|
|
||||||
select-variant 'cyrl/ZjeKomi' 0x504 (follow -- 'cyrl/ZeTopSerifOnly')
|
select-variant 'cyrl/ZjeKomi' 0x504 (follow -- 'cyrl/ZeTopSerifOnly')
|
||||||
select-variant 'cyrl/zjeKomi' 0x505 (follow -- 'cyrl/zeTopSerifOnly')
|
select-variant 'cyrl/zjeKomi' 0x505 (follow -- 'cyrl/zeTopSerifOnly')
|
||||||
select-variant 'cyrl/DzjeKomi' 0x506 (follow -- 'cyrl/ZeTopSerifOnly')
|
select-variant 'cyrl/DzjeKomi' 0x506 (follow -- 'cyrl/ZeTopSerifOnly')
|
||||||
|
@ -563,13 +586,12 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
|
||||||
include : ExtendBelowBaseAnchors (-AccentHeight)
|
include : ExtendBelowBaseAnchors (-AccentHeight)
|
||||||
|
|
||||||
select-variant 'latn/epsilon/descBase' (shapeFrom -- 'latn/epsilon')
|
select-variant 'latn/epsilon/descBase' (shapeFrom -- 'latn/epsilon')
|
||||||
select-variant 'latn/epsilonRev/descBase' (shapeFrom -- 'cyrl/ze') (follow -- 'cyrl/ze/descBase')
|
|
||||||
|
|
||||||
derive-composites 'latn/epsilonRetroflexHook' 0x1D93 'latn/epsilon/descBase'
|
derive-composites 'latn/epsilonRetroflexHook' 0x1D93 'latn/epsilon/descBase'
|
||||||
RetroflexHook.r RightSB 0 (refSw -- [AdviceStroke2 2 3 XH])
|
RetroflexHook.r RightSB 0 (refSw -- [AdviceStroke2 2 3 XH])
|
||||||
|
|
||||||
|
select-variant 'latn/epsilonRev/descBase' (shapeFrom -- 'cyrl/ze') (follow -- 'cyrl/ze/descBase')
|
||||||
derive-composites 'latn/epsilonRevRetroflexHook' 0x1D94 'latn/epsilonRev/descBase'
|
derive-composites 'latn/epsilonRevRetroflexHook' 0x1D94 'latn/epsilonRev/descBase'
|
||||||
RetroflexHook.l SB 0 (refSw -- [AdviceStroke2 2 3 XH])
|
RetroflexHook.l SB 0 (refSw -- [AdviceStroke2 2 3 XH])
|
||||||
ExtendBelowBaseAnchors Descender
|
|
||||||
|
|
||||||
create-glyph 'voicedLaryngealSpirant' 0x1D24 : glyph-proc
|
create-glyph 'voicedLaryngealSpirant' 0x1D24 : glyph-proc
|
||||||
include : MarkSet.b
|
include : MarkSet.b
|
||||||
|
|
|
@ -81,13 +81,13 @@ glyph-block Letter-Latin-Lower-A : begin
|
||||||
|
|
||||||
export : define [Serifless df hookStyle sw] : union
|
export : define [Serifless df hookStyle sw] : union
|
||||||
HookAndBar df hookStyle 0 sw
|
HookAndBar df hookStyle 0 sw
|
||||||
Arc df 0 nothing nothing sw
|
Arc df 0 nothing sw
|
||||||
export : define [Serifed df hookStyle sw] : union
|
export : define [Serifed df hookStyle sw] : union
|
||||||
Serifless df hookStyle sw
|
Serifless df hookStyle sw
|
||||||
begin [SerifFrame.fromDf df XH 0].rb.outer
|
begin [SerifFrame.fromDf df XH 0].rb.outer
|
||||||
export : define [Tailed df hookStyle sw] : union
|
export : define [Tailed df hookStyle sw] : union
|
||||||
HookAndBar df hookStyle (XH - [ADoubleStoreySmoothB df] + O) sw
|
HookAndBar df hookStyle (XH - [ADoubleStoreySmoothB df] + O) sw
|
||||||
Arc df 0 nothing nothing sw
|
Arc df 0 nothing sw
|
||||||
RightwardTailedBar df.rightSB 0 (XH - [ADoubleStoreySmoothB df]) (sw -- [fallback sw : ADoubleStoreyStroke df])
|
RightwardTailedBar df.rightSB 0 (XH - [ADoubleStoreySmoothB df]) (sw -- [fallback sw : ADoubleStoreyStroke df])
|
||||||
export : define [ToothlessCorner df hookStyle sw] : union
|
export : define [ToothlessCorner df hookStyle sw] : union
|
||||||
HookAndBar df hookStyle DToothlessRise sw
|
HookAndBar df hookStyle DToothlessRise sw
|
||||||
|
@ -99,7 +99,7 @@ glyph-block Letter-Latin-Lower-A : begin
|
||||||
export : define [GetMask shapeFn df sw] : match shapeFn
|
export : define [GetMask shapeFn df sw] : match shapeFn
|
||||||
[Just ToothlessCorner] : ArcMask df 1 DToothlessRise sw
|
[Just ToothlessCorner] : ArcMask df 1 DToothlessRise sw
|
||||||
[Just ToothlessRounded] : ArcMask df 2 [ADoubleStoreySmoothA df] sw
|
[Just ToothlessRounded] : ArcMask df 2 [ADoubleStoreySmoothA df] sw
|
||||||
__ : ArcMask df 0 nothing nothing sw
|
__ : ArcMask df 0 nothing sw
|
||||||
|
|
||||||
glyph-block-export DoubleStoreyConfig
|
glyph-block-export DoubleStoreyConfig
|
||||||
define DoubleStoreyConfig : object
|
define DoubleStoreyConfig : object
|
||||||
|
@ -154,7 +154,7 @@ glyph-block Letter-Latin-Lower-A : begin
|
||||||
local sw : fallback _sw df.mvs
|
local sw : fallback _sw df.mvs
|
||||||
include : EaredBodyImpl df top sw
|
include : EaredBodyImpl df top sw
|
||||||
include : bar df top sw
|
include : bar df top sw
|
||||||
export : define [ScriptCutBody df top bar _sw] : glyph-proc
|
export : define [TopCutBody df top bar _sw] : glyph-proc
|
||||||
local sw : fallback _sw df.mvs
|
local sw : fallback _sw df.mvs
|
||||||
include : EaredBodyImpl df top sw
|
include : EaredBodyImpl df top sw
|
||||||
include : bar df (top - sw / 2) sw
|
include : bar df (top - sw / 2) sw
|
||||||
|
@ -220,21 +220,21 @@ glyph-block Letter-Latin-Lower-A : begin
|
||||||
singleStoreySerifless { SingleStorey.FullBarBody SingleStorey.SeriflessBar }
|
singleStoreySerifless { SingleStorey.FullBarBody SingleStorey.SeriflessBar }
|
||||||
singleStoreyEarlessCornerSerifless { SingleStorey.EarlessCornerBody SingleStorey.SeriflessBar }
|
singleStoreyEarlessCornerSerifless { SingleStorey.EarlessCornerBody SingleStorey.SeriflessBar }
|
||||||
singleStoreyEarlessRoundedSerifless { SingleStorey.EarlessRoundedBody SingleStorey.SeriflessBar }
|
singleStoreyEarlessRoundedSerifless { SingleStorey.EarlessRoundedBody SingleStorey.SeriflessBar }
|
||||||
singleStoreyScriptCutSerifless { SingleStorey.ScriptCutBody SingleStorey.SeriflessBar }
|
singleStoreyTopCutSerifless { SingleStorey.TopCutBody SingleStorey.SeriflessBar }
|
||||||
|
|
||||||
singleStoreyTopSerifed { SingleStorey.FullBarBody SingleStorey.TopSerifedBar }
|
singleStoreyTopSerifed { SingleStorey.FullBarBody SingleStorey.TopSerifedBar }
|
||||||
|
|
||||||
singleStoreySerifed { SingleStorey.FullBarBody SingleStorey.BottomSerifedBar }
|
singleStoreySerifed { SingleStorey.FullBarBody SingleStorey.BottomSerifedBar }
|
||||||
singleStoreyEarlessCornerSerifed { SingleStorey.EarlessCornerBody SingleStorey.BottomSerifedBar }
|
singleStoreyEarlessCornerSerifed { SingleStorey.EarlessCornerBody SingleStorey.BottomSerifedBar }
|
||||||
singleStoreyEarlessRoundedSerifed { SingleStorey.EarlessRoundedBody SingleStorey.BottomSerifedBar }
|
singleStoreyEarlessRoundedSerifed { SingleStorey.EarlessRoundedBody SingleStorey.BottomSerifedBar }
|
||||||
singleStoreyScriptCutSerifed { SingleStorey.ScriptCutBody SingleStorey.BottomSerifedBar }
|
singleStoreyTopCutSerifed { SingleStorey.TopCutBody SingleStorey.BottomSerifedBar }
|
||||||
|
|
||||||
singleStoreyDoubleSerifed { SingleStorey.FullBarBody SingleStorey.DoubleSerifedBar }
|
singleStoreyDoubleSerifed { SingleStorey.FullBarBody SingleStorey.DoubleSerifedBar }
|
||||||
|
|
||||||
singleStoreyTailed { SingleStorey.FullBarBody SingleStorey.TailedBar }
|
singleStoreyTailed { SingleStorey.FullBarBody SingleStorey.TailedBar }
|
||||||
singleStoreyEarlessCornerTailed { SingleStorey.EarlessCornerBody SingleStorey.TailedBar }
|
singleStoreyEarlessCornerTailed { SingleStorey.EarlessCornerBody SingleStorey.TailedBar }
|
||||||
singleStoreyEarlessRoundedTailed { SingleStorey.EarlessRoundedBody SingleStorey.TailedBar }
|
singleStoreyEarlessRoundedTailed { SingleStorey.EarlessRoundedBody SingleStorey.TailedBar }
|
||||||
singleStoreyScriptCutTailed { SingleStorey.ScriptCutBody SingleStorey.TailedBar }
|
singleStoreyTopCutTailed { SingleStorey.TopCutBody SingleStorey.TailedBar }
|
||||||
|
|
||||||
singleStoreyTailedSerifed { SingleStorey.FullBarBody SingleStorey.TailedSerifedBar }
|
singleStoreyTailedSerifed { SingleStorey.FullBarBody SingleStorey.TailedSerifedBar }
|
||||||
|
|
||||||
|
@ -262,7 +262,7 @@ glyph-block Letter-Latin-Lower-A : begin
|
||||||
select-variant 'aScript' 0x251 (follow -- [conditional-follow SLAB 'aScript/autoSerifed/slab' 'aScript/autoSerifed/sans']) (shapeFrom -- 'a')
|
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 'AScript' 0x2C6D (follow -- [conditional-follow SLAB 'aScript/autoSerifed/slab' 'aScript/autoSerifed/sans'])
|
||||||
|
|
||||||
derive-composites 'aScriptRetroflexHook' 0x1D90 'a.singleStoreyScriptCutSerifless'
|
derive-composites 'aScriptRetroflexHook' 0x1D90 'a.singleStoreyTopCutSerifless'
|
||||||
RetroflexHook.rSideJut RightSB 0 (yOverflow -- Stroke)
|
RetroflexHook.rSideJut RightSB 0 (yOverflow -- Stroke)
|
||||||
|
|
||||||
CreateTurnedLetter 'turnaScript' 0x252 'aScript' HalfAdvance (XH / 2)
|
CreateTurnedLetter 'turnaScript' 0x252 'aScript' HalfAdvance (XH / 2)
|
||||||
|
|
|
@ -16,6 +16,14 @@ glyph-block Letter-Latin-Lower-B : begin
|
||||||
OBarLeft.shape
|
OBarLeft.shape
|
||||||
VBar.l SB 0 yTop
|
VBar.l SB 0 yTop
|
||||||
|
|
||||||
|
define [BottomCutBody yTop] : union
|
||||||
|
OBarLeft.shape
|
||||||
|
VBar.l SB HalfStroke yTop
|
||||||
|
spiro-outline
|
||||||
|
corner SB 0
|
||||||
|
corner SB HalfStroke
|
||||||
|
corner (SB + [HSwToV Stroke]) HalfStroke
|
||||||
|
|
||||||
define [ToothlessCornerBody yTop] : union
|
define [ToothlessCornerBody yTop] : union
|
||||||
OBarLeft.toothless (rise -- DToothlessRise) (mBlend -- DMBlend)
|
OBarLeft.toothless (rise -- DToothlessRise) (mBlend -- DMBlend)
|
||||||
VBar.l SB DToothlessRise yTop
|
VBar.l SB DToothlessRise yTop
|
||||||
|
@ -31,6 +39,7 @@ glyph-block Letter-Latin-Lower-B : begin
|
||||||
toothed ToothedBody
|
toothed ToothedBody
|
||||||
toothlessCorner ToothlessCornerBody
|
toothlessCorner ToothlessCornerBody
|
||||||
toothlessRounded ToothlessRoundedBody
|
toothlessRounded ToothlessRoundedBody
|
||||||
|
bottomCut BottomCutBody
|
||||||
object # serifs
|
object # serifs
|
||||||
serifless { no-shape false }
|
serifless { no-shape false }
|
||||||
motionSerifed { LTSerifs true }
|
motionSerifed { LTSerifs true }
|
||||||
|
@ -65,7 +74,7 @@ glyph-block Letter-Latin-Lower-B : begin
|
||||||
local xRight : mix SB RightSB 0.9
|
local xRight : mix SB RightSB 0.9
|
||||||
include : HBar.t xLeft xRight Ascender
|
include : HBar.t xLeft xRight Ascender
|
||||||
include : Serifs
|
include : Serifs
|
||||||
if doTS : include : VSerif.dr [mix SB RightSB 0.9] Ascender VJut
|
if doTS : include : VSerif.dr xRight Ascender VJut
|
||||||
include : LeaningAnchor.Above.VBar.m [mix xLeft xRight 0.5]
|
include : LeaningAnchor.Above.VBar.m [mix xLeft xRight 0.5]
|
||||||
|
|
||||||
if [not doTS] : create-glyph "bHookTop.\(suffix)" : glyph-proc
|
if [not doTS] : create-glyph "bHookTop.\(suffix)" : glyph-proc
|
||||||
|
@ -103,5 +112,5 @@ glyph-block Letter-Latin-Lower-B : begin
|
||||||
OShapeOutline.NoOvershoot XH 0 (SB + BBD + [HSwToV BBS]) RightSB
|
OShapeOutline.NoOvershoot XH 0 (SB + BBD + [HSwToV BBS]) RightSB
|
||||||
VBar.r (RightSB - BBD - OX) 0 XH BBS
|
VBar.r (RightSB - BBD - OX) 0 XH BBS
|
||||||
include : OBarLeft.shape
|
include : OBarLeft.shape
|
||||||
left -- SB + BBD
|
left -- (SB + BBD)
|
||||||
sw -- BBS
|
sw -- BBS
|
||||||
|
|
|
@ -95,7 +95,7 @@ glyph-block Letter-Latin-Lower-D : begin
|
||||||
if topSerif : include : topSerif df Ascender
|
if topSerif : include : topSerif df Ascender
|
||||||
if bottomSerif : include : bottomSerif df Ascender
|
if bottomSerif : include : bottomSerif df Ascender
|
||||||
include : LeaningAnchor.Above.VBar.r df.rightSB
|
include : LeaningAnchor.Above.VBar.r df.rightSB
|
||||||
set-base-anchor 'overlayOnExtension' (df.rightSB - [HSwToV : 0.5 * Stroke]) yOverlay
|
set-base-anchor 'overlayOnExtension' (df.rightSB - [HSwToV HalfStroke]) yOverlay
|
||||||
|
|
||||||
create-glyph "dStroke.\(suffix)" : glyph-proc
|
create-glyph "dStroke.\(suffix)" : glyph-proc
|
||||||
local df : DivFrame 1
|
local df : DivFrame 1
|
||||||
|
@ -110,7 +110,7 @@ glyph-block Letter-Latin-Lower-D : begin
|
||||||
local xRight : df.rightSB + O
|
local xRight : df.rightSB + O
|
||||||
include : HBar.t xLeft xRight Ascender
|
include : HBar.t xLeft xRight Ascender
|
||||||
if topSerif : begin
|
if topSerif : begin
|
||||||
include : VSerif.dl xLeft Ascender : Math.min VJut (0.8 * (Ascender - XH))
|
include : VSerif.dl xLeft Ascender [Math.min VJut : 0.8 * (Ascender - XH)]
|
||||||
if [not para.isItalic] : include : HSerif.rt df.rightSB Ascender SideJut
|
if [not para.isItalic] : include : HSerif.rt df.rightSB Ascender SideJut
|
||||||
if bottomSerif : include : bottomSerif df Ascender
|
if bottomSerif : include : bottomSerif df Ascender
|
||||||
include : LeaningAnchor.Above.VBar.m [mix xLeft xRight 0.5]
|
include : LeaningAnchor.Above.VBar.m [mix xLeft xRight 0.5]
|
||||||
|
@ -198,20 +198,20 @@ glyph-block Letter-Latin-Lower-D : begin
|
||||||
local fine : AdviceStroke 4
|
local fine : AdviceStroke 4
|
||||||
local rinner : clamp (Width * 0.065) (XH * 0.05) (fine * 0.35)
|
local rinner : clamp (Width * 0.065) (XH * 0.05) (fine * 0.35)
|
||||||
local sw : AdviceStroke 2.75
|
local sw : AdviceStroke 2.75
|
||||||
local m1 : Math.min RightSB (Width - rinner * 2 - fine - OX)
|
local m : Math.min RightSB (Width - rinner * 2 - fine - OX)
|
||||||
|
|
||||||
include : LeaningAnchor.Above.VBar.r m1
|
include : LeaningAnchor.Above.VBar.r m
|
||||||
include : OBarRight.shape (left -- SB) (right -- m1) (sw -- sw)
|
include : OBarRight.shape (left -- SB) (right -- m) (sw -- sw)
|
||||||
include : dispiro
|
include : dispiro
|
||||||
widths.lhs sw
|
widths.lhs sw
|
||||||
flat (m1 - [HSwToV sw]) Ascender [heading Downward]
|
flat (m - [HSwToV sw]) Ascender [heading Downward]
|
||||||
curl (m1 - [HSwToV sw]) (rinner * 2 + fine)
|
curl (m - [HSwToV sw]) (rinner * 2 + fine)
|
||||||
CurlyTail.n fine 0 (m1 + rinner * 2 + fine)
|
CurlyTail.n fine 0 (m + rinner * 2 + fine)
|
||||||
x2 -- ([mix SB m1 0.5] - [HSwToV : 0.75 * fine])
|
x2 -- ([mix SB m 0.5] - [HSwToV : 0.75 * fine])
|
||||||
y2 -- 0.37 * Descender
|
y2 -- (0.37 * Descender)
|
||||||
swBefore -- sw
|
swBefore -- sw
|
||||||
terminalSlopeAdj -- 0.25
|
terminalSlopeAdj -- 0.25
|
||||||
if fSerif : include : HSerif.lt (m1 - [HSwToV sw]) Ascender SideJut
|
if fSerif : include : HSerif.lt (m - [HSwToV sw]) Ascender SideJut
|
||||||
|
|
||||||
select-variant 'dCurlyTail' 0x221
|
select-variant 'dCurlyTail' 0x221
|
||||||
|
|
||||||
|
@ -224,5 +224,5 @@ glyph-block Letter-Latin-Lower-D : begin
|
||||||
OShapeOutline.NoOvershoot XH 0 SB (RightSB - BBD - [HSwToV BBS])
|
OShapeOutline.NoOvershoot XH 0 SB (RightSB - BBD - [HSwToV BBS])
|
||||||
VBar.l (SB + BBD + OX) 0 XH BBS
|
VBar.l (SB + BBD + OX) 0 XH BBS
|
||||||
include : OBarRight.shape
|
include : OBarRight.shape
|
||||||
right -- RightSB - BBD
|
right -- (RightSB - BBD)
|
||||||
sw -- BBS
|
sw -- BBS
|
||||||
|
|
|
@ -19,20 +19,20 @@ glyph-block Letter-Latin-Lower-G : begin
|
||||||
include : HBar.m l r currentGlyph.baseAnchors.overlay.y bw
|
include : HBar.m l r currentGlyph.baseAnchors.overlay.y bw
|
||||||
|
|
||||||
# overlay bar width for double-storey g
|
# overlay bar width for double-storey g
|
||||||
define obwDoubleStorey : Math.min [AdviceStroke 5] (0.5 / 3 * (CAP - Stroke * 4))
|
define obwDoubleStorey : Math.min (0.5 / 3 * (CAP - Stroke * 4)) : AdviceStroke 5
|
||||||
|
|
||||||
create-glyph 'g.doubleStoreyClosed' : glyph-proc
|
create-glyph 'g.doubleStoreyClosed' : glyph-proc
|
||||||
include : MarkSet.p
|
include : MarkSet.p
|
||||||
local obot : XH * DesignParameters.gBarPos - O - Stroke * 0.4
|
local obot : XH * DesignParameters.gBarPos - O - Stroke * 0.4
|
||||||
include : OShape XH obot SB (RightSB - 0.3 * SB)
|
include : OShape XH obot SB (RightSB - 0.3 * SB)
|
||||||
|
|
||||||
local gleftx ([mix 0 SB 0.85] + OX)
|
local gleftx : [mix 0 SB 0.85] + OX
|
||||||
local grightx ([mix Width RightSB 0.825] - OX)
|
local grightx : [mix Width RightSB 0.825] - OX
|
||||||
local groundy : Math.round : [mix Descender (XH * DesignParameters.gBarPos) 0.64] + HalfStroke
|
local groundy : Math.round : [mix Descender (XH * DesignParameters.gBarPos) 0.64] + HalfStroke
|
||||||
local gtipy : [mix groundy (obot + Stroke + O) 1.005] - Stroke * CThin
|
local gtipy : [mix groundy (obot + Stroke + O) 1.005] - Stroke * CThin
|
||||||
include : dispiro
|
include : dispiro
|
||||||
g4.left.start [mix SB RightSB 0.4] gtipy [widths 0 (Stroke * CThin)]
|
g4.left.start [mix SB RightSB 0.4] gtipy [widths 0 (Stroke * CThin)]
|
||||||
g4 ([mix SB RightSB 0.0575] + Stroke * 0.85) [mix groundy gtipy 0.5] [widths.rhs (Stroke * [mix CThin 1 0.5])]
|
g4 ([mix SB RightSB 0.0575] + Stroke * 0.85) [mix groundy gtipy 0.5] [widths.rhs : Stroke * [mix CThin 1 0.5]]
|
||||||
flat [mix SB RightSB 0.435] groundy [widths.rhs Stroke]
|
flat [mix SB RightSB 0.435] groundy [widths.rhs Stroke]
|
||||||
curl [mix RightSB SB 0.435] groundy
|
curl [mix RightSB SB 0.435] groundy
|
||||||
archv 4
|
archv 4
|
||||||
|
@ -58,13 +58,13 @@ glyph-block Letter-Latin-Lower-G : begin
|
||||||
local obot : XH * DesignParameters.gBarPos - O - Stroke * 0.4
|
local obot : XH * DesignParameters.gBarPos - O - Stroke * 0.4
|
||||||
include : OShape XH obot SB (RightSB - 0.3 * SB)
|
include : OShape XH obot SB (RightSB - 0.3 * SB)
|
||||||
|
|
||||||
local gleftx ([mix 0 SB 0.85] + OX)
|
local gleftx : [mix 0 SB 0.85] + OX
|
||||||
local grightx ([mix Width RightSB 0.825] - OX)
|
local grightx : [mix Width RightSB 0.825] - OX
|
||||||
local groundy : Math.round : [mix Descender (XH * DesignParameters.gBarPos) 0.64] + HalfStroke
|
local groundy : Math.round : [mix Descender (XH * DesignParameters.gBarPos) 0.64] + HalfStroke
|
||||||
local gtipy : [mix groundy (obot + Stroke + O) 1.005] - Stroke * CThin
|
local gtipy : [mix groundy (obot + Stroke + O) 1.005] - Stroke * CThin
|
||||||
include : dispiro
|
include : dispiro
|
||||||
g4.left.start [mix SB RightSB 0.4] gtipy [widths 0 (Stroke * CThin)]
|
g4.left.start [mix SB RightSB 0.4] gtipy [widths 0 (Stroke * CThin)]
|
||||||
g4 ([mix SB RightSB 0.0575] + Stroke * 0.85) [mix groundy gtipy 0.5] [widths.rhs (Stroke * [mix CThin 1 0.5])]
|
g4 ([mix SB RightSB 0.0575] + Stroke * 0.85) [mix groundy gtipy 0.5] [widths.rhs : Stroke * [mix CThin 1 0.5]]
|
||||||
flat [mix SB RightSB 0.435] groundy [widths.rhs Stroke]
|
flat [mix SB RightSB 0.435] groundy [widths.rhs Stroke]
|
||||||
curl [mix RightSB SB 0.435] groundy
|
curl [mix RightSB SB 0.435] groundy
|
||||||
archv 4
|
archv 4
|
||||||
|
@ -112,15 +112,19 @@ glyph-block Letter-Latin-Lower-G : begin
|
||||||
CurlyTail.n fine Descender df.leftSB df.width (Descender + 0.5 * fine)
|
CurlyTail.n fine Descender df.leftSB df.width (Descender + 0.5 * fine)
|
||||||
yLoopTop -- (0.15 * Descender + 0.25 * fine)
|
yLoopTop -- (0.15 * Descender + 0.25 * fine)
|
||||||
|
|
||||||
export : define [ScriptCutBody df top] : glyph-proc
|
export : define [TopCutBody df top] : glyph-proc
|
||||||
include : SeriflessBody df top
|
include : SeriflessBody df top
|
||||||
include : spiro-outline
|
include : spiro-outline
|
||||||
corner df.rightSB top
|
corner df.rightSB top
|
||||||
corner df.rightSB (top - HalfStroke)
|
corner df.rightSB (top - HalfStroke)
|
||||||
corner (df.rightSB - [HSwToV Stroke]) (top - HalfStroke)
|
corner (df.rightSB - [HSwToV Stroke]) (top - HalfStroke)
|
||||||
|
|
||||||
export : define [SeriflessBody df top] : glyph-proc
|
export : define [SeriflessBody df top] : glyph-proc
|
||||||
include : OBarRight.shape (top -- top) (left -- df.leftSB) (right -- df.rightSB) (sw -- df.mvs)
|
include : OBarRight.shape
|
||||||
|
top -- top
|
||||||
|
left -- df.leftSB
|
||||||
|
right -- df.rightSB
|
||||||
|
sw -- df.mvs
|
||||||
|
|
||||||
export : define [SerifedBody df top] : glyph-proc
|
export : define [SerifedBody df top] : glyph-proc
|
||||||
include : SeriflessBody df top
|
include : SeriflessBody df top
|
||||||
|
@ -128,21 +132,21 @@ glyph-block Letter-Latin-Lower-G : begin
|
||||||
|
|
||||||
export : define [EarlessCornerBody df top] : glyph-proc
|
export : define [EarlessCornerBody df top] : glyph-proc
|
||||||
include : OBarLeft.toothless
|
include : OBarLeft.toothless
|
||||||
top -- top
|
top -- top
|
||||||
left -- df.leftSB
|
left -- df.leftSB
|
||||||
right -- df.rightSB
|
right -- df.rightSB
|
||||||
rise -- DToothlessRise
|
rise -- DToothlessRise
|
||||||
mBlend -- DMBlend
|
mBlend -- DMBlend
|
||||||
sw -- df.mvs
|
sw -- df.mvs
|
||||||
include : FlipAround df.middle (top / 2)
|
include : FlipAround df.middle (top / 2)
|
||||||
|
|
||||||
export : define [EarlessRoundedBody df top] : glyph-proc
|
export : define [EarlessRoundedBody df top] : glyph-proc
|
||||||
include : OBarLeft.rounded
|
include : OBarLeft.rounded
|
||||||
top -- top
|
top -- top
|
||||||
left -- df.leftSB
|
left -- df.leftSB
|
||||||
right -- df.rightSB
|
right -- df.rightSB
|
||||||
yTerminal -- (XH - SmallArchDepthA)
|
yTerminal -- (XH - SmallArchDepthA)
|
||||||
sw -- df.mvs
|
sw -- df.mvs
|
||||||
include : FlipAround df.middle (top / 2)
|
include : FlipAround df.middle (top / 2)
|
||||||
|
|
||||||
define SingleStoreyConfig : SuffixCfg.weave
|
define SingleStoreyConfig : SuffixCfg.weave
|
||||||
|
@ -155,7 +159,7 @@ glyph-block Letter-Latin-Lower-G : begin
|
||||||
earlessCorner { SingleStorey.EarlessCornerBody DToothlessRise }
|
earlessCorner { SingleStorey.EarlessCornerBody DToothlessRise }
|
||||||
earlessCornerHTB { SingleStorey.EarlessCornerBody 0 }
|
earlessCornerHTB { SingleStorey.EarlessCornerBody 0 }
|
||||||
earlessRounded { SingleStorey.EarlessRoundedBody (XH - SmallArchDepthA) }
|
earlessRounded { SingleStorey.EarlessRoundedBody (XH - SmallArchDepthA) }
|
||||||
scriptCut { SingleStorey.ScriptCutBody HalfStroke }
|
topCut { SingleStorey.TopCutBody HalfStroke }
|
||||||
|
|
||||||
foreach { suffix { hookShape {bodyShape hookStart} } } [Object.entries SingleStoreyConfig] : do
|
foreach { suffix { hookShape {bodyShape hookStart} } } [Object.entries SingleStoreyConfig] : do
|
||||||
create-glyph "g.\(suffix)" : glyph-proc
|
create-glyph "g.\(suffix)" : glyph-proc
|
||||||
|
@ -181,10 +185,10 @@ glyph-block Letter-Latin-Lower-G : begin
|
||||||
include : bodyShape dfSub XH
|
include : bodyShape dfSub XH
|
||||||
include : hookShape dfSub (XH - hookStart)
|
include : hookShape dfSub (XH - hookStart)
|
||||||
include : PalatalHook.r
|
include : PalatalHook.r
|
||||||
x -- df.rightSB
|
x -- df.rightSB
|
||||||
y -- 0
|
y -- 0
|
||||||
xLink -- dfSub.rightSB
|
xLink -- dfSub.rightSB
|
||||||
refSw -- dfSub.mvs
|
refSw -- dfSub.mvs
|
||||||
maskOut -- [intersection [MaskBelow 0] [MaskLeft dfSub.rightSB]]
|
maskOut -- [intersection [MaskBelow 0] [MaskLeft dfSub.rightSB]]
|
||||||
|
|
||||||
create-glyph "gBar.\(suffix)" : glyph-proc
|
create-glyph "gBar.\(suffix)" : glyph-proc
|
||||||
|
@ -213,8 +217,8 @@ glyph-block Letter-Latin-Lower-G : begin
|
||||||
include : MarkSet.p
|
include : MarkSet.p
|
||||||
set-base-anchor 'overlay' Middle (XH / 2)
|
set-base-anchor 'overlay' Middle (XH / 2)
|
||||||
define df : DivFrame 1
|
define df : DivFrame 1
|
||||||
include : SingleStorey.ScriptCutBody df XH
|
include : SingleStorey.TopCutBody df XH
|
||||||
include : SingleStorey.CrossedHook df (XH - HalfStroke)
|
include : SingleStorey.CrossedHook df (XH - HalfStroke)
|
||||||
|
|
||||||
glyph-block-import Letter-Blackboard : BBS BBD BBBarRight
|
glyph-block-import Letter-Blackboard : BBS BBD BBBarRight
|
||||||
create-glyph 'mathbb/g' 0x1D558 : glyph-proc
|
create-glyph 'mathbb/g' 0x1D558 : glyph-proc
|
||||||
|
@ -223,9 +227,9 @@ glyph-block Letter-Latin-Lower-G : begin
|
||||||
OShapeOutline.NoOvershoot XH 0 SB (RightSB - BBD - [HSwToV BBS])
|
OShapeOutline.NoOvershoot XH 0 SB (RightSB - BBD - [HSwToV BBS])
|
||||||
VBar.l (SB + BBD + OX) 0 XH BBS
|
VBar.l (SB + BBD + OX) 0 XH BBS
|
||||||
include : OBarRight.shape
|
include : OBarRight.shape
|
||||||
left -- SB
|
left -- SB
|
||||||
right -- RightSB - BBD
|
right -- (RightSB - BBD)
|
||||||
sw -- BBS
|
sw -- BBS
|
||||||
include : SingleStorey.BentHookT dispiro [DivFrame 1] XH 0 BBS
|
include : SingleStorey.BentHookT dispiro [DivFrame 1] XH 0 BBS
|
||||||
include : HBar.t (RightSB - BBD) RightSB XH BBS
|
include : HBar.t (RightSB - BBD) RightSB XH BBS
|
||||||
include : intersection
|
include : intersection
|
||||||
|
|
|
@ -34,6 +34,18 @@ glyph-block Letter-Latin-Lower-Q : begin
|
||||||
[Just TERMINAL-TAILED] : RightwardTailedBar RightSB bottom top
|
[Just TERMINAL-TAILED] : RightwardTailedBar RightSB bottom top
|
||||||
[Just TERMINAL-DIAG] : RDiagTailedBar RightSB bottom top
|
[Just TERMINAL-DIAG] : RDiagTailedBar RightSB bottom top
|
||||||
|
|
||||||
|
define [TopCutBody terminal top bottom] : glyph-proc
|
||||||
|
set-base-anchor 'trailing' (RightSB - markHalfStroke) Descender
|
||||||
|
include : OBarRight.shape (top -- top)
|
||||||
|
include : match terminal
|
||||||
|
[Just TERMINAL-NORMAL] : VBar.r RightSB bottom (top - HalfStroke)
|
||||||
|
[Just TERMINAL-TAILED] : RightwardTailedBar RightSB bottom (top - HalfStroke)
|
||||||
|
[Just TERMINAL-DIAG] : RDiagTailedBar RightSB bottom (top - HalfStroke)
|
||||||
|
include : spiro-outline
|
||||||
|
corner RightSB top
|
||||||
|
corner RightSB (top - HalfStroke)
|
||||||
|
corner (RightSB - [HSwToV Stroke]) (top - HalfStroke)
|
||||||
|
|
||||||
define [EarlessCornerBody terminal top bottom] : glyph-proc
|
define [EarlessCornerBody terminal top bottom] : glyph-proc
|
||||||
set-base-anchor 'trailing' (RightSB - markHalfStroke) Descender
|
set-base-anchor 'trailing' (RightSB - markHalfStroke) Descender
|
||||||
include : OBarLeft.toothless (top -- top) (rise -- DToothlessRise) (mBlend -- DMBlend)
|
include : OBarLeft.toothless (top -- top) (rise -- DToothlessRise) (mBlend -- DMBlend)
|
||||||
|
@ -64,6 +76,7 @@ glyph-block Letter-Latin-Lower-Q : begin
|
||||||
"" EaredBody
|
"" EaredBody
|
||||||
earlessCorner EarlessCornerBody
|
earlessCorner EarlessCornerBody
|
||||||
earlessRounded EarlessRoundedBody
|
earlessRounded EarlessRoundedBody
|
||||||
|
topCut TopCutBody
|
||||||
object # tail
|
object # tail
|
||||||
straight { TERMINAL-NORMAL false }
|
straight { TERMINAL-NORMAL false }
|
||||||
tailed { TERMINAL-TAILED true }
|
tailed { TERMINAL-TAILED true }
|
||||||
|
@ -118,6 +131,6 @@ glyph-block Letter-Latin-Lower-Q : begin
|
||||||
OShapeOutline.NoOvershoot XH 0 SB (RightSB - BBD - [HSwToV BBS])
|
OShapeOutline.NoOvershoot XH 0 SB (RightSB - BBD - [HSwToV BBS])
|
||||||
VBar.l (SB + BBD + OX) 0 XH BBS
|
VBar.l (SB + BBD + OX) 0 XH BBS
|
||||||
include : OBarRight.shape
|
include : OBarRight.shape
|
||||||
left -- SB
|
left -- SB
|
||||||
right -- RightSB - BBD
|
right -- (RightSB - BBD)
|
||||||
sw -- BBS
|
sw -- BBS
|
||||||
|
|
|
@ -2139,8 +2139,8 @@ selectorAffix."a/rtailBase" = "doubleStorey"
|
||||||
selectorAffix."a/doubleStorey" = "doubleStorey"
|
selectorAffix."a/doubleStorey" = "doubleStorey"
|
||||||
selectorAffix."a/singleStorey/autoSerifed/slab" = "singleStorey"
|
selectorAffix."a/singleStorey/autoSerifed/slab" = "singleStorey"
|
||||||
selectorAffix."a/singleStorey/autoSerifed/sans" = "singleStorey"
|
selectorAffix."a/singleStorey/autoSerifed/sans" = "singleStorey"
|
||||||
selectorAffix."aScript/autoSerifed/slab" = "singleStoreyScriptCut"
|
selectorAffix."aScript/autoSerifed/slab" = "singleStoreyTopCut"
|
||||||
selectorAffix."aScript/autoSerifed/sans" = "singleStoreyScriptCut"
|
selectorAffix."aScript/autoSerifed/sans" = "singleStoreyTopCut"
|
||||||
|
|
||||||
[prime.a.variants-buildup.stages.storey.single-storey]
|
[prime.a.variants-buildup.stages.storey.single-storey]
|
||||||
rank = 2
|
rank = 2
|
||||||
|
@ -2200,11 +2200,25 @@ selectorAffix."a/rtailBase" = ""
|
||||||
selectorAffix."a/doubleStorey" = ""
|
selectorAffix."a/doubleStorey" = ""
|
||||||
selectorAffix."a/singleStorey/autoSerifed/slab" = ""
|
selectorAffix."a/singleStorey/autoSerifed/slab" = ""
|
||||||
selectorAffix."a/singleStorey/autoSerifed/sans" = ""
|
selectorAffix."a/singleStorey/autoSerifed/sans" = ""
|
||||||
selectorAffix."aScript/autoSerifed/slab" = "scriptCut"
|
selectorAffix."aScript/autoSerifed/slab" = "topCut"
|
||||||
selectorAffix."aScript/autoSerifed/sans" = "scriptCut"
|
selectorAffix."aScript/autoSerifed/sans" = "topCut"
|
||||||
|
|
||||||
|
[prime.a.variants-buildup.stages.ear.top-cut]
|
||||||
|
rank = 2
|
||||||
|
nonBreakingVariantAdditionPriority = 100
|
||||||
|
descriptionAffix = "a diagonal cut at top"
|
||||||
|
selectorAffix.a = "topCut"
|
||||||
|
selectorAffix."ae/a" = ""
|
||||||
|
selectorAffix."a/sansSerif" = "topCut"
|
||||||
|
selectorAffix."a/rtailBase" = "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"
|
||||||
|
|
||||||
[prime.a.variants-buildup.stages.ear.earless-corner]
|
[prime.a.variants-buildup.stages.ear.earless-corner]
|
||||||
rank = 2
|
rank = 3
|
||||||
descriptionAffix = "earless (cornered top-right)"
|
descriptionAffix = "earless (cornered top-right)"
|
||||||
selectorAffix.a = "earlessCorner"
|
selectorAffix.a = "earlessCorner"
|
||||||
selectorAffix."ae/a" = ""
|
selectorAffix."ae/a" = ""
|
||||||
|
@ -2213,11 +2227,11 @@ selectorAffix."a/rtailBase" = "earlessCorner"
|
||||||
selectorAffix."a/doubleStorey" = ""
|
selectorAffix."a/doubleStorey" = ""
|
||||||
selectorAffix."a/singleStorey/autoSerifed/slab" = "earlessCorner"
|
selectorAffix."a/singleStorey/autoSerifed/slab" = "earlessCorner"
|
||||||
selectorAffix."a/singleStorey/autoSerifed/sans" = "earlessCorner"
|
selectorAffix."a/singleStorey/autoSerifed/sans" = "earlessCorner"
|
||||||
selectorAffix."aScript/autoSerifed/slab" = "scriptCut"
|
selectorAffix."aScript/autoSerifed/slab" = "topCut"
|
||||||
selectorAffix."aScript/autoSerifed/sans" = "scriptCut"
|
selectorAffix."aScript/autoSerifed/sans" = "topCut"
|
||||||
|
|
||||||
[prime.a.variants-buildup.stages.ear.earless-rounded]
|
[prime.a.variants-buildup.stages.ear.earless-rounded]
|
||||||
rank = 3
|
rank = 4
|
||||||
descriptionAffix = "earless (rounded top-right)"
|
descriptionAffix = "earless (rounded top-right)"
|
||||||
selectorAffix.a = "earlessRounded"
|
selectorAffix.a = "earlessRounded"
|
||||||
selectorAffix."ae/a" = ""
|
selectorAffix."ae/a" = ""
|
||||||
|
@ -2226,8 +2240,8 @@ selectorAffix."a/rtailBase" = "earlessRounded"
|
||||||
selectorAffix."a/doubleStorey" = ""
|
selectorAffix."a/doubleStorey" = ""
|
||||||
selectorAffix."a/singleStorey/autoSerifed/slab" = "earlessRounded"
|
selectorAffix."a/singleStorey/autoSerifed/slab" = "earlessRounded"
|
||||||
selectorAffix."a/singleStorey/autoSerifed/sans" = "earlessRounded"
|
selectorAffix."a/singleStorey/autoSerifed/sans" = "earlessRounded"
|
||||||
selectorAffix."aScript/autoSerifed/slab" = "scriptCut"
|
selectorAffix."aScript/autoSerifed/slab" = "topCut"
|
||||||
selectorAffix."aScript/autoSerifed/sans" = "scriptCut"
|
selectorAffix."aScript/autoSerifed/sans" = "topCut"
|
||||||
|
|
||||||
[prime.a.variants-buildup.stages.bar.serifless]
|
[prime.a.variants-buildup.stages.bar.serifless]
|
||||||
rank = 1
|
rank = 1
|
||||||
|
@ -2345,15 +2359,23 @@ selectorAffix.b = "toothed"
|
||||||
selectorAffix."b/sansSerif" = "toothed"
|
selectorAffix."b/sansSerif" = "toothed"
|
||||||
selectorAffix.bHookTop = "toothed"
|
selectorAffix.bHookTop = "toothed"
|
||||||
|
|
||||||
[prime.b.variants-buildup.stages.body.toothless-corner]
|
[prime.b.variants-buildup.stages.body.bottom-cut]
|
||||||
rank = 2
|
rank = 2
|
||||||
|
nonBreakingVariantAdditionPriority = 100
|
||||||
|
descriptionAffix = "a diagonal cut at bottom"
|
||||||
|
selectorAffix.b = "bottomCut"
|
||||||
|
selectorAffix."b/sansSerif" = "bottomCut"
|
||||||
|
selectorAffix.bHookTop = "bottomCut"
|
||||||
|
|
||||||
|
[prime.b.variants-buildup.stages.body.toothless-corner]
|
||||||
|
rank = 3
|
||||||
descriptionAffix = "toothless (cornered) shape"
|
descriptionAffix = "toothless (cornered) shape"
|
||||||
selectorAffix.b = "toothlessCorner"
|
selectorAffix.b = "toothlessCorner"
|
||||||
selectorAffix."b/sansSerif" = "toothlessCorner"
|
selectorAffix."b/sansSerif" = "toothlessCorner"
|
||||||
selectorAffix.bHookTop = "toothlessCorner"
|
selectorAffix.bHookTop = "toothlessCorner"
|
||||||
|
|
||||||
[prime.b.variants-buildup.stages.body.toothless-rounded]
|
[prime.b.variants-buildup.stages.body.toothless-rounded]
|
||||||
rank = 3
|
rank = 4
|
||||||
descriptionAffix = "toothless (rounded) shape"
|
descriptionAffix = "toothless (rounded) shape"
|
||||||
selectorAffix.b = "toothlessRounded"
|
selectorAffix.b = "toothlessRounded"
|
||||||
selectorAffix."b/sansSerif" = "toothlessRounded"
|
selectorAffix."b/sansSerif" = "toothlessRounded"
|
||||||
|
@ -2768,7 +2790,7 @@ selectorAffix."g/sansSerif" = "doubleStorey"
|
||||||
selectorAffix."g/hookTopBase" = "singleStoreyBentHookSerifless"
|
selectorAffix."g/hookTopBase" = "singleStoreyBentHookSerifless"
|
||||||
selectorAffix."g/singleStorey/autoSerifed/slab" = "singleStoreyBentHookSerifed"
|
selectorAffix."g/singleStorey/autoSerifed/slab" = "singleStoreyBentHookSerifed"
|
||||||
selectorAffix."g/singleStorey/autoSerifed/sans" = "singleStoreyBentHookSerifless"
|
selectorAffix."g/singleStorey/autoSerifed/sans" = "singleStoreyBentHookSerifless"
|
||||||
selectorAffix.gScript = "singleStoreyBentHookScriptCut"
|
selectorAffix.gScript = "singleStoreyBentHookTopCut"
|
||||||
|
|
||||||
[prime.g.variants-buildup.stages.openness."*"]
|
[prime.g.variants-buildup.stages.openness."*"]
|
||||||
next = "END"
|
next = "END"
|
||||||
|
@ -2834,7 +2856,7 @@ selectorAffix."g/sansSerif" = "serifless"
|
||||||
selectorAffix."g/hookTopBase" = "serifless"
|
selectorAffix."g/hookTopBase" = "serifless"
|
||||||
selectorAffix."g/singleStorey/autoSerifed/slab" = "serifless"
|
selectorAffix."g/singleStorey/autoSerifed/slab" = "serifless"
|
||||||
selectorAffix."g/singleStorey/autoSerifed/sans" = "serifless"
|
selectorAffix."g/singleStorey/autoSerifed/sans" = "serifless"
|
||||||
selectorAffix.gScript = "scriptCut"
|
selectorAffix.gScript = "topCut"
|
||||||
|
|
||||||
[prime.g.variants-buildup.stages.ear.serifed]
|
[prime.g.variants-buildup.stages.ear.serifed]
|
||||||
rank = 2
|
rank = 2
|
||||||
|
@ -2844,27 +2866,38 @@ selectorAffix."g/sansSerif" = "serifless"
|
||||||
selectorAffix."g/hookTopBase" = "serifless"
|
selectorAffix."g/hookTopBase" = "serifless"
|
||||||
selectorAffix."g/singleStorey/autoSerifed/slab" = "serifed"
|
selectorAffix."g/singleStorey/autoSerifed/slab" = "serifed"
|
||||||
selectorAffix."g/singleStorey/autoSerifed/sans" = "serifed"
|
selectorAffix."g/singleStorey/autoSerifed/sans" = "serifed"
|
||||||
selectorAffix.gScript = "scriptCut"
|
selectorAffix.gScript = "topCut"
|
||||||
|
|
||||||
|
[prime.g.variants-buildup.stages.ear.top-cut]
|
||||||
|
rank = 3
|
||||||
|
nonBreakingVariantAdditionPriority = 100
|
||||||
|
descriptionAffix = "a diagonal cut at top"
|
||||||
|
selectorAffix.g = "topCut"
|
||||||
|
selectorAffix."g/sansSerif" = "topCut"
|
||||||
|
selectorAffix."g/hookTopBase" = "serifless"
|
||||||
|
selectorAffix."g/singleStorey/autoSerifed/slab" = "topCut"
|
||||||
|
selectorAffix."g/singleStorey/autoSerifed/sans" = "topCut"
|
||||||
|
selectorAffix.gScript = "topCut"
|
||||||
|
|
||||||
[prime.g.variants-buildup.stages.ear.earless-corner]
|
[prime.g.variants-buildup.stages.ear.earless-corner]
|
||||||
rank = 3
|
rank = 4
|
||||||
descriptionAffix = "earless (cornered top-right)"
|
descriptionAffix = "earless (cornered top-right)"
|
||||||
selectorAffix.g = "earlessCorner"
|
selectorAffix.g = "earlessCorner"
|
||||||
selectorAffix."g/sansSerif" = "earlessCorner"
|
selectorAffix."g/sansSerif" = "earlessCorner"
|
||||||
selectorAffix."g/hookTopBase" = "earlessCornerHTB"
|
selectorAffix."g/hookTopBase" = "earlessCornerHTB"
|
||||||
selectorAffix."g/singleStorey/autoSerifed/slab" = "earlessCorner"
|
selectorAffix."g/singleStorey/autoSerifed/slab" = "earlessCorner"
|
||||||
selectorAffix."g/singleStorey/autoSerifed/sans" = "earlessCorner"
|
selectorAffix."g/singleStorey/autoSerifed/sans" = "earlessCorner"
|
||||||
selectorAffix.gScript = "scriptCut"
|
selectorAffix.gScript = "topCut"
|
||||||
|
|
||||||
[prime.g.variants-buildup.stages.ear.earless-rounded]
|
[prime.g.variants-buildup.stages.ear.earless-rounded]
|
||||||
rank = 4
|
rank = 5
|
||||||
descriptionAffix = "earless (rounded top-right)"
|
descriptionAffix = "earless (rounded top-right)"
|
||||||
selectorAffix.g = "earlessRounded"
|
selectorAffix.g = "earlessRounded"
|
||||||
selectorAffix."g/sansSerif" = "earlessRounded"
|
selectorAffix."g/sansSerif" = "earlessRounded"
|
||||||
selectorAffix."g/hookTopBase" = "serifless"
|
selectorAffix."g/hookTopBase" = "serifless"
|
||||||
selectorAffix."g/singleStorey/autoSerifed/slab" = "earlessRounded"
|
selectorAffix."g/singleStorey/autoSerifed/slab" = "earlessRounded"
|
||||||
selectorAffix."g/singleStorey/autoSerifed/sans" = "earlessRounded"
|
selectorAffix."g/singleStorey/autoSerifed/sans" = "earlessRounded"
|
||||||
selectorAffix.gScript = "scriptCut"
|
selectorAffix.gScript = "topCut"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -3954,8 +3987,18 @@ selectorAffix."q/hookTopBase" = ""
|
||||||
selectorAffix.qRTail = ""
|
selectorAffix.qRTail = ""
|
||||||
selectorAffix.gha = ""
|
selectorAffix.gha = ""
|
||||||
|
|
||||||
[prime.q.variants-buildup.stages.body.earless-corner]
|
[prime.q.variants-buildup.stages.body.top-cut]
|
||||||
rank = 2
|
rank = 2
|
||||||
|
nonBreakingVariantAdditionPriority = 100
|
||||||
|
descriptionAffix = "a diagonal cut at top"
|
||||||
|
selectorAffix.q = "topCut"
|
||||||
|
selectorAffix."q/sansSerif" = "topCut"
|
||||||
|
selectorAffix."q/hookTopBase" = ""
|
||||||
|
selectorAffix.qRTail = "topCut"
|
||||||
|
selectorAffix.gha = ""
|
||||||
|
|
||||||
|
[prime.q.variants-buildup.stages.body.earless-corner]
|
||||||
|
rank = 3
|
||||||
descriptionAffix = "earless (cornered) shape"
|
descriptionAffix = "earless (cornered) shape"
|
||||||
selectorAffix.q = "earlessCorner"
|
selectorAffix.q = "earlessCorner"
|
||||||
selectorAffix."q/sansSerif" = "earlessCorner"
|
selectorAffix."q/sansSerif" = "earlessCorner"
|
||||||
|
@ -3964,7 +4007,7 @@ selectorAffix.qRTail = "earlessCorner"
|
||||||
selectorAffix.gha = ""
|
selectorAffix.gha = ""
|
||||||
|
|
||||||
[prime.q.variants-buildup.stages.body.earless-rounded]
|
[prime.q.variants-buildup.stages.body.earless-rounded]
|
||||||
rank = 3
|
rank = 4
|
||||||
descriptionAffix = "earless (rounded) shape"
|
descriptionAffix = "earless (rounded) shape"
|
||||||
selectorAffix.q = "earlessRounded"
|
selectorAffix.q = "earlessRounded"
|
||||||
selectorAffix."q/sansSerif" = "earlessRounded"
|
selectorAffix."q/sansSerif" = "earlessRounded"
|
||||||
|
@ -5492,14 +5535,21 @@ keyAffix = ""
|
||||||
selectorAffix."grek/alpha" = ""
|
selectorAffix."grek/alpha" = ""
|
||||||
selectorAffix."grek/alpha/sansSerif" = ""
|
selectorAffix."grek/alpha/sansSerif" = ""
|
||||||
|
|
||||||
[prime.lower-alpha.variants-buildup.stages.ear.earless-corner]
|
[prime.lower-alpha.variants-buildup.stages.ear.top-cut]
|
||||||
rank = 2
|
rank = 2
|
||||||
|
nonBreakingVariantAdditionPriority = 100
|
||||||
|
descriptionAffix = "a diagonal cut at top"
|
||||||
|
selectorAffix."grek/alpha" = "topCut"
|
||||||
|
selectorAffix."grek/alpha/sansSerif" = "topCut"
|
||||||
|
|
||||||
|
[prime.lower-alpha.variants-buildup.stages.ear.earless-corner]
|
||||||
|
rank = 3
|
||||||
descriptionAffix = "earless (cornered top-right)"
|
descriptionAffix = "earless (cornered top-right)"
|
||||||
selectorAffix."grek/alpha" = "earlessCorner"
|
selectorAffix."grek/alpha" = "earlessCorner"
|
||||||
selectorAffix."grek/alpha/sansSerif" = "earlessCorner"
|
selectorAffix."grek/alpha/sansSerif" = "earlessCorner"
|
||||||
|
|
||||||
[prime.lower-alpha.variants-buildup.stages.ear.earless-rounded]
|
[prime.lower-alpha.variants-buildup.stages.ear.earless-rounded]
|
||||||
rank = 3
|
rank = 4
|
||||||
descriptionAffix = "earless (rounded top-right)"
|
descriptionAffix = "earless (rounded top-right)"
|
||||||
selectorAffix."grek/alpha" = "earlessRounded"
|
selectorAffix."grek/alpha" = "earlessRounded"
|
||||||
selectorAffix."grek/alpha/sansSerif" = "earlessRounded"
|
selectorAffix."grek/alpha/sansSerif" = "earlessRounded"
|
||||||
|
@ -6266,14 +6316,21 @@ keyAffix = ""
|
||||||
selectorAffix."cyrl/a" = ""
|
selectorAffix."cyrl/a" = ""
|
||||||
selectorAffix."cyrl/ae/a" = ""
|
selectorAffix."cyrl/ae/a" = ""
|
||||||
|
|
||||||
[prime.cyrl-a.variants-buildup.stages.ear.earless-corner]
|
[prime.cyrl-a.variants-buildup.stages.ear.top-cut]
|
||||||
rank = 2
|
rank = 2
|
||||||
|
nonBreakingVariantAdditionPriority = 100
|
||||||
|
descriptionAffix = "a diagonal cut at top"
|
||||||
|
selectorAffix."cyrl/a" = "topCut"
|
||||||
|
selectorAffix."cyrl/ae/a" = ""
|
||||||
|
|
||||||
|
[prime.cyrl-a.variants-buildup.stages.ear.earless-corner]
|
||||||
|
rank = 3
|
||||||
descriptionAffix = "earless (cornered top-right)"
|
descriptionAffix = "earless (cornered top-right)"
|
||||||
selectorAffix."cyrl/a" = "earlessCorner"
|
selectorAffix."cyrl/a" = "earlessCorner"
|
||||||
selectorAffix."cyrl/ae/a" = ""
|
selectorAffix."cyrl/ae/a" = ""
|
||||||
|
|
||||||
[prime.cyrl-a.variants-buildup.stages.ear.earless-rounded]
|
[prime.cyrl-a.variants-buildup.stages.ear.earless-rounded]
|
||||||
rank = 3
|
rank = 4
|
||||||
descriptionAffix = "earless (rounded top-right)"
|
descriptionAffix = "earless (rounded top-right)"
|
||||||
selectorAffix."cyrl/a" = "earlessRounded"
|
selectorAffix."cyrl/a" = "earlessRounded"
|
||||||
selectorAffix."cyrl/ae/a" = ""
|
selectorAffix."cyrl/ae/a" = ""
|
||||||
|
@ -9202,6 +9259,7 @@ i = "serifed"
|
||||||
j = "serifed"
|
j = "serifed"
|
||||||
k = "symmetric-touching-serifless"
|
k = "symmetric-touching-serifless"
|
||||||
l = "serifed"
|
l = "serifed"
|
||||||
|
q = "top-cut-straight-serifless"
|
||||||
t = "bent-hook-short-neck"
|
t = "bent-hook-short-neck"
|
||||||
u = "toothed-serifless"
|
u = "toothed-serifless"
|
||||||
y = "straight-turn-serifless"
|
y = "straight-turn-serifless"
|
||||||
|
@ -9243,9 +9301,9 @@ question = "corner-flat-hooked"
|
||||||
micro-sign = "tailed-serifless"
|
micro-sign = "tailed-serifless"
|
||||||
|
|
||||||
[composite.ss03.italic]
|
[composite.ss03.italic]
|
||||||
a = "single-storey-serifless"
|
a = "single-storey-top-cut-serifless"
|
||||||
f = "flat-hook-tailed"
|
f = "flat-hook-tailed"
|
||||||
g = "single-storey-serifless"
|
g = "single-storey-top-cut"
|
||||||
i = "tailed-serifed"
|
i = "tailed-serifed"
|
||||||
k = "cursive-serifless"
|
k = "cursive-serifless"
|
||||||
l = "tailed"
|
l = "tailed"
|
||||||
|
@ -9253,7 +9311,7 @@ long-s = "flat-hook-descending"
|
||||||
eszet = "longs-s-lig-descending-serifless"
|
eszet = "longs-s-lig-descending-serifless"
|
||||||
lower-beta = "cursive"
|
lower-beta = "cursive"
|
||||||
lower-phi = "cursive"
|
lower-phi = "cursive"
|
||||||
cyrl-a = "single-storey-serifless"
|
cyrl-a = "single-storey-top-cut-serifless"
|
||||||
cyrl-ve = "cursive-tall"
|
cyrl-ve = "cursive-tall"
|
||||||
cyrl-zhe = "symmetric-connected"
|
cyrl-zhe = "symmetric-connected"
|
||||||
cyrl-ka = "symmetric-connected-serifless"
|
cyrl-ka = "symmetric-connected-serifless"
|
||||||
|
@ -9270,6 +9328,7 @@ b = "toothless-corner-serifed"
|
||||||
d = "toothed-serifed"
|
d = "toothed-serifed"
|
||||||
f = "flat-hook-serifed"
|
f = "flat-hook-serifed"
|
||||||
k = "symmetric-touching-serifed"
|
k = "symmetric-touching-serifed"
|
||||||
|
q = "top-cut-straight-serifed"
|
||||||
u = "toothed-serifed"
|
u = "toothed-serifed"
|
||||||
x = "straight-serifed"
|
x = "straight-serifed"
|
||||||
y = "straight-turn-serifed"
|
y = "straight-turn-serifed"
|
||||||
|
@ -9291,7 +9350,7 @@ seven = "straight-serifed"
|
||||||
micro-sign = "tailed-serifed"
|
micro-sign = "tailed-serifed"
|
||||||
|
|
||||||
[composite.ss03.slab-override.italic]
|
[composite.ss03.slab-override.italic]
|
||||||
a = "single-storey-serifed"
|
a = "single-storey-top-cut-serifed"
|
||||||
f = "flat-hook-tailed"
|
f = "flat-hook-tailed"
|
||||||
k = "cursive-top-left-and-bottom-right-serifed"
|
k = "cursive-top-left-and-bottom-right-serifed"
|
||||||
l = "tailed-serifed"
|
l = "tailed-serifed"
|
||||||
|
@ -9300,7 +9359,7 @@ x = "straight-bilateral-motion-serifed"
|
||||||
y = "straight-turn-motion-serifed"
|
y = "straight-turn-motion-serifed"
|
||||||
long-s = "flat-hook-descending"
|
long-s = "flat-hook-descending"
|
||||||
eszet = "longs-s-lig-descending-serifless"
|
eszet = "longs-s-lig-descending-serifless"
|
||||||
cyrl-a = "single-storey-serifed"
|
cyrl-a = "single-storey-top-cut-serifed"
|
||||||
cyrl-ve = "cursive-tall"
|
cyrl-ve = "cursive-tall"
|
||||||
cyrl-ka = "symmetric-connected-top-left-and-bottom-right-serifed"
|
cyrl-ka = "symmetric-connected-top-left-and-bottom-right-serifed"
|
||||||
cyrl-u = "straight-turn-motion-serifed"
|
cyrl-u = "straight-turn-motion-serifed"
|
||||||
|
@ -9976,12 +10035,14 @@ capital-k = "symmetric-touching-serifless"
|
||||||
capital-q = "crossing"
|
capital-q = "crossing"
|
||||||
capital-w = "straight-vertical-sides-serifless"
|
capital-w = "straight-vertical-sides-serifless"
|
||||||
a = "double-storey-toothless-corner"
|
a = "double-storey-toothless-corner"
|
||||||
|
b = "toothed-serifless"
|
||||||
f = "flat-hook-serifless"
|
f = "flat-hook-serifless"
|
||||||
g = "single-storey-flat-hook-serifless"
|
g = "single-storey-flat-hook-serifless"
|
||||||
i = "hooky"
|
i = "hooky"
|
||||||
j = "flat-hook-serifed"
|
j = "flat-hook-serifed"
|
||||||
k = "symmetric-connected-serifless"
|
k = "symmetric-connected-serifless"
|
||||||
l = "hooky"
|
l = "hooky"
|
||||||
|
q = "straight-serifless"
|
||||||
t = "flat-hook"
|
t = "flat-hook"
|
||||||
w = "rounded-vertical-sides-serifless"
|
w = "rounded-vertical-sides-serifless"
|
||||||
y = "cursive-flat-hook-serifless"
|
y = "cursive-flat-hook-serifless"
|
||||||
|
@ -10012,11 +10073,14 @@ micro-sign = "toothless-rounded-serifless"
|
||||||
|
|
||||||
[composite.ss10.italic]
|
[composite.ss10.italic]
|
||||||
capital-a = "straight-serifless"
|
capital-a = "straight-serifless"
|
||||||
a = "single-storey-tailed"
|
a = "single-storey-top-cut-tailed"
|
||||||
|
b = "bottom-cut-serifless"
|
||||||
|
g = "single-storey-flat-hook-top-cut"
|
||||||
i = "serifed-flat-tailed"
|
i = "serifed-flat-tailed"
|
||||||
j = "serifed"
|
j = "serifed"
|
||||||
l = "serifed-flat-tailed"
|
l = "serifed-flat-tailed"
|
||||||
cyrl-a = "single-storey-tailed"
|
q = "top-cut-straight-serifless"
|
||||||
|
cyrl-a = "single-storey-top-cut-tailed"
|
||||||
cyrl-u = "cursive-flat-hook-serifless"
|
cyrl-u = "cursive-flat-hook-serifless"
|
||||||
|
|
||||||
[composite.ss10.slab-override.design]
|
[composite.ss10.slab-override.design]
|
||||||
|
@ -10024,11 +10088,13 @@ capital-a = "round-top-base-serifed"
|
||||||
capital-j = "serifed"
|
capital-j = "serifed"
|
||||||
capital-k = "symmetric-touching-serifed"
|
capital-k = "symmetric-touching-serifed"
|
||||||
capital-w = "straight-vertical-sides-serifed"
|
capital-w = "straight-vertical-sides-serifed"
|
||||||
|
b = "toothed-serifed"
|
||||||
f = "flat-hook-serifed"
|
f = "flat-hook-serifed"
|
||||||
g = "single-storey-flat-hook-serifed"
|
g = "single-storey-flat-hook-serifed"
|
||||||
i = "serifed"
|
i = "serifed"
|
||||||
k = "symmetric-connected-serifed"
|
k = "symmetric-connected-serifed"
|
||||||
l = "serifed"
|
l = "serifed"
|
||||||
|
q = "straight-serifed"
|
||||||
w = "rounded-vertical-sides-serifed"
|
w = "rounded-vertical-sides-serifed"
|
||||||
x = "straight-serifed"
|
x = "straight-serifed"
|
||||||
y = "cursive-flat-hook-serifed"
|
y = "cursive-flat-hook-serifed"
|
||||||
|
@ -10044,10 +10110,12 @@ micro-sign = "toothless-rounded-serifed"
|
||||||
|
|
||||||
[composite.ss10.slab-override.italic]
|
[composite.ss10.slab-override.italic]
|
||||||
capital-a = "straight-base-serifed"
|
capital-a = "straight-base-serifed"
|
||||||
g = "single-storey-flat-hook-serifless"
|
b = "bottom-cut-serifed"
|
||||||
|
g = "single-storey-flat-hook-top-cut"
|
||||||
i = "serifed-flat-tailed"
|
i = "serifed-flat-tailed"
|
||||||
k = "symmetric-connected-top-left-and-bottom-right-serifed"
|
k = "symmetric-connected-top-left-and-bottom-right-serifed"
|
||||||
l = "serifed-flat-tailed"
|
l = "serifed-flat-tailed"
|
||||||
|
q = "top-cut-straight-serifed"
|
||||||
w = "rounded-vertical-sides-motion-serifed"
|
w = "rounded-vertical-sides-motion-serifed"
|
||||||
x = "straight-bilateral-motion-serifed"
|
x = "straight-bilateral-motion-serifed"
|
||||||
y = "cursive-flat-hook-motion-serifed"
|
y = "cursive-flat-hook-motion-serifed"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue