Optimize glyphs for Iotified A, Closed Little Yus.
This commit is contained in:
parent
8547436f4b
commit
c3ca79eca8
5 changed files with 78 additions and 79 deletions
|
@ -100,17 +100,12 @@ glyph-block Letter-Cyrillic-BigYus : begin
|
|||
define divSub : (df.width - gap - df.mvs) / Width
|
||||
define dfSub : DivFrame divSub 3
|
||||
include : CyrBigYusShape dfSub top yp df.mvs
|
||||
eject-contour 'serifRB'
|
||||
include : Translate (Width * (df.adws - divSub)) 0
|
||||
|
||||
include : Iotified.outer df top
|
||||
hBarRight -- [mix df.leftSB df.rightSB (2 / 3)]
|
||||
hBarY -- (top * yp - df.mvs * 0.5)
|
||||
fCapital -- fCapital
|
||||
|
||||
if SLAB : begin
|
||||
local sf : SerifFrame.fromDf df top 0 (swSerif -- df.mvs)
|
||||
include sf.rb.outer
|
||||
hBarY -- (top * yp - df.mvs * 0.5)
|
||||
fCapital -- fCapital
|
||||
|
||||
create-glyph 'cyrl/BigYusIotified' 0x46C : glyph-proc
|
||||
local df : include : DivFrame (para.advanceScaleM ** 2) 4.25
|
||||
|
|
|
@ -55,75 +55,75 @@ glyph-block Letter-Cyrillic-Iotified-A : begin
|
|||
export : define [full] : with-params [df top hBarRight hBarY [fCapital false] [swSerif df.mvs]] : begin
|
||||
local useItalicShape : [not fCapital] && para.isItalic
|
||||
Shape
|
||||
df -- df
|
||||
top -- top
|
||||
hBarRight -- hBarRight
|
||||
hBarY -- hBarY
|
||||
slabTop -- [if useItalicShape SLAB-OUTWARD SLAB-FULL]
|
||||
df -- df
|
||||
top -- top
|
||||
hBarRight -- hBarRight
|
||||
hBarY -- hBarY
|
||||
slabTop -- [if useItalicShape SLAB-OUTWARD SLAB-FULL]
|
||||
slabBottom -- [if useItalicShape SLAB-NONE SLAB-FULL]
|
||||
swSerif -- swSerif
|
||||
swSerif -- swSerif
|
||||
|
||||
# Outwards only
|
||||
export : define [outer] : with-params [df top hBarRight hBarY [fCapital false] [swSerif df.mvs]] : begin
|
||||
local useItalicShape : [not fCapital] && para.isItalic
|
||||
Shape
|
||||
df -- df
|
||||
top -- top
|
||||
hBarRight -- hBarRight
|
||||
hBarY -- hBarY
|
||||
slabTop -- SLAB-OUTWARD
|
||||
df -- df
|
||||
top -- top
|
||||
hBarRight -- hBarRight
|
||||
hBarY -- hBarY
|
||||
slabTop -- SLAB-OUTWARD
|
||||
slabBottom -- [if useItalicShape SLAB-NONE SLAB-OUTWARD]
|
||||
swSerif -- swSerif
|
||||
swSerif -- swSerif
|
||||
|
||||
# Iotified A-shaped glyphs
|
||||
export : define [A] : with-params [df top hBarRight hBarY [fCapital false] [swSerif df.mvs]] : begin
|
||||
local useItalicShape : [not fCapital] && para.isItalic
|
||||
Shape
|
||||
df -- df
|
||||
top -- top
|
||||
hBarRight -- hBarRight
|
||||
hBarY -- hBarY
|
||||
slabTop -- [if useItalicShape SLAB-OUTWARD SLAB-FULL]
|
||||
df -- df
|
||||
top -- top
|
||||
hBarRight -- hBarRight
|
||||
hBarY -- hBarY
|
||||
slabTop -- [if useItalicShape SLAB-OUTWARD SLAB-FULL]
|
||||
slabBottom -- [if useItalicShape SLAB-NONE SLAB-OUTWARD]
|
||||
swSerif -- swSerif
|
||||
swSerif -- swSerif
|
||||
|
||||
# Used for Bulgarian Lower Yu
|
||||
export : define [ascender] : with-params [df top hBarRight hBarY [fCapital false] [swSerif df.mvs]] : begin
|
||||
local useItalicShape : [not fCapital] && para.isItalic
|
||||
Shape
|
||||
df -- df
|
||||
top -- top
|
||||
hBarRight -- hBarRight
|
||||
hBarY -- hBarY
|
||||
slabTop -- SLAB-OUTWARD
|
||||
df -- df
|
||||
top -- top
|
||||
hBarRight -- hBarRight
|
||||
hBarY -- hBarY
|
||||
slabTop -- SLAB-OUTWARD
|
||||
slabBottom -- [if useItalicShape SLAB-NONE SLAB-FULL]
|
||||
swSerif -- swSerif
|
||||
swSerif -- swSerif
|
||||
|
||||
do "iotified A"
|
||||
glyph-block-import Letter-Latin-Upper-A : AShape AConfig
|
||||
|
||||
foreach { suffix { fStraightBar slabKind } } [Object.entries AConfig] : do
|
||||
foreach { suffix { bodyShape slabKind } } [Object.entries AConfig] : do
|
||||
create-glyph "cyrl/AIotified.\(suffix)" : glyph-proc
|
||||
define df : include : DivFrame para.advanceScaleM 3.5
|
||||
include : df.markSet.capital
|
||||
|
||||
local gap : (df.width - 2 * df.leftSB - 3 * df.mvs) / 3
|
||||
local divSub : (df.width - gap - df.mvs) / Width
|
||||
local subDf : DivFrame divSub 2 (df.leftSB / SB) df.mvs 0
|
||||
local subDf : DivFrame divSub 2
|
||||
|
||||
local shift : Width * (df.adws - divSub)
|
||||
local xIotifiedBarRight : df.leftSB + [HSwToV df.mvs]
|
||||
local botGap : Math.max ((df.rightSB - df.leftSB) * 0.08) [AdviceStroke 6]
|
||||
local botGap : Math.max ((df.rightSB - df.leftSB) * 0.08) : AdviceStroke 6
|
||||
include : difference
|
||||
with-transform [ApparentTranslate shift 0]
|
||||
AShape.Letter subDf fStraightBar slabKind CAP df.mvs
|
||||
AShape.Letter subDf bodyShape slabKind CAP df.mvs
|
||||
intersection [MaskBelow df.mvs]
|
||||
MaskLeft : mix xIotifiedBarRight [Math.min (subDf.leftSB + shift) (xIotifiedBarRight + botGap)] 0.5
|
||||
|
||||
include : difference
|
||||
Iotified.A df CAP [mix df.leftSB df.rightSB (3 / 4)] (CAP / 2) (fCapital -- true)
|
||||
with-transform [ApparentTranslate shift 0]
|
||||
AShape.Mask subDf fStraightBar CAP df.mvs
|
||||
AShape.Mask subDf bodyShape CAP df.mvs
|
||||
|
||||
do "iotified a"
|
||||
glyph-block-import Letter-Latin-Lower-A : DoubleStorey DoubleStoreyConfig SingleStorey SingleStoreyConfig
|
||||
|
@ -183,8 +183,8 @@ glyph-block Letter-Cyrillic-Iotified-A : begin
|
|||
include : with-transform [ApparentTranslate shift 0]
|
||||
body subDf XH
|
||||
stroke -- df.mvs
|
||||
ada -- (SmallArchDepthA * 0.7 * df.adws)
|
||||
adb -- (SmallArchDepthB * 0.7 * df.adws)
|
||||
ada -- (SmallArchDepthA * 0.7 * df.adws)
|
||||
adb -- (SmallArchDepthB * 0.7 * df.adws)
|
||||
|
||||
include : Iotified.full df XH (shift + subDf.leftSB + [HSwToV : 0.5 * df.mvs]) (XH / 2)
|
||||
|
||||
|
|
|
@ -15,11 +15,11 @@ glyph-block Letter-Cyrillic-SmallYus : begin
|
|||
define [CyrSmallYusShape df top straightBar _fine] : glyph-proc
|
||||
local fine : fallback _fine : AdviceStroke 3.3 df.adws
|
||||
include : LambdaShape
|
||||
df -- df
|
||||
df -- df
|
||||
fBarStraight -- straightBar
|
||||
slabKind -- 0
|
||||
top -- top
|
||||
sw -- fine
|
||||
slabKind -- 0
|
||||
top -- top
|
||||
sw -- fine
|
||||
include : intersection
|
||||
HBar.t df.leftSB df.rightSB (top / 2) fine
|
||||
AShape.Mask df [if straightBar 1 0] top fine
|
||||
|
@ -35,11 +35,11 @@ glyph-block Letter-Cyrillic-SmallYus : begin
|
|||
define [CyrClosedSmallYusShape df top straightBar _fine] : glyph-proc
|
||||
local fine : fallback _fine : AdviceStroke 2.75 df.adws
|
||||
include : DeltaShape
|
||||
df -- df
|
||||
top -- top
|
||||
sw -- fine
|
||||
df -- df
|
||||
top -- top
|
||||
sw -- fine
|
||||
fBarStraight -- straightBar
|
||||
slab -- false
|
||||
slab -- false
|
||||
include : intersection
|
||||
HBar.t df.leftSB df.rightSB (top / 2) fine
|
||||
AShape.Mask df [if straightBar 1 0] top fine
|
||||
|
@ -79,23 +79,24 @@ glyph-block Letter-Cyrillic-SmallYus : begin
|
|||
select-variant 'cyrl/smallYusClosed' 0xA659 (follow -- 'grek/Delta')
|
||||
|
||||
define [CyrIotifiedSmallYusShape fClosed fCapital df top straightBar] : glyph-proc
|
||||
local gap : (df.width - 2 * df.leftSB - 4 * df.mvs) / 3
|
||||
local gap : (df.width - 2 * df.leftSB - [if fClosed 3 4] * df.mvs) / 3
|
||||
define divSub : (df.width - gap - df.mvs) / Width
|
||||
define dfSub : DivFrame divSub 3
|
||||
if fClosed
|
||||
include : CyrClosedSmallYusShape dfSub top straightBar df.mvs
|
||||
include : CyrSmallYusShape dfSub top straightBar df.mvs
|
||||
eject-contour 'serifRB'
|
||||
include : Translate (Width * (df.adws - divSub)) 0
|
||||
define dfSub : DivFrame divSub : if fClosed 2 3
|
||||
|
||||
local shift : Width * (df.adws - divSub)
|
||||
local xIotifiedBarRight : df.leftSB + [HSwToV df.mvs]
|
||||
local botGap : Math.max ((df.rightSB - df.leftSB) * 0.08) : AdviceStroke 6
|
||||
include : difference
|
||||
with-transform [ApparentTranslate shift 0] : if fClosed
|
||||
CyrClosedSmallYusShape dfSub top straightBar df.mvs
|
||||
CyrSmallYusShape dfSub top straightBar df.mvs
|
||||
intersection [MaskBelow df.mvs]
|
||||
MaskLeft : mix xIotifiedBarRight [Math.min (dfSub.leftSB + shift) (xIotifiedBarRight + botGap)] 0.5
|
||||
|
||||
include : Iotified.A df top
|
||||
hBarRight -- [mix df.leftSB df.rightSB (2 / 3)]
|
||||
hBarY -- (top / 2 - df.mvs * 0.5)
|
||||
fCapital -- fCapital
|
||||
|
||||
if SLAB : begin
|
||||
local sf : SerifFrame.fromDf df top 0 (swSerif -- df.mvs)
|
||||
include sf.rb.outer
|
||||
hBarY -- (top / 2 - df.mvs * 0.5)
|
||||
fCapital -- fCapital
|
||||
|
||||
create-glyph : glyph-proc
|
||||
local df : include : DivFrame (para.advanceScaleM ** 2) 4.25
|
||||
|
@ -114,7 +115,7 @@ glyph-block Letter-Cyrillic-SmallYus : begin
|
|||
CyrIotifiedSmallYusShape false false df XH false
|
||||
|
||||
create-glyph : glyph-proc
|
||||
local df : include : DivFrame para.advanceScaleM 4.25
|
||||
local df : include : DivFrame para.advanceScaleM 3.5
|
||||
include : df.markSet.capital
|
||||
create-forked-glyph 'cyrl/SmallYusClosedIotified.straight'
|
||||
CyrIotifiedSmallYusShape true true df CAP true
|
||||
|
@ -122,7 +123,7 @@ glyph-block Letter-Cyrillic-SmallYus : begin
|
|||
CyrIotifiedSmallYusShape true true df CAP false
|
||||
|
||||
create-glyph : glyph-proc
|
||||
local df : include : DivFrame para.advanceScaleM 4.25
|
||||
local df : include : DivFrame para.advanceScaleM 3.5
|
||||
include : df.markSet.e
|
||||
create-forked-glyph 'cyrl/smallYusClosedIotified.straight'
|
||||
CyrIotifiedSmallYusShape true false df XH true
|
||||
|
|
|
@ -141,11 +141,11 @@ glyph-block Letter-Latin-Upper-Lambda-Delta : begin
|
|||
glyph-block-export DeltaShape
|
||||
define [DeltaShape] : with-params [df top sw fBarStraight] : union
|
||||
LambdaShape
|
||||
df -- df
|
||||
df -- df
|
||||
fBarStraight -- fBarStraight
|
||||
slabKind -- 0
|
||||
top -- top
|
||||
sw -- sw
|
||||
slabKind -- 0
|
||||
top -- top
|
||||
sw -- sw
|
||||
intersection
|
||||
HBar.b 0 df.width 0 sw
|
||||
LambdaMask df fBarStraight top sw
|
||||
|
@ -158,37 +158,37 @@ glyph-block Letter-Latin-Upper-Lambda-Delta : begin
|
|||
create-glyph "grek/Delta.\(suffix)" : glyph-proc
|
||||
include : MarkSet.capital
|
||||
include : DeltaShape
|
||||
df -- [DivFrame 1]
|
||||
df -- [DivFrame 1]
|
||||
fBarStraight -- fBarStraight
|
||||
top -- CAP
|
||||
sw -- Stroke
|
||||
top -- CAP
|
||||
sw -- Stroke
|
||||
|
||||
create-glyph "increment.\(suffix)" : glyph-proc
|
||||
include : MarkSet.capital
|
||||
include : DeltaShape
|
||||
df -- [DivFrame 1]
|
||||
df -- [DivFrame 1]
|
||||
fBarStraight -- fBarStraight
|
||||
top -- CAP
|
||||
sw -- OperatorStroke
|
||||
top -- CAP
|
||||
sw -- OperatorStroke
|
||||
|
||||
create-glyph "increment.aplForm.\(suffix)" : glyph-proc
|
||||
include : MarkSet.oper
|
||||
define shapeHeight : OperTop - OperBot
|
||||
include : DeltaShape
|
||||
df -- [DivFrame 1]
|
||||
df -- [DivFrame 1]
|
||||
fBarStraight -- fBarStraight
|
||||
top -- shapeHeight
|
||||
sw -- OperatorStroke
|
||||
top -- shapeHeight
|
||||
sw -- OperatorStroke
|
||||
include : ApparentTranslate 0 (SymbolMid - shapeHeight / 2)
|
||||
|
||||
create-glyph "increment.aplThin.\(suffix)" : glyph-proc
|
||||
include : MarkSet.oper
|
||||
define shapeHeight : OperTop - OperBot
|
||||
include : DeltaShape
|
||||
df -- [DivFrame 1]
|
||||
df -- [DivFrame 1]
|
||||
fBarStraight -- fBarStraight
|
||||
top -- shapeHeight
|
||||
sw -- [AdviceStroke 3.75]
|
||||
top -- shapeHeight
|
||||
sw -- [AdviceStroke 3.75]
|
||||
include : ApparentTranslate 0 (SymbolMid - shapeHeight / 2)
|
||||
|
||||
define [CodeNonApl u] : if (para.variantSelector.__enableAplForm === 'enable') null u
|
||||
|
@ -209,6 +209,6 @@ glyph-block Letter-Latin-Upper-Lambda-Delta : begin
|
|||
local xCutLeft SB
|
||||
local xCutRight RightSB
|
||||
include : HBar.b (xCutLeft - descenderOverflow) (xCutRight + descenderOverflow) 0
|
||||
include : VBar.l (xCutLeft - descenderOverflow) (-LongVJut + HalfStroke) Stroke
|
||||
include : VBar.r (xCutRight + descenderOverflow) (-LongVJut + HalfStroke) Stroke
|
||||
include : VBar.l (xCutLeft - descenderOverflow) ((-LongVJut) + QuarterStroke) Stroke
|
||||
include : VBar.r (xCutRight + descenderOverflow) ((-LongVJut) + QuarterStroke) Stroke
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue