Cleanup/optimization of a few loosely-related Cyrillic letters. (#2600)
* Cleanup and optimization of Bulgarian Cyrillic Ef. * Stabilize arch depth of Abkhasian Che. * Code cleanup of `lower-epsilon.ptl`. * Optimize archdepth of stretchedC, width of eswide.
This commit is contained in:
parent
803a720ddd
commit
632be92ef7
5 changed files with 84 additions and 92 deletions
|
@ -15,3 +15,4 @@
|
||||||
- MODIFIER LETTER SMALL CAPITAL OE (`U+107A3`).
|
- MODIFIER LETTER SMALL CAPITAL OE (`U+107A3`).
|
||||||
- MODIFIER LETTER CYRILLIC SMALL EM (`U+1E03B`).
|
- MODIFIER LETTER CYRILLIC SMALL EM (`U+1E03B`).
|
||||||
* Make LATIN SMALL LIGATURE FF (`U+FB00`) ... LATIN SMALL LIGATURE FFL (`U+FB04`) slightly narrower under Quasi-Proportional.
|
* Make LATIN SMALL LIGATURE FF (`U+FB00`) ... LATIN SMALL LIGATURE FFL (`U+FB04`) slightly narrower under Quasi-Proportional.
|
||||||
|
* Optimize glyphs for Bulgarian Cyrillic Capital/Small Letter Ef (`U+0424`, `U+0444`).
|
||||||
|
|
|
@ -246,18 +246,20 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
|
||||||
|
|
||||||
create-glyph "cyrl/Dhe.\(suffix)" : glyph-proc
|
create-glyph "cyrl/Dhe.\(suffix)" : glyph-proc
|
||||||
include [refer-glyph "cyrl/Ze.\(suffix)"] AS_BASE ALSO_METRICS
|
include [refer-glyph "cyrl/Ze.\(suffix)"] AS_BASE ALSO_METRICS
|
||||||
include : ExtendBelowBaseAnchors (-LongJut + 0.5 * Stroke)
|
local desc : (-LongJut) + HalfStroke
|
||||||
|
include : ExtendBelowBaseAnchors desc
|
||||||
include : let [zeNoO : CyrZe slabTop slabBot CAP 0 (hook -- Hook) (xo -- 0) (yo -- 0)]
|
include : let [zeNoO : CyrZe slabTop slabBot CAP 0 (hook -- Hook) (xo -- 0) (yo -- 0)]
|
||||||
difference
|
difference
|
||||||
VBar.m [arch.adjust-x.bot Middle] (-LongJut + 0.5 * Stroke) (Stroke + O) [AdviceStroke 3.5]
|
VBar.m [arch.adjust-x.bot Middle] desc (Stroke + O) [AdviceStroke 3.5]
|
||||||
zeNoO.ShapeMask
|
zeNoO.ShapeMask
|
||||||
|
|
||||||
create-glyph "cyrl/dhe.\(suffix)" : glyph-proc
|
create-glyph "cyrl/dhe.\(suffix)" : glyph-proc
|
||||||
include [refer-glyph "cyrl/ze.\(suffix)"] AS_BASE ALSO_METRICS
|
include [refer-glyph "cyrl/ze.\(suffix)"] AS_BASE ALSO_METRICS
|
||||||
include : ExtendBelowBaseAnchors (-LongJut + 0.5 * Stroke)
|
local desc : (-LongJut) + HalfStroke
|
||||||
|
include : ExtendBelowBaseAnchors desc
|
||||||
include : let [zeNoO : CyrZe slabTop slabBot XH 0 (hook -- SHook) (xo -- 0) (yo -- 0)]
|
include : let [zeNoO : CyrZe slabTop slabBot XH 0 (hook -- SHook) (xo -- 0) (yo -- 0)]
|
||||||
difference
|
difference
|
||||||
VBar.m [arch.adjust-x.bot Middle] (-LongJut + 0.5 * Stroke) (Stroke + O) [AdviceStroke 3.5]
|
VBar.m [arch.adjust-x.bot Middle] desc (Stroke + O) [AdviceStroke 3.5]
|
||||||
zeNoO.ShapeMask
|
zeNoO.ShapeMask
|
||||||
|
|
||||||
create-glyph "cyrl/DzjeKomi.\(suffix)" : glyph-proc
|
create-glyph "cyrl/DzjeKomi.\(suffix)" : glyph-proc
|
||||||
|
@ -376,8 +378,8 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
|
||||||
do "Volapuk AE"
|
do "Volapuk AE"
|
||||||
glyph-block-import Letter-Latin-Lower-A : SingleStorey
|
glyph-block-import Letter-Latin-Lower-A : SingleStorey
|
||||||
|
|
||||||
define [FullBarBody df height bar hook ada adb] : glyph-proc
|
define [FullBarBody df top bar hook ada adb] : glyph-proc
|
||||||
local eps : SmallEpsilon CLOSED-STEM CLOSED-STEM height 0
|
local eps : SmallEpsilon CLOSED-STEM CLOSED-STEM top 0
|
||||||
blend -- VolBlend
|
blend -- VolBlend
|
||||||
hook -- hook
|
hook -- hook
|
||||||
overflow -- 0
|
overflow -- 0
|
||||||
|
@ -385,10 +387,10 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
|
||||||
adb2 -- adb
|
adb2 -- adb
|
||||||
define [object stroke] : eps.Dim
|
define [object stroke] : eps.Dim
|
||||||
include : eps.Shape
|
include : eps.Shape
|
||||||
include : bar df height stroke
|
include : bar df top stroke
|
||||||
|
|
||||||
define [EarlessCornerBody df height bar hook ada adb] : glyph-proc
|
define [EarlessCornerBody df top bar hook ada adb] : glyph-proc
|
||||||
local eps : SmallEpsilon SLAB-INWARD CLOSED-STEM height 0
|
local eps : SmallEpsilon SLAB-INWARD CLOSED-STEM top 0
|
||||||
blend -- VolBlend
|
blend -- VolBlend
|
||||||
hook -- hook
|
hook -- hook
|
||||||
overflow -- 0
|
overflow -- 0
|
||||||
|
@ -396,10 +398,10 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
|
||||||
adb2 -- adb
|
adb2 -- adb
|
||||||
define [object stroke] : eps.Dim
|
define [object stroke] : eps.Dim
|
||||||
include : eps.Shape
|
include : eps.Shape
|
||||||
include : bar df (height - DToothlessRise) stroke
|
include : bar df (top - DToothlessRise) stroke
|
||||||
|
|
||||||
define [EarlessRoundedBody df height bar hook ada adb] : glyph-proc
|
define [EarlessRoundedBody df top bar hook ada adb] : glyph-proc
|
||||||
local eps : SmallEpsilon CLOSED-ROUND CLOSED-STEM height 0
|
local eps : SmallEpsilon CLOSED-ROUND CLOSED-STEM top 0
|
||||||
blend -- VolBlend
|
blend -- VolBlend
|
||||||
hook -- hook
|
hook -- hook
|
||||||
overflow -- 0
|
overflow -- 0
|
||||||
|
@ -407,7 +409,7 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
|
||||||
adb2 -- adb
|
adb2 -- adb
|
||||||
define [object stroke] : eps.Dim
|
define [object stroke] : eps.Dim
|
||||||
include : eps.Shape
|
include : eps.Shape
|
||||||
include : bar df (height - adb) stroke
|
include : bar df (top - adb) stroke
|
||||||
|
|
||||||
define SingleStoreyConfig : object
|
define SingleStoreyConfig : object
|
||||||
singleStoreySerifless { FullBarBody SingleStorey.SeriflessBar }
|
singleStoreySerifless { FullBarBody SingleStorey.SeriflessBar }
|
||||||
|
@ -440,9 +442,9 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
|
||||||
glyph-block-import Letter-Latin-U : USerifs
|
glyph-block-import Letter-Latin-U : USerifs
|
||||||
glyph-block-import Letter-Shared-Shapes : RightwardTailedBar
|
glyph-block-import Letter-Shared-Shapes : RightwardTailedBar
|
||||||
|
|
||||||
define [UToothed df height slab hook ada adb] : glyph-proc
|
define [UToothed df top slab hook ada adb] : glyph-proc
|
||||||
set-base-anchor 'trailing' df.rightSB 0
|
set-base-anchor 'trailing' df.rightSB 0
|
||||||
local eps : SmallEpsilon OPEN-VERTICAL CLOSED-STEM height 0
|
local eps : SmallEpsilon OPEN-VERTICAL CLOSED-STEM top 0
|
||||||
blend -- VolBlend
|
blend -- VolBlend
|
||||||
hook -- hook
|
hook -- hook
|
||||||
overflow -- 0
|
overflow -- 0
|
||||||
|
@ -450,12 +452,12 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
|
||||||
adb2 -- adb
|
adb2 -- adb
|
||||||
define [object stroke] : eps.Dim
|
define [object stroke] : eps.Dim
|
||||||
include : eps.Shape
|
include : eps.Shape
|
||||||
include : VBar.r df.rightSB 0 height stroke
|
include : VBar.r df.rightSB 0 top stroke
|
||||||
include : slab df height
|
include : slab df top
|
||||||
|
|
||||||
define [UTailed df height slab hook ada adb] : glyph-proc
|
define [UTailed df top slab hook ada adb] : glyph-proc
|
||||||
set-base-anchor 'trailing' (df.rightSB + SideJut) 0
|
set-base-anchor 'trailing' (df.rightSB + SideJut) 0
|
||||||
local eps : SmallEpsilon OPEN-VERTICAL CLOSED-STEM height 0
|
local eps : SmallEpsilon OPEN-VERTICAL CLOSED-STEM top 0
|
||||||
blend -- VolBlend
|
blend -- VolBlend
|
||||||
hook -- hook
|
hook -- hook
|
||||||
overflow -- 0
|
overflow -- 0
|
||||||
|
@ -463,11 +465,11 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
|
||||||
adb2 -- adb
|
adb2 -- adb
|
||||||
define [object stroke] : eps.Dim
|
define [object stroke] : eps.Dim
|
||||||
include : eps.Shape
|
include : eps.Shape
|
||||||
include : RightwardTailedBar df.rightSB 0 height stroke
|
include : RightwardTailedBar df.rightSB 0 top stroke
|
||||||
include : slab df height
|
include : slab df top
|
||||||
|
|
||||||
define [UToothlessRounded df height slab hook ada adb] : glyph-proc
|
define [UToothlessRounded df top slab hook ada adb] : glyph-proc
|
||||||
local eps : SmallEpsilon OPEN-VERTICAL CLOSED-ROUND height 0
|
local eps : SmallEpsilon OPEN-VERTICAL CLOSED-ROUND top 0
|
||||||
blend -- VolBlend
|
blend -- VolBlend
|
||||||
hook -- hook
|
hook -- hook
|
||||||
overflow -- 0
|
overflow -- 0
|
||||||
|
@ -475,11 +477,11 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
|
||||||
adb2 -- adb
|
adb2 -- adb
|
||||||
define [object stroke] : eps.Dim
|
define [object stroke] : eps.Dim
|
||||||
include : eps.Shape
|
include : eps.Shape
|
||||||
include : VBar.r df.rightSB ada height stroke
|
include : VBar.r df.rightSB ada top stroke
|
||||||
include : slab df height
|
include : slab df top
|
||||||
|
|
||||||
define [UToothlessCorner df height slab hook ada adb] : glyph-proc
|
define [UToothlessCorner df top slab hook ada adb] : glyph-proc
|
||||||
local eps : SmallEpsilon OPEN-VERTICAL SLAB-INWARD height 0
|
local eps : SmallEpsilon OPEN-VERTICAL SLAB-INWARD top 0
|
||||||
blend -- VolBlend
|
blend -- VolBlend
|
||||||
hook -- hook
|
hook -- hook
|
||||||
overflow -- 0
|
overflow -- 0
|
||||||
|
@ -487,8 +489,8 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
|
||||||
adb2 -- adb
|
adb2 -- adb
|
||||||
define [object stroke] : eps.Dim
|
define [object stroke] : eps.Dim
|
||||||
include : eps.Shape
|
include : eps.Shape
|
||||||
include : VBar.r df.rightSB DToothlessRise height stroke
|
include : VBar.r df.rightSB DToothlessRise top stroke
|
||||||
include : slab df height stroke
|
include : slab df top stroke
|
||||||
|
|
||||||
define SmallUConfig : SuffixCfg.weave
|
define SmallUConfig : SuffixCfg.weave
|
||||||
object # body
|
object # body
|
||||||
|
|
|
@ -44,9 +44,6 @@ glyph-block Letter-Greek-Phi : begin
|
||||||
adb -- adb
|
adb -- adb
|
||||||
|
|
||||||
define [GrekLowerPhiCursiveRing fFlatTB df y2 y3] : glyph-proc
|
define [GrekLowerPhiCursiveRing fFlatTB df y2 y3] : glyph-proc
|
||||||
local df : include : DivFrame para.diversityM 3
|
|
||||||
include : df.markSet.e
|
|
||||||
|
|
||||||
local l : df.leftSB + OX * 2
|
local l : df.leftSB + OX * 2
|
||||||
local r : df.width - l
|
local r : df.width - l
|
||||||
include : dispiro
|
include : dispiro
|
||||||
|
@ -121,26 +118,26 @@ glyph-block Letter-Greek-Phi : begin
|
||||||
create-glyph 'grek/Phi' 0x3A6 : glyph-proc
|
create-glyph 'grek/Phi' 0x3A6 : glyph-proc
|
||||||
local df : include : DivFrame para.diversityM 3
|
local df : include : DivFrame para.diversityM 3
|
||||||
include : df.markSet.capital
|
include : df.markSet.capital
|
||||||
include : GrekCapitalPhiImpl 0 df
|
include : GrekCapitalPhiImpl false df
|
||||||
|
|
||||||
create-glyph 'cyrl/Ef' 0x424 : glyph-proc
|
create-glyph 'cyrl/Ef' 0x424 : glyph-proc
|
||||||
local df : include : DivFrame para.diversityM 3
|
local df : include : DivFrame para.diversityM 3
|
||||||
include : df.markSet.capital
|
include : df.markSet.capital
|
||||||
include : GrekCapitalPhiImpl 1 df
|
include : GrekCapitalPhiImpl true df
|
||||||
|
|
||||||
create-glyph 'cyrl/Ef.BGR' : glyph-proc
|
create-glyph 'cyrl/Ef.BGR' : glyph-proc
|
||||||
local df : include : DivFrame para.diversityM 3
|
local df : include : DivFrame para.diversityM 3
|
||||||
include : df.markSet.capital
|
include : df.markSet.capital
|
||||||
|
|
||||||
local vJut : Math.max (LongJut - 0.5 * Stroke) : if SLAB (1.5 * Stroke) 0
|
local vJut : Math.max (LongJut - HalfStroke) : if SLAB (1.5 * Stroke) 0
|
||||||
|
|
||||||
local top : CAP + vJut
|
local top : CAP + vJut
|
||||||
local bot : 0 - vJut
|
local bot : 0 - vJut
|
||||||
|
|
||||||
include : ExtendAboveBaseAnchors top
|
include : ExtendAboveBaseAnchors top
|
||||||
include : ExtendBelowBaseAnchors bot
|
include : ExtendBelowBaseAnchors bot
|
||||||
|
|
||||||
include : VarPhiRing 0 df 0 CAP
|
include : VarPhiRing true df 0 CAP
|
||||||
include : StraightBar df bot 0 CAP top
|
include : StraightBar df bot 0 CAP top
|
||||||
|
|
||||||
if SLAB : begin
|
if SLAB : begin
|
||||||
|
@ -150,24 +147,24 @@ glyph-block Letter-Greek-Phi : begin
|
||||||
create-glyph 'taillessphi' 0x2C77 : glyph-proc
|
create-glyph 'taillessphi' 0x2C77 : glyph-proc
|
||||||
local df : include : DivFrame para.diversityM 3
|
local df : include : DivFrame para.diversityM 3
|
||||||
include : df.markSet.e
|
include : df.markSet.e
|
||||||
include : GrekLowerPhiCursiveRing 0 df 0 XH
|
include : GrekLowerPhiCursiveRing false df 0 XH
|
||||||
|
|
||||||
create-glyph 'grek/phi.cursive' : glyph-proc
|
create-glyph 'grek/phi.cursive' : glyph-proc
|
||||||
local df : include : DivFrame para.diversityM 3
|
local df : include : DivFrame para.diversityM 3
|
||||||
include : df.markSet.p
|
include : df.markSet.p
|
||||||
include : GrekLowerPhiCursiveRing 0 df 0 XH
|
include : GrekLowerPhiCursiveRing false df 0 XH
|
||||||
include : VBar.m df.middle Descender (0.2 * df.mvs)
|
include : VBar.m df.middle Descender (0.2 * df.mvs)
|
||||||
|
|
||||||
create-glyph 'grek/phi.straight' : glyph-proc
|
create-glyph 'grek/phi.straight' : glyph-proc
|
||||||
local df : include : DivFrame para.diversityM 3
|
local df : include : DivFrame para.diversityM 3
|
||||||
include : df.markSet.bp
|
include : df.markSet.bp
|
||||||
include : VarPhiRing 0 df 0 XH
|
include : VarPhiRing false df 0 XH
|
||||||
include : StraightBar df Descender 0 XH Ascender
|
include : StraightBar df Descender 0 XH Ascender
|
||||||
|
|
||||||
create-glyph 'grek/phi.neohellenic' : glyph-proc
|
create-glyph 'grek/phi.neohellenic' : glyph-proc
|
||||||
local df : include : DivFrame para.diversityM 3
|
local df : include : DivFrame para.diversityM 3
|
||||||
include : df.markSet.p
|
include : df.markSet.p
|
||||||
include : VarPhiRing 0 df 0 XH
|
include : VarPhiRing false df 0 XH
|
||||||
include : VBar.m df.middle Descender (0.2 * df.mvs)
|
include : VBar.m df.middle Descender (0.2 * df.mvs)
|
||||||
|
|
||||||
select-variant 'grek/phi' 0x3C6
|
select-variant 'grek/phi' 0x3C6
|
||||||
|
@ -183,8 +180,8 @@ glyph-block Letter-Greek-Phi : begin
|
||||||
|
|
||||||
define CyrlLowerEfConfig : SuffixCfg.weave
|
define CyrlLowerEfConfig : SuffixCfg.weave
|
||||||
object # bowl
|
object # bowl
|
||||||
"" { VarPhiRing Stroke }
|
"" { VarPhiRing Stroke }
|
||||||
splitBowl { CyrlEfSplitRing [DivFrame para.diversityM 3].mvs }
|
splitBowl { CyrlEfSplitRing nothing }
|
||||||
object # bar
|
object # bar
|
||||||
serifless { StraightBar nothing nothing }
|
serifless { StraightBar nothing nothing }
|
||||||
topSerifed { StraightBar MtSerif nothing }
|
topSerifed { StraightBar MtSerif nothing }
|
||||||
|
@ -196,17 +193,11 @@ glyph-block Letter-Greek-Phi : begin
|
||||||
create-glyph "cyrl/ef.\(suffix)" : glyph-proc
|
create-glyph "cyrl/ef.\(suffix)" : glyph-proc
|
||||||
local df : include : DivFrame para.diversityM 3
|
local df : include : DivFrame para.diversityM 3
|
||||||
include : df.markSet.bp
|
include : df.markSet.bp
|
||||||
include : Bowl 1 df 0 XH
|
include : Bowl true df 0 XH
|
||||||
include : Bar df Descender 0 XH Ascender barSw
|
local mvs : fallback barSw df.mvs
|
||||||
if sMT : include : sMT df Ascender barSw
|
include : Bar df Descender 0 XH Ascender mvs
|
||||||
if sMB : include : sMB df Descender barSw
|
if sMT : include : sMT df Ascender mvs
|
||||||
create-glyph "cyrl/ef.BGR.\(suffix)" : glyph-proc
|
if sMB : include : sMB df Descender mvs
|
||||||
local df : include : DivFrame para.diversityM 3
|
|
||||||
include : df.markSet.bp
|
|
||||||
include : VarPhiRing 0 df 0 XH
|
|
||||||
include : Bar df Descender 0 XH Ascender barSw
|
|
||||||
if sMT : include : sMT df Ascender barSw
|
|
||||||
if sMB : include : sMB df Descender barSw
|
|
||||||
|
|
||||||
select-variant 'cyrl/ef' 0x444
|
select-variant 'cyrl/ef' 0x444
|
||||||
select-variant 'cyrl/ef.BGR'
|
select-variant 'cyrl/ef.BGR' (shapeFrom -- 'cyrl/ef')
|
||||||
|
|
|
@ -37,8 +37,7 @@ glyph-block Letter-Latin-C : begin
|
||||||
g4 (df.rightSB - offset) (top - [fallback hook Hook])
|
g4 (df.rightSB - offset) (top - [fallback hook Hook])
|
||||||
hookstart (top - offset) (sw -- sw)
|
hookstart (top - offset) (sw -- sw)
|
||||||
|
|
||||||
flat (df.leftSB + OX + offset) (top - ada)
|
flatside.ld (df.leftSB + offset) bot top ada adb
|
||||||
curl (df.leftSB + OX + offset) (bot + adb)
|
|
||||||
|
|
||||||
match sb
|
match sb
|
||||||
[Just SLAB-CLASSICAL] : SerifedArcEnd.LtrLhs (df.rightSB - offset) bot sw [fallback hook Hook] origBar
|
[Just SLAB-CLASSICAL] : SerifedArcEnd.LtrLhs (df.rightSB - offset) bot sw [fallback hook Hook] origBar
|
||||||
|
@ -64,8 +63,7 @@ glyph-block Letter-Latin-C : begin
|
||||||
g4 (df.leftSB + offset) (top - [fallback hook Hook])
|
g4 (df.leftSB + offset) (top - [fallback hook Hook])
|
||||||
hookstart (top - offset) (sw -- sw)
|
hookstart (top - offset) (sw -- sw)
|
||||||
|
|
||||||
flat (df.rightSB - OX + offset) (top - ada)
|
flatside.rd (df.rightSB + offset) bot top ada adb
|
||||||
curl (df.rightSB - OX + offset) (bot + adb)
|
|
||||||
|
|
||||||
match sb
|
match sb
|
||||||
[Just SLAB-CLASSICAL] : SerifedArcEnd.RtlRhs (df.leftSB + offset) bot sw [fallback hook Hook]
|
[Just SLAB-CLASSICAL] : SerifedArcEnd.RtlRhs (df.leftSB + offset) bot sw [fallback hook Hook]
|
||||||
|
@ -107,8 +105,7 @@ glyph-block Letter-Latin-C : begin
|
||||||
[Just SLAB-CLASSICAL] : SerifedArcStart.RtlLhs RightSB XH sw Hook
|
[Just SLAB-CLASSICAL] : SerifedArcStart.RtlLhs RightSB XH sw Hook
|
||||||
[Just SLAB-INWARD] : InwardSlabArcStart.RtlLhs RightSB XH sw Hook
|
[Just SLAB-INWARD] : InwardSlabArcStart.RtlLhs RightSB XH sw Hook
|
||||||
__ : list [g4 RightSB (XH - Hook) [widths.lhs sw]] [hookstart XH (sw -- sw)]
|
__ : list [g4 RightSB (XH - Hook) [widths.lhs sw]] [hookstart XH (sw -- sw)]
|
||||||
flat (SB + OX) (XH - SmallArchDepthA)
|
flatside.ld SB 0 XH SmallArchDepthA SmallArchDepthB
|
||||||
curl (SB + OX) SmallArchDepthB
|
|
||||||
CurlyTail.n fine 0 RightSB 0 0 (yLoopTop -- XH * 0.45)
|
CurlyTail.n fine 0 RightSB 0 0 (yLoopTop -- XH * 0.45)
|
||||||
|
|
||||||
glyph-block-export CLetterForm
|
glyph-block-export CLetterForm
|
||||||
|
@ -214,13 +211,13 @@ glyph-block Letter-Latin-C : begin
|
||||||
include : Translate 0 (SB / 2)
|
include : Translate 0 (SB / 2)
|
||||||
|
|
||||||
create-glyph "cyrl/esWide.\(suffix)" : glyph-proc
|
create-glyph "cyrl/esWide.\(suffix)" : glyph-proc
|
||||||
local df : include : DivFrame para.diversityM 3
|
local df : include : DivFrame para.diversityT 3
|
||||||
include : df.markSet.e
|
include : df.markSet.e
|
||||||
local desc : -LongJut + 0.5 * Stroke
|
local desc : (-LongJut) + HalfStroke
|
||||||
include : ExtendBelowBaseAnchors desc
|
include : ExtendBelowBaseAnchors desc
|
||||||
local lf : CLetterForm df sty styBot XH desc
|
local lf : CLetterForm df sty styBot XH desc
|
||||||
ada -- [df.archDepthA SmallArchDepth df.mvs]
|
ada -- [df.archDepthA SmallArchDepth Stroke]
|
||||||
adb -- [df.archDepthB SmallArchDepth df.mvs]
|
adb -- [df.archDepthB SmallArchDepth Stroke]
|
||||||
include : lf.full
|
include : lf.full
|
||||||
|
|
||||||
create-glyph "cHookTop.\(suffix)" : glyph-proc
|
create-glyph "cHookTop.\(suffix)" : glyph-proc
|
||||||
|
@ -240,10 +237,12 @@ glyph-block Letter-Latin-C : begin
|
||||||
create-glyph "stretchedC.\(suffix)" : glyph-proc
|
create-glyph "stretchedC.\(suffix)" : glyph-proc
|
||||||
include : MarkSet.p
|
include : MarkSet.p
|
||||||
local lf : CLetterForm [DivFrame 1] sty styBot XH Descender
|
local lf : CLetterForm [DivFrame 1] sty styBot XH Descender
|
||||||
|
ada -- SmallArchDepthA
|
||||||
|
adb -- SmallArchDepthB
|
||||||
include : lf.full
|
include : lf.full
|
||||||
|
|
||||||
define [KoppaShapeT styTop styBot top base] : union
|
define [KoppaShapeT styTop styBot top base] : union
|
||||||
VBar.r (Middle + [HSwToV Stroke]) Descender (Stroke / 2)
|
VBar.r (Middle + [HSwToV Stroke]) Descender HalfStroke
|
||||||
difference base
|
difference base
|
||||||
Rect (top / 2) Descender (Middle + [HSwToV Stroke]) (Width * 4)
|
Rect (top / 2) Descender (Middle + [HSwToV Stroke]) (Width * 4)
|
||||||
Rect (XH / 2) [mix Stroke Hook 0.5] Middle (Width * 4)
|
Rect (XH / 2) [mix Stroke Hook 0.5] Middle (Width * 4)
|
||||||
|
@ -357,9 +356,10 @@ glyph-block Letter-Latin-C : begin
|
||||||
|
|
||||||
derive-glyphs 'cyrl/The' 0x4AA "cyrl/Es" : function [src gr] : glyph-proc
|
derive-glyphs 'cyrl/The' 0x4AA "cyrl/Es" : function [src gr] : glyph-proc
|
||||||
include [refer-glyph src] AS_BASE ALSO_METRICS
|
include [refer-glyph src] AS_BASE ALSO_METRICS
|
||||||
include : ExtendBelowBaseAnchors (-LongJut + 0.5 * Stroke)
|
local desc : (-LongJut) + HalfStroke
|
||||||
|
include : ExtendBelowBaseAnchors desc
|
||||||
include : difference
|
include : difference
|
||||||
VBar.m [arch.adjust-x.bot Middle] (-LongJut + 0.5 * Stroke) (Stroke + O) [AdviceStroke 3.5]
|
VBar.m [arch.adjust-x.bot Middle] desc (Stroke + O) [AdviceStroke 3.5]
|
||||||
OShapeOutline.NoOvershoot CAP 0 SB RightSB Stroke ArchDepthA ArchDepthB
|
OShapeOutline.NoOvershoot CAP 0 SB RightSB Stroke ArchDepthA ArchDepthB
|
||||||
|
|
||||||
derive-multi-part-glyphs 'cyrl/The.BSH' null { 'cyrl/Es' 'invCommaBelow' } : lambda [srcs gr] : glyph-proc
|
derive-multi-part-glyphs 'cyrl/The.BSH' null { 'cyrl/Es' 'invCommaBelow' } : lambda [srcs gr] : glyph-proc
|
||||||
|
@ -373,9 +373,10 @@ glyph-block Letter-Latin-C : begin
|
||||||
|
|
||||||
derive-glyphs 'cyrl/the' 0x4AB "cyrl/es" : function [src gr] : glyph-proc
|
derive-glyphs 'cyrl/the' 0x4AB "cyrl/es" : function [src gr] : glyph-proc
|
||||||
include [refer-glyph src] AS_BASE ALSO_METRICS
|
include [refer-glyph src] AS_BASE ALSO_METRICS
|
||||||
include : ExtendBelowBaseAnchors (-LongJut + 0.5 * Stroke)
|
local desc : (-LongJut) + HalfStroke
|
||||||
|
include : ExtendBelowBaseAnchors desc
|
||||||
include : difference
|
include : difference
|
||||||
VBar.m [arch.adjust-x.bot Middle] (-LongJut + 0.5 * Stroke) (Stroke + O) [AdviceStroke 3.5]
|
VBar.m [arch.adjust-x.bot Middle] desc (Stroke + O) [AdviceStroke 3.5]
|
||||||
OShapeOutline.NoOvershoot XH 0 SB RightSB Stroke SmallArchDepthA SmallArchDepthB
|
OShapeOutline.NoOvershoot XH 0 SB RightSB Stroke SmallArchDepthA SmallArchDepthB
|
||||||
|
|
||||||
derive-multi-part-glyphs 'cyrl/the.BSH' null { 'cyrl/es' 'invCommaBelow' } : lambda [srcs gr] : glyph-proc
|
derive-multi-part-glyphs 'cyrl/the.BSH' null { 'cyrl/es' 'invCommaBelow' } : lambda [srcs gr] : glyph-proc
|
||||||
|
@ -441,12 +442,12 @@ glyph-block Letter-Latin-C : begin
|
||||||
curl df.middle [mix bot top 0.5] [widths.center.heading swBarFine Upward]
|
curl df.middle [mix bot top 0.5] [widths.center.heading swBarFine Upward]
|
||||||
|
|
||||||
define [OutlineMask df] : spiro-outline
|
define [OutlineMask df] : spiro-outline
|
||||||
curl (df.leftSB + 0.5 * Stroke) (post@ <-> SmallArchDepthA)
|
curl (df.leftSB + HalfStroke) (post@ <-> SmallArchDepthA)
|
||||||
arch.rhs (sw -- Stroke) (tMask - 0.5 * Stroke)
|
arch.rhs (sw -- Stroke) (tMask - HalfStroke)
|
||||||
flat (df.rightSB - 0.5 * Stroke) (pre@ <-> SmallArchDepthB)
|
flat (df.rightSB - HalfStroke) (pre@ <-> SmallArchDepthB)
|
||||||
curl pre@ (post@ <+> SmallArchDepthA)
|
curl pre@ (post@ <+> SmallArchDepthA)
|
||||||
arch.rhs (sw -- Stroke) (bMask + 0.5 * Stroke)
|
arch.rhs (sw -- Stroke) (bMask + HalfStroke)
|
||||||
flat post@ (pre@ <+> SmallArchDepthB)
|
flat post@ (pre@ <+> SmallArchDepthB)
|
||||||
|
|
||||||
define [InterruptMask df] : begin
|
define [InterruptMask df] : begin
|
||||||
define gap : Math.max (XH / 8) [AdviceStroke2 6 6 XH]
|
define gap : Math.max (XH / 8) [AdviceStroke2 6 6 XH]
|
||||||
|
|
|
@ -52,8 +52,7 @@ glyph-block Letter-Latin-Lower-E : begin
|
||||||
flat (df.rightSB - OX) barBottom [heading Upward]
|
flat (df.rightSB - OX) barBottom [heading Upward]
|
||||||
curl (df.rightSB - OX) (top - adb)
|
curl (df.rightSB - OX) (top - adb)
|
||||||
arch.lhs top (sw -- stroke)
|
arch.lhs top (sw -- stroke)
|
||||||
flat (df.leftSB + OX) (top - ada)
|
flatside.ld df.leftSB 0 top ada adb
|
||||||
curl (df.leftSB + OX) (0 + adb)
|
|
||||||
SmallESerifedTerminalShape df top stroke tailSlab noSwash
|
SmallESerifedTerminalShape df top stroke tailSlab noSwash
|
||||||
|
|
||||||
include : SmallETerminalSerif df top stroke tailSlab noSwash
|
include : SmallETerminalSerif df top stroke tailSlab noSwash
|
||||||
|
@ -73,10 +72,9 @@ glyph-block Letter-Latin-Lower-E : begin
|
||||||
flat (df.leftSB + OX) barBottom [heading Upward]
|
flat (df.leftSB + OX) barBottom [heading Upward]
|
||||||
curl (df.leftSB + OX) (top - ada)
|
curl (df.leftSB + OX) (top - ada)
|
||||||
arch.rhs top (sw -- stroke)
|
arch.rhs top (sw -- stroke)
|
||||||
flat (df.rightSB - OX) (top - adb)
|
flatside.rd df.rightSB 0 top ada adb
|
||||||
curl (df.rightSB - OX) (0 + ada)
|
|
||||||
hookend 0 (sw -- stroke)
|
hookend 0 (sw -- stroke)
|
||||||
g4 (df.leftSB + 0.5 * OX) [HookHeight top stroke true]
|
g4 (df.leftSB + 0.5 * OX) [HookHeight top stroke true]
|
||||||
|
|
||||||
glyph-block-export SmallERoundedShape
|
glyph-block-export SmallERoundedShape
|
||||||
define [SmallERoundedShape] : with-params [
|
define [SmallERoundedShape] : with-params [
|
||||||
|
@ -92,10 +90,9 @@ glyph-block Letter-Latin-Lower-E : begin
|
||||||
if para.isItalic [alsoThru.g2 0.5 0.8] [list]
|
if para.isItalic [alsoThru.g2 0.5 0.8] [list]
|
||||||
[if para.isItalic g4.right.mid curl] [mix xStart df.rightSB 0.475] (barBottom - extraCurliness)
|
[if para.isItalic g4.right.mid curl] [mix xStart df.rightSB 0.475] (barBottom - extraCurliness)
|
||||||
archv
|
archv
|
||||||
g4 (df.rightSB - OX) [YSmoothMidR top barBottom]
|
g4 (df.rightSB - OX) [YSmoothMidR top barBottom]
|
||||||
arch.lhs top (sw -- stroke)
|
arch.lhs top (sw -- stroke)
|
||||||
flat (df.leftSB + OX) (top - ada)
|
flatside.ld df.leftSB 0 top ada adb
|
||||||
curl (df.leftSB + OX) (0 + adb)
|
|
||||||
SmallESerifedTerminalShape df top stroke tailSlab noSwash
|
SmallESerifedTerminalShape df top stroke tailSlab noSwash
|
||||||
|
|
||||||
include : SmallETerminalSerif df top stroke tailSlab noSwash
|
include : SmallETerminalSerif df top stroke tailSlab noSwash
|
||||||
|
@ -117,12 +114,11 @@ glyph-block Letter-Latin-Lower-E : begin
|
||||||
if para.isItalic [alsoThru.g2 0.5 0.8] [list]
|
if para.isItalic [alsoThru.g2 0.5 0.8] [list]
|
||||||
[if para.isItalic g4.left.mid curl] [mix xStart df.leftSB 0.475] (barBottom - extraCurliness)
|
[if para.isItalic g4.left.mid curl] [mix xStart df.leftSB 0.475] (barBottom - extraCurliness)
|
||||||
archv
|
archv
|
||||||
g4 (df.leftSB + OX) [YSmoothMidL top barBottom]
|
g4 (df.leftSB + OX) [YSmoothMidL top barBottom]
|
||||||
arch.rhs top (sw -- stroke)
|
arch.rhs top (sw -- stroke)
|
||||||
flat (df.rightSB - OX) (top - adb)
|
flatside.rd df.rightSB 0 top ada adb
|
||||||
curl (df.rightSB - OX) (0 + ada)
|
|
||||||
hookend 0 (sw -- stroke)
|
hookend 0 (sw -- stroke)
|
||||||
g4 (df.leftSB + 0.5 * OX) [HookHeight top stroke true]
|
g4 (df.leftSB + 0.5 * OX) [HookHeight top stroke true]
|
||||||
|
|
||||||
define [AbkCheShape] : with-params [
|
define [AbkCheShape] : with-params [
|
||||||
fDesc Body df top [stroke df.mvs] [barpos nothing]
|
fDesc Body df top [stroke df.mvs] [barpos nothing]
|
||||||
|
@ -134,14 +130,15 @@ glyph-block Letter-Latin-Lower-E : begin
|
||||||
include : Body dfSub top
|
include : Body dfSub top
|
||||||
stroke -- stroke
|
stroke -- stroke
|
||||||
barpos -- barpos
|
barpos -- barpos
|
||||||
ada -- (ada * divSub)
|
ada -- [clamp (stroke * 1.5) (top - adb * divSub - TINY) (ada * divSub)]
|
||||||
adb -- (adb * divSub)
|
adb -- [clamp (stroke * 1.5) (top - ada * divSub - TINY) (adb * divSub)]
|
||||||
tailSlab -- tailSlab
|
tailSlab -- tailSlab
|
||||||
define offset : Width * (df.div - divSub)
|
define offset : Width * (df.div - divSub)
|
||||||
if fDesc : begin
|
if fDesc : begin
|
||||||
include : ExtendBelowBaseAnchors (-LongJut + 0.5 * Stroke)
|
local desc : (-LongJut) + HalfStroke
|
||||||
|
include : ExtendBelowBaseAnchors desc
|
||||||
include : difference
|
include : difference
|
||||||
VBar.m dfSub.middle (-LongJut + 0.5 * Stroke) (stroke + O) [AdviceStroke 3.5 df.div]
|
VBar.m dfSub.middle desc (stroke + O) [AdviceStroke 3.5 df.div]
|
||||||
OShapeOutline.NoOvershoot top 0 dfSub.leftSB dfSub.rightSB stroke
|
OShapeOutline.NoOvershoot top 0 dfSub.leftSB dfSub.rightSB stroke
|
||||||
include : Translate offset 0
|
include : Translate offset 0
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue