Add variant selectors for Capital Eszet and Thorn. (#2385)
This commit is contained in:
parent
3f813bb01d
commit
a9c0037a2e
7 changed files with 191 additions and 55 deletions
|
@ -1,4 +1,6 @@
|
|||
* Add separate variant selectors For Cyrillic Capital/Lower E (`VXAA`, `VXAB`).
|
||||
* Add variant selector for Capital Eszet (`ẞ`) (`VXAC`) (#1552).
|
||||
* Add variant selector for Capital Thorn (`Þ`) (`VXAD`).
|
||||
* Add `serifed-capped` variants for `capital-e` and `capital-f` (`cv05`, `cv06`) (#2026).
|
||||
* Add `unilateral-bottom-serifed` and `unilateral-bottom-inward-serifed` variants for Cyrillic Capital/Lower Ze (`cv69`, `cv70`).
|
||||
* Add characters:
|
||||
|
|
|
@ -181,12 +181,44 @@ glyph-block Letter-Latin-Upper-Eszet : begin
|
|||
glyph-block-import CommonShapes
|
||||
glyph-block-import Common-Derivatives
|
||||
|
||||
|
||||
create-glyph 'Eszet' 0x1E9E : glyph-proc
|
||||
define [EszetRoundedShape slab] : glyph-proc
|
||||
include : MarkSet.capital
|
||||
|
||||
define ymiddle : [mix 0 CAP 0.5] - HalfStroke
|
||||
define ymiddleCap : [mix 0 CAP 0.54] - HalfStroke
|
||||
define ymiddleCap : [mix 0 CAP 0.5] + HalfStroke
|
||||
define xFinal : Math.max
|
||||
mix (SB + [HSwToV Stroke]) RightSB 0.1
|
||||
mix SB RightSB 0.3
|
||||
define xMiddle : RightSB - ymiddle / 2 - Stroke * 0.75
|
||||
define xMiddleBot : RightSB - ymiddle / 2 - HalfStroke
|
||||
define rightTopX : RightSB + O * 2
|
||||
|
||||
include : dispiro
|
||||
widths.lhs
|
||||
g4 rightTopX (CAP - ArchDepthB)
|
||||
hookstart (CAP - O)
|
||||
flat SB XH
|
||||
curl SB 0 [heading Downward]
|
||||
include : dispiro
|
||||
widths.rhs
|
||||
g4 xMiddle ymiddleCap
|
||||
archv
|
||||
g4 (RightSB - O) [mix 0 ymiddleCap 0.5]
|
||||
arcvh
|
||||
flat xMiddleBot 0
|
||||
curl xFinal 0 [heading Leftward]
|
||||
include : dispiro
|
||||
widths.rhs
|
||||
g4 rightTopX (CAP - ArchDepthB)
|
||||
g4 xMiddle ymiddleCap [widths Stroke 0]
|
||||
|
||||
if slab : include : HSerif.lb SB 0 SideJut
|
||||
|
||||
define [EszetFlatTopShape slab] : glyph-proc
|
||||
include : MarkSet.capital
|
||||
|
||||
define ymiddle : [mix 0 CAP 0.5] - HalfStroke
|
||||
define ymiddleCap : [mix 0 CAP 0.54] + HalfStroke
|
||||
define xFinal : Math.max
|
||||
mix (SB + [HSwToV Stroke]) RightSB 0.1
|
||||
mix SB RightSB 0.3
|
||||
|
@ -203,15 +235,28 @@ glyph-block Letter-Latin-Upper-Eszet : begin
|
|||
curl SB 0 [heading Downward]
|
||||
include : dispiro
|
||||
widths.rhs
|
||||
g4 xMiddle (ymiddleCap + Stroke) [heading Rightward]
|
||||
g4 xMiddle ymiddleCap [heading Rightward]
|
||||
archv
|
||||
g4 (RightSB - O * 2) [YSmoothMidR (ymiddleCap + Stroke) 0]
|
||||
g4 (RightSB - O * 2) [YSmoothMidR ymiddleCap 0]
|
||||
arcvh
|
||||
flat xMiddleBot 0
|
||||
curl xFinal 0 [heading Leftward]
|
||||
include : dispiro
|
||||
widths.rhs
|
||||
g4 rightTopX (CAP - Stroke)
|
||||
g4 xMiddle (ymiddleCap + Stroke) [widths.lhs Stroke]
|
||||
g4 xMiddle ymiddleCap [widths.lhs Stroke]
|
||||
|
||||
if SLAB : include : HSerif.lb SB 0 SideJut
|
||||
if slab : include : HSerif.lb SB 0 SideJut
|
||||
|
||||
define CapitalEszetConfig : SuffixCfg.weave
|
||||
object # body
|
||||
rounded EszetRoundedShape
|
||||
flatTop EszetFlatTopShape
|
||||
object # serifs
|
||||
serifless false
|
||||
serifed true
|
||||
|
||||
foreach { suffix { Base serif } } [pairs-of CapitalEszetConfig] : do
|
||||
create-glyph "Eszet.\(suffix)" : Base serif
|
||||
|
||||
select-variant 'Eszet' 0x1E9E
|
||||
|
|
|
@ -13,15 +13,15 @@ glyph-block Letter-Latin-Thorn : begin
|
|||
|
||||
define xThornLeftStroke : SB * 1.25
|
||||
|
||||
define [yThornBowlBot top] : top * 0.25 + [if SLAB (Stroke * 0.125) 0]
|
||||
define [yThornBowlTop top] : top - 0.7 * [yThornBowlBot top] + [if SLAB (-0.125) 0.25] * Stroke
|
||||
define [yThornBowlBot top slab] : top * 0.25 + [if slab (Stroke * 0.125) 0]
|
||||
define [yThornBowlTop top slab] : top - 0.7 * [yThornBowlBot top slab] + [if slab (-0.125) 0.25] * Stroke
|
||||
|
||||
define [yShoBowlBot top] : mix [yThornBowlBot top] (top - [yThornBowlTop top]) 0.5
|
||||
define [yShoBowlTop top] : top - [yShoBowlBot top]
|
||||
define [yShoBowlBot top slab] : mix [yThornBowlBot top slab] (top - [yThornBowlTop top slab]) 0.5
|
||||
define [yShoBowlTop top slab] : top - [yShoBowlBot top slab]
|
||||
|
||||
define [ThornShape top _yBowlBot _yBowlTop] : glyph-proc
|
||||
local yBowlBot : fallback _yBowlBot [yThornBowlBot top]
|
||||
local yBowlTop : fallback _yBowlTop [yThornBowlTop top]
|
||||
define [ThornShape top slabTop slabBot _yBowlBot _yBowlTop] : glyph-proc
|
||||
local yBowlBot : fallback _yBowlBot [yThornBowlBot top slabBot]
|
||||
local yBowlTop : fallback _yBowlTop [yThornBowlTop top slabBot]
|
||||
|
||||
local turn : mix yBowlTop yBowlBot (ArchDepthB / (ArchDepthA + ArchDepthB))
|
||||
local turnRadius : (yBowlTop - yBowlBot) / 2
|
||||
|
@ -37,44 +37,51 @@ glyph-block Letter-Latin-Thorn : begin
|
|||
curl xThornLeftStroke yBowlBot [heading Leftward]
|
||||
|
||||
include : VBar.l xThornLeftStroke 0 top
|
||||
if SLAB : begin
|
||||
if slabTop : begin
|
||||
local sf : SerifFrame top 0 xThornLeftStroke RightSB
|
||||
include : composite-proc sf.lt.fullSide sf.lb.fullSide
|
||||
if slabBot
|
||||
then : include : composite-proc sf.lt.fullSide sf.lb.fullSide
|
||||
else : include sf.lt.outer
|
||||
|
||||
define [GrekShoShapeImpl top] : ThornShape top [yShoBowlBot top] [yShoBowlTop top]
|
||||
define [GrekShoShapeImpl top slabTop slabBot] : ThornShape top slabTop slabBot
|
||||
yShoBowlBot top slabBot
|
||||
yShoBowlTop top slabBot
|
||||
|
||||
create-glyph 'Thorn' 0xDE : glyph-proc
|
||||
include : MarkSet.capital
|
||||
include : ThornShape CAP
|
||||
include : LeaningAnchor.Above.VBar.l xThornLeftStroke
|
||||
include : LeaningAnchor.Below.VBar.l xThornLeftStroke
|
||||
define ThornConfig : object
|
||||
serifless { false false }
|
||||
motionSerifed { true false }
|
||||
serifed { true true }
|
||||
|
||||
foreach { suffix { st sb } } [Object.entries ThornConfig] : do
|
||||
create-glyph "Thorn.\(suffix)" : glyph-proc
|
||||
include : MarkSet.capital
|
||||
include : ThornShape CAP st sb
|
||||
include : LeaningAnchor.Above.VBar.l xThornLeftStroke
|
||||
include : LeaningAnchor.Below.VBar.l xThornLeftStroke
|
||||
|
||||
create-glyph "ThornStroke.\(suffix)" : glyph-proc
|
||||
include : MarkSet.capital
|
||||
include : ThornShape CAP st sb (CAP - [yThornBowlTop CAP sb]) (CAP - [yThornBowlBot CAP st])
|
||||
include : LeaningAnchor.Above.VBar.l xThornLeftStroke
|
||||
include : LeaningAnchor.Below.VBar.l xThornLeftStroke
|
||||
include : LetterBarOverlay.l.in
|
||||
x -- xThornLeftStroke
|
||||
top -- (CAP - [if st Stroke 0])
|
||||
bot -- (CAP - [yThornBowlBot CAP st])
|
||||
|
||||
create-glyph "ThornStrokeBot.\(suffix)" : glyph-proc
|
||||
include [refer-glyph "Thorn.\(suffix)"] AS_BASE ALSO_METRICS
|
||||
include : LetterBarOverlay.l.in
|
||||
x -- xThornLeftStroke
|
||||
bot -- (0 + [if sb Stroke 0])
|
||||
top -- (0 + [yThornBowlBot CAP sb])
|
||||
|
||||
select-variant 'Thorn' 0xDE
|
||||
select-variant 'ThornStroke' 0xA764 (follow -- 'Thorn')
|
||||
select-variant 'ThornStrokeBot' 0xA766 (follow -- 'Thorn')
|
||||
|
||||
create-glyph 'grek/Sho' 0x3F7 : glyph-proc
|
||||
include : MarkSet.capital
|
||||
include : GrekShoShapeImpl CAP
|
||||
include : GrekShoShapeImpl CAP SLAB SLAB
|
||||
include : LeaningAnchor.Above.VBar.l xThornLeftStroke
|
||||
include : LeaningAnchor.Below.VBar.l xThornLeftStroke
|
||||
|
||||
# create-glyph 'smcpThorn' 0xEF15 : glyph-proc
|
||||
# include : MarkSet.e
|
||||
# include : GrekShoShapeImpl XH
|
||||
# include : LeaningAnchor.Above.VBar.l xThornLeftStroke
|
||||
# include : LeaningAnchor.Below.VBar.l xThornLeftStroke
|
||||
|
||||
create-glyph 'ThornStroke/base' : glyph-proc
|
||||
include : MarkSet.capital
|
||||
include : ThornShape CAP (CAP - [yThornBowlTop CAP]) (CAP - [yThornBowlBot CAP])
|
||||
include : LeaningAnchor.Above.VBar.l xThornLeftStroke
|
||||
include : LeaningAnchor.Below.VBar.l xThornLeftStroke
|
||||
|
||||
create-glyph 'ThornStroke/Overlay' : LetterBarOverlay.l.in
|
||||
x -- xThornLeftStroke
|
||||
top -- (CAP - [if SLAB Stroke 0])
|
||||
bot -- (CAP - [yThornBowlBot CAP])
|
||||
derive-composites 'ThornStroke' 0xA764 'ThornStroke/base' 'ThornStroke/Overlay'
|
||||
|
||||
create-glyph 'ThornStrokeBot/Overlay' : LetterBarOverlay.l.in
|
||||
x -- xThornLeftStroke
|
||||
bot -- (0 + [if SLAB Stroke 0])
|
||||
top -- (0 + [yThornBowlBot CAP])
|
||||
derive-composites 'ThornStrokeBot' 0xA766 'Thorn' 'ThornStrokeBot/Overlay'
|
||||
|
|
|
@ -35,16 +35,16 @@ glyph-block Letter-Latin-Wynn : begin
|
|||
serifed { FullSerifs true }
|
||||
|
||||
foreach { suffix { Serifs doBS } } [Object.entries WynnConfig] : do
|
||||
create-glyph "Wynn.\(suffix)" : glyph-proc
|
||||
include : MarkSet.capital
|
||||
include : LeaningAnchor.Below.VBar.l SB
|
||||
include : WynnShape 0 CAP
|
||||
include : Serifs CAP 0
|
||||
create-glyph "wynn.\(suffix)" : glyph-proc
|
||||
include : MarkSet.p
|
||||
include : LeaningAnchor.Below.VBar.l SB
|
||||
include : WynnShape Descender XH
|
||||
include : Serifs XH Descender
|
||||
|
||||
select-variant 'Wynn' 0x1F7
|
||||
select-variant 'wynn' 0x1BF
|
||||
|
||||
create-glyph 'Wynn' 0x1F7 : glyph-proc
|
||||
include : MarkSet.capital
|
||||
include : LeaningAnchor.Below.VBar.l SB
|
||||
include : WynnShape 0 CAP
|
||||
if SLAB : include : FullSerifs CAP 0
|
||||
|
|
|
@ -4466,6 +4466,42 @@ selectorAffix."ezh/phoneticRight" = ""
|
|||
|
||||
|
||||
|
||||
[prime.capital-eszet]
|
||||
sampler = "ẞ"
|
||||
samplerExplain = "Capital Eszet"
|
||||
nonBreakingTagForNewVariantSelector = "VXAC" # REMOVE IN NEXT MAJOR VERSION CHANGE
|
||||
tagKind = "letter"
|
||||
|
||||
[prime.capital-eszet.variants-buildup]
|
||||
entry = "body"
|
||||
descriptionLeader = "Capital Eszet (`ẞ`)"
|
||||
|
||||
[prime.capital-eszet.variants-buildup.stages.body."*"]
|
||||
next = "serifs"
|
||||
|
||||
[prime.capital-eszet.variants-buildup.stages.body.rounded]
|
||||
rank = 1
|
||||
descriptionAffix = "rounded top"
|
||||
selectorAffix.Eszet = "rounded"
|
||||
|
||||
[prime.capital-eszet.variants-buildup.stages.body.flat-top]
|
||||
rank = 2
|
||||
descriptionAffix = "flat top"
|
||||
selectorAffix.Eszet = "flatTop"
|
||||
|
||||
[prime.capital-eszet.variants-buildup.stages.serifs.serifless]
|
||||
rank = 1
|
||||
descriptionJoiner = "without"
|
||||
descriptionAffix = "serifs"
|
||||
selectorAffix.Eszet = "serifless"
|
||||
|
||||
[prime.capital-eszet.variants-buildup.stages.serifs.serifed]
|
||||
rank = 2
|
||||
descriptionAffix = "serifs"
|
||||
selectorAffix.Eszet = "serifed"
|
||||
|
||||
|
||||
|
||||
[prime.long-s]
|
||||
sampler = "ſ"
|
||||
samplerExplain = "Long-S"
|
||||
|
@ -4696,6 +4732,32 @@ selector."eth" = "curly-bar"
|
|||
|
||||
|
||||
|
||||
[prime.capital-thorn]
|
||||
sampler = "Þ"
|
||||
samplerExplain = "Capital Thorn (`Þ`)"
|
||||
nonBreakingTagForNewVariantSelector = "VXAD" # REMOVE IN NEXT MAJOR VERSION CHANGE
|
||||
tagKind = "letter"
|
||||
|
||||
[prime.capital-thorn.variants.serifless]
|
||||
rank = 1
|
||||
description = "Capital Thorn (`Þ`) without serifs"
|
||||
selector.Thorn = "serifless"
|
||||
selector.Wynn = "serifless"
|
||||
|
||||
[prime.capital-thorn.variants.motion-serifed]
|
||||
rank = 2
|
||||
description = "Capital Thorn (`Þ`) with motion serifs"
|
||||
selector.Thorn = "motionSerifed"
|
||||
selector.Wynn = "motionSerifed"
|
||||
|
||||
[prime.capital-thorn.variants.serifed]
|
||||
rank = 3
|
||||
description = "Capital Thorn (`Þ`) with serifs"
|
||||
selector.Thorn = "serifed"
|
||||
selector.Wynn = "serifed"
|
||||
|
||||
|
||||
|
||||
[prime.lower-thorn]
|
||||
sampler = "þ"
|
||||
samplerExplain = "Lowercase Thorn (`þ`)"
|
||||
|
@ -7990,9 +8052,12 @@ w = "straight-serifless"
|
|||
x = "straight-serifless"
|
||||
y = "straight-serifless"
|
||||
z = "straight-serifless"
|
||||
# Latin ext.
|
||||
capital-eszet = "flat-top-serifless"
|
||||
long-s = "bent-hook-serifless"
|
||||
eszet = "sulzbacher-serifless"
|
||||
lower-eth = "curly-bar"
|
||||
capital-thorn = "serifless"
|
||||
lower-thorn = "serifless"
|
||||
# Non-latin
|
||||
lower-alpha = "crossing"
|
||||
|
@ -8145,8 +8210,10 @@ w = "straight-serifed"
|
|||
x = "straight-serifed"
|
||||
y = "straight-turn-serifed"
|
||||
z = "straight-serifed"
|
||||
capital-eszet = "flat-top-serifed"
|
||||
long-s = "bent-hook-bottom-serifed"
|
||||
eszet = "sulzbacher-bottom-serifed"
|
||||
capital-thorn = "serifed"
|
||||
lower-thorn = "serifed"
|
||||
capital-gamma = "serifed"
|
||||
capital-lambda = "straight-base-serifed"
|
||||
|
@ -8419,6 +8486,7 @@ k = "symmetric-touching-serifless"
|
|||
l = "serifed"
|
||||
u = "toothed-serifless"
|
||||
y = "straight-turn-serifless"
|
||||
capital-eszet = "rounded-serifless"
|
||||
long-s = "flat-hook-serifless"
|
||||
eszet = "longs-s-lig-serifless"
|
||||
lower-chi = "semi-chancery-straight"
|
||||
|
@ -8474,6 +8542,7 @@ k = "symmetric-touching-serifed"
|
|||
u = "toothed-serifed"
|
||||
y = "straight-turn-serifed"
|
||||
z = "straight-serifed"
|
||||
capital-eszet = "rounded-serifed"
|
||||
long-s = "flat-hook-bottom-serifed"
|
||||
eszet = "longs-s-lig-bottom-serifed"
|
||||
cyrl-capital-ka = "symmetric-touching-serifed"
|
||||
|
@ -8706,6 +8775,7 @@ l = "serifed-flat-tailed"
|
|||
r = "hookless-serifless"
|
||||
u = "toothed-serifless"
|
||||
y = "straight-turn-serifless"
|
||||
capital-eszet = "rounded-serifless"
|
||||
long-s = "flat-hook-serifless"
|
||||
eszet = "longs-s-lig-serifless"
|
||||
lower-delta = "flat-top"
|
||||
|
@ -8760,6 +8830,7 @@ w = "straight-serifed"
|
|||
x = "straight-serifed"
|
||||
y = "straight-turn-serifed"
|
||||
z = "straight-serifed"
|
||||
capital-eszet = "rounded-serifed"
|
||||
long-s = "flat-hook-bottom-serifed"
|
||||
eszet = "longs-s-lig-bottom-serifed"
|
||||
lower-mu = "tailed-serifed"
|
||||
|
@ -9015,6 +9086,7 @@ r = "hookless-serifless"
|
|||
u = "toothed-serifless"
|
||||
w = "straight-flat-top-serifless"
|
||||
y = "straight-turn-serifless"
|
||||
capital-eszet = "rounded-serifless"
|
||||
long-s = "flat-hook-middle-serifed"
|
||||
eszet = "longs-s-lig-serifless"
|
||||
lower-lambda = "straight-turn"
|
||||
|
@ -9060,6 +9132,7 @@ u = "toothed-serifed"
|
|||
w = "straight-flat-top-serifed"
|
||||
y = "straight-turn-serifed"
|
||||
z = "straight-serifed"
|
||||
capital-eszet = "rounded-serifed"
|
||||
long-s = "flat-hook-double-serifed"
|
||||
eszet = "longs-s-lig-bottom-serifed"
|
||||
cyrl-capital-u = "straight-turn-serifed"
|
||||
|
@ -9197,6 +9270,7 @@ capital-m = "slanted-sides-hanging-serifless"
|
|||
a = "double-storey-toothless-corner"
|
||||
b = "toothless-corner-serifless"
|
||||
d = "toothless-corner-serifless"
|
||||
f = "serifless"
|
||||
g = "single-storey-earless-corner"
|
||||
i = "serifed-semi-tailed"
|
||||
k = "symmetric-touching-serifless"
|
||||
|
@ -9208,6 +9282,7 @@ q = "earless-corner-straight-serifless"
|
|||
r = "earless-corner-serifless"
|
||||
u = "toothless-corner-serifless"
|
||||
y = "straight-turn-serifless"
|
||||
capital-eszet = "rounded-serifless"
|
||||
long-s = "bent-hook-serifless"
|
||||
eszet = "longs-s-lig-serifless"
|
||||
lower-alpha = "barred-earless-corner-tailed"
|
||||
|
@ -9264,6 +9339,7 @@ capital-k = "symmetric-touching-serifed"
|
|||
capital-m = "slanted-sides-hanging-serifed"
|
||||
b = "toothless-corner-serifed"
|
||||
d = "toothless-corner-serifed"
|
||||
f = "serifed"
|
||||
k = "symmetric-touching-serifed"
|
||||
m = "earless-corner-double-arch-short-leg-serifed"
|
||||
n = "earless-corner-straight-serifed"
|
||||
|
@ -9273,6 +9349,7 @@ r = "earless-corner-serifed"
|
|||
u = "toothless-corner-serifed"
|
||||
y = "straight-turn-serifed"
|
||||
z = "straight-serifed"
|
||||
capital-eszet = "rounded-serifed"
|
||||
long-s = "bent-hook-bottom-serifed"
|
||||
eszet = "longs-s-lig-bottom-serifed"
|
||||
capital-gamma = "serifed"
|
||||
|
@ -9290,6 +9367,7 @@ micro-sign = "toothless-corner-serifed"
|
|||
|
||||
[composite.ss12.slab-override.italic]
|
||||
d = "tailed-serifed"
|
||||
f = "tailed"
|
||||
k = "symmetric-touching-top-left-serifed"
|
||||
m = "earless-corner-double-arch-short-leg-bottom-right-serifed"
|
||||
n = "earless-corner-straight-motion-serifed"
|
||||
|
@ -9640,6 +9718,7 @@ r = "serifed"
|
|||
t = "bent-hook-short-neck2"
|
||||
u = "toothed-serifed"
|
||||
y = "straight-turn-serifless"
|
||||
capital-eszet = "rounded-serifless"
|
||||
long-s = "flat-hook-middle-serifed"
|
||||
eszet = "longs-s-lig-middle-serifed"
|
||||
lower-thorn = "motion-serifed"
|
||||
|
@ -9695,6 +9774,7 @@ w = "straight-serifed"
|
|||
x = "straight-serifed"
|
||||
y = "straight-turn-serifed"
|
||||
z = "straight-serifed"
|
||||
capital-eszet = "rounded-serifed"
|
||||
long-s = "flat-hook-double-serifed"
|
||||
eszet = "longs-s-lig-dual-serifed"
|
||||
lower-thorn = "serifed"
|
||||
|
@ -9753,6 +9833,7 @@ z = "straight-serifless"
|
|||
long-s = "bent-hook-serifless"
|
||||
eszet = "longs-s-lig-serifless"
|
||||
lower-eth = "straight-bar"
|
||||
capital-thorn = "motion-serifed"
|
||||
lower-iota = "serifed-flat-tailed"
|
||||
lower-lambda = "tailed-turn"
|
||||
lower-tau = "flat-tailed"
|
||||
|
@ -9841,6 +9922,7 @@ y = "straight-turn-serifed"
|
|||
z = "straight-top-serifed"
|
||||
long-s = "bent-hook-bottom-serifed"
|
||||
eszet = "longs-s-lig-bottom-serifed"
|
||||
capital-thorn = "serifed"
|
||||
cyrl-ze = "unilateral-inward-serifed"
|
||||
cyrl-capital-ka = "symmetric-connected-serifed"
|
||||
cyrl-ka = "symmetric-connected-serifed"
|
||||
|
|
|
@ -5,7 +5,7 @@ export const ssStrings = [
|
|||
["ABC.DEF.GHI.JKL.MNO.PQRS.TUV.WXYZ", "abc.def.ghi.jkl.mno.pqrs.tuv.wxyz"],
|
||||
["!iIlL17|¦ ¢coO08BbDQ $5SZ2zs 96µm", "float il1[]={1-2/3.4,5+6=7/8%90};"],
|
||||
["1234567890 ,._-+= >< «¯-¬_» ~–÷+×", "{*}[]()<>`+-=$/#_%^@\\&|~?'\" !,.;:"],
|
||||
["E3CGQ g9q¶ äöü ſßðþ ΓΔΛαδιλμξπτχ∂", [..."ЖЗКУЭЯжзклмнруфчъыьэя ", "<=", " ", "!=", " ", "==", " ", "=>"]]
|
||||
["CG6Qg9q¶ äöü Þẞðþſß ΓΔΛαδιλμξπτχ∂", [..."ЖЗКУЭЯжзклмнруфчъыьэя ", "<=", " ", "!=", " ", "==", " ", "=>"]]
|
||||
];
|
||||
|
||||
function* makeSample(lbm, hotChars) {
|
||||
|
|
|
@ -5,7 +5,7 @@ const ssStrings = [
|
|||
["ABC.DEF.GHI.JKL.MNO.PQRS.TUV.WXYZ", "abc.def.ghi.jkl.mno.pqrs.tuv.wxyz"],
|
||||
["!iIlL17|¦ ¢coO08BbDQ $5SZ2zs 96µm", "float il1[]={1-2/3.4,5+6=7/8%90};"],
|
||||
["1234567890 ,._-+= >< «¯-¬_» ~–÷+×", "{*}[]()<>`+-=$/#_%^@\\&|~?'\" !,.;:"],
|
||||
["E3CGQ g9q¶ äöü ſßðþ ΓΔΛαδιλμξπτχ∂", [..."ЖЗКУЭЯжзклмнруфчъыьэя ", "<=", " ", "!=", " ", "==", " ", "=>"]]
|
||||
["CG6Qg9q¶ äöü Þẞðþſß ΓΔΛαδιλμξπτχ∂", [..."ЖЗКУЭЯжзклмнруфчъыьэя ", "<=", " ", "!=", " ", "==", " ", "=>"]]
|
||||
];
|
||||
|
||||
function* makeSample(theme, lbm, features, hotChars) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue