Miscellaneous code cleanup. (#2583)

* Misc cleanup.

* Misc cleanup.

* Misc cleanup.

* Cleanup of #2578 .
This commit is contained in:
John McWilliams 2024-11-11 20:40:50 -05:00 committed by GitHub
parent ded9331f9c
commit 603e8e4543
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
17 changed files with 134 additions and 120 deletions

View file

@ -42,7 +42,7 @@ export : define Superscript : list
list 0x1D42 'W'
list 0x1D43 'a'
list 0x1D44 'turna'
list 0x1D45 'scripta'
list 0x1D45 'aScript'
list 0x1D46 'turnae'
list 0x1D47 'b'
list 0x1D48 'd'
@ -72,7 +72,7 @@ export : define Superscript : list
list 0x1D60 'grek/phi'
list 0x1D61 'grek/chi'
list 0x1D78 'cyrl/en'
list 0x1D9B 'turnscripta'
list 0x1D9B 'turnaScript'
list 0x1D9C 'c'
list 0x1D9D 'cCurlyTail'
list 0x1D9E 'eth'
@ -368,7 +368,7 @@ export : define MedievalComb_e : list
list 0x1DE3 'rRotunda'
list 0x1DE4 's'
list 0x1DE6 'z'
list 0x1DE7 'scripta'
list 0x1DE7 'aScript'
list 0x1DEA 'schwa'
list 0x1DED 'oWithLightCentralizationStroke'
list 0x1DF0 'uWithLightCentralizationStroke'

View file

@ -10,43 +10,45 @@ glyph-block Letter-Armenian-Feh : begin
glyph-block-import Common-Derivatives
glyph-block-import Letter-Shared-Shapes : SerifFrame
define [FehBody df top bot ada adb] : glyph-proc
define [FehBody df top bot sw hook ada adb] : glyph-proc
local midy : mix bot top HBarPos
local midyTop : midy + 0.5 * df.mvs
local midyBot : midy - 0.5 * df.mvs
local midyTop : midy + 0.5 * sw
local midyBot : midy - 0.5 * sw
include : dispiro
widths.lhs df.mvs
widths.lhs sw
straight.left.start df.middle top
archv
flatside.ld df.leftSB midyBot top ada adb
arcvh
straight.right.end df.middle midyBot [heading Rightward]
include : dispiro
widths.rhs df.mvs
widths.rhs sw
straight.right.start df.middle midyTop [heading Rightward]
archv
flatside.rd df.rightSB 0 midyTop ada adb
hookend 0 (sw -- df.mvs)
g4 (df.leftSB + OX) Hook
hookend 0 (sw -- sw)
g4 (df.leftSB + OX) (0 + hook)
create-glyph 'armn/Feh' 0x556 : glyph-proc
local df : include : DivFrame para.diversityM 3
include : df.markSet.capital
local ada : df.archDepthA ArchDepth df.mvs
local adb : df.archDepthB ArchDepth df.mvs
include : FehBody df CAP 0 ada adb
include : VBar.m df.middle 0 CAP df.mvs
local sw : Math.min df.mvs : AdviceStroke2 3 3 CAP df.div
local ada : df.archDepthA ArchDepth sw
local adb : df.archDepthB ArchDepth sw
include : FehBody df CAP 0 sw Hook ada adb
include : VBar.m df.middle 0 CAP sw
if SLAB : begin
local sf : SerifFrame.fromDf df CAP 0
local sf : SerifFrame.fromDf df CAP 0 (swSerif -- sw)
include sf.mt.right
create-glyph 'armn/feh' 0x586 : glyph-proc
local df : include : DivFrame para.diversityM 3
include : df.markSet.bp
local ada : df.archDepthA SmallArchDepth df.mvs
local adb : df.archDepthB SmallArchDepth df.mvs
include : FehBody df Ascender 0 ada adb
include : VBar.m df.middle Descender Ascender df.mvs
local sw : Math.min df.mvs : AdviceStroke2 3 3 Ascender df.div
local ada : df.archDepthA SmallArchDepth sw
local adb : df.archDepthB SmallArchDepth sw
include : FehBody df Ascender 0 sw Hook ada adb
include : VBar.m df.middle Descender Ascender sw
if SLAB : begin
local sf : SerifFrame.fromDf df Ascender Descender
local sf : SerifFrame.fromDf df Ascender Descender (swSerif -- sw)
include sf.mb.full

View file

@ -11,25 +11,27 @@ glyph-block Letter-Armenian-Hook-Group : begin
glyph-block-import Letter-Shared-Shapes : nShoulder uBowl SerifFrame
glyph-block-import Letter-Armenian-Shared-Shapes : ArmHBar
define [RightHook df top bot sw _hook _ada _adb] : glyph-proc
define [RightHook df top bot _sw _hook _ada _adb] : glyph-proc
local sw : fallback _sw df.mvs
local hook : fallback _hook Hook
local ada : fallback _ada ArchDepthA
local adb : fallback _adb ArchDepthB
local yMid : if (top - bot > ada + adb) (top - ada) : mix top bot (ada / (ada + adb))
include : dispiro
widths.lhs df.mvs
widths.lhs sw
g4 df.rightSB (top - hook)
hookstart top (sw -- sw)
flat df.leftSB yMid
curl df.leftSB bot [heading Downward]
define [LeftHook df top bot sw _hook _ada _adb] : glyph-proc
define [LeftHook df top bot _sw _hook _ada _adb] : glyph-proc
local sw : fallback _sw df.mvs
local hook : fallback _hook Hook
local ada : fallback _ada ArchDepthA
local adb : fallback _adb ArchDepthB
local yMid : if (top - bot > ada + adb) (top - adb) : mix top bot (adb / (ada + adb))
include : dispiro
widths.rhs df.mvs
widths.rhs sw
g4 df.leftSB (top - hook)
hookstart top (sw -- sw)
flat df.rightSB yMid

View file

@ -279,7 +279,7 @@ glyph-block Letter-Armenian-Lower-U-Group : begin
include : VBar.l df.leftSB 0 XH df.mvs
# Combination of nShoulder.knots and the straight 2 shape
local fine : df.mvs * (ShoulderFine / Stroke)
local fine : ShoulderFine * (df.mvs / Stroke)
local left : Math.max (df.rightSB - [HSwToV df.mvs] - jut) df.middle
include : dispiro
widths.rhs fine
@ -291,8 +291,7 @@ glyph-block Letter-Armenian-Lower-U-Group : begin
if SLAB : begin
local sf : SerifFrame.fromDf df XH 0
include sf.lt.outer
if [not para.isItalic] : begin
include : composite-proc sf.lb.outer
if [not para.isItalic] : include sf.lb.outer
# Alternate straight 'n' form
# include : nShoulder.shape
@ -305,8 +304,7 @@ glyph-block Letter-Armenian-Lower-U-Group : begin
# if SLAB : begin
# local sf : SerifFrame.fromDf df XH 0
# include sf.lt.outer
# if [not para.isItalic] : begin
# include : composite-proc sf.lb.full
# if [not para.isItalic] : include sf.lb.full
do "Seh"
create-glyph 'armn/seh' 0x57D : glyph-proc

View file

@ -14,21 +14,22 @@ glyph-block Letter-Armenian-Shared-Shapes : begin
define highBarPos XH
define jut Jut
define JUT-NORMAL 0
define JUT-SHORT 1
define JUT-RIGHT 2
define JUT-LEFT 3
define JUT : object
NORMAL 0
SHORT 1
RIGHT 2
LEFT 3
glyph-block-export ArmHBar
define [ArmHBar hPos df] : namespace
define left : match hPos
[Just JUT-RIGHT] df.rightSB
[Just JUT-LEFT] (df.leftSB - (jut * [if SLAB 1.5 1]) + [HSwToV : 0.5 * df.mvs])
[Just JUT.RIGHT] df.rightSB
[Just JUT.LEFT] (df.leftSB - (jut * [if SLAB 1.5 1]) + [HSwToV : 0.5 * df.mvs])
-- df.leftSB
define right : match hPos
[Just JUT-RIGHT] (df.rightSB + (jut * [if SLAB 1.5 1]) - [HSwToV : 0.5 * df.mvs])
[Just JUT-SHORT] (df.rightSB - (jut - [HSwToV : 0.5 * df.mvs]) * df.div)
[Just JUT-LEFT] df.leftSB
[Just JUT.RIGHT] (df.rightSB + (jut * [if SLAB 1.5 1]) - [HSwToV : 0.5 * df.mvs])
[Just JUT.SHORT] (df.rightSB - (jut - [HSwToV : 0.5 * df.mvs]) * df.div)
[Just JUT.LEFT] df.leftSB
-- df.rightSB
export : define [cap] : glyph-proc
@ -46,10 +47,10 @@ glyph-block Letter-Armenian-Shared-Shapes : begin
export : define [at y] : glyph-proc
include : HBar.m left right y df.mvs
set [ArmHBar.normal df] : ArmHBar JUT-NORMAL df
set [ArmHBar.short df] : ArmHBar JUT-SHORT df
set [ArmHBar.right df] : ArmHBar JUT-RIGHT df
set [ArmHBar.left df] : ArmHBar JUT-LEFT df
set [ArmHBar.normal df] : ArmHBar JUT.NORMAL df
set [ArmHBar.short df] : ArmHBar JUT.SHORT df
set [ArmHBar.right df] : ArmHBar JUT.RIGHT df
set [ArmHBar.left df] : ArmHBar JUT.LEFT df
glyph-block-export TwoNeck
define [TwoNeck df top bot _left _right _adb _flatp] : begin

View file

@ -30,6 +30,7 @@ glyph-block Letter-Armenian-Upper-Ho : begin
curl df.middle CAP [heading Rightward]
archv
flatside.rd df.rightSB midyBot CAP ArchDepthA ArchDepthB
arcvh
straight.left.end df.middle midyBot [heading Leftward]
include : dispiro

View file

@ -18,10 +18,11 @@ glyph-block Letter-Armenian-Upper-Yi : begin
local ze : CyrZe 0 0 CAP 0
left -- df.leftSB
right -- df.rightSB
blend -- (1 + 2 * O / (df.rightSB - df.leftSB))
blend -- (1 + (2 * O) / (df.rightSB - df.leftSB))
hook -- Hook
op -- HBarPos
include : ze.Shape
if SLAB : begin
local midy : mix 0 CAP OverlayPos
local midy : mix 0 CAP HBarPos
local vJut : Math.min VJut : CAP - 2 * Hook - df.mvs
include : VBar.l (df.leftSB - 2 * O) (midy - 0.5 * vJut) (midy + 0.5 * vJut) df.mvs

View file

@ -58,7 +58,7 @@ glyph-block Letter-Cyrillic-Orthography : begin
link-gr LocalizedForm.SRB.Italic 'cyrl/te/reduced' 'cyrl/te/reduced.SRB'
link-gr LocalizedForm.BGR 'cyrl/ve' 'cyrl/ve.BGR'
link-gr LocalizedForm.BGR 'cyrl/ghe' 'cyrl/ghe.italic'
link-gr LocalizedForm.BGR 'cyrl/ghe' 'cyrl/ghe.BGR'
link-gr LocalizedForm.BGR 'cyrl/De' 'cyrl/De.BGR'
link-gr LocalizedForm.BGR 'cyrl/de' 'cyrl/de.BGR'
link-gr LocalizedForm.BGR 'cyrl/zhe' 'cyrl/zhe.BGR'

View file

@ -143,7 +143,7 @@ glyph-block Letter-Cyrillic-Yeri : begin
local bowl : top * pBar + HalfStroke
local turnRadius : bowl * 0.45
local turnbottom : mix 0 bowl (ArchDepthB / (ArchDepthA + ArchDepthB))
local trShrink [Math.pow ((right - left) / (RightSB - SB)) 0.5]
local trShrink : Math.sqrt : (right - left) / (RightSB - SB)
include : dispiro
widths.rhs stroke
flat (right - Stroke * 0.2) 0 [heading Leftward]
@ -215,7 +215,7 @@ glyph-block Letter-Cyrillic-Yeri : begin
define [CyrYeryShape LeftHalf df top fBackYer fTail] : glyph-proc
local sw : if fBackYer [AdviceStroke 3.25 df.div] df.mvs
local jut : Math.min Jut : [Math.pow (sw / Stroke) 0.5] * Jut
local jut : Math.min Jut : [Math.sqrt : sw / Stroke] * Jut
local xm : mix (df.rightSB - [HSwToV sw]) (df.middle + [HSwToV : 0.5 * sw]) 0.75
include : if fBackYer

View file

@ -13,10 +13,10 @@ glyph-block Letter-Greek-Phi : begin
glyph-block-import Letter-Latin-Lower-AE-OE : SubDfAndShift
define [VarPhiRing fFlatTB df y2 y3] : glyph-proc
local gap : Math.max (0.25 * (df.rightSB - df.leftSB)) : HSwToV df.mvs
include : VBar.m df.middle y2 y3 df.mvs
include : if fFlatTB
OShapeFlatTB y3 y2 df.leftSB df.rightSB df.mvs (ArchDepthA * df.div) (ArchDepthB * df.div) gap
OShapeFlatTB y3 y2 df.leftSB df.rightSB df.mvs (ArchDepthA * df.div) (ArchDepthB * df.div)
Math.max (0.25 * (df.rightSB - df.leftSB)) : HSwToV df.mvs
OShape y3 y2 df.leftSB df.rightSB df.mvs (ArchDepthA * df.div) (ArchDepthB * df.div)
define [CyrlEfSplitRing fFlatTB df y2 y3] : glyph-proc
@ -25,17 +25,19 @@ glyph-block Letter-Greek-Phi : begin
local adb : subDf.archDepthB SmallArchDepth df.mvs
include : VBar.m df.middle y2 y3 df.mvs
include : with-transform [ApparentTranslate 0 y2] : union
include : union
OBarRight.shape
top -- (y3 - y2)
top -- y3
bot -- y2
left -- df.leftSB
right -- df.middle + [HSwToV : 0.5 * df.mvs]
right -- (df.middle + [HSwToV : 0.5 * df.mvs])
sw -- df.mvs
ada -- ada
adb -- adb
OBarLeft.shape
top -- (y3 - y2)
left -- df.middle - [HSwToV : 0.5 * df.mvs]
top -- y3
bot -- y2
left -- (df.middle - [HSwToV : 0.5 * df.mvs])
right -- df.rightSB
sw -- df.mvs
ada -- ada

View file

@ -254,13 +254,13 @@ glyph-block Letter-Latin-Lower-A : begin
create-glyph "a.\(suffix)" : glyph-proc
include : MarkSet.e
include : body [DivFrame 1] XH bar no-shape
create-glyph "largescripta.\(suffix)" : glyph-proc
create-glyph "AScript.\(suffix)" : glyph-proc
include : MarkSet.capital
include : body [DivFrame 1] CAP bar SingleStorey.ScriptCut
create-glyph "scripta.\(suffix)" : glyph-proc
create-glyph "aScript.\(suffix)" : glyph-proc
include : MarkSet.e
include : body [DivFrame 1] XH bar SingleStorey.ScriptCut
create-glyph "invscripta.\(suffix)" : glyph-proc
create-glyph "invaScript.\(suffix)" : glyph-proc
include : MarkSet.e
include : body [DivFrame 1] XH bar.inv SingleStorey.InvScriptCut
@ -275,15 +275,15 @@ glyph-block Letter-Latin-Lower-A : begin
derive-composites 'aRetroflexHook' 0x1D8F 'a/rtailBase'
RetroflexHook.rSideJut RightSB 0 (yOverflow -- Stroke)
select-variant 'scripta' 0x251 (follow -- [conditional-follow SLAB 'scripta/autoSerifed/slab' 'scripta/autoSerifed/sans'])
select-variant 'largescripta' 0x2C6D (follow -- [conditional-follow SLAB 'scripta/autoSerifed/slab' 'scripta/autoSerifed/sans'])
select-variant 'invscripta' 0xAB64 (follow -- [conditional-follow SLAB 'scripta/autoSerifed/slab' 'scripta/autoSerifed/sans'])
select-variant 'aScript' 0x251 (follow -- [conditional-follow SLAB 'aScript/autoSerifed/slab' 'aScript/autoSerifed/sans'])
select-variant 'AScript' 0x2C6D (follow -- [conditional-follow SLAB 'aScript/autoSerifed/slab' 'aScript/autoSerifed/sans'])
select-variant 'invaScript' 0xAB64 (follow -- [conditional-follow SLAB 'aScript/autoSerifed/slab' 'aScript/autoSerifed/sans'])
derive-composites 'scriptaRetroflexHook' 0x1D90 'scripta.singleStoreySerifless'
derive-composites 'aScriptRetroflexHook' 0x1D90 'aScript.singleStoreySerifless'
RetroflexHook.rSideJut RightSB 0 (yOverflow -- Stroke)
CreateTurnedLetter 'turnscripta' 0x252 'scripta' HalfAdvance (XH / 2)
CreateTurnedLetter 'turnlargescripta' 0x2C70 'largescripta' HalfAdvance (CAP / 2)
CreateTurnedLetter 'turnaScript' 0x252 'aScript' HalfAdvance (XH / 2)
CreateTurnedLetter 'turnAScript' 0x2C70 'AScript' HalfAdvance (CAP / 2)
CreateAccentedComposition 'aDieresis' 0xE4 'a' 'dieresisAbove'
CreateAccentedComposition 'aSbRsbUnderlineBelow' null 'a' 'sbRsbUnderlineBelow'

View file

@ -173,7 +173,7 @@ glyph-block Letter-Latin-Lower-G : begin
include : bodyShape df CAP
include : hookShape df (CAP - hookStart)
create-glyph "gScriptPalatalHook.\(suffix)" : glyph-proc
create-glyph "gPalatalHook.\(suffix)" : glyph-proc
local df : include : DivFrame para.diversityM 1
include : df.markSet.p
set-base-anchor 'overlay' Middle (XH / 2)
@ -198,7 +198,7 @@ glyph-block Letter-Latin-Lower-G : begin
select-variant 'gScript' 0x261 (shapeFrom -- 'g') (follow -- 'gScript')
select-variant 'GScript' 0xA7AC (follow -- 'gScript')
select-variant 'gScriptPalatalHook' 0x1D83 (follow -- 'gScript')
select-variant 'gScriptPalatalHook' 0x1D83 (shapeFrom -- 'gPalatalHook') (follow -- 'gScript')
select-variant 'cyrl/de.BGR' (shapeFrom -- 'g') (follow -- [conditional-follow SLAB 'g/singleStorey/autoSerifed/slab' 'g/singleStorey/autoSerifed/sans'])
alias 'cyrl/de.SRB' null 'cyrl/de.BGR'

View file

@ -28,7 +28,7 @@ glyph-block Letter-Latin-S : begin
define [AdviceSArchDepth y sign _stroke] : begin
# Handle with extreme care.
local stroke : fallback _stroke Stroke
local strokeFactor : stroke * [clamp 1 2 : linreg 126 1 137 1.025 stroke] * [clamp 0 1 : Math.pow (Width / HalfUPM) 0.5]
local strokeFactor : stroke * [clamp 1 2 : linreg 126 1 137 1.025 stroke] * [clamp 0 1 : Math.sqrt : Width / HalfUPM]
local widthFactor : RightSB - SB
local ss : y * 0.22 + 0.12 * strokeFactor + 0.05 * widthFactor
return : ss + sign * TanSlope * SmoothAdjust
@ -340,14 +340,22 @@ glyph-block Letter-Latin-S : begin
select-variant 'S' 'S'
link-reduced-variant 'S/sansSerif' 'S' MathSansSerif
select-variant 's' 's'
link-reduced-variant 's/sansSerif' 's' MathSansSerif
select-variant 'smcpS' 0xA731 (follow -- 'S')
select-variant 's/phoneticRight'
select-variant 'revS' 0x1A7 (follow -- 'S')
select-variant 'revs' 0x1A8 (follow -- 's')
alias 'cyrl/Dze' 0x405 'S'
alias 'cyrl/dze' 0x455 's'
alias 'cyrl/ghe.italic' null 'revs'
select-variant 'cyrl/ghe.italic' (shapeFrom -- 'revs') (follow -- 's')
alias 'cyrl/ghe.BGR' null 'cyrl/ghe.italic'
alias 'cyrl/DzeRev' 0xA644 'revS'
alias 'cyrl/dzeRev' 0xA645 'revs'
@ -360,25 +368,25 @@ glyph-block Letter-Latin-S : begin
select-variant 'SSwash' 0x2C7E
select-variant 'sSwash' 0x23F
select-variant 'sCurlyTail' 0x1DF1E (follow -- 'sSwash')
select-variant 'S/descBase' (shapeFrom -- 'S') (follow -- 'SRTail')
select-variant 's/ascBase' (shapeFrom -- 's')
select-variant 's/descBase' (shapeFrom -- 's') (follow -- 'sRTail')
select-variant 'revs/descBase' (shapeFrom -- 'revs') (follow -- 'sRTail')
select-variant 's/phoneticRight'
derive-composites 'SRTail' 0xA7C5 'S/descBase'
RetroflexHook.l SB 0 (yAttach -- DToothlessRise) (refSw -- [AdviceStroke2 2 3 CAP])
derive-composites 'sRTail' 0x282 's/descBase'
RetroflexHook.l SB 0 (yAttach -- DToothlessRise) (refSw -- [AdviceStroke2 2 3 XH])
derive-composites 'cyrl/gheDescender.italic' null 'revs/descBase'
select-variant 'cyrl/ghe.italic/descBase' (shapeFrom -- 'revs') (follow -- 'sRTail')
derive-composites 'cyrl/gheDescender.italic' null 'cyrl/ghe.italic/descBase'
CyrDescender.r DfLower.rightSB 0 (yAttach -- DToothlessRise) (refSw -- [AdviceStroke2 2 3 XH])
derive-composites 'cyrl/gheDHook.italic' null 'revs/descBase'
derive-composites 'cyrl/gheDHook.italic' null 'cyrl/ghe.italic/descBase'
PalatalHook.r DfLower.rightSB 0 (yAttach -- DToothlessRise) (refSw -- [AdviceStroke2 2 3 XH])
derive-composites 'cyrl/ghayn.italic' null 'revs'
derive-composites 'cyrl/ghayn.italic' null 'cyrl/ghe.italic'
FlatSlashShape Middle (XH / 2) (OverlayStroke / 2) (-0.2) 0.75
derive-composites 'cyrl/gheStrokeHook.italic' null 'cyrl/gheDHook.italic'
FlatSlashShape Middle (XH / 2) (OverlayStroke / 2) (-0.2) 0.75
@ -388,6 +396,8 @@ glyph-block Letter-Latin-S : begin
y -- 0
yAttach -- [mix O [AdviceSArchDepth XH (-1) [AdviceStroke2 2 3 XH]] : archv.yFromX 0.75]
select-variant 's/ascBase' (shapeFrom -- 's')
derive-composites "s/compLigLeft" null "s/ascBase" : glyph-proc
eject-contour 'arcStartSerifR'
local sw : ArcStartSerifWidth [AdviceStroke2 2 3 XH]

View file

@ -63,14 +63,11 @@ glyph-block Letter-Latin-X : begin
local fine : [AdviceStroke 3] * (sw / Stroke)
local leftXExt : leftX - [if fSlab SideJut 0]
local rightXExt : rightX + [if fSlab SideJut 0]
return : dispiro
if fHalf
flat [mix leftX rightX 0.5] [mix leftY rightY 0.5] [widths.center fine]
list
flat leftXExt (leftY - sign * sw / 2) [widths.center.heading sw Rightward]
flat (leftX - [if fSlab SideJut 0]) (leftY - sign * sw / 2) [widths.center.heading sw Rightward]
curl (leftX + TINY) (leftY - sign * sw / 2) [widths.center.heading sw Rightward]
alsoThruThem {{blendK1X blendK1Y} {blendK2X blendK2Y}}
flat [mix leftX rightX pStraightX] [mix leftY rightY pStraightY] [widths.center : mix sw fine 0.5]
@ -78,7 +75,7 @@ glyph-block Letter-Latin-X : begin
curl [mix leftX rightX (1 - pStraightX)] [mix leftY rightY (1 - pStraightY)] [widths.center : mix sw fine 0.5]
alsoThruThem {{(1 - blendK2X) (1 - blendK2Y)} {(1 - blendK1X) (1 - blendK1Y)}}
flat (rightX - TINY) (rightY + sign * sw / 2) [widths.center.heading sw Rightward]
curl rightXExt (rightY + sign * sw / 2) [widths.center.heading sw Rightward]
curl (rightX + [if fSlab SideJut 0]) (rightY + sign * sw / 2) [widths.center.heading sw Rightward]
glyph-block-export XCursiveHalfShape
define [XCursiveHalfShape] : with-params [

View file

@ -212,7 +212,7 @@ export : define decompOverrides : object
0xA7CC { 'S' 'longSlash' }
0xA7CD { 's' 'shortSlash' }
0xAB30 { 'scripta' 'hStrike' }
0xAB30 { 'aScript' 'hStrike' }
0xAB3E { 'frak/o' 'shortSlash' }
0xAB3F { 'turnc' 'shortSlash' }
0xAB4F { 'uShortLeg' 'hStrike' }

View file

@ -26,8 +26,8 @@ glyph-block Symbol-Punctuation-Joiners : do
create-glyph 'zwnj' 0x200C : glyph-proc
set-width 0
include : VBar.m 0 Descender CAP fine
define outerSize : size + 0.5 * fine * [Math.sqrt 2]
define innerSize : size - 0.5 * fine * [Math.sqrt 2]
define outerSize : size + fine * Math.SQRT1_2
define innerSize : size - fine * Math.SQRT1_2
include : difference
spiro-outline
widths.center fine

View file

@ -2139,8 +2139,8 @@ selectorAffix."a/rtailBase" = "doubleStorey"
selectorAffix."a/turnABase" = "doubleStorey"
selectorAffix."a/singleStorey/autoSerifed/slab" = "singleStorey"
selectorAffix."a/singleStorey/autoSerifed/sans" = "singleStorey"
selectorAffix."scripta/autoSerifed/slab" = "singleStorey"
selectorAffix."scripta/autoSerifed/sans" = "singleStorey"
selectorAffix."aScript/autoSerifed/slab" = "singleStorey"
selectorAffix."aScript/autoSerifed/sans" = "singleStorey"
[prime.a.variants-buildup.stages.storey.single-storey]
rank = 2
@ -2153,8 +2153,8 @@ selectorAffix."a/rtailBase" = "singleStorey"
selectorAffix."a/turnABase" = "doubleStorey"
selectorAffix."a/singleStorey/autoSerifed/slab" = "singleStorey"
selectorAffix."a/singleStorey/autoSerifed/sans" = "singleStorey"
selectorAffix."scripta/autoSerifed/slab" = "singleStorey"
selectorAffix."scripta/autoSerifed/sans" = "singleStorey"
selectorAffix."aScript/autoSerifed/slab" = "singleStorey"
selectorAffix."aScript/autoSerifed/sans" = "singleStorey"
[prime.a.variants-buildup.stages.double-storey-hook."*"]
next = "bar"
@ -2170,8 +2170,8 @@ selectorAffix."a/rtailBase" = ""
selectorAffix."a/turnABase" = ""
selectorAffix."a/singleStorey/autoSerifed/slab" = ""
selectorAffix."a/singleStorey/autoSerifed/sans" = ""
selectorAffix."scripta/autoSerifed/slab" = ""
selectorAffix."scripta/autoSerifed/sans" = ""
selectorAffix."aScript/autoSerifed/slab" = ""
selectorAffix."aScript/autoSerifed/sans" = ""
[prime.a.variants-buildup.stages.double-storey-hook.hook-serifed]
rank = 2
@ -2184,8 +2184,8 @@ selectorAffix."a/rtailBase" = "hookInwardSerifed"
selectorAffix."a/turnABase" = "hookInwardSerifed"
selectorAffix."a/singleStorey/autoSerifed/slab" = ""
selectorAffix."a/singleStorey/autoSerifed/sans" = ""
selectorAffix."scripta/autoSerifed/slab" = ""
selectorAffix."scripta/autoSerifed/sans" = ""
selectorAffix."aScript/autoSerifed/slab" = ""
selectorAffix."aScript/autoSerifed/sans" = ""
[prime.a.variants-buildup.stages.ear."*"]
next = "bar"
@ -2200,8 +2200,8 @@ selectorAffix."a/rtailBase" = ""
selectorAffix."a/turnABase" = ""
selectorAffix."a/singleStorey/autoSerifed/slab" = ""
selectorAffix."a/singleStorey/autoSerifed/sans" = ""
selectorAffix."scripta/autoSerifed/slab" = ""
selectorAffix."scripta/autoSerifed/sans" = ""
selectorAffix."aScript/autoSerifed/slab" = ""
selectorAffix."aScript/autoSerifed/sans" = ""
[prime.a.variants-buildup.stages.ear.earless-corner]
rank = 2
@ -2213,8 +2213,8 @@ selectorAffix."a/rtailBase" = "earlessCorner"
selectorAffix."a/turnABase" = ""
selectorAffix."a/singleStorey/autoSerifed/slab" = "earlessCorner"
selectorAffix."a/singleStorey/autoSerifed/sans" = "earlessCorner"
selectorAffix."scripta/autoSerifed/slab" = ""
selectorAffix."scripta/autoSerifed/sans" = ""
selectorAffix."aScript/autoSerifed/slab" = ""
selectorAffix."aScript/autoSerifed/sans" = ""
[prime.a.variants-buildup.stages.ear.earless-rounded]
rank = 3
@ -2226,8 +2226,8 @@ selectorAffix."a/rtailBase" = "earlessRounded"
selectorAffix."a/turnABase" = ""
selectorAffix."a/singleStorey/autoSerifed/slab" = "earlessRounded"
selectorAffix."a/singleStorey/autoSerifed/sans" = "earlessRounded"
selectorAffix."scripta/autoSerifed/slab" = ""
selectorAffix."scripta/autoSerifed/sans" = ""
selectorAffix."aScript/autoSerifed/slab" = ""
selectorAffix."aScript/autoSerifed/sans" = ""
[prime.a.variants-buildup.stages.bar.serifless]
rank = 1
@ -2240,8 +2240,8 @@ selectorAffix."a/rtailBase" = "serifless"
selectorAffix."a/turnABase" = "serifless"
selectorAffix."a/singleStorey/autoSerifed/slab" = "serifless"
selectorAffix."a/singleStorey/autoSerifed/sans" = "serifless"
selectorAffix."scripta/autoSerifed/slab" = "serifless"
selectorAffix."scripta/autoSerifed/sans" = "serifless"
selectorAffix."aScript/autoSerifed/slab" = "serifless"
selectorAffix."aScript/autoSerifed/sans" = "serifless"
[prime.a.variants-buildup.stages.bar.serifed]
rank = 2
@ -2253,8 +2253,8 @@ selectorAffix."a/rtailBase" = "serifless"
selectorAffix."a/turnABase" = "serifed"
selectorAffix."a/singleStorey/autoSerifed/slab" = { if = [{ storey = "double-storey" }], then = "doubleSerifed", else = "serifed" }
selectorAffix."a/singleStorey/autoSerifed/sans" = "serifed"
selectorAffix."scripta/autoSerifed/slab" = "serifed"
selectorAffix."scripta/autoSerifed/sans" = "serifed"
selectorAffix."aScript/autoSerifed/slab" = "serifed"
selectorAffix."aScript/autoSerifed/sans" = "serifed"
[prime.a.variants-buildup.stages.bar.double-serifed]
rank = 3
@ -2267,8 +2267,8 @@ selectorAffix."a/rtailBase" = "topSerifed"
selectorAffix."a/turnABase" = "serifed"
selectorAffix."a/singleStorey/autoSerifed/slab" = "doubleSerifed"
selectorAffix."a/singleStorey/autoSerifed/sans" = "doubleSerifed"
selectorAffix."scripta/autoSerifed/slab" = "serifed"
selectorAffix."scripta/autoSerifed/sans" = "serifed"
selectorAffix."aScript/autoSerifed/slab" = "serifed"
selectorAffix."aScript/autoSerifed/sans" = "serifed"
[prime.a.variants-buildup.stages.bar.tailed]
rank = 4
@ -2280,8 +2280,8 @@ selectorAffix."a/rtailBase" = "serifless"
selectorAffix."a/turnABase" = "tailed"
selectorAffix."a/singleStorey/autoSerifed/slab" = { if = [{ storey = "double-storey" }], then = "tailedSerifed", else = "tailed" }
selectorAffix."a/singleStorey/autoSerifed/sans" = "tailed"
selectorAffix."scripta/autoSerifed/slab" = "tailed"
selectorAffix."scripta/autoSerifed/sans" = "tailed"
selectorAffix."aScript/autoSerifed/slab" = "tailed"
selectorAffix."aScript/autoSerifed/sans" = "tailed"
[prime.a.variants-buildup.stages.bar.tailed-serifed]
rank = 5
@ -2294,8 +2294,8 @@ selectorAffix."a/rtailBase" = "topSerifed"
selectorAffix."a/turnABase" = "tailed"
selectorAffix."a/singleStorey/autoSerifed/slab" = "tailedSerifed"
selectorAffix."a/singleStorey/autoSerifed/sans" = "tailedSerifed"
selectorAffix."scripta/autoSerifed/slab" = "tailed"
selectorAffix."scripta/autoSerifed/sans" = "tailed"
selectorAffix."aScript/autoSerifed/slab" = "tailed"
selectorAffix."aScript/autoSerifed/sans" = "tailed"
[prime.a.variants-buildup.stages.bar.toothless-corner]
rank = 6
@ -2308,8 +2308,8 @@ selectorAffix."a/rtailBase" = "serifless"
selectorAffix."a/turnABase" = "toothlessCorner"
selectorAffix."a/singleStorey/autoSerifed/slab" = "doubleSerifed"
selectorAffix."a/singleStorey/autoSerifed/sans" = "serifless"
selectorAffix."scripta/autoSerifed/slab" = "serifed"
selectorAffix."scripta/autoSerifed/sans" = "serifless"
selectorAffix."aScript/autoSerifed/slab" = "serifed"
selectorAffix."aScript/autoSerifed/sans" = "serifless"
[prime.a.variants-buildup.stages.bar.toothless-rounded]
rank = 7
@ -2322,8 +2322,8 @@ selectorAffix."a/rtailBase" = "serifless"
selectorAffix."a/turnABase" = "toothlessRounded"
selectorAffix."a/singleStorey/autoSerifed/slab" = "doubleSerifed"
selectorAffix."a/singleStorey/autoSerifed/sans" = "serifless"
selectorAffix."scripta/autoSerifed/slab" = "serifed"
selectorAffix."scripta/autoSerifed/sans" = "serifless"
selectorAffix."aScript/autoSerifed/slab" = "serifed"
selectorAffix."aScript/autoSerifed/sans" = "serifless"
@ -2766,9 +2766,9 @@ descriptionAffix = "double-storey shape"
selectorAffix.g = "doubleStorey"
selectorAffix."g/sansSerif" = "doubleStorey"
selectorAffix."g/hookTopBase" = "singleStoreySerifless"
selectorAffix."gScript" = "singleStoreyScriptCut"
selectorAffix."g/singleStorey/autoSerifed/slab" = "singleStoreySerifed"
selectorAffix."g/singleStorey/autoSerifed/sans" = "singleStoreySerifless"
selectorAffix.gScript = "singleStoreyScriptCut"
[prime.g.variants-buildup.stages.openness."*"]
next = "END"
@ -2779,9 +2779,9 @@ keyAffix = ""
selectorAffix.g = ""
selectorAffix."g/sansSerif" = ""
selectorAffix."g/hookTopBase" = ""
selectorAffix."gScript" = ""
selectorAffix."g/singleStorey/autoSerifed/slab" = ""
selectorAffix."g/singleStorey/autoSerifed/sans" = ""
selectorAffix.gScript = ""
[prime.g.variants-buildup.stages.openness.open]
rank = 1
@ -2789,9 +2789,9 @@ descriptionAffix = "open contour"
selectorAffix.g = "open"
selectorAffix."g/sansSerif" = "open"
selectorAffix."g/hookTopBase" = ""
selectorAffix."gScript" = ""
selectorAffix."g/singleStorey/autoSerifed/slab" = ""
selectorAffix."g/singleStorey/autoSerifed/sans" = ""
selectorAffix.gScript = ""
[prime.g.variants-buildup.stages.storey.single-storey]
next = "hook"
@ -2800,9 +2800,9 @@ descriptionAffix = "single-storey shape"
selectorAffix.g = "singleStorey"
selectorAffix."g/sansSerif" = "singleStorey"
selectorAffix."g/hookTopBase" = "singleStorey"
selectorAffix."gScript" = "singleStorey"
selectorAffix."g/singleStorey/autoSerifed/slab" = "singleStorey"
selectorAffix."g/singleStorey/autoSerifed/sans" = "singleStorey"
selectorAffix.gScript = "singleStorey"
[prime.g.variants-buildup.stages.hook."*"]
next = "ear"
@ -2813,9 +2813,9 @@ keyAffix = ""
selectorAffix.g = ""
selectorAffix."g/sansSerif" = ""
selectorAffix."g/hookTopBase" = ""
selectorAffix."gScript" = ""
selectorAffix."g/singleStorey/autoSerifed/slab" = ""
selectorAffix."g/singleStorey/autoSerifed/sans" = ""
selectorAffix.gScript = ""
[prime.g.variants-buildup.stages.hook.flat-hook]
rank = 2
@ -2823,18 +2823,18 @@ descriptionAffix = "flat bottom hook"
selectorAffix.g = "flatHook"
selectorAffix."g/sansSerif" = "flatHook"
selectorAffix."g/hookTopBase" = "flatHook"
selectorAffix."gScript" = "flatHook"
selectorAffix."g/singleStorey/autoSerifed/slab" = "flatHook"
selectorAffix."g/singleStorey/autoSerifed/sans" = "flatHook"
selectorAffix.gScript = "flatHook"
[prime.g.variants-buildup.stages.ear.serifless]
rank = 1
selectorAffix.g = "serifless"
selectorAffix."g/sansSerif" = "serifless"
selectorAffix."g/hookTopBase" = "serifless"
selectorAffix."gScript" = "scriptCut"
selectorAffix."g/singleStorey/autoSerifed/slab" = "serifless"
selectorAffix."g/singleStorey/autoSerifed/sans" = "serifless"
selectorAffix.gScript = "scriptCut"
[prime.g.variants-buildup.stages.ear.serifed]
rank = 2
@ -2842,9 +2842,9 @@ descriptionAffix = "top-right serif"
selectorAffix.g = "serifed"
selectorAffix."g/sansSerif" = "serifless"
selectorAffix."g/hookTopBase" = "serifless"
selectorAffix."gScript" = "scriptCut"
selectorAffix."g/singleStorey/autoSerifed/slab" = "serifed"
selectorAffix."g/singleStorey/autoSerifed/sans" = "serifed"
selectorAffix.gScript = "scriptCut"
[prime.g.variants-buildup.stages.ear.earless-corner]
rank = 3
@ -2852,9 +2852,9 @@ descriptionAffix = "earless (cornered top-right)"
selectorAffix.g = "earlessCorner"
selectorAffix."g/sansSerif" = "earlessCorner"
selectorAffix."g/hookTopBase" = "earlessCornerHTB"
selectorAffix."gScript" = "scriptCut"
selectorAffix."g/singleStorey/autoSerifed/slab" = "earlessCorner"
selectorAffix."g/singleStorey/autoSerifed/sans" = "earlessCorner"
selectorAffix.gScript = "scriptCut"
[prime.g.variants-buildup.stages.ear.earless-rounded]
rank = 4
@ -2862,9 +2862,9 @@ descriptionAffix = "earless (rounded top-right)"
selectorAffix.g = "earlessRounded"
selectorAffix."g/sansSerif" = "earlessRounded"
selectorAffix."g/hookTopBase" = "serifless"
selectorAffix."gScript" = "scriptCut"
selectorAffix."g/singleStorey/autoSerifed/slab" = "earlessRounded"
selectorAffix."g/singleStorey/autoSerifed/sans" = "earlessRounded"
selectorAffix.gScript = "scriptCut"