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-import CommonShapes
|
||||
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
|
||||
|
||||
foreach { suffix { sty styBot } } [Object.entries CLetter.Config] : do
|
||||
foreach { suffix { sty styBot } } [Object.entries CConfig] : do
|
||||
create-glyph "cyrl/E.\(suffix)" : glyph-proc
|
||||
include : MarkSet.capital
|
||||
include : CLetter.Shape [DivFrame 1] sty styBot CAP 0 ArchDepthA ArchDepthB Hook Stroke
|
||||
include : HBar.m [mix SB RightSB 0.35] RightSB (CAP / 2)
|
||||
local lf : CLetterForm [DivFrame 1] sty styBot CAP 0
|
||||
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
|
||||
include : MarkSet.e
|
||||
set-base-anchor 'cvDecompose' 0 0
|
||||
include : CLetter.Shape [DivFrame 1] sty styBot XH 0 SmallArchDepthA SmallArchDepthB Hook Stroke
|
||||
include : HBar.m [mix SB RightSB 0.35] RightSB (XH / 2)
|
||||
local lf : CLetterForm [DivFrame 1] sty styBot XH 0
|
||||
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
|
||||
include : MarkSet.capital
|
||||
include : CLetter.RevShape [DivFrame 1] sty styBot CAP 0 ArchDepthA ArchDepthB Hook Stroke
|
||||
include : HBar.m SB [mix RightSB SB 0.35] (CAP / 2) [AdviceStroke2 2 4 CAP]
|
||||
local lf : CLetterForm [DivFrame 1] sty styBot CAP 0
|
||||
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
|
||||
include : MarkSet.e
|
||||
set-base-anchor 'cvDecompose' 0 0
|
||||
include : CLetter.RevShape [DivFrame 1] sty styBot XH 0 SmallArchDepthA SmallArchDepthB Hook Stroke
|
||||
include : HBar.m SB [mix RightSB SB 0.35] (XH / 2) [AdviceStroke2 2 4 XH]
|
||||
local lf : CLetterForm [DivFrame 1] sty styBot XH 0
|
||||
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
|
||||
local gap : 0.25 * (df.width - 2 * df.leftSB - 2.5 * df.mvs)
|
||||
define divSub : (df.width - gap - df.mvs) / Width
|
||||
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
|
||||
include : Iotified.full df top
|
||||
|
|
|
@ -17,12 +17,12 @@ glyph-block Letter-Cyrillic-Iotified-A : begin
|
|||
|
||||
glyph-block-export Iotified
|
||||
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
|
||||
if (hBarRight > 0)
|
||||
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
|
||||
include : tagged "serifLT" : match slabTop
|
||||
[Just SLAB-FULL] : begin sf.lt.full
|
||||
|
@ -34,7 +34,7 @@ glyph-block Letter-Cyrillic-Iotified-A : begin
|
|||
__ : glyph-proc
|
||||
|
||||
# "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
|
||||
Shape
|
||||
df -- df
|
||||
|
@ -46,7 +46,7 @@ glyph-block Letter-Cyrillic-Iotified-A : begin
|
|||
swSerif -- swSerif
|
||||
|
||||
# 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
|
||||
Shape
|
||||
df -- df
|
||||
|
@ -58,7 +58,7 @@ glyph-block Letter-Cyrillic-Iotified-A : begin
|
|||
swSerif -- swSerif
|
||||
|
||||
# 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
|
||||
Shape
|
||||
df -- df
|
||||
|
@ -101,7 +101,7 @@ glyph-block Letter-Cyrillic-Iotified-A : begin
|
|||
ALetterShape subDf CAP df.mvs fStraightBar slabKind
|
||||
|
||||
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]
|
||||
|
||||
do "iotified a"
|
||||
|
@ -123,7 +123,7 @@ glyph-block Letter-Cyrillic-Iotified-A : begin
|
|||
include : WithTransform [ApparentTranslate shift 0] [body subDf df.mvs]
|
||||
|
||||
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]
|
||||
|
||||
do "iotified e"
|
||||
|
@ -144,7 +144,7 @@ glyph-block Letter-Cyrillic-Iotified-A : begin
|
|||
local { subDf shift } : SubDfAndShift 1 df OX
|
||||
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' 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 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
|
||||
local df : DivFrame para.diversityM 3
|
||||
|
|
|
@ -142,17 +142,21 @@ glyph-block Letter-Latin-Lower-AE-OE : begin
|
|||
include : ueUPart df fSlab
|
||||
|
||||
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
|
||||
local { subDf } : SubDfAndShift 0 df OX
|
||||
local ada : subDf.archDepthA 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)
|
||||
|
||||
foreach { suffix { sty styBot } } [Object.entries CLetter.Config] : do
|
||||
foreach { suffix { sty styBot } } [Object.entries CConfig] : do
|
||||
create-glyph "oeOpenO/left.\(suffix)" : glyph-proc
|
||||
local df : DivFrame para.diversityM 3
|
||||
set-width df.width
|
||||
|
|
|
@ -20,7 +20,7 @@ glyph-block Letter-Latin-Sakha-Yat : begin
|
|||
jut -- jut
|
||||
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
|
||||
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 : InwardSlabArcStart_RtlLhs
|
||||
glyph-block-import Letter-Shared-Shapes : LetterBarOverlay PalatalHook RetroflexHook
|
||||
glyph-block-import Letter-Shared-Shapes : ArcStartSerifWidth ArcStartSerifDepth
|
||||
glyph-block-import Letter-Blackboard : BBS BBD
|
||||
|
||||
define SLAB-NONE 0
|
||||
|
@ -114,19 +115,27 @@ glyph-block Letter-Latin-C : begin
|
|||
arcvh
|
||||
CurlyTail fine rinner m1 0 RightSB x2 y2
|
||||
|
||||
glyph-block-export CLetter
|
||||
define CLetter : namespace
|
||||
export : define [Shape df sty styBot top bot ada adb hook sw ob] : glyph-proc
|
||||
include : CShapeT dispiro 0 df sty styBot top bot ada adb hook sw ob
|
||||
include : AutoStartSerifR df sty top hook sw
|
||||
include : AutoStartSerifRB df styBot bot hook sw
|
||||
glyph-block-export CLetterForm
|
||||
define [CLetterForm] : params [df sty styBot top bot [ada ArchDepthA] [adb ArchDepthB] [hook Hook] [sw Stroke] [ob nothing]] : namespace
|
||||
export : define [base] : CShapeT dispiro 0 df sty styBot top bot ada adb hook sw ob
|
||||
export : define [topSerif] : AutoStartSerifR df sty top hook sw
|
||||
export : define [botSerif] : AutoStartSerifRB df styBot bot hook sw
|
||||
|
||||
export : define [RevShape df sty styBot top bot ada adb hook sw ob] : glyph-proc
|
||||
include : RevCShapeT dispiro 0 df sty styBot top bot ada adb hook sw ob
|
||||
include : AutoStartSerifR df sty top hook sw
|
||||
include : AutoStartSerifRB df styBot bot hook sw
|
||||
export : define [revBase] : RevCShapeT dispiro 0 df sty styBot top bot ada adb hook sw ob
|
||||
export : define [revTopSerif] : AutoStartSerifL df sty top hook sw
|
||||
export : define [revBotSerif] : AutoStartSerifLB df styBot bot hook sw
|
||||
|
||||
export : define Config : object
|
||||
export : define [hookTop] : ArcStartHookTop df.rightSB top sw (HookX * hook / Hook) hook
|
||||
|
||||
# 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 }
|
||||
|
@ -135,7 +144,7 @@ glyph-block Letter-Latin-C : begin
|
|||
bilateralInwardSerifed { SLAB-INWARD SLAB-INWARD }
|
||||
hybridSerifed1 { SLAB-INWARD SLAB-CLASSICAL }
|
||||
|
||||
foreach { suffix { sty styBot } } [Object.entries CLetter.Config] : do
|
||||
foreach { suffix { sty styBot } } [Object.entries CConfig] : do
|
||||
define [cShape df 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]
|
||||
|
@ -145,57 +154,55 @@ glyph-block Letter-Latin-C : begin
|
|||
|
||||
create-glyph "C.\(suffix)" : glyph-proc
|
||||
include : MarkSet.capital
|
||||
include : cShape [DivFrame 1] CAP 0 ArchDepthA ArchDepthB Hook Stroke
|
||||
include : AutoStartSerifR [DivFrame 1] sty CAP
|
||||
include : AutoStartSerifRB [DivFrame 1] styBot 0
|
||||
local lf : CLetterForm [DivFrame 1] sty styBot CAP 0
|
||||
include : lf.full
|
||||
|
||||
create-glyph "smcpC.\(suffix)" : glyph-proc
|
||||
include : MarkSet.e
|
||||
include : cShape [DivFrame 1] XH 0 ArchDepthA ArchDepthB Hook Stroke
|
||||
include : AutoStartSerifR [DivFrame 1] sty XH
|
||||
include : AutoStartSerifRB [DivFrame 1] styBot 0
|
||||
local lf : CLetterForm [DivFrame 1] sty styBot XH 0
|
||||
include : lf.full
|
||||
|
||||
create-glyph "revC.\(suffix)" : glyph-proc
|
||||
include : MarkSet.capital
|
||||
include : revCShape [DivFrame 1] CAP 0 ArchDepthA ArchDepthB Hook Stroke
|
||||
include : AutoStartSerifL [DivFrame 1] sty CAP
|
||||
include : AutoStartSerifLB [DivFrame 1] styBot 0
|
||||
local lf : CLetterForm [DivFrame 1] sty styBot CAP 0
|
||||
include : lf.revFull
|
||||
|
||||
create-glyph "CHookTop.\(suffix)" : glyph-proc
|
||||
include : MarkSet.capital
|
||||
include : cShape [DivFrame 1] CAP 0 ArchDepthA ArchDepthB Hook Stroke
|
||||
include : ArcStartHookTop RightSB CAP Stroke HookX Hook
|
||||
include : AutoStartSerifRB [DivFrame 1] styBot 0
|
||||
local lf : CLetterForm [DivFrame 1] sty styBot CAP 0
|
||||
include : union [lf.base] [lf.hookTop] [lf.botSerif]
|
||||
|
||||
create-glyph "c.\(suffix)" : glyph-proc
|
||||
include : MarkSet.e
|
||||
set-base-anchor 'cvDecompose' 0 0
|
||||
include : cShape [DivFrame 1] XH 0 SmallArchDepthA SmallArchDepthB Hook Stroke
|
||||
include : AutoStartSerifR [DivFrame 1] sty XH
|
||||
include : AutoStartSerifRB [DivFrame 1] styBot 0
|
||||
local lf : CLetterForm [DivFrame 1] sty styBot XH 0
|
||||
ada -- SmallArchDepthA
|
||||
adb -- SmallArchDepthB
|
||||
include : lf.full
|
||||
|
||||
create-glyph "revSmallC.\(suffix)" : glyph-proc
|
||||
include : MarkSet.e
|
||||
include : revCShape [DivFrame 1] XH 0 SmallArchDepthA SmallArchDepthB Hook Stroke
|
||||
include : AutoStartSerifL [DivFrame 1] sty XH
|
||||
include : AutoStartSerifLB [DivFrame 1] styBot 0
|
||||
local lf : CLetterForm [DivFrame 1] sty styBot XH 0
|
||||
ada -- SmallArchDepthA
|
||||
adb -- SmallArchDepthB
|
||||
include : lf.revFull
|
||||
|
||||
create-glyph "revSmallCSideways.\(suffix)" : glyph-proc
|
||||
local df : DivFrame (XH / Width) 2 (XH * 0.1 / SB)
|
||||
local top : Width - SB
|
||||
local p : mix 1 (Width / UPM) 0.5
|
||||
include : PointingTo Width XH Width 0 : function [] : glyph-proc
|
||||
include : cShape df top 0 ArchDepthA ArchDepthB (Hook * p) Stroke
|
||||
include : AutoStartSerifR df sty top (Hook * p)
|
||||
include : AutoStartSerifRB df styBot 0 (Hook * p)
|
||||
local lf : CLetterForm df sty styBot top 0 (hook -- Hook * p)
|
||||
include : lf.revFull
|
||||
include : FlipAround df.middle (top / 2)
|
||||
include : Translate 0 (SB / 2)
|
||||
|
||||
create-glyph "cHookTop.\(suffix)" : glyph-proc
|
||||
include : MarkSet.e
|
||||
include : cShape [DivFrame 1] XH 0 SmallArchDepthA SmallArchDepthB Hook Stroke
|
||||
include : ArcStartHookTop RightSB XH Stroke HookX Hook
|
||||
include : AutoStartSerifRB [DivFrame 1] styBot 0
|
||||
local lf : CLetterForm [DivFrame 1] sty styBot XH 0
|
||||
ada -- SmallArchDepthA
|
||||
adb -- SmallArchDepthB
|
||||
include : union [lf.base] [lf.hookTop] [lf.botSerif]
|
||||
|
||||
create-glyph "cCurlyTail.\(suffix)" : glyph-proc
|
||||
include : MarkSet.e
|
||||
|
@ -204,16 +211,8 @@ glyph-block Letter-Latin-C : begin
|
|||
|
||||
create-glyph "stretchedC.\(suffix)" : glyph-proc
|
||||
include : MarkSet.p
|
||||
include : cShape [DivFrame 1] XH Descender ArchDepthA ArchDepthB Hook Stroke
|
||||
include : AutoStartSerifR [DivFrame 1] sty XH
|
||||
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)
|
||||
local lf : CLetterForm [DivFrame 1] sty styBot XH Descender
|
||||
include : lf.full
|
||||
|
||||
define [KoppaShapeT styTop styBot top base] : union
|
||||
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
|
||||
include : MarkSet.capDesc
|
||||
include : KoppaShapeT sty styBot CAP : union
|
||||
cShapeTopOnly [DivFrame 1] CAP 0 ArchDepthA ArchDepthB Hook Stroke
|
||||
AutoStartSerifR [DivFrame 1] sty CAP
|
||||
local lf : CLetterForm [DivFrame 1] sty styBot CAP 0
|
||||
include : KoppaShapeT sty styBot CAP : union [lf.baseTopOnly] [lf.topSerif]
|
||||
|
||||
create-glyph "cyrl/koppa.\(suffix)" : glyph-proc
|
||||
include : MarkSet.p
|
||||
include : KoppaShapeT sty styBot XH : union
|
||||
cShapeTopOnly [DivFrame 1] XH 0 SmallArchDepthA SmallArchDepthB Hook Stroke
|
||||
AutoStartSerifR [DivFrame 1] sty XH
|
||||
local lf : CLetterForm [DivFrame 1] sty styBot XH 0
|
||||
ada -- SmallArchDepthA
|
||||
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'
|
||||
link-reduced-variant 'C/sansSerif' 'C' MathSansSerif
|
||||
link-reduced-variant 'C/descBase' 'C'
|
||||
select-variant 'revC' 0x2183 (follow -- 'C')
|
||||
alias 'cyrl/Es' 0x421 'C'
|
||||
alias 'grek/lunateSigma' 0x3F9 'C'
|
||||
|
@ -244,12 +263,10 @@ glyph-block Letter-Latin-C : begin
|
|||
select-variant 'CTopSerifOnly' (shapeFrom -- 'C')
|
||||
|
||||
select-variant 'CHookTop' 0x187
|
||||
select-variant 'romanSixLateForm' 0x2185
|
||||
select-variant 'smcpC' 0x1D04 (follow -- 'C')
|
||||
|
||||
select-variant 'c' 'c'
|
||||
link-reduced-variant 'c/sansSerif' 'c' MathSansSerif
|
||||
link-reduced-variant 'c/descBase' 'c'
|
||||
link-reduced-variant 'c/turnDescBase' 'c'
|
||||
select-variant 'revSmallC' 0x2184 (follow -- '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' 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
|
||||
include : MarkSet.capital
|
||||
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 Mark-Shared-Metrics : markHalfStroke
|
||||
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 : DToothlessRise DMBlend RetroflexHook
|
||||
|
||||
|
@ -81,7 +81,7 @@ glyph-block Letter-Latin-Lower-A : begin
|
|||
Arc df 0 nothing nothing sw
|
||||
export : define [Serifed df sw] : union
|
||||
Serifless df sw
|
||||
HSerif.rb df.rightSB 0 SideJut sw
|
||||
begin [SerifFrame.fromDf df XH 0].rb.outer
|
||||
export : define [Tailed df sw] : union
|
||||
HookAndBar df (XH - [ADoubleStoreySmoothB df] + O) sw
|
||||
Arc df 0 nothing nothing sw
|
||||
|
@ -152,7 +152,7 @@ glyph-block Letter-Latin-Lower-A : begin
|
|||
mask height
|
||||
export : define [SerifedBar height mask] : glyph-proc
|
||||
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
|
||||
set-base-anchor 'trailing' (RightSB + SideJut) 0
|
||||
include : difference
|
||||
|
@ -162,7 +162,7 @@ glyph-block Letter-Latin-Lower-A : begin
|
|||
set SeriflessBar.inv SeriflessBar
|
||||
set SerifedBar.inv : function [height mask] : glyph-proc
|
||||
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-base-anchor 'trailing' (RightSB + SideJut) 0
|
||||
include : difference
|
||||
|
|
|
@ -38,13 +38,13 @@ glyph-block Letter-Latin-Upper-A : begin
|
|||
curlyTriSerifed { false [bitOr SLAB-TOP SLAB-LEFT SLAB-RIGHT] }
|
||||
|
||||
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-RIGHT] : include sf.rb.full
|
||||
if [maskBits slabKind SLAB-TOP] : include : intersection [MaskLeft df.middle]
|
||||
if [maskBits slabKind : bitOr SLAB-LEFT SLAB-RIGHT]
|
||||
: then : HSerif.lt df.middle top (MidJutSide + sw * HVContrast * 0.25) sw
|
||||
: else : HSerif.lt df.middle top [mix MidJutSide LongJut 0.5] 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] sf.swSerif
|
||||
|
||||
glyph-block-export ALetterShape
|
||||
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
|
||||
define [ArcStartSerifWidth stroke] : Math.max (stroke * 0.875) VJutStroke
|
||||
|
||||
glyph-block-export ArcStartSerifDepth
|
||||
define [ArcStartSerifDepth hook] : hook - O * 2
|
||||
|
||||
glyph-block-export ArcStartSerifR
|
||||
define [ArcStartSerifR cx cy stroke hook overflow] : begin
|
||||
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)
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
sw -- df.mvs
|
||||
div -- df.div
|
||||
|
|
|
@ -159,10 +159,9 @@ tag = "cv03"
|
|||
rank = 1
|
||||
description = "Serifless `C`"
|
||||
selector.C = "serifless"
|
||||
selector."C/descBase" = "bottomSerifed"
|
||||
selector."C/descBase" = "serifless"
|
||||
selector."C/sansSerif" = "serifless"
|
||||
selector.CHookTop = "unilateralSerifed"
|
||||
selector.romanSixLateForm = "unilateralSerifed"
|
||||
selector.CTopSerifOnly = "serifless"
|
||||
|
||||
[prime.capital-c.variants.unilateral-serifed]
|
||||
|
@ -172,7 +171,6 @@ selector.C = "unilateralSerifed"
|
|||
selector."C/descBase" = "bilateralSerifed"
|
||||
selector."C/sansSerif" = "serifless"
|
||||
selector.CHookTop = "unilateralSerifed"
|
||||
selector.romanSixLateForm = "bilateralSerifed"
|
||||
selector.CTopSerifOnly = "unilateralSerifed"
|
||||
|
||||
[prime.capital-c.variants.bilateral-serifed]
|
||||
|
@ -182,7 +180,6 @@ selector.C = "bilateralSerifed"
|
|||
selector."C/descBase" = "bilateralSerifed"
|
||||
selector."C/sansSerif" = "serifless"
|
||||
selector.CHookTop = "bilateralSerifed"
|
||||
selector.romanSixLateForm = "bilateralSerifed"
|
||||
selector.CTopSerifOnly = "unilateralSerifed"
|
||||
|
||||
[prime.capital-c.variants.unilateral-inward-serifed]
|
||||
|
@ -192,7 +189,6 @@ selector.C = "unilateralInwardSerifed"
|
|||
selector."C/descBase" = "hybridSerifed1"
|
||||
selector."C/sansSerif" = "serifless"
|
||||
selector.CHookTop = "unilateralInwardSerifed"
|
||||
selector.romanSixLateForm = "bilateralInwardSerifed"
|
||||
selector.CTopSerifOnly = "unilateralInwardSerifed"
|
||||
|
||||
[prime.capital-c.variants.bilateral-inward-serifed]
|
||||
|
@ -202,7 +198,6 @@ selector.C = "bilateralInwardSerifed"
|
|||
selector."C/descBase" = "bilateralInwardSerifed"
|
||||
selector."C/sansSerif" = "serifless"
|
||||
selector.CHookTop = "bilateralInwardSerifed"
|
||||
selector.romanSixLateForm = "bilateralInwardSerifed"
|
||||
selector.CTopSerifOnly = "unilateralInwardSerifed"
|
||||
|
||||
|
||||
|
@ -1982,7 +1977,7 @@ rank = 1
|
|||
description = "Serifless `c`"
|
||||
selector.c = "serifless"
|
||||
selector."c/sansSerif" = "serifless"
|
||||
selector."c/descBase" = "bottomSerifed"
|
||||
selector."c/descBase" = "serifless"
|
||||
selector."c/turnDescBase" = "unilateralSerifed"
|
||||
selector.cCurlyTail = "serifless"
|
||||
selector.cHookTop = "unilateralSerifed"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue