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
|
@ -4,6 +4,9 @@
|
|||
- CYRILLIC CAPITAL LETTER KOMI DZJE (`U+0506`).
|
||||
- CYRILLIC SMALL LETTER KOMI DZJE (`U+0507`).
|
||||
- THERE DOES NOT EXIST (`U+2204`).
|
||||
- CYRILLIC CAPITAL LETTER IOTIFIED A (`U+A656`).
|
||||
- CYRILLIC CAPITAL LETTER IOTIFIED CLOSED LITTLE YUS (`U+A65C`).
|
||||
- CYRILLIC SMALL LETTER IOTIFIED CLOSED LITTLE YUS (`U+A65D`).
|
||||
- LATIN CAPITAL LETTER VOLAPUK UE (`U+A79E`).
|
||||
- LATIN SMALL LETTER VOLAPUK UE (`U+A79F`).
|
||||
- MODIFIER LETTER SMALL CAPITAL G WITH HOOK (`U+10794`).
|
||||
|
|
|
@ -100,7 +100,6 @@ 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
|
||||
|
@ -108,10 +107,6 @@ glyph-block Letter-Cyrillic-BigYus : begin
|
|||
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
|
||||
|
||||
create-glyph 'cyrl/BigYusIotified' 0x46C : glyph-proc
|
||||
local df : include : DivFrame (para.advanceScaleM ** 2) 4.25
|
||||
include : df.markSet.capital
|
||||
|
|
|
@ -102,28 +102,28 @@ glyph-block Letter-Cyrillic-Iotified-A : begin
|
|||
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
|
||||
|
|
|
@ -79,24 +79,25 @@ 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
|
||||
|
||||
create-glyph : glyph-proc
|
||||
local df : include : DivFrame (para.advanceScaleM ** 2) 4.25
|
||||
include : df.markSet.capital
|
||||
|
@ -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
|
||||
|
|
|
@ -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