Fixups
This commit is contained in:
parent
6004b74c65
commit
fd8317d0dd
10 changed files with 138 additions and 103 deletions
|
@ -7,39 +7,47 @@ glyph-module
|
||||||
glyph-block Letter-Cyrillic-E : begin
|
glyph-block Letter-Cyrillic-E : begin
|
||||||
glyph-block-import CommonShapes
|
glyph-block-import CommonShapes
|
||||||
glyph-block-import Common-Derivatives
|
glyph-block-import Common-Derivatives
|
||||||
glyph-block-import Letter-Latin-C : CLetter
|
glyph-block-import Letter-Latin-C : CLetterForm CConfig
|
||||||
glyph-block-import Letter-Cyrillic-Iotified-A : Iotified
|
glyph-block-import Letter-Cyrillic-Iotified-A : Iotified
|
||||||
|
|
||||||
foreach { suffix { sty styBot } } [Object.entries CLetter.Config] : do
|
foreach { suffix { sty styBot } } [Object.entries CConfig] : do
|
||||||
create-glyph "cyrl/E.\(suffix)" : glyph-proc
|
create-glyph "cyrl/E.\(suffix)" : glyph-proc
|
||||||
include : MarkSet.capital
|
include : MarkSet.capital
|
||||||
include : CLetter.Shape [DivFrame 1] sty styBot CAP 0 ArchDepthA ArchDepthB Hook Stroke
|
local lf : CLetterForm [DivFrame 1] sty styBot CAP 0
|
||||||
include : HBar.m [mix SB RightSB 0.35] RightSB (CAP / 2)
|
include : lf.revFull
|
||||||
|
include : HBar.m [mix SB RightSB 0.35] RightSB (CAP / 2) [AdviceStroke2 2 3 CAP]
|
||||||
|
|
||||||
create-glyph "cyrl/e.\(suffix)" : glyph-proc
|
create-glyph "cyrl/e.\(suffix)" : glyph-proc
|
||||||
include : MarkSet.e
|
include : MarkSet.e
|
||||||
set-base-anchor 'cvDecompose' 0 0
|
set-base-anchor 'cvDecompose' 0 0
|
||||||
include : CLetter.Shape [DivFrame 1] sty styBot XH 0 SmallArchDepthA SmallArchDepthB Hook Stroke
|
local lf : CLetterForm [DivFrame 1] sty styBot XH 0
|
||||||
include : HBar.m [mix SB RightSB 0.35] RightSB (XH / 2)
|
ada -- SmallArchDepthA
|
||||||
|
adb -- SmallArchDepthB
|
||||||
|
include : lf.revFull
|
||||||
|
include : HBar.m [mix SB RightSB 0.35] RightSB (XH / 2) [AdviceStroke2 2 3 XH]
|
||||||
|
|
||||||
create-glyph "cyrl/Ye.\(suffix)" : glyph-proc
|
create-glyph "cyrl/Ye.\(suffix)" : glyph-proc
|
||||||
include : MarkSet.capital
|
include : MarkSet.capital
|
||||||
include : CLetter.RevShape [DivFrame 1] sty styBot CAP 0 ArchDepthA ArchDepthB Hook Stroke
|
local lf : CLetterForm [DivFrame 1] sty styBot CAP 0
|
||||||
include : HBar.m SB [mix RightSB SB 0.35] (CAP / 2) [AdviceStroke2 2 4 CAP]
|
include : lf.full
|
||||||
|
include : HBar.m SB [mix RightSB SB 0.35] (CAP / 2) [AdviceStroke2 2 3 CAP]
|
||||||
|
|
||||||
create-glyph "cyrl/ye.\(suffix)" : glyph-proc
|
create-glyph "cyrl/ye.\(suffix)" : glyph-proc
|
||||||
include : MarkSet.e
|
include : MarkSet.e
|
||||||
set-base-anchor 'cvDecompose' 0 0
|
set-base-anchor 'cvDecompose' 0 0
|
||||||
include : CLetter.RevShape [DivFrame 1] sty styBot XH 0 SmallArchDepthA SmallArchDepthB Hook Stroke
|
local lf : CLetterForm [DivFrame 1] sty styBot XH 0
|
||||||
include : HBar.m SB [mix RightSB SB 0.35] (XH / 2) [AdviceStroke2 2 4 XH]
|
ada -- SmallArchDepthA
|
||||||
|
adb -- SmallArchDepthB
|
||||||
|
include : lf.full
|
||||||
|
include : HBar.m SB [mix RightSB SB 0.35] (XH / 2) [AdviceStroke2 2 3 XH]
|
||||||
|
|
||||||
define [IotifiedEShape fCapital df top ada adb] : glyph-proc
|
define [IotifiedEShape fCapital df top ada adb] : glyph-proc
|
||||||
local gap : 0.25 * (df.width - 2 * df.leftSB - 2.5 * df.mvs)
|
local gap : 0.25 * (df.width - 2 * df.leftSB - 2.5 * df.mvs)
|
||||||
define divSub : (df.width - gap - df.mvs) / Width
|
define divSub : (df.width - gap - df.mvs) / Width
|
||||||
define dfSub : DivFrame divSub 2
|
define dfSub : DivFrame divSub 2
|
||||||
include : CLetter.Shape dfSub sty styBot top 0 ada adb Hook df.mvs
|
|
||||||
|
|
||||||
include : Translate (Width * (df.div - divSub)) 0
|
local lf : CLetterForm dfSub sty styBot top 0 (ada -- ada) (adb -- adb) (sw -- df.mvs)
|
||||||
|
include : WithTransform [ApparentTranslate (Width * (df.div - divSub)) 0] : lf.full
|
||||||
|
|
||||||
local useItalicShape : [not fCapital] && para.isItalic
|
local useItalicShape : [not fCapital] && para.isItalic
|
||||||
include : Iotified.full df top
|
include : Iotified.full df top
|
||||||
|
|
|
@ -17,12 +17,12 @@ glyph-block Letter-Cyrillic-Iotified-A : begin
|
||||||
|
|
||||||
glyph-block-export Iotified
|
glyph-block-export Iotified
|
||||||
define Iotified : namespace
|
define Iotified : namespace
|
||||||
export : define [Shape] : params [df top hBarRight [hBarY (top / 2)] slabTop slabBottom swSerif] : glyph-proc
|
export : define [Shape] : params [df top hBarRight [hBarY (top / 2)] [slabTop false] [slabBottom false] [swSerif Stroke]] : glyph-proc
|
||||||
include : VBar.l df.leftSB 0 top df.mvs
|
include : VBar.l df.leftSB 0 top df.mvs
|
||||||
if (hBarRight > 0)
|
if (hBarRight > 0)
|
||||||
include : HBar.m df.leftSB hBarRight hBarY df.mvs
|
include : HBar.m df.leftSB hBarRight hBarY df.mvs
|
||||||
|
|
||||||
local sf : SerifFrame.fromDf df top 0 swSerif
|
local sf : SerifFrame.fromDf df top 0 (swSerif -- swSerif)
|
||||||
if SLAB : begin
|
if SLAB : begin
|
||||||
include : tagged "serifLT" : match slabTop
|
include : tagged "serifLT" : match slabTop
|
||||||
[Just SLAB-FULL] : begin sf.lt.full
|
[Just SLAB-FULL] : begin sf.lt.full
|
||||||
|
@ -34,7 +34,7 @@ glyph-block Letter-Cyrillic-Iotified-A : begin
|
||||||
__ : glyph-proc
|
__ : glyph-proc
|
||||||
|
|
||||||
# "Default" version
|
# "Default" version
|
||||||
export : define [full] : params [df top hBarRight hBarY fCapital swSerif] : begin
|
export : define [full] : params [df top hBarRight hBarY [fCapital false] [swSerif Stroke]] : begin
|
||||||
local useItalicShape : [not fCapital] && para.isItalic
|
local useItalicShape : [not fCapital] && para.isItalic
|
||||||
Shape
|
Shape
|
||||||
df -- df
|
df -- df
|
||||||
|
@ -46,7 +46,7 @@ glyph-block Letter-Cyrillic-Iotified-A : begin
|
||||||
swSerif -- swSerif
|
swSerif -- swSerif
|
||||||
|
|
||||||
# Outwards only
|
# Outwards only
|
||||||
export : define [outer] : params [df top hBarRight hBarY fCapital swSerif] : begin
|
export : define [outer] : params [df top hBarRight hBarY [fCapital false] [swSerif Stroke]] : begin
|
||||||
local useItalicShape : [not fCapital] && para.isItalic
|
local useItalicShape : [not fCapital] && para.isItalic
|
||||||
Shape
|
Shape
|
||||||
df -- df
|
df -- df
|
||||||
|
@ -58,7 +58,7 @@ glyph-block Letter-Cyrillic-Iotified-A : begin
|
||||||
swSerif -- swSerif
|
swSerif -- swSerif
|
||||||
|
|
||||||
# Iotified A-shaped glyphs
|
# Iotified A-shaped glyphs
|
||||||
export : define [A] : params [df top hBarRight hBarY fCapital swSerif] : begin
|
export : define [A] : params [df top hBarRight hBarY [fCapital false] [swSerif Stroke]] : begin
|
||||||
local useItalicShape : [not fCapital] && para.isItalic
|
local useItalicShape : [not fCapital] && para.isItalic
|
||||||
Shape
|
Shape
|
||||||
df -- df
|
df -- df
|
||||||
|
@ -101,7 +101,7 @@ glyph-block Letter-Cyrillic-Iotified-A : begin
|
||||||
ALetterShape subDf CAP df.mvs fStraightBar slabKind
|
ALetterShape subDf CAP df.mvs fStraightBar slabKind
|
||||||
|
|
||||||
include : difference
|
include : difference
|
||||||
Iotified.A df CAP [mix df.leftSB df.rightSB (3 / 4)] (CAP / 2) true df.mvs
|
Iotified.A df CAP [mix df.leftSB df.rightSB (3 / 4)] (CAP / 2) (fCapital -- true)
|
||||||
WithTransform [ApparentTranslate shift 0] [AMaskShape subDf CAP df.mvs fStraightBar slabKind]
|
WithTransform [ApparentTranslate shift 0] [AMaskShape subDf CAP df.mvs fStraightBar slabKind]
|
||||||
|
|
||||||
do "iotified a"
|
do "iotified a"
|
||||||
|
@ -123,7 +123,7 @@ glyph-block Letter-Cyrillic-Iotified-A : begin
|
||||||
include : WithTransform [ApparentTranslate shift 0] [body subDf df.mvs]
|
include : WithTransform [ApparentTranslate shift 0] [body subDf df.mvs]
|
||||||
|
|
||||||
include : difference
|
include : difference
|
||||||
Iotified.full df XH [mix df.leftSB df.rightSB (3 / 4)] (XH / 2) false
|
Iotified.full df XH [mix df.leftSB df.rightSB (3 / 4)] (XH / 2)
|
||||||
WithTransform [ApparentTranslate shift 0] [DoubleStorey.GetMask body df df.mvs]
|
WithTransform [ApparentTranslate shift 0] [DoubleStorey.GetMask body df df.mvs]
|
||||||
|
|
||||||
do "iotified e"
|
do "iotified e"
|
||||||
|
@ -144,7 +144,7 @@ glyph-block Letter-Cyrillic-Iotified-A : begin
|
||||||
local { subDf shift } : SubDfAndShift 1 df OX
|
local { subDf shift } : SubDfAndShift 1 df OX
|
||||||
include : WithTransform [ApparentTranslate shift 0] [body subDf XH df.mvs]
|
include : WithTransform [ApparentTranslate shift 0] [body subDf XH df.mvs]
|
||||||
|
|
||||||
include : Iotified.full df XH df.middle (XH / 2) false
|
include : Iotified.full df XH df.middle (XH / 2)
|
||||||
|
|
||||||
select-variant 'cyrl/AIotified' 0xA656 (follow -- 'A')
|
select-variant 'cyrl/AIotified' 0xA656 (follow -- 'A')
|
||||||
select-variant 'cyrl/aIotified' 0xA657 (follow -- 'a/turnABase')
|
select-variant 'cyrl/aIotified' 0xA657 (follow -- 'a/turnABase')
|
||||||
|
|
|
@ -25,7 +25,11 @@ glyph-block Letter-Cyrillic-Yu : begin
|
||||||
local slabTop : if (slabType === SLAB-BULGARIAN || useItalicShape) SLAB-OUTWARD SLAB-FULL
|
local slabTop : if (slabType === SLAB-BULGARIAN || useItalicShape) SLAB-OUTWARD SLAB-FULL
|
||||||
local slabBottom : if useItalicShape SLAB-NONE SLAB-FULL
|
local slabBottom : if useItalicShape SLAB-NONE SLAB-FULL
|
||||||
|
|
||||||
include : Iotified.Shape df xtop xm (top / 2) slabTop slabBottom
|
include : Iotified.Shape df xtop
|
||||||
|
hBarRight -- xm
|
||||||
|
yBarY -- (top / 2)
|
||||||
|
slabTop -- slabTop
|
||||||
|
slabBottom -- slabBottom
|
||||||
|
|
||||||
create-glyph 'cyrl/Yu' 0x42E : glyph-proc
|
create-glyph 'cyrl/Yu' 0x42E : glyph-proc
|
||||||
local df : DivFrame para.diversityM 3
|
local df : DivFrame para.diversityM 3
|
||||||
|
|
|
@ -142,17 +142,21 @@ glyph-block Letter-Latin-Lower-AE-OE : begin
|
||||||
include : ueUPart df fSlab
|
include : ueUPart df fSlab
|
||||||
|
|
||||||
do "open o subglyphs"
|
do "open o subglyphs"
|
||||||
glyph-block-import Letter-Latin-C : CLetter
|
glyph-block-import Letter-Latin-C : CLetterForm CConfig
|
||||||
|
|
||||||
define [openOShape df sty styBot] : new-glyph : glyph-proc
|
define [openOShape df sty styBot] : new-glyph : glyph-proc
|
||||||
local { subDf } : SubDfAndShift 0 df OX
|
local { subDf } : SubDfAndShift 0 df OX
|
||||||
local ada : subDf.archDepthA SmallArchDepth df.mvs
|
local ada : subDf.archDepthA SmallArchDepth df.mvs
|
||||||
local adb : subDf.archDepthB SmallArchDepth df.mvs
|
local adb : subDf.archDepthB SmallArchDepth df.mvs
|
||||||
|
|
||||||
include : CLetter.Shape subDf sty styBot XH 0 ada adb Hook df.mvs
|
local lf : CLetterForm subDf sty styBot XH 0
|
||||||
|
ada -- [subDf.archDepthA SmallArchDepth df.mvs]
|
||||||
|
adb -- [subDf.archDepthB SmallArchDepth df.mvs]
|
||||||
|
sw -- df.mvs
|
||||||
|
include : lf.full
|
||||||
include : FlipAround (subDf.width / 2) (XH / 2)
|
include : FlipAround (subDf.width / 2) (XH / 2)
|
||||||
|
|
||||||
foreach { suffix { sty styBot } } [Object.entries CLetter.Config] : do
|
foreach { suffix { sty styBot } } [Object.entries CConfig] : do
|
||||||
create-glyph "oeOpenO/left.\(suffix)" : glyph-proc
|
create-glyph "oeOpenO/left.\(suffix)" : glyph-proc
|
||||||
local df : DivFrame para.diversityM 3
|
local df : DivFrame para.diversityM 3
|
||||||
set-width df.width
|
set-width df.width
|
||||||
|
|
|
@ -20,7 +20,7 @@ glyph-block Letter-Latin-Sakha-Yat : begin
|
||||||
jut -- jut
|
jut -- jut
|
||||||
set-width df.width
|
set-width df.width
|
||||||
|
|
||||||
include : Iotified.outer df top (df.middle + df.mvs / 2 * HVContrast) (top - df.mvs * 0.5) false
|
include : Iotified.outer df top (df.middle + df.mvs / 2 * HVContrast) (top - df.mvs * 0.5)
|
||||||
|
|
||||||
define YerConfig : object
|
define YerConfig : object
|
||||||
corner { CyrlYeriUprightShape }
|
corner { CyrlYeriUprightShape }
|
||||||
|
|
|
@ -19,6 +19,7 @@ glyph-block Letter-Latin-C : begin
|
||||||
glyph-block-import Letter-Shared-Shapes : ArcEndInwardSerifL ArcEndInwardSerifR
|
glyph-block-import Letter-Shared-Shapes : ArcEndInwardSerifL ArcEndInwardSerifR
|
||||||
glyph-block-import Letter-Shared-Shapes : InwardSlabArcStart_RtlLhs
|
glyph-block-import Letter-Shared-Shapes : InwardSlabArcStart_RtlLhs
|
||||||
glyph-block-import Letter-Shared-Shapes : LetterBarOverlay PalatalHook RetroflexHook
|
glyph-block-import Letter-Shared-Shapes : LetterBarOverlay PalatalHook RetroflexHook
|
||||||
|
glyph-block-import Letter-Shared-Shapes : ArcStartSerifWidth ArcStartSerifDepth
|
||||||
glyph-block-import Letter-Blackboard : BBS BBD
|
glyph-block-import Letter-Blackboard : BBS BBD
|
||||||
|
|
||||||
define SLAB-NONE 0
|
define SLAB-NONE 0
|
||||||
|
@ -114,28 +115,36 @@ glyph-block Letter-Latin-C : begin
|
||||||
arcvh
|
arcvh
|
||||||
CurlyTail fine rinner m1 0 RightSB x2 y2
|
CurlyTail fine rinner m1 0 RightSB x2 y2
|
||||||
|
|
||||||
glyph-block-export CLetter
|
glyph-block-export CLetterForm
|
||||||
define CLetter : namespace
|
define [CLetterForm] : params [df sty styBot top bot [ada ArchDepthA] [adb ArchDepthB] [hook Hook] [sw Stroke] [ob nothing]] : namespace
|
||||||
export : define [Shape df sty styBot top bot ada adb hook sw ob] : glyph-proc
|
export : define [base] : CShapeT dispiro 0 df sty styBot top bot ada adb hook sw ob
|
||||||
include : CShapeT dispiro 0 df sty styBot top bot ada adb hook sw ob
|
export : define [topSerif] : AutoStartSerifR df sty top hook sw
|
||||||
include : AutoStartSerifR df sty top hook sw
|
export : define [botSerif] : AutoStartSerifRB df styBot bot hook sw
|
||||||
include : AutoStartSerifRB df styBot bot hook sw
|
|
||||||
|
|
||||||
export : define [RevShape df sty styBot top bot ada adb hook sw ob] : glyph-proc
|
export : define [revBase] : RevCShapeT dispiro 0 df sty styBot top bot ada adb hook sw ob
|
||||||
include : RevCShapeT dispiro 0 df sty styBot top bot ada adb hook sw ob
|
export : define [revTopSerif] : AutoStartSerifL df sty top hook sw
|
||||||
include : AutoStartSerifR df sty top hook sw
|
export : define [revBotSerif] : AutoStartSerifLB df styBot bot hook sw
|
||||||
include : AutoStartSerifRB df styBot bot hook sw
|
|
||||||
|
|
||||||
export : define Config : object
|
export : define [hookTop] : ArcStartHookTop df.rightSB top sw (HookX * hook / Hook) hook
|
||||||
serifless { SLAB-NONE SLAB-NONE }
|
|
||||||
bottomSerifed { SLAB-NONE SLAB-CLASSICAL }
|
|
||||||
unilateralSerifed { SLAB-CLASSICAL SLAB-NONE }
|
|
||||||
bilateralSerifed { SLAB-CLASSICAL SLAB-CLASSICAL }
|
|
||||||
unilateralInwardSerifed { SLAB-INWARD SLAB-NONE }
|
|
||||||
bilateralInwardSerifed { SLAB-INWARD SLAB-INWARD }
|
|
||||||
hybridSerifed1 { SLAB-INWARD SLAB-CLASSICAL }
|
|
||||||
|
|
||||||
foreach { suffix { sty styBot } } [Object.entries CLetter.Config] : do
|
# Used by Cyrillic Koppa
|
||||||
|
export : define [baseTopOnly] : CShapeT dispiro 0 df sty SLAB-NONE top bot ada adb hook sw ob
|
||||||
|
export : define [descBase] : CShapeT dispiro 0 df sty (styBot || SLAB-CLASSICAL) top bot ada adb hook sw ob
|
||||||
|
|
||||||
|
export : define [full] : composite-proc [base] [topSerif] [botSerif]
|
||||||
|
export : define [revFull] : composite-proc [revBase] [revTopSerif] [revBotSerif]
|
||||||
|
|
||||||
|
glyph-block-export CConfig
|
||||||
|
define CConfig : object
|
||||||
|
serifless { SLAB-NONE SLAB-NONE }
|
||||||
|
bottomSerifed { SLAB-NONE SLAB-CLASSICAL }
|
||||||
|
unilateralSerifed { SLAB-CLASSICAL SLAB-NONE }
|
||||||
|
bilateralSerifed { SLAB-CLASSICAL SLAB-CLASSICAL }
|
||||||
|
unilateralInwardSerifed { SLAB-INWARD SLAB-NONE }
|
||||||
|
bilateralInwardSerifed { SLAB-INWARD SLAB-INWARD }
|
||||||
|
hybridSerifed1 { SLAB-INWARD SLAB-CLASSICAL }
|
||||||
|
|
||||||
|
foreach { suffix { sty styBot } } [Object.entries CConfig] : do
|
||||||
define [cShape df top bot ada adb hook sw ob]
|
define [cShape df top bot ada adb hook sw ob]
|
||||||
CShapeT dispiro 0 df sty styBot top bot ada adb hook sw ob
|
CShapeT dispiro 0 df sty styBot top bot ada adb hook sw ob
|
||||||
define [cShapeTopOnly df top bot ada adb hook sw ob]
|
define [cShapeTopOnly df top bot ada adb hook sw ob]
|
||||||
|
@ -145,57 +154,55 @@ glyph-block Letter-Latin-C : begin
|
||||||
|
|
||||||
create-glyph "C.\(suffix)" : glyph-proc
|
create-glyph "C.\(suffix)" : glyph-proc
|
||||||
include : MarkSet.capital
|
include : MarkSet.capital
|
||||||
include : cShape [DivFrame 1] CAP 0 ArchDepthA ArchDepthB Hook Stroke
|
local lf : CLetterForm [DivFrame 1] sty styBot CAP 0
|
||||||
include : AutoStartSerifR [DivFrame 1] sty CAP
|
include : lf.full
|
||||||
include : AutoStartSerifRB [DivFrame 1] styBot 0
|
|
||||||
|
|
||||||
create-glyph "smcpC.\(suffix)" : glyph-proc
|
create-glyph "smcpC.\(suffix)" : glyph-proc
|
||||||
include : MarkSet.e
|
include : MarkSet.e
|
||||||
include : cShape [DivFrame 1] XH 0 ArchDepthA ArchDepthB Hook Stroke
|
local lf : CLetterForm [DivFrame 1] sty styBot XH 0
|
||||||
include : AutoStartSerifR [DivFrame 1] sty XH
|
include : lf.full
|
||||||
include : AutoStartSerifRB [DivFrame 1] styBot 0
|
|
||||||
|
|
||||||
create-glyph "revC.\(suffix)" : glyph-proc
|
create-glyph "revC.\(suffix)" : glyph-proc
|
||||||
include : MarkSet.capital
|
include : MarkSet.capital
|
||||||
include : revCShape [DivFrame 1] CAP 0 ArchDepthA ArchDepthB Hook Stroke
|
local lf : CLetterForm [DivFrame 1] sty styBot CAP 0
|
||||||
include : AutoStartSerifL [DivFrame 1] sty CAP
|
include : lf.revFull
|
||||||
include : AutoStartSerifLB [DivFrame 1] styBot 0
|
|
||||||
|
|
||||||
create-glyph "CHookTop.\(suffix)" : glyph-proc
|
create-glyph "CHookTop.\(suffix)" : glyph-proc
|
||||||
include : MarkSet.capital
|
include : MarkSet.capital
|
||||||
include : cShape [DivFrame 1] CAP 0 ArchDepthA ArchDepthB Hook Stroke
|
local lf : CLetterForm [DivFrame 1] sty styBot CAP 0
|
||||||
include : ArcStartHookTop RightSB CAP Stroke HookX Hook
|
include : union [lf.base] [lf.hookTop] [lf.botSerif]
|
||||||
include : AutoStartSerifRB [DivFrame 1] styBot 0
|
|
||||||
|
|
||||||
create-glyph "c.\(suffix)" : glyph-proc
|
create-glyph "c.\(suffix)" : glyph-proc
|
||||||
include : MarkSet.e
|
include : MarkSet.e
|
||||||
set-base-anchor 'cvDecompose' 0 0
|
set-base-anchor 'cvDecompose' 0 0
|
||||||
include : cShape [DivFrame 1] XH 0 SmallArchDepthA SmallArchDepthB Hook Stroke
|
local lf : CLetterForm [DivFrame 1] sty styBot XH 0
|
||||||
include : AutoStartSerifR [DivFrame 1] sty XH
|
ada -- SmallArchDepthA
|
||||||
include : AutoStartSerifRB [DivFrame 1] styBot 0
|
adb -- SmallArchDepthB
|
||||||
|
include : lf.full
|
||||||
|
|
||||||
create-glyph "revSmallC.\(suffix)" : glyph-proc
|
create-glyph "revSmallC.\(suffix)" : glyph-proc
|
||||||
include : MarkSet.e
|
include : MarkSet.e
|
||||||
include : revCShape [DivFrame 1] XH 0 SmallArchDepthA SmallArchDepthB Hook Stroke
|
local lf : CLetterForm [DivFrame 1] sty styBot XH 0
|
||||||
include : AutoStartSerifL [DivFrame 1] sty XH
|
ada -- SmallArchDepthA
|
||||||
include : AutoStartSerifLB [DivFrame 1] styBot 0
|
adb -- SmallArchDepthB
|
||||||
|
include : lf.revFull
|
||||||
|
|
||||||
create-glyph "revSmallCSideways.\(suffix)" : glyph-proc
|
create-glyph "revSmallCSideways.\(suffix)" : glyph-proc
|
||||||
local df : DivFrame (XH / Width) 2 (XH * 0.1 / SB)
|
local df : DivFrame (XH / Width) 2 (XH * 0.1 / SB)
|
||||||
local top : Width - SB
|
local top : Width - SB
|
||||||
local p : mix 1 (Width / UPM) 0.5
|
local p : mix 1 (Width / UPM) 0.5
|
||||||
include : PointingTo Width XH Width 0 : function [] : glyph-proc
|
include : PointingTo Width XH Width 0 : function [] : glyph-proc
|
||||||
include : cShape df top 0 ArchDepthA ArchDepthB (Hook * p) Stroke
|
local lf : CLetterForm df sty styBot top 0 (hook -- Hook * p)
|
||||||
include : AutoStartSerifR df sty top (Hook * p)
|
include : lf.revFull
|
||||||
include : AutoStartSerifRB df styBot 0 (Hook * p)
|
|
||||||
include : FlipAround df.middle (top / 2)
|
include : FlipAround df.middle (top / 2)
|
||||||
include : Translate 0 (SB / 2)
|
include : Translate 0 (SB / 2)
|
||||||
|
|
||||||
create-glyph "cHookTop.\(suffix)" : glyph-proc
|
create-glyph "cHookTop.\(suffix)" : glyph-proc
|
||||||
include : MarkSet.e
|
include : MarkSet.e
|
||||||
include : cShape [DivFrame 1] XH 0 SmallArchDepthA SmallArchDepthB Hook Stroke
|
local lf : CLetterForm [DivFrame 1] sty styBot XH 0
|
||||||
include : ArcStartHookTop RightSB XH Stroke HookX Hook
|
ada -- SmallArchDepthA
|
||||||
include : AutoStartSerifRB [DivFrame 1] styBot 0
|
adb -- SmallArchDepthB
|
||||||
|
include : union [lf.base] [lf.hookTop] [lf.botSerif]
|
||||||
|
|
||||||
create-glyph "cCurlyTail.\(suffix)" : glyph-proc
|
create-glyph "cCurlyTail.\(suffix)" : glyph-proc
|
||||||
include : MarkSet.e
|
include : MarkSet.e
|
||||||
|
@ -204,16 +211,8 @@ glyph-block Letter-Latin-C : begin
|
||||||
|
|
||||||
create-glyph "stretchedC.\(suffix)" : glyph-proc
|
create-glyph "stretchedC.\(suffix)" : glyph-proc
|
||||||
include : MarkSet.p
|
include : MarkSet.p
|
||||||
include : cShape [DivFrame 1] XH Descender ArchDepthA ArchDepthB Hook Stroke
|
local lf : CLetterForm [DivFrame 1] sty styBot XH Descender
|
||||||
include : AutoStartSerifR [DivFrame 1] sty XH
|
include : lf.full
|
||||||
include : AutoStartSerifRB [DivFrame 1] styBot Descender
|
|
||||||
|
|
||||||
create-glyph "romanSixLateForm.\(suffix)" : glyph-proc
|
|
||||||
include : MarkSet.capDesc
|
|
||||||
include : revCShape [DivFrame 1] CAP 0 ArchDepthA ArchDepthB Hook Stroke
|
|
||||||
include : AutoStartSerifLB [DivFrame 1] styBot 0
|
|
||||||
include : FlipAround Middle (CAP / 2)
|
|
||||||
include : VBar.r RightSB Descender (Hook - O * 2)
|
|
||||||
|
|
||||||
define [KoppaShapeT styTop styBot top base] : union
|
define [KoppaShapeT styTop styBot top base] : union
|
||||||
VBar.r (Middle + Stroke * HVContrast) Descender (Stroke / 2)
|
VBar.r (Middle + Stroke * HVContrast) Descender (Stroke / 2)
|
||||||
|
@ -224,19 +223,39 @@ glyph-block Letter-Latin-C : begin
|
||||||
|
|
||||||
create-glyph "cyrl/Koppa.\(suffix)" : glyph-proc
|
create-glyph "cyrl/Koppa.\(suffix)" : glyph-proc
|
||||||
include : MarkSet.capDesc
|
include : MarkSet.capDesc
|
||||||
include : KoppaShapeT sty styBot CAP : union
|
local lf : CLetterForm [DivFrame 1] sty styBot CAP 0
|
||||||
cShapeTopOnly [DivFrame 1] CAP 0 ArchDepthA ArchDepthB Hook Stroke
|
include : KoppaShapeT sty styBot CAP : union [lf.baseTopOnly] [lf.topSerif]
|
||||||
AutoStartSerifR [DivFrame 1] sty CAP
|
|
||||||
|
|
||||||
create-glyph "cyrl/koppa.\(suffix)" : glyph-proc
|
create-glyph "cyrl/koppa.\(suffix)" : glyph-proc
|
||||||
include : MarkSet.p
|
include : MarkSet.p
|
||||||
include : KoppaShapeT sty styBot XH : union
|
local lf : CLetterForm [DivFrame 1] sty styBot XH 0
|
||||||
cShapeTopOnly [DivFrame 1] XH 0 SmallArchDepthA SmallArchDepthB Hook Stroke
|
ada -- SmallArchDepthA
|
||||||
AutoStartSerifR [DivFrame 1] sty XH
|
adb -- SmallArchDepthB
|
||||||
|
include : KoppaShapeT sty styBot XH : union [lf.baseTopOnly] [lf.topSerif]
|
||||||
|
|
||||||
|
create-glyph "C/descBase.\(suffix)" : glyph-proc
|
||||||
|
include : MarkSet.capDesc
|
||||||
|
local lf : CLetterForm [DivFrame 1] sty styBot CAP 0
|
||||||
|
include : union [lf.descBase] [lf.topSerif]
|
||||||
|
include : VBar.r RightSB 0 [ArcStartSerifDepth Hook] [ArcStartSerifWidth Stroke]
|
||||||
|
|
||||||
|
create-glyph "c/descBase.\(suffix)" : glyph-proc
|
||||||
|
include : MarkSet.capDesc
|
||||||
|
local lf : CLetterForm [DivFrame 1] sty styBot XH 0
|
||||||
|
ada -- SmallArchDepthA
|
||||||
|
adb -- SmallArchDepthB
|
||||||
|
include : union [lf.descBase] [lf.topSerif]
|
||||||
|
include : VBar.r RightSB 0 [ArcStartSerifDepth Hook] [ArcStartSerifWidth Stroke]
|
||||||
|
|
||||||
|
create-glyph "romanSixLateForm.\(suffix)" : glyph-proc
|
||||||
|
include : MarkSet.capDesc
|
||||||
|
local lf : CLetterForm [DivFrame 1] sty styBot CAP 0
|
||||||
|
include : union [lf.descBase] [lf.topSerif]
|
||||||
|
include : VBar.r RightSB Descender [ArcStartSerifDepth Hook] [ArcStartSerifWidth Stroke]
|
||||||
|
if styBot : let [sf : SerifFrame.fromDf [DivFrame 1] CAP Descender] : include sf.rb.full
|
||||||
|
|
||||||
select-variant 'C' 'C'
|
select-variant 'C' 'C'
|
||||||
link-reduced-variant 'C/sansSerif' 'C' MathSansSerif
|
link-reduced-variant 'C/sansSerif' 'C' MathSansSerif
|
||||||
link-reduced-variant 'C/descBase' 'C'
|
|
||||||
select-variant 'revC' 0x2183 (follow -- 'C')
|
select-variant 'revC' 0x2183 (follow -- 'C')
|
||||||
alias 'cyrl/Es' 0x421 'C'
|
alias 'cyrl/Es' 0x421 'C'
|
||||||
alias 'grek/lunateSigma' 0x3F9 'C'
|
alias 'grek/lunateSigma' 0x3F9 'C'
|
||||||
|
@ -244,12 +263,10 @@ glyph-block Letter-Latin-C : begin
|
||||||
select-variant 'CTopSerifOnly' (shapeFrom -- 'C')
|
select-variant 'CTopSerifOnly' (shapeFrom -- 'C')
|
||||||
|
|
||||||
select-variant 'CHookTop' 0x187
|
select-variant 'CHookTop' 0x187
|
||||||
select-variant 'romanSixLateForm' 0x2185
|
|
||||||
select-variant 'smcpC' 0x1D04 (follow -- 'C')
|
select-variant 'smcpC' 0x1D04 (follow -- 'C')
|
||||||
|
|
||||||
select-variant 'c' 'c'
|
select-variant 'c' 'c'
|
||||||
link-reduced-variant 'c/sansSerif' 'c' MathSansSerif
|
link-reduced-variant 'c/sansSerif' 'c' MathSansSerif
|
||||||
link-reduced-variant 'c/descBase' 'c'
|
|
||||||
link-reduced-variant 'c/turnDescBase' 'c'
|
link-reduced-variant 'c/turnDescBase' 'c'
|
||||||
select-variant 'revSmallC' 0x2184 (follow -- 'c')
|
select-variant 'revSmallC' 0x2184 (follow -- 'c')
|
||||||
alias 'cyrl/es' 0x441 'c'
|
alias 'cyrl/es' 0x441 'c'
|
||||||
|
@ -265,6 +282,10 @@ glyph-block Letter-Latin-C : begin
|
||||||
select-variant 'cyrl/Koppa' 0x480 (follow -- 'C')
|
select-variant 'cyrl/Koppa' 0x480 (follow -- 'C')
|
||||||
select-variant 'cyrl/koppa' 0x481 (follow -- 'c')
|
select-variant 'cyrl/koppa' 0x481 (follow -- 'c')
|
||||||
|
|
||||||
|
select-variant 'C/descBase'
|
||||||
|
select-variant 'c/descBase'
|
||||||
|
select-variant 'romanSixLateForm' 0x2185 (follow -- 'C/descBase')
|
||||||
|
|
||||||
create-glyph 'mathbb/C' 0x2102 : glyph-proc
|
create-glyph 'mathbb/C' 0x2102 : glyph-proc
|
||||||
include : MarkSet.capital
|
include : MarkSet.capital
|
||||||
include : CShapeT dispiro 0 [DivFrame 1] SLAB-NONE SLAB-NONE CAP 0 ArchDepthA ArchDepthB Hook BBS
|
include : CShapeT dispiro 0 [DivFrame 1] SLAB-NONE SLAB-NONE CAP 0 ArchDepthA ArchDepthB Hook BBS
|
||||||
|
|
|
@ -10,7 +10,7 @@ glyph-block Letter-Latin-Lower-A : begin
|
||||||
glyph-block-import Common-Derivatives
|
glyph-block-import Common-Derivatives
|
||||||
glyph-block-import Mark-Shared-Metrics : markHalfStroke
|
glyph-block-import Mark-Shared-Metrics : markHalfStroke
|
||||||
glyph-block-import Letter-Shared : CreateAccentedComposition CreateOgonekComposition
|
glyph-block-import Letter-Shared : CreateAccentedComposition CreateOgonekComposition
|
||||||
glyph-block-import Letter-Shared-Shapes : OBarLeft OBarRight
|
glyph-block-import Letter-Shared-Shapes : SerifFrame OBarLeft OBarRight
|
||||||
glyph-block-import Letter-Shared-Shapes : RightwardTailedBar InvRightwardTailedBar
|
glyph-block-import Letter-Shared-Shapes : RightwardTailedBar InvRightwardTailedBar
|
||||||
glyph-block-import Letter-Shared-Shapes : DToothlessRise DMBlend RetroflexHook
|
glyph-block-import Letter-Shared-Shapes : DToothlessRise DMBlend RetroflexHook
|
||||||
|
|
||||||
|
@ -81,7 +81,7 @@ glyph-block Letter-Latin-Lower-A : begin
|
||||||
Arc df 0 nothing nothing sw
|
Arc df 0 nothing nothing sw
|
||||||
export : define [Serifed df sw] : union
|
export : define [Serifed df sw] : union
|
||||||
Serifless df sw
|
Serifless df sw
|
||||||
HSerif.rb df.rightSB 0 SideJut sw
|
begin [SerifFrame.fromDf df XH 0].rb.outer
|
||||||
export : define [Tailed df sw] : union
|
export : define [Tailed df sw] : union
|
||||||
HookAndBar df (XH - [ADoubleStoreySmoothB df] + O) sw
|
HookAndBar df (XH - [ADoubleStoreySmoothB df] + O) sw
|
||||||
Arc df 0 nothing nothing sw
|
Arc df 0 nothing nothing sw
|
||||||
|
@ -152,7 +152,7 @@ glyph-block Letter-Latin-Lower-A : begin
|
||||||
mask height
|
mask height
|
||||||
export : define [SerifedBar height mask] : glyph-proc
|
export : define [SerifedBar height mask] : glyph-proc
|
||||||
include : SeriflessBar height mask
|
include : SeriflessBar height mask
|
||||||
include : tagged 'serifRB' : HSerif.rb RightSB 0 SideJut
|
include [SerifFrame.fromDf [DivFrame 1] XH 0].rb.outer
|
||||||
export : define [TailedBar height mask] : glyph-proc
|
export : define [TailedBar height mask] : glyph-proc
|
||||||
set-base-anchor 'trailing' (RightSB + SideJut) 0
|
set-base-anchor 'trailing' (RightSB + SideJut) 0
|
||||||
include : difference
|
include : difference
|
||||||
|
@ -162,7 +162,7 @@ glyph-block Letter-Latin-Lower-A : begin
|
||||||
set SeriflessBar.inv SeriflessBar
|
set SeriflessBar.inv SeriflessBar
|
||||||
set SerifedBar.inv : function [height mask] : glyph-proc
|
set SerifedBar.inv : function [height mask] : glyph-proc
|
||||||
include : SeriflessBar height mask
|
include : SeriflessBar height mask
|
||||||
include : tagged 'serifRT' : HSerif.rt RightSB height SideJut
|
include [SerifFrame.fromDf [DivFrame 1] height 0].rt.outer
|
||||||
set TailedBar.inv : function [height mask] : glyph-proc
|
set TailedBar.inv : function [height mask] : glyph-proc
|
||||||
set-base-anchor 'trailing' (RightSB + SideJut) 0
|
set-base-anchor 'trailing' (RightSB + SideJut) 0
|
||||||
include : difference
|
include : difference
|
||||||
|
|
|
@ -38,13 +38,13 @@ glyph-block Letter-Latin-Upper-A : begin
|
||||||
curlyTriSerifed { false [bitOr SLAB-TOP SLAB-LEFT SLAB-RIGHT] }
|
curlyTriSerifed { false [bitOr SLAB-TOP SLAB-LEFT SLAB-RIGHT] }
|
||||||
|
|
||||||
define [ASerifs df top sw slabKind] : glyph-proc : begin
|
define [ASerifs df top sw slabKind] : glyph-proc : begin
|
||||||
local sf : SerifFrame.fromDf df top 0 sw
|
local sf : SerifFrame.fromDf df top 0
|
||||||
if [maskBits slabKind SLAB-LEFT] : include sf.lb.full
|
if [maskBits slabKind SLAB-LEFT] : include sf.lb.full
|
||||||
if [maskBits slabKind SLAB-RIGHT] : include sf.rb.full
|
if [maskBits slabKind SLAB-RIGHT] : include sf.rb.full
|
||||||
if [maskBits slabKind SLAB-TOP] : include : intersection [MaskLeft df.middle]
|
if [maskBits slabKind SLAB-TOP] : include : intersection [MaskLeft df.middle]
|
||||||
if [maskBits slabKind : bitOr SLAB-LEFT SLAB-RIGHT]
|
if [maskBits slabKind : bitOr SLAB-LEFT SLAB-RIGHT]
|
||||||
: then : HSerif.lt df.middle top (MidJutSide + sw * HVContrast * 0.25) sw
|
: then : HSerif.lt df.middle top (MidJutSide + sw * HVContrast * 0.25) sf.swSerif
|
||||||
: else : HSerif.lt df.middle top [mix MidJutSide LongJut 0.5] sw
|
: else : HSerif.lt df.middle top [mix MidJutSide LongJut 0.5] sf.swSerif
|
||||||
|
|
||||||
glyph-block-export ALetterShape
|
glyph-block-export ALetterShape
|
||||||
define [ALetterShape] : params [df top sw fStraightBar slabKind] : new-glyph : glyph-proc
|
define [ALetterShape] : params [df top sw fStraightBar slabKind] : new-glyph : glyph-proc
|
||||||
|
|
|
@ -469,6 +469,9 @@ glyph-block Letter-Shared-Shapes : begin
|
||||||
glyph-block-export ArcStartSerifWidth
|
glyph-block-export ArcStartSerifWidth
|
||||||
define [ArcStartSerifWidth stroke] : Math.max (stroke * 0.875) VJutStroke
|
define [ArcStartSerifWidth stroke] : Math.max (stroke * 0.875) VJutStroke
|
||||||
|
|
||||||
|
glyph-block-export ArcStartSerifDepth
|
||||||
|
define [ArcStartSerifDepth hook] : hook - O * 2
|
||||||
|
|
||||||
glyph-block-export ArcStartSerifR
|
glyph-block-export ArcStartSerifR
|
||||||
define [ArcStartSerifR cx cy stroke hook overflow] : begin
|
define [ArcStartSerifR cx cy stroke hook overflow] : begin
|
||||||
return : VBar.r cx (cy - hook + O * 2) (cy + [fallback overflow 0]) [ArcStartSerifWidth stroke]
|
return : VBar.r cx (cy - hook + O * 2) (cy + [fallback overflow 0]) [ArcStartSerifWidth stroke]
|
||||||
|
@ -635,10 +638,10 @@ glyph-block Letter-Shared-Shapes : begin
|
||||||
return : new CSerifFrame this.top this.bot l1 r1 this.swRef this.swSerif this.div (r - l + 1)
|
return : new CSerifFrame this.top this.bot l1 r1 this.swRef this.swSerif this.div (r - l + 1)
|
||||||
|
|
||||||
glyph-block-export SerifFrame
|
glyph-block-export SerifFrame
|
||||||
define [SerifFrame] : params [top bot left right [swRef Stroke] [swSerif Stroke] [div 1] [hSplit 2]] : begin
|
define [SerifFrame] : params [top bot left right [swRef Stroke] [swSerif swRef] [div 1] [hSplit 2]] : begin
|
||||||
return : new CSerifFrame top bot left right swRef swSerif div hSplit
|
return : new CSerifFrame top bot left right swRef swSerif div hSplit
|
||||||
|
|
||||||
define SerifFrame.fromDf : function [] : params [df top bot [swSerif Stroke]] : begin
|
define SerifFrame.fromDf : function [] : params [df top bot [swSerif df.mvs]] : begin
|
||||||
return : SerifFrame top bot df.leftSB df.rightSB
|
return : SerifFrame top bot df.leftSB df.rightSB
|
||||||
sw -- df.mvs
|
sw -- df.mvs
|
||||||
div -- df.div
|
div -- df.div
|
||||||
|
|
|
@ -159,10 +159,9 @@ tag = "cv03"
|
||||||
rank = 1
|
rank = 1
|
||||||
description = "Serifless `C`"
|
description = "Serifless `C`"
|
||||||
selector.C = "serifless"
|
selector.C = "serifless"
|
||||||
selector."C/descBase" = "bottomSerifed"
|
selector."C/descBase" = "serifless"
|
||||||
selector."C/sansSerif" = "serifless"
|
selector."C/sansSerif" = "serifless"
|
||||||
selector.CHookTop = "unilateralSerifed"
|
selector.CHookTop = "unilateralSerifed"
|
||||||
selector.romanSixLateForm = "unilateralSerifed"
|
|
||||||
selector.CTopSerifOnly = "serifless"
|
selector.CTopSerifOnly = "serifless"
|
||||||
|
|
||||||
[prime.capital-c.variants.unilateral-serifed]
|
[prime.capital-c.variants.unilateral-serifed]
|
||||||
|
@ -172,7 +171,6 @@ selector.C = "unilateralSerifed"
|
||||||
selector."C/descBase" = "bilateralSerifed"
|
selector."C/descBase" = "bilateralSerifed"
|
||||||
selector."C/sansSerif" = "serifless"
|
selector."C/sansSerif" = "serifless"
|
||||||
selector.CHookTop = "unilateralSerifed"
|
selector.CHookTop = "unilateralSerifed"
|
||||||
selector.romanSixLateForm = "bilateralSerifed"
|
|
||||||
selector.CTopSerifOnly = "unilateralSerifed"
|
selector.CTopSerifOnly = "unilateralSerifed"
|
||||||
|
|
||||||
[prime.capital-c.variants.bilateral-serifed]
|
[prime.capital-c.variants.bilateral-serifed]
|
||||||
|
@ -182,7 +180,6 @@ selector.C = "bilateralSerifed"
|
||||||
selector."C/descBase" = "bilateralSerifed"
|
selector."C/descBase" = "bilateralSerifed"
|
||||||
selector."C/sansSerif" = "serifless"
|
selector."C/sansSerif" = "serifless"
|
||||||
selector.CHookTop = "bilateralSerifed"
|
selector.CHookTop = "bilateralSerifed"
|
||||||
selector.romanSixLateForm = "bilateralSerifed"
|
|
||||||
selector.CTopSerifOnly = "unilateralSerifed"
|
selector.CTopSerifOnly = "unilateralSerifed"
|
||||||
|
|
||||||
[prime.capital-c.variants.unilateral-inward-serifed]
|
[prime.capital-c.variants.unilateral-inward-serifed]
|
||||||
|
@ -192,7 +189,6 @@ selector.C = "unilateralInwardSerifed"
|
||||||
selector."C/descBase" = "hybridSerifed1"
|
selector."C/descBase" = "hybridSerifed1"
|
||||||
selector."C/sansSerif" = "serifless"
|
selector."C/sansSerif" = "serifless"
|
||||||
selector.CHookTop = "unilateralInwardSerifed"
|
selector.CHookTop = "unilateralInwardSerifed"
|
||||||
selector.romanSixLateForm = "bilateralInwardSerifed"
|
|
||||||
selector.CTopSerifOnly = "unilateralInwardSerifed"
|
selector.CTopSerifOnly = "unilateralInwardSerifed"
|
||||||
|
|
||||||
[prime.capital-c.variants.bilateral-inward-serifed]
|
[prime.capital-c.variants.bilateral-inward-serifed]
|
||||||
|
@ -202,7 +198,6 @@ selector.C = "bilateralInwardSerifed"
|
||||||
selector."C/descBase" = "bilateralInwardSerifed"
|
selector."C/descBase" = "bilateralInwardSerifed"
|
||||||
selector."C/sansSerif" = "serifless"
|
selector."C/sansSerif" = "serifless"
|
||||||
selector.CHookTop = "bilateralInwardSerifed"
|
selector.CHookTop = "bilateralInwardSerifed"
|
||||||
selector.romanSixLateForm = "bilateralInwardSerifed"
|
|
||||||
selector.CTopSerifOnly = "unilateralInwardSerifed"
|
selector.CTopSerifOnly = "unilateralInwardSerifed"
|
||||||
|
|
||||||
|
|
||||||
|
@ -1982,7 +1977,7 @@ rank = 1
|
||||||
description = "Serifless `c`"
|
description = "Serifless `c`"
|
||||||
selector.c = "serifless"
|
selector.c = "serifless"
|
||||||
selector."c/sansSerif" = "serifless"
|
selector."c/sansSerif" = "serifless"
|
||||||
selector."c/descBase" = "bottomSerifed"
|
selector."c/descBase" = "serifless"
|
||||||
selector."c/turnDescBase" = "unilateralSerifed"
|
selector."c/turnDescBase" = "unilateralSerifed"
|
||||||
selector.cCurlyTail = "serifless"
|
selector.cCurlyTail = "serifless"
|
||||||
selector.cHookTop = "unilateralSerifed"
|
selector.cHookTop = "unilateralSerifed"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue