Add motion-serifed variants for H, K, M, N, X, x, Y (#818).
This commit is contained in:
parent
c02aa741e8
commit
721f39a53e
13 changed files with 461 additions and 243 deletions
|
@ -3,7 +3,7 @@
|
|||
* **Breaking** Reorder `cv##` features and variant assignments for better organization.
|
||||
* **Breaking** Spilt out variant selector for `A`, `V`, `W`, `Z` (#806).
|
||||
* Add diagonal-tailed variants of `f`, `i`, `j`, `k`, `l`, `q`, `t` (#795).
|
||||
* Add motion-serifed variants of `A`, `B`, `D`, `E`, `F`, `P`, `R`, `T`, `V`, `W`, `Z`, `v`, `w`, `y`, `z` (#806, #815).
|
||||
* Add motion-serifed variants of `A`, `B`, `D`, `E`, `F`, `H`, `K`, `M`, `N`, `P`, `R`, `T`, `V`, `W`, `X`, `Y`, `Z`, `v`, `w`, `x`, `y`, `z` (#806, #815, #818).
|
||||
* Add symmetric-legged variants of `K` and `k` (#807).
|
||||
* Add horizontal-tailed and detach-tailed variants of `Q` (#808).
|
||||
* Add hookless and capped variants of `G` (#809).
|
||||
|
|
|
@ -372,16 +372,6 @@ glyph-block CommonShapes : begin
|
|||
CenterBottomSerifAsymmetric (left + Stroke * sideSerifK * HVContrast) 0 Jut jutIn
|
||||
include : tagged 'serifRB'
|
||||
CenterBottomSerifAsymmetric (right - Stroke * sideSerifK * HVContrast) 0 jutIn Jut
|
||||
define [AINSerifs top _left _right sw xn] : glyph-proc
|
||||
local left : fallback _left SB
|
||||
local right : fallback _right RightSB
|
||||
local jut : Jut * [fallback xn 1]
|
||||
if SLAB : begin
|
||||
include : LeftwardTopSerif (left + sw * (sideSerifK - 0.5) * HVContrast) top (jut - sw / 2 * HVContrast)
|
||||
include : tagged 'serifRB'
|
||||
CenterTopSerif (right - sw * sideSerifK * HVContrast) top jut
|
||||
include : tagged 'serifLB'
|
||||
CenterBottomSerif (left + sw * sideSerifK * HVContrast) 0 jut
|
||||
define [AICyrISerifs top _left _right] : glyph-proc
|
||||
local left : fallback _left SB
|
||||
local right : fallback _right RightSB
|
||||
|
@ -686,4 +676,4 @@ glyph-block CommonShapes : begin
|
|||
corner [mix x1 x2 (-k)] [mix y1 y2 (-k)]
|
||||
corner [mix x1 x2 (1+k)] [mix y1 y2 (1+k)]
|
||||
|
||||
glyph-block-export Rect SquareAt Ring RingAt DotAt RingStroke RingStrokeAt DotStrokeAt CircleRing CircleRingAt CircleDotAt OShape OShapeOutline OBarLeftShape OBarRightShape LeftwardTopSerif LeftwardBottomSerif RightwardTopSerif RightwardBottomSerif CenterTopSerif CenterBottomSerif DownwardRightSerif UpwardRightSerif DownwardLeftSerif UpwardLeftSerif AIVSerifs AIHSerifs AINSerifs AICyrISerifs AIMSerifs HBar HBarTop HBarBottom HOverlayBar VBar VBarLeft VBarRight VerticalHook LegShape LeftHook HooktopLeftBar FlatSlashShape hookstart hookend CyrDescender CyrLeftDescender FlipAround ScaleAround Realign ForceUpright DiagCor CreateWaveShape NameUni PointingTo WithAIHSerifsMask WithTransform clear-anchors OBarLeftToothlessShape OBarLeftRoundedShape OBarRightToothlessShape OBarRightRoundedShape AsRadical ExtLineCenter DiagCorDs HCrossBar VERY-FAR MaskAbove MaskBelow MaskLeft MaskRight
|
||||
glyph-block-export Rect SquareAt Ring RingAt DotAt RingStroke RingStrokeAt DotStrokeAt CircleRing CircleRingAt CircleDotAt OShape OShapeOutline OBarLeftShape OBarRightShape LeftwardTopSerif LeftwardBottomSerif RightwardTopSerif RightwardBottomSerif CenterTopSerif CenterBottomSerif DownwardRightSerif UpwardRightSerif DownwardLeftSerif UpwardLeftSerif AIVSerifs AIHSerifs AICyrISerifs AIMSerifs HBar HBarTop HBarBottom HOverlayBar VBar VBarLeft VBarRight VerticalHook LegShape LeftHook HooktopLeftBar FlatSlashShape hookstart hookend CyrDescender CyrLeftDescender FlipAround ScaleAround Realign ForceUpright DiagCor CreateWaveShape NameUni PointingTo WithAIHSerifsMask WithTransform clear-anchors OBarLeftToothlessShape OBarLeftRoundedShape OBarRightToothlessShape OBarRightRoundedShape AsRadical ExtLineCenter DiagCorDs HCrossBar VERY-FAR MaskAbove MaskBelow MaskLeft MaskRight
|
||||
|
|
|
@ -184,7 +184,7 @@ glyph-block Letter-Latin-K : begin
|
|||
curl (xDTEnd + 0.125 * [DiagonalTailInnerRadius]) (0.9 * swDiagTail + 0.5 *[DiagonalTailInnerRadius])
|
||||
DiagonalTailF 1 [DivFrame 1] xDTEnd 0 (Hook - swDiagTail * 0.375) swDiagTail
|
||||
else : intersection
|
||||
Rect XH 0 0 [if SLAB (dim.slabStartX + SideJut) (Width * 2)]
|
||||
Rect XH 0 0 [if slab (dim.slabStartX + SideJut) (Width * 2)]
|
||||
dispiro
|
||||
flat dim.arcTerminalX dim.arcTerminalY [widths.lhs]
|
||||
curl dim.kshRight 0 [widths.rhs]
|
||||
|
@ -220,57 +220,67 @@ glyph-block Letter-Latin-K : begin
|
|||
VerticalHook (SB + [KBalance slab straightBar] + HalfStroke * HVContrast) (CAP - Hook - HalfStroke) HookX (-Hook)
|
||||
|
||||
define UpperKConfig : object
|
||||
straight { KNormalLegs KStraightLegShapeImpl }
|
||||
curly { KCurlyLegs KCurlyLegShapeImpl }
|
||||
symmetricDisconnected { KSymmetricDisconnectedLegs [KSymmetricLegsImpl false] }
|
||||
symmetricConnected { KSymmetricConnectedLegs [KSymmetricLegsImpl true] }
|
||||
straight { KNormalLegs KStraightLegShapeImpl [if SLAB 1 0] [if SLAB 1 0] }
|
||||
curly { KCurlyLegs KCurlyLegShapeImpl [if SLAB 1 0] [if SLAB 1 0] }
|
||||
symmetricDisconnected { KSymmetricDisconnectedLegs [KSymmetricLegsImpl false] [if SLAB 1 0] [if SLAB 1 0] }
|
||||
symmetricConnected { KSymmetricConnectedLegs [KSymmetricLegsImpl true] [if SLAB 1 0] [if SLAB 1 0] }
|
||||
straightMotionSerifed { KNormalLegs KStraightLegShapeImpl 2 0 }
|
||||
curlyMotionSerifed { KCurlyLegs KCurlyLegShapeImpl 2 0 }
|
||||
symmetricDisconnectedMotionSerifed { KSymmetricDisconnectedLegs [KSymmetricLegsImpl false] 2 0 }
|
||||
symmetricConnectedMotionSerifed { KSymmetricConnectedLegs [KSymmetricLegsImpl true] 2 0 }
|
||||
|
||||
foreach { suffix { Legs BashkirKaLegs } } [Object.entries UpperKConfig] : do
|
||||
define [UpperKLTSerif slabTop top straightBar] : match slabTop
|
||||
2 : LeftwardTopSerif (SB + [KBalance slabTop straightBar]) top SideJut
|
||||
1 : CenterTopSerif (SB + [KBalance slabTop straightBar] + HalfStroke * HVContrast) top Jut
|
||||
_ : glyph-proc
|
||||
|
||||
define [UpperKLBSerif slabTop top straightBar] : match slabTop
|
||||
2 : LeftwardBottomSerif (SB + [KBalance slabTop straightBar]) 0 SideJut
|
||||
1 : CenterBottomSerif (SB + [KBalance slabTop straightBar] + HalfStroke * HVContrast) 0 Jut
|
||||
_ : glyph-proc
|
||||
|
||||
foreach { suffix { Legs BashkirKaLegs slabTop slabBot } } [Object.entries UpperKConfig] : do
|
||||
local straightBar : Legs !== KCurlyLegs
|
||||
|
||||
create-glyph "K.\(suffix)" : glyph-proc
|
||||
include : MarkSet.capital
|
||||
include : VBarLeft (SB + [KBalance SLAB straightBar]) 0 CAP
|
||||
include : Legs CAP SLAB SLAB
|
||||
if SLAB : begin
|
||||
include : CenterTopSerif (SB + [KBalance SLAB straightBar] + HalfStroke * HVContrast) CAP Jut
|
||||
include : CenterBottomSerif (SB + [KBalance SLAB straightBar] + HalfStroke * HVContrast) 0 Jut
|
||||
create-derived "KDescender.\(suffix)" : KCyrlNormalDescender CAP straightBar SLAB SLAB
|
||||
include : VBarLeft (SB + [KBalance slabTop straightBar]) 0 CAP
|
||||
include : Legs CAP slabTop slabBot
|
||||
if slabTop : include : UpperKLTSerif slabTop CAP straightBar
|
||||
if slabBot : include : UpperKLBSerif slabTop CAP straightBar
|
||||
create-derived "KDescender.\(suffix)" : KCyrlNormalDescender CAP straightBar slabTop slabBot
|
||||
|
||||
create-glyph "grek/kappa.\(suffix)" : glyph-proc
|
||||
include : MarkSet.e
|
||||
include : VBarLeft (SB + [KBalance SLAB straightBar]) 0 XH
|
||||
include : Legs XH SLAB false
|
||||
if SLAB : include : LeftwardTopSerif (SB + [KBalance SLAB straightBar]) XH SideJut
|
||||
include : VBarLeft (SB + [KBalance slabTop straightBar]) 0 XH
|
||||
include : Legs XH slabTop false
|
||||
if slabTop : include : LeftwardTopSerif (SB + [KBalance slabTop straightBar]) XH SideJut
|
||||
|
||||
create-glyph "cyrl/ka.\(suffix)" : glyph-proc
|
||||
include : MarkSet.e
|
||||
include : VBarLeft (SB + [KBalance SLAB straightBar]) 0 XH
|
||||
include : Legs XH SLAB SLAB
|
||||
if SLAB : begin
|
||||
include : CenterBottomSerif (SB + [KBalance SLAB straightBar] + HalfStroke * HVContrast) 0 Jut
|
||||
include : CenterTopSerif (SB + [KBalance SLAB straightBar] + HalfStroke * HVContrast) XH Jut
|
||||
create-derived "cyrl/kaDescender.\(suffix)" : KCyrlNormalDescender XH straightBar SLAB SLAB
|
||||
include : VBarLeft (SB + [KBalance slabTop straightBar]) 0 XH
|
||||
include : Legs XH slabTop slabBot
|
||||
if slabTop : include : UpperKLTSerif slabTop XH straightBar
|
||||
if slabBot : include : UpperKLBSerif slabTop XH straightBar
|
||||
create-derived "cyrl/kaDescender.\(suffix)" : KCyrlNormalDescender XH straightBar slabTop slabBot
|
||||
|
||||
create-glyph "Khooktop.\(suffix)" : glyph-proc
|
||||
include : MarkSet.e
|
||||
include : Legs CAP SLAB SLAB
|
||||
include : KHookTopBar SLAB straightBar
|
||||
if SLAB : begin
|
||||
include : CenterBottomSerif (SB + [KBalance SLAB straightBar] + HalfStroke * HVContrast) 0 Jut
|
||||
include : Legs CAP slabTop slabBot
|
||||
include : KHookTopBar slabTop straightBar
|
||||
if slabBot : include : UpperKLBSerif slabTop CAP straightBar
|
||||
|
||||
define [BashkirKaShape top] : glyph-proc
|
||||
local left : if SLAB ([mix SB RightSB 0.35] - MVertStroke / 2 * HVContrast) [mix SB RightSB 0.2]
|
||||
local leftNB : left - [KBalance SLAB straightBar]
|
||||
local barLeft : mix 0 SB [if SLAB 0.25 0.375]
|
||||
local left : if slabTop ([mix SB RightSB 0.35] - MVertStroke / 2 * HVContrast) [mix SB RightSB 0.2]
|
||||
local leftNB : left - [KBalance slabTop straightBar]
|
||||
local barLeft : mix 0 SB [if slabTop 0.25 0.375]
|
||||
local sw : AdviceStroke 3
|
||||
|
||||
include : HBarTop barLeft (Stroke * 0.1 + left) top
|
||||
include : VBarLeft left 0 top sw
|
||||
include : BashkirKaLegs leftNB RightSB Stroke top SLAB SLAB
|
||||
if SLAB : begin
|
||||
include : CenterBottomSerif (left + HalfStroke * HVContrast) 0 Jut
|
||||
include : DownwardLeftSerif barLeft top VJut (MVertStroke / HVContrast)
|
||||
include : BashkirKaLegs leftNB RightSB Stroke top slabTop slabBot
|
||||
if slabBot : include : CenterBottomSerif (left + HalfStroke * HVContrast) 0 Jut
|
||||
if slabTop : include : DownwardLeftSerif barLeft top VJut (MVertStroke / HVContrast)
|
||||
|
||||
create-glyph "cyrl/BashkirUpperKa.\(suffix)" : glyph-proc
|
||||
include : MarkSet.capital
|
||||
|
@ -330,8 +340,8 @@ glyph-block Letter-Latin-K : begin
|
|||
alias 'latinkappa' 0x138 'cyrl/ka'
|
||||
select-variant 'cyrl/kaDescender' 0x49B (follow -- 'K')
|
||||
|
||||
select-variant 'Khooktop' 0x198 (follow -- 'K')
|
||||
select-variant 'khooktop' 0x199 (follow -- 'k')
|
||||
select-variant 'Khooktop' 0x198
|
||||
select-variant 'khooktop' 0x199
|
||||
|
||||
turned 'turnK' 0xA7B0 'K' Middle (CAP / 2)
|
||||
turned 'turnk' 0x29E 'k' Middle (CAP / 2)
|
||||
|
|
|
@ -11,19 +11,47 @@ glyph-block Letter-Latin-Upper-H : begin
|
|||
glyph-block-import Common-Derivatives
|
||||
glyph-block-import Letter-Blackboard : BBS BBD
|
||||
|
||||
define [HShape top] : glyph-proc
|
||||
define SLAB-AUTO 1
|
||||
define SLAB-MOTION 2
|
||||
|
||||
define [HShape top slabType] : glyph-proc
|
||||
include : tagged 'strokeL' : VBarLeft SB 0 top
|
||||
include : tagged 'strokeR' : VBarRight RightSB 0 top
|
||||
include : HBar (SB - O) (RightSB + O) (top * HBarPos)
|
||||
include : AIHSerifs top
|
||||
include : match slabType
|
||||
[Just SLAB-AUTO] : AIHSerifs top
|
||||
[Just SLAB-MOTION] : tagged 'serifLT' : LeftwardTopSerif SB top SideJut
|
||||
|
||||
create-glyph 'H' 'H' : glyph-proc
|
||||
create-glyph 'H.standard' : glyph-proc
|
||||
include : MarkSet.capital
|
||||
include : HShape CAP
|
||||
include : HShape CAP SLAB-AUTO
|
||||
|
||||
create-glyph 'H.motionSerifed' : glyph-proc
|
||||
include : MarkSet.capital
|
||||
include : HShape CAP SLAB-MOTION
|
||||
|
||||
select-variant 'H' 'H'
|
||||
|
||||
create-glyph 'smcpH.standard' : glyph-proc
|
||||
include : MarkSet.e
|
||||
include : HShape XH SLAB-AUTO
|
||||
|
||||
create-glyph 'smcpH.motionSerifed' : glyph-proc
|
||||
include : MarkSet.e
|
||||
include : HShape XH SLAB-AUTO
|
||||
|
||||
select-variant 'smcpH' 0x29C (follow -- 'H')
|
||||
|
||||
create-glyph 'halfH' 0x2C75 : glyph-proc
|
||||
include : MarkSet.capital
|
||||
include : HShape CAP
|
||||
include : HShape CAP SLAB-AUTO
|
||||
eject-contour 'strokeR'
|
||||
eject-contour 'serifRT'
|
||||
eject-contour 'serifRB'
|
||||
|
||||
create-glyph 'halfSmcpH' 0x2C76 : glyph-proc
|
||||
include : MarkSet.e
|
||||
include : HShape XH SLAB-AUTO
|
||||
eject-contour 'strokeR'
|
||||
eject-contour 'serifRT'
|
||||
eject-contour 'serifRB'
|
||||
|
@ -31,6 +59,11 @@ glyph-block Letter-Latin-Upper-H : begin
|
|||
alias 'grek/Eta' 0x397 'H'
|
||||
alias 'cyrl/En' 0x41D 'H'
|
||||
|
||||
alias 'cyrl/en' 0x43D 'smcpH'
|
||||
|
||||
create-glyph 0x4A2 : composite-proc [refer-glyph 'cyrl/En'] [CyrDescender RightSB]
|
||||
create-glyph 0x4A3 : composite-proc [refer-glyph 'cyrl/en'] [CyrDescender RightSB]
|
||||
|
||||
create-glyph 'mathbb/H' 0x210D : glyph-proc
|
||||
include : MarkSet.capital
|
||||
include : VBarLeft SB 0 CAP BBS
|
||||
|
@ -43,21 +76,6 @@ glyph-block Letter-Latin-Upper-H : begin
|
|||
include : HBarBottom SB (SB + BBD) 0 BBS
|
||||
include : HBarBottom (RightSB - BBD) RightSB 0 BBS
|
||||
|
||||
create-glyph 'smcpH' 0x29C : glyph-proc
|
||||
include : MarkSet.e
|
||||
include : HShape XH
|
||||
|
||||
create-glyph 'halfSmcpH' 0x2C76 : glyph-proc
|
||||
include : MarkSet.e
|
||||
include : HShape XH
|
||||
eject-contour 'strokeR'
|
||||
eject-contour 'serifRT'
|
||||
eject-contour 'serifRB'
|
||||
|
||||
alias 'cyrl/en' 0x43D 'smcpH'
|
||||
|
||||
create-glyph 0x4A2 : composite-proc [refer-glyph 'cyrl/En'] [CyrDescender RightSB]
|
||||
create-glyph 0x4A3 : composite-proc [refer-glyph 'cyrl/en'] [CyrDescender RightSB]
|
||||
|
||||
define [EnGheShape top] : glyph-proc
|
||||
local right : if SLAB ([mix RightSB SB 0.35] + MVertStroke / 2 * HVContrast) [mix RightSB SB 0.2]
|
||||
|
|
|
@ -10,7 +10,13 @@ glyph-block Letter-Latin-Upper-M : begin
|
|||
glyph-block-import CommonShapes
|
||||
glyph-block-import Common-Derivatives
|
||||
|
||||
define [MShape top df fHanging] : glyph-proc
|
||||
define FORM-FLAT 0
|
||||
define FORM-HANGING 1
|
||||
|
||||
define SLAB-AUTO 1
|
||||
define SLAB-MOTION 2
|
||||
|
||||
define [MShape top df fHanging slabType] : glyph-proc
|
||||
local swSideBot : if fHanging Stroke : AdviceStroke 3.5 df.div
|
||||
local swSideTop : AdviceStroke [if fHanging 5 4] df.div
|
||||
local halfSwMiddle : swSideTop / 2
|
||||
|
@ -32,23 +38,28 @@ glyph-block Letter-Latin-Upper-M : begin
|
|||
include : dispiro
|
||||
flat (df.rightSB - halfSwMiddle) top [widths.heading 0 swSideTop Downward]
|
||||
curl df.middle middleY [widths.heading (swSideTop / 2) (swSideTop / 2) Downward]
|
||||
include : AIMSerifs top df.leftSB df.rightSB
|
||||
|
||||
create-glyph : glyph-proc
|
||||
local df : DivFrame para.diversityM 3
|
||||
include : df.markSet.capital
|
||||
set-width df.width
|
||||
include : match slabType
|
||||
[Just SLAB-AUTO] : AIMSerifs top df.leftSB df.rightSB
|
||||
[Just SLAB-MOTION] : tagged 'serifLT' : LeftwardTopSerif df.leftSB top SideJut
|
||||
|
||||
create-derived 'M.hanging' : MShape CAP df true
|
||||
create-derived 'M.flatBottom' : MShape CAP df false
|
||||
define MConfig : object
|
||||
hanging { FORM-HANGING SLAB-AUTO }
|
||||
flatBottom { FORM-FLAT SLAB-AUTO }
|
||||
hangingMotionSerifed { FORM-HANGING SLAB-MOTION }
|
||||
flatBottomMotionSerifed { FORM-FLAT SLAB-MOTION }
|
||||
|
||||
create-glyph : glyph-proc
|
||||
local df : DivFrame para.diversityM 3
|
||||
include : df.markSet.e
|
||||
set-width df.width
|
||||
|
||||
create-derived 'smcpM.hanging' : MShape XH df true
|
||||
create-derived 'smcpM.flatBottom' : MShape XH df false
|
||||
foreach { suffix { form slab } } [Object.entries MConfig] : do
|
||||
create-glyph "M.\(suffix)" : glyph-proc
|
||||
local df : DivFrame para.diversityM 3
|
||||
set-width df.width
|
||||
include : df.markSet.capital
|
||||
include : MShape CAP df form slab
|
||||
create-glyph "smcpM.\(suffix)" : glyph-proc
|
||||
local df : DivFrame para.diversityM 3
|
||||
set-width df.width
|
||||
include : df.markSet.e
|
||||
include : MShape XH df form slab
|
||||
|
||||
select-variant 'M' 'M'
|
||||
select-variant 'smcpM' 0x1D0D (follow -- 'M')
|
||||
|
|
|
@ -10,50 +10,72 @@ glyph-block Letter-Latin-Upper-N : begin
|
|||
glyph-block-import CommonShapes
|
||||
glyph-block-import Common-Derivatives
|
||||
glyph-block-import Marks : markHalfStroke
|
||||
glyph-block-export NShape
|
||||
|
||||
define [NShape top left right crowd diagcrowd xn] : glyph-proc
|
||||
local topstroke : AdviceStroke [fallback diagcrowd 4]
|
||||
local stroke : AdviceStroke [fallback crowd 1]
|
||||
local halftopstroke : topstroke / 2
|
||||
define SLAB-AUTO 1
|
||||
define SLAB-MOTION 2
|
||||
|
||||
define [StdNSerifs top left right sw xn] : glyph-proc
|
||||
include : tagged 'serifLT'
|
||||
LeftwardTopSerif left top (xn * Jut - 0.5 * sw * HVContrast)
|
||||
include : tagged 'serifRB'
|
||||
CenterTopSerif (right - 0.5 * sw * HVContrast) top (xn * Jut)
|
||||
include : tagged 'serifLB'
|
||||
CenterBottomSerif (left + 0.5 * sw * HVContrast) 0 (xn * Jut)
|
||||
|
||||
define [NShape] : params [slabType top left right [crowd 2] [crDiag 4] [xn 1]] : glyph-proc
|
||||
local swDiag : AdviceStroke crDiag
|
||||
local stroke : AdviceStroke crowd
|
||||
|
||||
include : union
|
||||
AINSerifs top left right stroke xn
|
||||
dispiro
|
||||
flat left 0 [widths.heading 0 stroke Upward]
|
||||
curl left (top * 0.4) [heading Upward]
|
||||
straight.up.end left top [widths.heading 0 topstroke Upward]
|
||||
straight.up.end left top [widths.heading 0 swDiag Upward]
|
||||
dispiro
|
||||
flat right top [widths.heading 0 stroke Downward]
|
||||
curl right (top * 0.6) [heading Downward]
|
||||
straight.down.end right 0 [widths.heading 0 topstroke Downward]
|
||||
straight.down.end right 0 [widths.heading 0 swDiag Downward]
|
||||
dispiro
|
||||
flat (left + halftopstroke) top [widths.heading topstroke 0 Downward]
|
||||
curl (right - halftopstroke) 0 [widths.heading 0 topstroke Downward]
|
||||
flat (left + swDiag / 2) top [widths.heading swDiag 0 Downward]
|
||||
curl (right - swDiag / 2) 0 [widths.heading 0 swDiag Downward]
|
||||
|
||||
create-glyph 'N' 'N' : glyph-proc
|
||||
include : MarkSet.capital
|
||||
include : NShape CAP SB RightSB
|
||||
set-base-anchor 'trailing' (RightSB - markHalfStroke) 0
|
||||
include : match slabType
|
||||
[Just SLAB-AUTO] : if SLAB [StdNSerifs top left right stroke xn] [glyph-proc]
|
||||
[Just SLAB-MOTION] : tagged 'serifLT' : LeftwardTopSerif left top SideJut
|
||||
|
||||
define NConfig : object
|
||||
standard { SLAB-AUTO }
|
||||
motionSerifed { SLAB-MOTION }
|
||||
|
||||
do : foreach { suffix { slabType } } [Object.entries NConfig] : do
|
||||
create-glyph "N.\(suffix)" : glyph-proc
|
||||
include : MarkSet.capital
|
||||
include : NShape slabType CAP SB RightSB
|
||||
set-base-anchor 'trailing' (RightSB - markHalfStroke) 0
|
||||
|
||||
create-glyph "Nltail.\(suffix)" : glyph-proc
|
||||
include [refer-glyph "N.\(suffix)"] AS_BASE ALSO_METRICS
|
||||
eject-contour 'serifLB'
|
||||
include : VerticalHook (SB + HalfStroke * HVContrast) 0 (-HookX) Hook
|
||||
|
||||
create-glyph "smcpN.\(suffix)" : glyph-proc
|
||||
include : MarkSet.e
|
||||
include : NShape slabType XH SB RightSB
|
||||
set-base-anchor 'trailing' (RightSB - markHalfStroke) 0
|
||||
|
||||
|
||||
select-variant 'N' 'N'
|
||||
alias 'grek/Nu' 0x39D 'N'
|
||||
|
||||
create-glyph 'smcpN' 0x274 : glyph-proc
|
||||
include : MarkSet.e
|
||||
include : NShape XH SB RightSB 3 3.5
|
||||
select-variant 'smcpN' 0x274 (follow -- 'N')
|
||||
select-variant 'Nltail' 0x19D (follow -- 'N')
|
||||
|
||||
create-glyph 'currency/nairaSign' 0x20A6 : glyph-proc
|
||||
include : NShape CAP (SB * 1.25) (Width - SB * 1.25) 3.5 4
|
||||
include : NShape SLAB-AUTO CAP (SB * 1.25) (Width - SB * 1.25) 3.5 4
|
||||
define sw : AdviceStroke2 2 4 CAP
|
||||
define gap : Math.max (CAP / 6) sw
|
||||
include : HBarBottom [mix 0 SB 0.5] [mix Width RightSB 0.5] (CAP / 2 + gap / 2) sw
|
||||
include : HBarTop [mix 0 SB 0.5] [mix Width RightSB 0.5] (CAP / 2 - gap / 2) sw
|
||||
|
||||
create-glyph 'Nltail' 0x19D : glyph-proc
|
||||
include [refer-glyph 'N'] AS_BASE
|
||||
eject-contour 'serifLB'
|
||||
include : VerticalHook (SB + HalfStroke * HVContrast) 0 (-HookX) Hook
|
||||
|
||||
glyph-block-import Letter-Blackboard : BBS BBD
|
||||
create-glyph 'mathbb/N' 0x2115 : glyph-proc
|
||||
include : MarkSet.capital
|
||||
|
@ -70,3 +92,9 @@ glyph-block Letter-Latin-Upper-N : begin
|
|||
widths.center BBS
|
||||
corner (SB + BBS * HVContrast / 2) (CAP - (CAP / 5))
|
||||
corner (RightSB - BBS * HVContrast) 0
|
||||
|
||||
create-glyph 'numero' 0x2116 : glyph-proc
|
||||
local fine : AdviceStroke 4.5
|
||||
include : OShape XH [Math.max (fine * 2) (CAP * 0.1)] (Middle + [Math.max (fine / 2) ((RightSB - SB) * 0.1)]) [mix RightSB Width 0.5] fine (SmoothA * fine / Stroke) (SmoothB * fine / Stroke)
|
||||
include : NShape SLAB-AUTO CAP (SB / 2) Middle (crowd -- 4.5) (crDiag -- 5.5) (xn -- 0.7)
|
||||
include : HBarBottom (Middle + fine / 2) [mix RightSB Width 0.5] 0 fine
|
||||
|
|
|
@ -253,13 +253,14 @@ glyph-block Letter-Latin-Upper-R : begin
|
|||
include : PShape top (mul -- 1) (bp -- bp) (slab -- [if SLAB PShape.SlabSymmetric])
|
||||
include : VBarLeft SB (top - 1) CAP
|
||||
|
||||
local legTop : RLegTop top Stroke bp
|
||||
local right (RightSB - O - [if SLAB (Jut / 8) 0])
|
||||
create-derived 'Yr.straight'
|
||||
RLegShape-Straight ((top - Stroke) * bp + Stroke / 2) Descender Middle right (top - Descender) SLAB Stroke 0
|
||||
RLegShape-Straight legTop Descender Middle right (top - Descender) SLAB Stroke 0
|
||||
create-derived 'Yr.curly'
|
||||
RLegShape-Curly ((top - Stroke) * bp + Stroke / 2) Descender Middle right (top - Descender) SLAB Stroke 0
|
||||
RLegShape-Curly legTop Descender Middle right (top - Descender) SLAB Stroke 0
|
||||
create-derived 'Yr.standing'
|
||||
RLegShape-Standing ((top - Stroke) * bp + Stroke / 2) Descender Middle right (top - Descender) SLAB Stroke 0
|
||||
RLegShape-Standing legTop Descender Middle right (top - Descender) SLAB Stroke 0
|
||||
|
||||
select-variant 'Yr' 0x1A6 (follow -- 'Rrotunda')
|
||||
|
||||
|
|
|
@ -11,29 +11,33 @@ glyph-block Letter-Latin-Upper-Y : begin
|
|||
glyph-block-import Common-Derivatives
|
||||
glyph-block-import Letter-Latin-X : HalfXStrand
|
||||
|
||||
define [YShape straightBar top bot] : glyph-proc
|
||||
define BODY-CURLY 0
|
||||
define BODY-STRAIGHT 1
|
||||
|
||||
define SLAB-AUTO 1
|
||||
define SLAB-MOTION 2
|
||||
|
||||
define [YShape bodyType slabType top bot] : glyph-proc
|
||||
local cross : mix [fallback bot 0] top 0.4
|
||||
include : WithAIHSerifsMask CAP 0 SB RightSB
|
||||
HalfXStrand straightBar SLAB SB top Middle cross 0.1 0.4 0.28
|
||||
HalfXStrand bodyType SLAB SB top Middle cross 0.1 0.4 0.28
|
||||
include : tagged 'strokeRT' : WithAIHSerifsMask CAP 0 SB RightSB
|
||||
HalfXStrand straightBar SLAB RightSB top Middle cross 0.1 0.4 0.28
|
||||
HalfXStrand bodyType SLAB RightSB top Middle cross 0.1 0.4 0.28
|
||||
include : VBar Middle [fallback bot 0] (cross + HalfStroke)
|
||||
set-base-anchor 'overlay' Middle cross
|
||||
if SLAB : begin
|
||||
include : AIVSerifs top
|
||||
include : CenterBottomSerif Middle [fallback bot 0] MidJutSide
|
||||
|
||||
match slabType
|
||||
[Just SLAB-AUTO] : if SLAB : begin
|
||||
include : AIVSerifs top
|
||||
include : CenterBottomSerif Middle [fallback bot 0] MidJutSide
|
||||
[Just SLAB-MOTION] : include : tagged 'serifLT' : LeftwardTopSerif SB top SideJut
|
||||
|
||||
define [YOverlayShape] : glyph-proc
|
||||
include : HOverlayBar SB RightSB (CAP * 0.45)
|
||||
include : HOverlayBar SB RightSB (CAP * 0.25)
|
||||
|
||||
create-glyph : glyph-proc
|
||||
include : MarkSet.capital
|
||||
create-derived 'Y.straight' : YShape true CAP
|
||||
create-derived 'Y.curly' : YShape false CAP
|
||||
|
||||
define [YHookTopShape straightBar] : glyph-proc
|
||||
include : YShape straightBar CAP
|
||||
define [YHookTopShape bodyType slabType] : glyph-proc
|
||||
include : YShape bodyType slabType CAP
|
||||
eject-contour 'strokeRT'
|
||||
eject-contour 'serifRT'
|
||||
|
||||
|
@ -45,20 +49,29 @@ glyph-block Letter-Latin-Upper-Y : begin
|
|||
quadcontrols 0.55 0.7 32 unimportant
|
||||
g4 (Middle + Stroke / 2 * HVContrast) cross
|
||||
|
||||
create-glyph : glyph-proc
|
||||
include : MarkSet.capital
|
||||
create-derived 'Yhooktop.straight' : YHookTopShape true
|
||||
create-derived 'Yhooktop.curly' : YHookTopShape false
|
||||
|
||||
create-glyph : glyph-proc
|
||||
include : MarkSet.p
|
||||
create-derived 'cyrl/ue.straight' : YShape true XH Descender
|
||||
create-derived 'cyrl/ue.curly' : YShape false XH Descender
|
||||
define YConfig : object
|
||||
straight { BODY-STRAIGHT SLAB-AUTO }
|
||||
curly { BODY-CURLY SLAB-AUTO }
|
||||
straightMotionSerifed { BODY-STRAIGHT SLAB-MOTION }
|
||||
curlyMotionSerifed { BODY-CURLY SLAB-MOTION }
|
||||
|
||||
create-glyph : glyph-proc
|
||||
include : MarkSet.e
|
||||
create-derived 'smcpY.straight' : YShape true XH
|
||||
create-derived 'smcpY.curly' : YShape true XH
|
||||
foreach { suffix { bodyType slabType } } [Object.entries YConfig] : do
|
||||
create-glyph "Y.\(suffix)" : glyph-proc
|
||||
include : MarkSet.capital
|
||||
include : YShape bodyType slabType CAP
|
||||
|
||||
create-glyph "smcpY.\(suffix)" : glyph-proc
|
||||
include : MarkSet.e
|
||||
include : YShape bodyType slabType XH
|
||||
|
||||
create-glyph "Yhooktop.\(suffix)" : glyph-proc
|
||||
include : MarkSet.capital
|
||||
include : YHookTopShape bodyType slabType
|
||||
|
||||
create-glyph "cyrl/ue.\(suffix)" : glyph-proc
|
||||
include : MarkSet.p
|
||||
include : YShape bodyType slabType XH Descender
|
||||
|
||||
select-variant 'Y' 'Y'
|
||||
select-variant 'Yhooktop' 0x1B3 (follow -- 'Y')
|
||||
|
|
|
@ -150,14 +150,14 @@ glyph-block Letter-Latin-W : begin
|
|||
|
||||
include : match slabType
|
||||
[Just SERIFS-AUTO] : AIVSerifs top df.leftSB df.rightSB
|
||||
[Just SERIFS-MOTION] : tagged 'serifLT' : LeftwardTopSerif df.leftSB top SideJut
|
||||
[Just SERIFS-MOTION] : tagged 'serifLT' : LeftwardTopSerif (df.leftSB + O * 2) top SideJut
|
||||
[Just SERIFS-DOUBLE-V] : glyph-proc
|
||||
if SLAB : include : tagged 'serifLT' : LeftwardTopSerif df.leftSB top SideJut
|
||||
if SLAB : include : tagged 'serifRT' : RightwardTopSerif df.rightSB top SideJut
|
||||
if SLAB : include : tagged 'serifLT' : LeftwardTopSerif (df.leftSB + O * 2) top SideJut
|
||||
if SLAB : include : tagged 'serifRT' : RightwardTopSerif (df.rightSB - O * 2) top SideJut
|
||||
[Just SERIFS-ASYMMETRIC] : glyph-proc
|
||||
include : AIVSerifs top df.leftSB df.rightSB
|
||||
eject-contour 'serifLT'
|
||||
if SLAB : include : tagged 'serifLT' : LeftwardTopSerif df.leftSB top SideJut
|
||||
if SLAB : include : tagged 'serifLT' : LeftwardTopSerif (df.leftSB + O * 2) top SideJut
|
||||
|
||||
define [WonOverlay df] : glyph-proc
|
||||
include : HOverlayBar [mix SB 0 0.7] [mix df.rightSB df.width 0.7] (CAP * 0.6)
|
||||
|
|
|
@ -45,45 +45,64 @@ glyph-block Letter-Latin-X : begin
|
|||
include : HalfXStrand stb slab _leftx lefty middlex middley turn pStraight tension
|
||||
include : HalfXStrand stb slab _rightx righty middlex middley turn pStraight tension
|
||||
|
||||
define [UpperXBase] : union
|
||||
XStrand true SLAB SB 0 RightSB CAP 0.1 0.4 0.28
|
||||
XStrand true SLAB SB CAP RightSB 0 0.1 0.4 0.28
|
||||
|
||||
define [XMotionSerifs top] : glyph-proc
|
||||
include : tagged 'serifLT' : LeftwardTopSerif SB top SideJut
|
||||
|
||||
create-glyph 'X.straight' : glyph-proc
|
||||
include : MarkSet.capital
|
||||
include : WithAIHSerifsMask CAP 0 SB RightSB : union
|
||||
XStrand true SLAB SB 0 RightSB CAP 0.1 0.4 0.28
|
||||
XStrand true SLAB SB CAP RightSB 0 0.1 0.4 0.28
|
||||
include : WithAIHSerifsMask CAP 0 SB RightSB : UpperXBase
|
||||
include : AIHSerifs CAP
|
||||
|
||||
create-glyph 'X.curly' : glyph-proc
|
||||
include : MarkSet.capital
|
||||
include : WithAIHSerifsMask CAP 0 SB RightSB : union
|
||||
XStrand false SLAB SB 0 RightSB CAP 0.1 0.4 0.28
|
||||
XStrand false SLAB SB CAP RightSB 0 0.1 0.4 0.28
|
||||
include : WithAIHSerifsMask CAP 0 SB RightSB : UpperXBase
|
||||
include : AIHSerifs CAP
|
||||
create-glyph 'X.straightMotionSerifed' : glyph-proc
|
||||
include : MarkSet.capital
|
||||
include : UpperXBase
|
||||
include : XMotionSerifs CAP
|
||||
create-glyph 'X.curlyMotionSerifed' : glyph-proc
|
||||
include : MarkSet.capital
|
||||
include : UpperXBase
|
||||
include : XMotionSerifs CAP
|
||||
|
||||
define [LowerXBase] : begin
|
||||
local turn : if SLAB 0.1 0.1
|
||||
local tension : if SLAB 0.24 0.24
|
||||
union
|
||||
XStrand true SLAB SB 0 RightSB XH turn 0.4 tension
|
||||
XStrand true SLAB SB XH RightSB 0 turn 0.4 tension
|
||||
|
||||
local LowerXTurn : if SLAB 0.1 0.1
|
||||
local LowerXTension : if SLAB 0.24 0.24
|
||||
create-glyph 'x.straight' : glyph-proc
|
||||
include : MarkSet.e
|
||||
include : WithAIHSerifsMask XH 0 SB RightSB : union
|
||||
XStrand true SLAB SB 0 RightSB XH LowerXTurn 0.4 LowerXTension
|
||||
XStrand true SLAB SB XH RightSB 0 LowerXTurn 0.4 LowerXTension
|
||||
include : WithAIHSerifsMask XH 0 SB RightSB : LowerXBase
|
||||
include : AIHSerifs XH
|
||||
create-glyph 'x.curly' : glyph-proc
|
||||
include : MarkSet.e
|
||||
include : WithAIHSerifsMask XH 0 SB RightSB : union
|
||||
XStrand false SLAB SB 0 RightSB XH LowerXTurn 0.4 LowerXTension
|
||||
XStrand false SLAB SB XH RightSB 0 LowerXTurn 0.4 LowerXTension
|
||||
include : WithAIHSerifsMask XH 0 SB RightSB : LowerXBase
|
||||
include : AIHSerifs XH
|
||||
create-glyph 'x.straightMotionSerifed' : glyph-proc
|
||||
include : MarkSet.e
|
||||
include : LowerXBase
|
||||
include : XMotionSerifs XH
|
||||
create-glyph 'x.curlyMotionSerifed' : glyph-proc
|
||||
include : MarkSet.e
|
||||
include : LowerXBase
|
||||
include : XMotionSerifs XH
|
||||
|
||||
create-glyph 'grek/chi.straight' : composite-proc [MarkSet.p] : union
|
||||
define [ChiBase] : union
|
||||
XStrand true false SB Descender RightSB XH 0.05 0.4 0.11
|
||||
XStrand true false SB XH RightSB Descender 0.05 0.4 0.11
|
||||
create-glyph 'grek/chi.curly' : composite-proc [MarkSet.p] : union
|
||||
XStrand false false SB Descender RightSB XH 0.05 0.4 0.11
|
||||
XStrand false false SB XH RightSB Descender 0.05 0.4 0.11
|
||||
|
||||
create-glyph 'grek/chi.straight' : composite-proc [MarkSet.p] [ChiBase]
|
||||
create-glyph 'grek/chi.curly' : composite-proc [MarkSet.p] [ChiBase]
|
||||
|
||||
select-variant 'X' 'X'
|
||||
select-variant 'x' 'x'
|
||||
select-variant 'grek/chi' 0x3C7 (follow -- 'x')
|
||||
select-variant 'grek/chi' 0x3C7
|
||||
|
||||
alias 'grek/Chi' 0x3A7 'X'
|
||||
alias 'cyrl/Ha' 0x425 'X'
|
||||
|
|
|
@ -50,15 +50,8 @@ glyph-block Symbol-Letter : begin
|
|||
|
||||
glyph-block-import CommonShapes
|
||||
glyph-block-import Common-Derivatives
|
||||
glyph-block-import Letter-Latin-Upper-N : NShape
|
||||
glyph-block-import Letter-Latin-X : XStrand
|
||||
|
||||
create-glyph 'numero' 0x2116 : glyph-proc
|
||||
local fine : AdviceStroke 4.5
|
||||
include : OShape XH [Math.max (fine * 2) (CAP * 0.1)] (Middle + [Math.max (fine / 2) ((RightSB - SB) * 0.1)]) [mix RightSB Width 0.5] fine (SmoothA * fine / Stroke) (SmoothB * fine / Stroke)
|
||||
include : NShape CAP (SB / 2) Middle 4.5 5.5 0.7
|
||||
include : HBarBottom (Middle + fine / 2) [mix RightSB Width 0.5] 0 fine
|
||||
|
||||
alias 'Ohm' 0x2126 'grek/Omega'
|
||||
turned 'Mho' 0x2127 'Ohm' Middle (CAP / 2)
|
||||
|
||||
|
|
|
@ -135,7 +135,7 @@ define-macro glyph-block-import : syntax-rules
|
|||
CircleRing CircleRingAt CircleDotAt OShape OShapeOutline OBarLeftShape OBarRightShape
|
||||
LeftwardTopSerif LeftwardBottomSerif RightwardTopSerif RightwardBottomSerif
|
||||
CenterTopSerif CenterBottomSerif DownwardRightSerif UpwardRightSerif DownwardLeftSerif
|
||||
UpwardLeftSerif AIVSerifs AIHSerifs AINSerifs AICyrISerifs AIMSerifs HBar
|
||||
UpwardLeftSerif AIVSerifs AIHSerifs AICyrISerifs AIMSerifs HBar
|
||||
HBarTop HBarBottom HOverlayBar VBar VBarLeft VBarRight VerticalHook LegShape LeftHook
|
||||
HooktopLeftBar FlatSlashShape hookstart hookend CyrDescender CyrLeftDescender FlipAround
|
||||
ScaleAround Realign ForceUpright DiagCor CreateWaveShape NameUni PointingTo
|
||||
|
|
|
@ -186,9 +186,25 @@ selector.G = "toothlessRoundedCapped"
|
|||
|
||||
|
||||
|
||||
[prime.capital-h]
|
||||
sampler = 'H'
|
||||
tag = 'cv07'
|
||||
|
||||
[prime.capital-h.variants.standard]
|
||||
rank = 1
|
||||
description = "Standard H"
|
||||
selector.H = "standard"
|
||||
|
||||
[prime.capital-h.variants.motion-serifed]
|
||||
rank = 2
|
||||
description = "Motion-Serifed H"
|
||||
selector.H = "motionSerifed"
|
||||
|
||||
|
||||
|
||||
[prime.capital-i]
|
||||
sampler = 'I'
|
||||
tag = 'cv07'
|
||||
tag = 'cv08'
|
||||
|
||||
[prime.capital-i.variants.serifed]
|
||||
rank = 1
|
||||
|
@ -209,7 +225,7 @@ selector.I = "shortSerifed"
|
|||
|
||||
[prime.capital-j]
|
||||
sampler = 'J'
|
||||
tag = 'cv08'
|
||||
tag = 'cv09'
|
||||
|
||||
[prime.capital-j.variants.serifless]
|
||||
rank = 1
|
||||
|
@ -235,33 +251,61 @@ selector.J = 'serifedSymmetric'
|
|||
|
||||
[prime.capital-k]
|
||||
sampler = 'K'
|
||||
tag = 'cv09'
|
||||
tag = 'cv10'
|
||||
|
||||
[prime.capital-k.variants.straight]
|
||||
rank = 1
|
||||
description = '`K` with standard shape'
|
||||
selector.K = 'straight'
|
||||
selector.Khooktop = 'straight'
|
||||
|
||||
[prime.capital-k.variants.curly]
|
||||
rank = 2
|
||||
description = 'Slightly curly `K`, like Iosevka 2.x'
|
||||
selector.K = 'curly'
|
||||
selector.Khooktop = 'curly'
|
||||
|
||||
[prime.capital-k.variants.symmetric-disconnected]
|
||||
rank = 3
|
||||
description = '`K` with symmetric legs disconnected with the vertical bar'
|
||||
description = '`K` with symmetric legs disconnected to the vertical bar'
|
||||
selector.K = 'symmetricDisconnected'
|
||||
selector.Khooktop = 'symmetricDisconnected'
|
||||
|
||||
[prime.capital-k.variants.symmetric-connected]
|
||||
rank = 4
|
||||
description = '`K` with symmetric legs connected with the vertical bar'
|
||||
description = '`K` with symmetric legs connected to the vertical bar'
|
||||
selector.K = 'symmetricConnected'
|
||||
selector.Khooktop = 'symmetricConnected'
|
||||
|
||||
[prime.capital-k.variants.straight-motion-serifed]
|
||||
rank = 5
|
||||
description = '`K` with standard shape and motion serifs'
|
||||
selector.K = 'straightMotionSerifed'
|
||||
selector.Khooktop = 'straight'
|
||||
|
||||
[prime.capital-k.variants.curly-motion-serifed]
|
||||
rank = 6
|
||||
description = 'Slightly curly `K`, like Iosevka 2.x, with motion serifs'
|
||||
selector.K = 'curlyMotionSerifed'
|
||||
selector.Khooktop = 'curly'
|
||||
|
||||
[prime.capital-k.variants.symmetric-disconnected-motion-serifed]
|
||||
rank = 7
|
||||
description = '`K` with symmetric legs disconnected to the vertical bar, and motion serifs'
|
||||
selector.K = 'symmetricDisconnectedMotionSerifed'
|
||||
selector.Khooktop = 'symmetricDisconnected'
|
||||
|
||||
[prime.capital-k.variants.symmetric-connected-motion-serifed]
|
||||
rank = 8
|
||||
description = '`K` with symmetric legs connected to the vertical bar, and motion serifs'
|
||||
selector.K = 'symmetricConnectedMotionSerifed'
|
||||
selector.Khooktop = 'symmetricConnected'
|
||||
|
||||
|
||||
|
||||
[prime.capital-l]
|
||||
sampler = 'L'
|
||||
tag = 'cv10'
|
||||
tag = 'cv11'
|
||||
|
||||
[prime.capital-l.variants.standard]
|
||||
rank = 1
|
||||
|
@ -278,7 +322,7 @@ selector.L = 'motionSerifed'
|
|||
|
||||
[prime.capital-m]
|
||||
sampler = 'M'
|
||||
tag = 'cv11'
|
||||
tag = 'cv12'
|
||||
|
||||
[prime.capital-m.variants.hanging]
|
||||
rank = 1
|
||||
|
@ -290,11 +334,37 @@ rank = 2
|
|||
description = '`M` with middle aligned to baseline'
|
||||
selector.M = 'flatBottom'
|
||||
|
||||
[prime.capital-m.variants.hanging-motion-serifed]
|
||||
rank = 3
|
||||
description = '`M` with middle being hanging off baseline and motion serifs'
|
||||
selector.M = 'hangingMotionSerifed'
|
||||
|
||||
[prime.capital-m.variants.flat-bottom-motion-serifed]
|
||||
rank = 4
|
||||
description = '`M` with middle aligned to baseline and motion serifs'
|
||||
selector.M = 'flatBottomMotionSerifed'
|
||||
|
||||
|
||||
|
||||
[prime.capital-n]
|
||||
sampler = 'N'
|
||||
tag = 'cv13'
|
||||
|
||||
[prime.capital-n.variants.standard]
|
||||
rank = 1
|
||||
description = "Standard N"
|
||||
selector.N = "standard"
|
||||
|
||||
[prime.capital-n.variants.motion-serifed]
|
||||
rank = 2
|
||||
description = "Motion-Serifed N"
|
||||
selector.N = "motionSerifed"
|
||||
|
||||
|
||||
|
||||
[prime.capital-p]
|
||||
sampler = 'P'
|
||||
tag = 'cv12'
|
||||
tag = 'cv14'
|
||||
|
||||
[prime.capital-p.variants.closed]
|
||||
rank = 1
|
||||
|
@ -320,7 +390,7 @@ selector.P = "openMotionSerifed"
|
|||
|
||||
[prime.capital-q]
|
||||
sampler = 'Q'
|
||||
tag = 'cv13'
|
||||
tag = 'cv15'
|
||||
|
||||
[prime.capital-q.variants.curly-tailed]
|
||||
rank = 1
|
||||
|
@ -361,7 +431,7 @@ selector.Q = 'detachedObliqueTailed'
|
|||
|
||||
[prime.capital-r]
|
||||
sampler = 'R'
|
||||
tag = 'cv14'
|
||||
tag = 'cv16'
|
||||
|
||||
[prime.capital-r.variants.straight]
|
||||
rank = 1
|
||||
|
@ -451,7 +521,7 @@ selector.Rrotunda = "standing"
|
|||
|
||||
[prime.capital-t]
|
||||
sampler = 'T'
|
||||
tag = 'cv15'
|
||||
tag = 'cv17'
|
||||
|
||||
[prime.capital-t.variants.standard]
|
||||
rank = 1
|
||||
|
@ -467,7 +537,7 @@ selector.T = "motionSerifed"
|
|||
|
||||
[prime.capital-u]
|
||||
sampler = 'u'
|
||||
tag = 'cv16'
|
||||
tag = 'cv18'
|
||||
|
||||
[prime.capital-u.variants.toothed]
|
||||
rank = 1
|
||||
|
@ -523,7 +593,7 @@ selector.U = "toothlessRoundedBilateralMotionSerifed"
|
|||
|
||||
[prime.capital-v]
|
||||
sampler = 'V'
|
||||
tag = 'cv17'
|
||||
tag = 'cv19'
|
||||
|
||||
[prime.capital-v.variants.straight]
|
||||
rank = 1
|
||||
|
@ -553,7 +623,7 @@ selector.Vhooktop = "curly"
|
|||
|
||||
[prime.capital-w]
|
||||
sampler = 'W'
|
||||
tag = 'cv18'
|
||||
tag = 'cv20'
|
||||
|
||||
[prime.capital-w.variants.straight]
|
||||
rank = 1
|
||||
|
@ -617,9 +687,35 @@ selector.Whooktop = "straightFlatTop"
|
|||
|
||||
|
||||
|
||||
[prime.capital-x]
|
||||
sampler = 'X'
|
||||
tag = 'cv21'
|
||||
|
||||
[prime.capital-x.variants.straight]
|
||||
rank = 1
|
||||
description = 'Standard, straight `X`'
|
||||
selector.X = "straight"
|
||||
|
||||
[prime.capital-x.variants.curly]
|
||||
rank = 2
|
||||
description = 'Slightly curly `X`, like Iosevka 2.x'
|
||||
selector.X = "curly"
|
||||
|
||||
[prime.capital-x.variants.straight-motion-serifed]
|
||||
rank = 3
|
||||
description = 'Standard, straight `X` with motion serifs'
|
||||
selector.X = "straightMotionSerifed"
|
||||
|
||||
[prime.capital-x.variants.curly-motion-serifed]
|
||||
rank = 4
|
||||
description = 'Slightly curly `X`, like Iosevka 2.x, with motion serifs'
|
||||
selector.X = "curlyMotionSerifed"
|
||||
|
||||
|
||||
|
||||
[prime.capital-y]
|
||||
sampler = 'Y'
|
||||
tag = 'cv19'
|
||||
tag = 'cv22'
|
||||
|
||||
[prime.capital-y.variants.straight]
|
||||
rank = 1
|
||||
|
@ -631,11 +727,21 @@ rank = 2
|
|||
description = 'Slightly curly `Y`, like Iosevka 2.x'
|
||||
selector.Y = "curly"
|
||||
|
||||
[prime.capital-y.variants.straight-motion-serifed]
|
||||
rank = 3
|
||||
description = 'Standard, straight `Y`, with motion serifs'
|
||||
selector.Y = "straightMotionSerifed"
|
||||
|
||||
[prime.capital-y.variants.curly-motion-serifed]
|
||||
rank = 4
|
||||
description = 'Slightly curly `Y`, like Iosevka 2.x, with motion serifs'
|
||||
selector.Y = "curlyMotionSerifed"
|
||||
|
||||
|
||||
|
||||
[prime.capital-z]
|
||||
sampler = 'Z'
|
||||
tag = 'cv20'
|
||||
tag = 'cv23'
|
||||
|
||||
[prime.capital-z.variants.standard]
|
||||
rank = 1
|
||||
|
@ -695,7 +801,7 @@ selector.Z = 'curlyTopMotionSerifed'
|
|||
|
||||
[prime.a]
|
||||
sampler = 'a'
|
||||
tag = 'cv21'
|
||||
tag = 'cv24'
|
||||
|
||||
[prime.a.variants.double-storey]
|
||||
rank = 1
|
||||
|
@ -770,7 +876,7 @@ selector.a = 'singleStoreyEarlessRoundedMotionSerifed'
|
|||
|
||||
[prime.b]
|
||||
sampler = 'b'
|
||||
tag = 'cv22'
|
||||
tag = 'cv25'
|
||||
|
||||
[prime.b.variants.toothed]
|
||||
rank = 1
|
||||
|
@ -812,7 +918,7 @@ selector.bhooktop = "toothlessRounded"
|
|||
|
||||
[prime.d]
|
||||
sampler = 'd'
|
||||
tag = 'cv23'
|
||||
tag = 'cv26'
|
||||
|
||||
[prime.d.variants.toothed]
|
||||
rank = 1
|
||||
|
@ -866,7 +972,7 @@ selector.dhooktop = "tailed"
|
|||
|
||||
[prime.e]
|
||||
sampler = 'e'
|
||||
tag = 'cv24'
|
||||
tag = 'cv27'
|
||||
|
||||
[prime.e.variants.flat-crossbar]
|
||||
rank = 1
|
||||
|
@ -882,7 +988,7 @@ selector.e = 'rounded'
|
|||
|
||||
[prime.f]
|
||||
sampler = 'f'
|
||||
tag = 'cv25'
|
||||
tag = 'cv28'
|
||||
|
||||
[prime.f.variants.serifless]
|
||||
rank = 1
|
||||
|
@ -986,7 +1092,7 @@ selector.f = "flatHookDiagonalTailedCrossbarAtXHeight"
|
|||
|
||||
[prime.g]
|
||||
sampler = 'g'
|
||||
tag = 'cv26'
|
||||
tag = 'cv29'
|
||||
|
||||
[prime.g.variants.double-storey]
|
||||
rank = 1
|
||||
|
@ -1042,7 +1148,7 @@ selector.g = 'singleStoreyMotionSerifedFlatHook'
|
|||
|
||||
[prime.h]
|
||||
sampler = 'h'
|
||||
tag = 'cv27'
|
||||
tag = 'cv30'
|
||||
|
||||
[prime.h.variants.straight]
|
||||
rank = 1
|
||||
|
@ -1076,7 +1182,7 @@ selector.heng = 'straightMotionSerifed'
|
|||
|
||||
[prime.i]
|
||||
sampler = 'i'
|
||||
tag = 'cv28'
|
||||
tag = 'cv31'
|
||||
|
||||
[prime.i.variants.serifed]
|
||||
rank = 1
|
||||
|
@ -1142,7 +1248,7 @@ selector.dotlessi = 'serifedDiagonalTailed'
|
|||
|
||||
[prime.j]
|
||||
sampler = 'j'
|
||||
tag = 'cv29'
|
||||
tag = 'cv32'
|
||||
|
||||
[prime.j.variants.serifed]
|
||||
rank = 1
|
||||
|
@ -1183,84 +1289,96 @@ selector.dotlessj = 'diagonalTailedSerifed'
|
|||
|
||||
[prime.k]
|
||||
sampler = 'k'
|
||||
tag = 'cv30'
|
||||
tag = 'cv33'
|
||||
|
||||
[prime.k.variants.straight]
|
||||
rank = 1
|
||||
description = '`k` with standard shape'
|
||||
selector.k = 'straight'
|
||||
selector.khooktop = 'straight'
|
||||
selector.kDescender = 'straight'
|
||||
|
||||
[prime.k.variants.curly]
|
||||
rank = 2
|
||||
description = 'Slightly curly `k`, like Iosevka 2.x'
|
||||
selector.k = 'curly'
|
||||
selector.khooktop = 'curly'
|
||||
selector.kDescender = 'curly'
|
||||
|
||||
[prime.k.variants.cursive]
|
||||
rank = 3
|
||||
description = '`k` with a cursive loop'
|
||||
selector.k = 'cursive'
|
||||
selector.khooktop = 'cursive'
|
||||
selector.kDescender = 'cursive'
|
||||
|
||||
[prime.k.variants.diagonal-tailed-cursive]
|
||||
rank = 4
|
||||
description = '`k` with a cursive loop and diagonal tail'
|
||||
selector.k = 'diagonalTailedSerifedCursive'
|
||||
selector.khooktop = 'diagonalTailedSerifedCursive'
|
||||
selector.kDescender = 'cursive'
|
||||
|
||||
[prime.k.variants.symmetric-disconnected]
|
||||
rank = 5
|
||||
description = '`k` with symmetric legs disconnected with the vertical bar'
|
||||
description = '`k` with symmetric legs disconnected to the vertical bar'
|
||||
selector.k = 'symmetricDisconnected'
|
||||
selector.khooktop = 'symmetricDisconnected'
|
||||
selector.kDescender = 'symmetricDisconnected'
|
||||
|
||||
[prime.k.variants.symmetric-connected]
|
||||
rank = 6
|
||||
description = '`k` with symmetric legs connected with the vertical bar'
|
||||
description = '`k` with symmetric legs connected to the vertical bar'
|
||||
selector.k = 'symmetricConnected'
|
||||
selector.khooktop = 'symmetricConnected'
|
||||
selector.kDescender = 'symmetricConnected'
|
||||
|
||||
[prime.k.variants.straight-motion-serifed]
|
||||
rank = 7
|
||||
description = '`k` with motion serifs'
|
||||
selector.k = 'straightMotionSerifed'
|
||||
selector.khooktop = 'straight'
|
||||
selector.kDescender = 'straightMotionSerifed'
|
||||
|
||||
[prime.k.variants.curly-motion-serifed]
|
||||
rank = 8
|
||||
description = 'Slightly curly `k`, like Iosevka 2.x, with motion serifs'
|
||||
selector.k = 'curlyMotionSerifed'
|
||||
selector.khooktop = 'curly'
|
||||
selector.kDescender = 'curlyMotionSerifed'
|
||||
|
||||
[prime.k.variants.cursive-motion-serifed]
|
||||
rank = 9
|
||||
description = '`k` with a cursive loop and motion serifs'
|
||||
selector.k = 'cursiveMotionSerifed'
|
||||
selector.khooktop = 'cursive'
|
||||
selector.kDescender = 'cursiveMotionSerifed'
|
||||
|
||||
[prime.k.variants.diagonal-tailed-cursive-motion-serifed]
|
||||
rank = 10
|
||||
description = '`k` with a cursive loop, motion serifs and diagonal tail'
|
||||
selector.k = 'diagonalTailedSerifedCursiveMotionSerifed'
|
||||
selector.khooktop = 'diagonalTailedSerifedCursive'
|
||||
selector.kDescender = 'cursiveMotionSerifed'
|
||||
|
||||
[prime.k.variants.symmetric-disconnected-motion-serifed]
|
||||
rank = 11
|
||||
description = '`k` with symmetric legs disconnected with the vertical bar and motion serifs'
|
||||
description = '`k` with symmetric legs disconnected to the vertical bar and motion serifs'
|
||||
selector.k = 'symmetricDisconnectedMotionSerifed'
|
||||
selector.khooktop = 'symmetricDisconnected'
|
||||
selector.kDescender = 'symmetricDisconnectedMotionSerifed'
|
||||
|
||||
[prime.k.variants.symmetric-connected-motion-serifed]
|
||||
rank = 12
|
||||
description = '`k` with symmetric legs connected with the vertical bar and motion serifs'
|
||||
description = '`k` with symmetric legs connected to the vertical bar and motion serifs'
|
||||
selector.k = 'symmetricConnectedMotionSerifed'
|
||||
selector.khooktop = 'symmetricConnected'
|
||||
selector.kDescender = 'symmetricConnectedMotionSerifed'
|
||||
|
||||
|
||||
[prime.l]
|
||||
sampler = 'l'
|
||||
tag = 'cv31'
|
||||
tag = 'cv34'
|
||||
|
||||
[prime.l.variants.serifed]
|
||||
rank = 1
|
||||
|
@ -1325,7 +1443,7 @@ selector.l = 'serifedDiagonalTailed'
|
|||
|
||||
[prime.m]
|
||||
sampler = 'm'
|
||||
tag = 'cv32'
|
||||
tag = 'cv35'
|
||||
|
||||
[prime.m.variants.normal]
|
||||
rank = 1
|
||||
|
@ -1451,7 +1569,7 @@ selector."cyrl/te.italic" = "motionSerifedTailed"
|
|||
|
||||
[prime.n]
|
||||
sampler = 'n'
|
||||
tag = 'cv33'
|
||||
tag = 'cv36'
|
||||
|
||||
[prime.n.variants.straight]
|
||||
rank = 1
|
||||
|
@ -1513,7 +1631,7 @@ selector."cyrl/pe.italic" = "motionSerifedTailed"
|
|||
|
||||
[prime.p]
|
||||
sampler = 'p'
|
||||
tag = 'cv34'
|
||||
tag = 'cv37'
|
||||
|
||||
[prime.p.variants.eared]
|
||||
rank = 1
|
||||
|
@ -1542,7 +1660,7 @@ selector."cyrl/er" = "motionSerifed"
|
|||
|
||||
[prime.q]
|
||||
sampler = 'q'
|
||||
tag = 'cv35'
|
||||
tag = 'cv38'
|
||||
|
||||
[prime.q.variants.straight]
|
||||
rank = 1
|
||||
|
@ -1607,7 +1725,7 @@ selector.q = 'motionSerifedDiagonalTailed'
|
|||
|
||||
[prime.r]
|
||||
sampler = 'r'
|
||||
tag = 'cv36'
|
||||
tag = 'cv39'
|
||||
|
||||
[prime.r.variants.serifless]
|
||||
rank = 1
|
||||
|
@ -1677,7 +1795,7 @@ selector."rflap" = "compact"
|
|||
|
||||
[prime.t]
|
||||
sampler = 't'
|
||||
tag = 'cv37'
|
||||
tag = 'cv40'
|
||||
|
||||
[prime.t.variants.standard]
|
||||
rank = 1
|
||||
|
@ -1718,7 +1836,7 @@ selector.t = 'diagonalTailed'
|
|||
|
||||
[prime.u]
|
||||
sampler = 'u'
|
||||
tag = 'cv38'
|
||||
tag = 'cv41'
|
||||
|
||||
[prime.u.variants.toothed]
|
||||
rank = 1
|
||||
|
@ -1796,7 +1914,7 @@ selector."cyrl/tse.italic" = "motionSerifed"
|
|||
|
||||
[prime.v]
|
||||
sampler = 'v'
|
||||
tag = 'cv39'
|
||||
tag = 'cv42'
|
||||
|
||||
[prime.v.variants.straight]
|
||||
rank = 1
|
||||
|
@ -1826,7 +1944,7 @@ selector.vhooktop = "curly"
|
|||
|
||||
[prime.w]
|
||||
sampler = 'w'
|
||||
tag = 'cv40'
|
||||
tag = 'cv43'
|
||||
|
||||
[prime.w.variants.straight]
|
||||
rank = 1
|
||||
|
@ -1891,26 +2009,38 @@ selector.whooktop = "straightFlatTop"
|
|||
|
||||
|
||||
[prime.x]
|
||||
sampler = 'xX'
|
||||
tag = 'cv41'
|
||||
sampler = 'x'
|
||||
tag = 'cv44'
|
||||
|
||||
[prime.x.variants.straight]
|
||||
rank = 1
|
||||
description = 'Standard, straight `X` and `x`'
|
||||
selector.X = "straight"
|
||||
description = 'Standard, straight `X`'
|
||||
selector.x = "straight"
|
||||
selector."grek/chi" = "straight"
|
||||
|
||||
[prime.x.variants.curly]
|
||||
rank = 2
|
||||
description = 'Slightly curly `X` and `x`, like Iosevka 2.x'
|
||||
selector.X = "curly"
|
||||
description = 'Slightly curly `X`, like Iosevka 2.x'
|
||||
selector.x = "curly"
|
||||
selector."grek/chi" = "curly"
|
||||
|
||||
[prime.x.variants.straight-motion-serifed]
|
||||
rank = 3
|
||||
description = 'Standard, straight `X` with motion serifs'
|
||||
selector.x = "straightMotionSerifed"
|
||||
selector."grek/chi" = "straight"
|
||||
|
||||
[prime.x.variants.curly-motion-serifed]
|
||||
rank = 4
|
||||
description = 'Slightly curly `X`, like Iosevka 2.x, with motion serifs'
|
||||
selector.x = "curlyMotionSerifed"
|
||||
selector."grek/chi" = "curly"
|
||||
|
||||
|
||||
|
||||
[prime.y]
|
||||
sampler = 'y'
|
||||
tag = 'cv42'
|
||||
tag = 'cv45'
|
||||
|
||||
[prime.y.variants.straight]
|
||||
rank = 1
|
||||
|
@ -1986,7 +2116,7 @@ selector.yhooktop = "cursiveFlatHook"
|
|||
|
||||
[prime.z]
|
||||
sampler = 'z'
|
||||
tag = 'cv43'
|
||||
tag = 'cv46'
|
||||
|
||||
[prime.z.variants.standard]
|
||||
rank = 1
|
||||
|
@ -2047,7 +2177,7 @@ selector.z = 'curlyTopMotionSerifed'
|
|||
[prime.eszet]
|
||||
sampler = 'ß'
|
||||
samplerExplain = 'Eszet'
|
||||
tag = 'cv44'
|
||||
tag = 'cv47'
|
||||
|
||||
[prime.eszet.variants.traditional]
|
||||
rank = 1
|
||||
|
@ -2068,7 +2198,7 @@ selector.eszet = 'longsslig'
|
|||
|
||||
[prime.turn-v]
|
||||
sampler = 'ΛΔ'
|
||||
tag = 'cv45'
|
||||
tag = 'cv48'
|
||||
|
||||
[prime.turn-v.variants.straight]
|
||||
rank = 1
|
||||
|
@ -2087,7 +2217,7 @@ selector."grek/Delta" = "curly"
|
|||
[prime.lambda]
|
||||
sampler = 'λ'
|
||||
samplerExplain = 'Greek small Lambda'
|
||||
tag = 'cv46'
|
||||
tag = 'cv49'
|
||||
|
||||
[prime.lambda.variants.straight]
|
||||
rank = 1
|
||||
|
@ -2104,7 +2234,7 @@ selector."grek/lambda" = "curly"
|
|||
[prime.cyrl-capital-u]
|
||||
sampler = 'У'
|
||||
samplerExplain = 'Cyrillic Capital U'
|
||||
tag = 'cv47'
|
||||
tag = 'cv50'
|
||||
|
||||
[prime.cyrl-capital-u.variants.straight]
|
||||
rank = 1
|
||||
|
@ -2140,7 +2270,7 @@ selector."cyrl/U" = "cursiveFlatHook"
|
|||
|
||||
[prime.zero]
|
||||
sampler = '0'
|
||||
tag = 'cv48'
|
||||
tag = 'cv51'
|
||||
|
||||
[prime.zero.variants.slashed]
|
||||
rank = 1
|
||||
|
@ -2171,7 +2301,7 @@ selector.zero = 'longDotted'
|
|||
|
||||
[prime.one]
|
||||
sampler = '1'
|
||||
tag = 'cv49'
|
||||
tag = 'cv52'
|
||||
|
||||
[prime.one.variants.nobase]
|
||||
rank = 1
|
||||
|
@ -2202,7 +2332,7 @@ selector.one = "baseLongTopSerif"
|
|||
|
||||
[prime.two]
|
||||
sampler = '2'
|
||||
tag = 'cv50'
|
||||
tag = 'cv53'
|
||||
|
||||
[prime.two.variants.straight-neck]
|
||||
rank = 1
|
||||
|
@ -2218,7 +2348,7 @@ selector.two = "curlyNeck"
|
|||
|
||||
[prime.three]
|
||||
sampler = '3'
|
||||
tag = 'cv51'
|
||||
tag = 'cv54'
|
||||
|
||||
[prime.three.variants.flattop]
|
||||
rank = 1
|
||||
|
@ -2234,7 +2364,7 @@ selector.three = 'twoarcs'
|
|||
|
||||
[prime.four]
|
||||
sampler = '4'
|
||||
tag = 'cv52'
|
||||
tag = 'cv55'
|
||||
|
||||
[prime.four.variants.closed]
|
||||
rank = 1
|
||||
|
@ -2270,7 +2400,7 @@ selector.four = 'openNonCrossing'
|
|||
|
||||
[prime.six]
|
||||
sampler = '6'
|
||||
tag = 'cv53'
|
||||
tag = 'cv56'
|
||||
|
||||
[prime.six.variants.closed-contour]
|
||||
rank = 1
|
||||
|
@ -2291,7 +2421,7 @@ selector.six = "straightBar"
|
|||
|
||||
[prime.seven]
|
||||
sampler = '7'
|
||||
tag = 'cv54'
|
||||
tag = 'cv57'
|
||||
|
||||
[prime.seven.variants.noserif]
|
||||
rank = 1
|
||||
|
@ -2317,7 +2447,7 @@ selector.seven = "crossbarSerifed"
|
|||
|
||||
[prime.eight]
|
||||
sampler = '8'
|
||||
tag = 'cv55'
|
||||
tag = 'cv58'
|
||||
|
||||
[prime.eight.variants.crossing]
|
||||
rank = 1
|
||||
|
@ -2333,7 +2463,7 @@ selector.eight = 'twoCircles'
|
|||
|
||||
[prime.nine]
|
||||
sampler = '9'
|
||||
tag = 'cv56'
|
||||
tag = 'cv59'
|
||||
|
||||
[prime.nine.variants.closed-contour]
|
||||
rank = 1
|
||||
|
@ -2354,7 +2484,7 @@ selector.nine = "straightBar"
|
|||
|
||||
[prime.tilde]
|
||||
sampler = '~'
|
||||
tag = 'cv57'
|
||||
tag = 'cv60'
|
||||
|
||||
[prime.tilde.variants.high]
|
||||
rank = 1
|
||||
|
@ -2370,7 +2500,7 @@ selector.asciiTilde = 'low'
|
|||
|
||||
[prime.asterisk]
|
||||
sampler = '*'
|
||||
tag = 'cv58'
|
||||
tag = 'cv61'
|
||||
|
||||
[prime.asterisk.variants.high]
|
||||
rank = 1
|
||||
|
@ -2412,7 +2542,7 @@ selector."asterisk/lowered" = 'turnPentaLow'
|
|||
|
||||
[prime.underscore]
|
||||
sampler = '_'
|
||||
tag = 'cv59'
|
||||
tag = 'cv62'
|
||||
|
||||
[prime.underscore.variants.high]
|
||||
rank = 1
|
||||
|
@ -2433,7 +2563,7 @@ selector.underscore = 'aboveBaseline'
|
|||
|
||||
[prime.paragraph-sign]
|
||||
sampler = '¶'
|
||||
tag = 'cv60'
|
||||
tag = 'cv63'
|
||||
|
||||
[prime.paragraph-sign.variants.high]
|
||||
rank = 1
|
||||
|
@ -2451,7 +2581,7 @@ selector.revertParagraph = 'low'
|
|||
|
||||
[prime.caret]
|
||||
sampler = '^'
|
||||
tag = 'cv61'
|
||||
tag = 'cv64'
|
||||
|
||||
[prime.caret.variants.high]
|
||||
rank = 1
|
||||
|
@ -2467,7 +2597,7 @@ selector.asciiCaret = 'low'
|
|||
|
||||
[prime.paren]
|
||||
sampler = '( )'
|
||||
tag = 'cv62'
|
||||
tag = 'cv65'
|
||||
|
||||
[prime.paren.variants.normal]
|
||||
rank = 1
|
||||
|
@ -2485,7 +2615,7 @@ selector.parenRight = 'largeContour'
|
|||
|
||||
[prime.brace]
|
||||
sampler = '{ }'
|
||||
tag = 'cv63'
|
||||
tag = 'cv66'
|
||||
|
||||
[prime.brace.variants.straight]
|
||||
rank = 1
|
||||
|
@ -2503,7 +2633,7 @@ selector.braceRight = 'curly'
|
|||
|
||||
[prime.number-sign]
|
||||
sampler = '#'
|
||||
tag = 'cv64'
|
||||
tag = 'cv67'
|
||||
|
||||
[prime.number-sign.variants.upright]
|
||||
rank = 1
|
||||
|
@ -2529,7 +2659,7 @@ selector.numberSign = 'slantedOpen'
|
|||
|
||||
[prime.ampersand]
|
||||
sampler = '&'
|
||||
tag = 'cv65'
|
||||
tag = 'cv68'
|
||||
|
||||
[prime.ampersand.variants.closed]
|
||||
rank = 1
|
||||
|
@ -2570,7 +2700,7 @@ selector.ampersand = 'flatTop'
|
|||
|
||||
[prime.at]
|
||||
sampler = '@'
|
||||
tag = 'cv66'
|
||||
tag = 'cv69'
|
||||
|
||||
[prime.at.variants.threefold]
|
||||
rank = 1
|
||||
|
@ -2591,7 +2721,7 @@ selector.at = 'short'
|
|||
|
||||
[prime.dollar]
|
||||
sampler = '$'
|
||||
tag = 'cv67'
|
||||
tag = 'cv70'
|
||||
|
||||
[prime.dollar.variants.open]
|
||||
rank = 1
|
||||
|
@ -2617,7 +2747,7 @@ selector.dollar = "throughcap"
|
|||
|
||||
[prime.percent]
|
||||
sampler = '%'
|
||||
tag = 'cv68'
|
||||
tag = 'cv71'
|
||||
|
||||
[prime.percent.variants.dots]
|
||||
rank = 1
|
||||
|
@ -2638,7 +2768,7 @@ selector.percent = "ringsConnected"
|
|||
|
||||
[prime.bar]
|
||||
sampler = '|'
|
||||
tag = 'cv69'
|
||||
tag = 'cv72'
|
||||
slopeDependent = true
|
||||
|
||||
[prime.bar.variants.natural-slope]
|
||||
|
@ -2655,7 +2785,7 @@ selector."bar.italic" = "forceUpright"
|
|||
|
||||
[prime.lig-ltgteq]
|
||||
sampler = '<= >='
|
||||
tag = 'cv70'
|
||||
tag = 'cv73'
|
||||
|
||||
[prime.lig-ltgteq.variants.flat]
|
||||
rank = 1
|
||||
|
@ -2673,7 +2803,7 @@ selector."eq.at-gteq.lig2" = "slanted"
|
|||
|
||||
[prime.ascii-single-quote]
|
||||
sampler = "'"
|
||||
tag = 'cv71'
|
||||
tag = 'cv74'
|
||||
|
||||
[prime.ascii-single-quote.variants.straight]
|
||||
rank = 1
|
||||
|
@ -2689,7 +2819,7 @@ selector.asciiSingleQuote = 'raisedComma'
|
|||
|
||||
[prime.ascii-grave]
|
||||
sampler = '`'
|
||||
tag = 'cv72'
|
||||
tag = 'cv75'
|
||||
|
||||
[prime.ascii-grave.variants.straight]
|
||||
rank = 1
|
||||
|
@ -2725,11 +2855,13 @@ capital-d = 'standard'
|
|||
capital-e = 'standard'
|
||||
capital-f = 'standard'
|
||||
capital-g = 'toothed-hooked'
|
||||
capital-h = 'standard'
|
||||
capital-i = 'serifed'
|
||||
capital-j = 'serifed'
|
||||
capital-k = 'straight'
|
||||
capital-l = 'standard'
|
||||
capital-m = 'hanging'
|
||||
capital-n = 'standard'
|
||||
capital-p = 'closed'
|
||||
capital-q = 'curly-tailed'
|
||||
capital-r = 'straight'
|
||||
|
@ -2737,6 +2869,7 @@ capital-t = 'standard'
|
|||
capital-u = 'toothless-rounded'
|
||||
capital-v = 'straight'
|
||||
capital-w = 'straight'
|
||||
capital-x = 'straight'
|
||||
capital-y = 'straight'
|
||||
capital-z = 'standard'
|
||||
# Lowers
|
||||
|
@ -3040,6 +3173,7 @@ v = 'curly'
|
|||
turn-v = 'curly'
|
||||
capital-w = 'curly'
|
||||
w = 'curly'
|
||||
capital-x = 'curly'
|
||||
x = 'curly'
|
||||
capital-a = 'curly'
|
||||
capital-y = 'curly'
|
||||
|
@ -3291,6 +3425,7 @@ v = 'curly'
|
|||
turn-v = 'curly'
|
||||
capital-w = 'curly'
|
||||
w = 'curly'
|
||||
capital-x = 'curly'
|
||||
x = 'curly'
|
||||
z = 'curly'
|
||||
capital-y = 'curly'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue