Miscellaneous code cleanup. (#2583)
* Misc cleanup. * Misc cleanup. * Misc cleanup. * Cleanup of #2578 .
This commit is contained in:
parent
ded9331f9c
commit
603e8e4543
17 changed files with 134 additions and 120 deletions
|
@ -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'
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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]
|
||||
|
|
|
@ -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 [
|
||||
|
|
|
@ -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' }
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue