Optimize glyphs for Ի
/Կ
/Վ
(Armenian). (#2574)
* Cleanup of #2571 . * Optimize glyphs for `Ի`/`Կ`/`Վ`. * Cleanup of #2573 .
This commit is contained in:
parent
71ef1de1a4
commit
3f20b14e5a
9 changed files with 47 additions and 39 deletions
|
@ -1,2 +1,5 @@
|
||||||
|
* Optimize glyphs for Armenian Capital Ini (`U+053B`), Ken (`U+053F`), and Vew (`U+054E`).
|
||||||
|
* Remove bottom-right serif from Armenian Capital Now (`U+0546`).
|
||||||
|
* Remove top-right serif from Armenian Lower Ben (`U+0562`).
|
||||||
* Make serif of Armenian Lower Yi (`U+0575`) consistent with Armenian Lower Liwn (`U+056C`).
|
* Make serif of Armenian Lower Yi (`U+0575`) consistent with Armenian Lower Liwn (`U+056C`).
|
||||||
* Make hook of Armenian Lower Co (`U+0581`) consistent with Armenian Lower Yi (`U+0575`).
|
* Make hook of Armenian Lower Co (`U+0581`) consistent with Armenian Lower Yi (`U+0575`).
|
||||||
|
|
|
@ -51,6 +51,10 @@ glyph-block Letter-Armenian-Ca : begin
|
||||||
local x3 : mix df.leftSB df.rightSB 0.1
|
local x3 : mix df.leftSB df.rightSB 0.1
|
||||||
local x4 : mix df.leftSB df.rightSB 0.6
|
local x4 : mix df.leftSB df.rightSB 0.6
|
||||||
|
|
||||||
|
local rExt : Math.max df.rightSB : Math.min
|
||||||
|
x4 + [HSwToV : 1.5 * df.mvs] + jut
|
||||||
|
df.rightSB + jut - [HSwToV : 0.5 * df.mvs]
|
||||||
|
|
||||||
include : intersection [MaskBelowLine (x1 - xOffset) Ascender (x2 - xOffset) y2 100] : dispiro
|
include : intersection [MaskBelowLine (x1 - xOffset) Ascender (x2 - xOffset) y2 100] : dispiro
|
||||||
widths.rhs df.mvs
|
widths.rhs df.mvs
|
||||||
flat (x3 + xOffset) Ascender
|
flat (x3 + xOffset) Ascender
|
||||||
|
@ -62,4 +66,4 @@ glyph-block Letter-Armenian-Ca : begin
|
||||||
curl (df.leftSB + OX) (highBarPos - SmallArchDepthA)
|
curl (df.leftSB + OX) (highBarPos - SmallArchDepthA)
|
||||||
arcvh
|
arcvh
|
||||||
flat df.middle highBarPos
|
flat df.middle highBarPos
|
||||||
curl (df.rightSB + jut - [HSwToV : 0.5 * df.mvs]) highBarPos
|
curl rExt highBarPos
|
||||||
|
|
|
@ -8,7 +8,7 @@ glyph-module
|
||||||
glyph-block Letter-Armenian-Hook-Group : begin
|
glyph-block Letter-Armenian-Hook-Group : begin
|
||||||
glyph-block-import CommonShapes
|
glyph-block-import CommonShapes
|
||||||
glyph-block-import Common-Derivatives
|
glyph-block-import Common-Derivatives
|
||||||
glyph-block-import Letter-Shared-Shapes : SerifFrame
|
glyph-block-import Letter-Shared-Shapes : nShoulder uBowl SerifFrame
|
||||||
glyph-block-import Letter-Armenian-Shared-Shapes : ArmHBar LeftHook RightHook
|
glyph-block-import Letter-Armenian-Shared-Shapes : ArmHBar LeftHook RightHook
|
||||||
|
|
||||||
do "Ben"
|
do "Ben"
|
||||||
|
@ -47,7 +47,14 @@ glyph-block Letter-Armenian-Hook-Group : begin
|
||||||
create-glyph 'armn/Ini' 0x53B : glyph-proc
|
create-glyph 'armn/Ini' 0x53B : glyph-proc
|
||||||
local df : include : DivFrame 1
|
local df : include : DivFrame 1
|
||||||
include : df.markSet.capital
|
include : df.markSet.capital
|
||||||
include : RightHook df XH df.mvs
|
include : nShoulder.shape
|
||||||
|
left -- (df.leftSB + [HSwToV df.mvs])
|
||||||
|
right -- df.rightSB
|
||||||
|
top -- XH
|
||||||
|
bottom -- (XH / 2)
|
||||||
|
ada -- ArchDepthA
|
||||||
|
adb -- ArchDepthB
|
||||||
|
stroke -- df.mvs
|
||||||
include : VBar.l df.leftSB 0 CAP
|
include : VBar.l df.leftSB 0 CAP
|
||||||
if SLAB : begin
|
if SLAB : begin
|
||||||
local sf : SerifFrame.fromDf df CAP 0
|
local sf : SerifFrame.fromDf df CAP 0
|
||||||
|
@ -58,13 +65,14 @@ glyph-block Letter-Armenian-Hook-Group : begin
|
||||||
local df : include : DivFrame 1
|
local df : include : DivFrame 1
|
||||||
include : df.markSet.capital
|
include : df.markSet.capital
|
||||||
local midy : XH / 2 - df.mvs / 2
|
local midy : XH / 2 - df.mvs / 2
|
||||||
include : dispiro
|
include : uBowl.shape
|
||||||
widths.lhs df.mvs
|
left -- df.leftSB
|
||||||
flat df.leftSB CAP [heading Downward]
|
right -- (df.rightSB - [HSwToV df.mvs])
|
||||||
curl df.leftSB (midy + ArchDepthB)
|
top -- CAP
|
||||||
arch.lhs midy (sw -- df.mvs)
|
bottom -- midy
|
||||||
flat df.rightSB (midy + ArchDepthA)
|
ada -- ArchDepthA
|
||||||
curl df.rightSB XH [heading Upward]
|
adb -- ArchDepthB
|
||||||
|
stroke -- df.mvs
|
||||||
include : VBar.r df.rightSB 0 XH
|
include : VBar.r df.rightSB 0 XH
|
||||||
|
|
||||||
if SLAB : begin
|
if SLAB : begin
|
||||||
|
@ -83,7 +91,7 @@ glyph-block Letter-Armenian-Hook-Group : begin
|
||||||
create-glyph 'armn/Nu' 0x546 : glyph-proc
|
create-glyph 'armn/Nu' 0x546 : glyph-proc
|
||||||
local df : include : DivFrame 1
|
local df : include : DivFrame 1
|
||||||
include : df.markSet.capital
|
include : df.markSet.capital
|
||||||
include : LeftHook df CAP df.mvs SLAB SLAB
|
include : LeftHook df CAP df.mvs SLAB 0
|
||||||
include : FlipAround df.middle (CAP / 2)
|
include : FlipAround df.middle (CAP / 2)
|
||||||
include : [ArmHBar.left df 1 SLAB].top
|
include : [ArmHBar.left df 1 SLAB].top
|
||||||
|
|
||||||
|
@ -101,13 +109,14 @@ glyph-block Letter-Armenian-Hook-Group : begin
|
||||||
local df : include : DivFrame 1
|
local df : include : DivFrame 1
|
||||||
include : df.markSet.capital
|
include : df.markSet.capital
|
||||||
local midy : XH / 2 - df.mvs / 2
|
local midy : XH / 2 - df.mvs / 2
|
||||||
include : dispiro
|
include : uBowl.shape
|
||||||
widths.lhs df.mvs
|
left -- df.leftSB
|
||||||
flat df.leftSB XH [heading Downward]
|
right -- (df.rightSB - [HSwToV df.mvs])
|
||||||
curl df.leftSB (midy + ArchDepthB)
|
top -- XH
|
||||||
arch.lhs midy (sw -- df.mvs)
|
bottom -- midy
|
||||||
flat df.rightSB (midy + ArchDepthA)
|
ada -- ArchDepthA
|
||||||
curl df.rightSB XH [heading Upward]
|
adb -- ArchDepthB
|
||||||
|
stroke -- df.mvs
|
||||||
include : VBar.r df.rightSB 0 CAP df.mvs
|
include : VBar.r df.rightSB 0 CAP df.mvs
|
||||||
include : [ArmHBar.right df 1 SLAB].base
|
include : [ArmHBar.right df 1 SLAB].base
|
||||||
|
|
||||||
|
|
|
@ -58,9 +58,6 @@ glyph-block Letter-Armenian-Lower-U-Group : begin
|
||||||
if SLAB : begin
|
if SLAB : begin
|
||||||
local sf : SerifFrame.fromDf df XH Descender
|
local sf : SerifFrame.fromDf df XH Descender
|
||||||
include : composite-proc sf.lt.outer sf.lb.fullSide
|
include : composite-proc sf.lt.outer sf.lb.fullSide
|
||||||
if [not para.isItalic] : begin
|
|
||||||
local sf2 : SerifFrame.fromDf df XH (XH / 2)
|
|
||||||
include sf2.rb.full
|
|
||||||
|
|
||||||
do "Da"
|
do "Da"
|
||||||
create-glyph 'armn/da' 0x564 : glyph-proc
|
create-glyph 'armn/da' 0x564 : glyph-proc
|
||||||
|
|
|
@ -43,7 +43,7 @@ glyph-block Letter-Armenian-To : begin
|
||||||
local fine : df.adviceStroke2 6 3 XH
|
local fine : df.adviceStroke2 6 3 XH
|
||||||
include : df.markSet.p
|
include : df.markSet.p
|
||||||
include : VBar.l df.leftSB Descender XH df.mvs
|
include : VBar.l df.leftSB Descender XH df.mvs
|
||||||
local barPosT : XH / 2 + df.mvs / 2
|
local barPosT : barPos + df.mvs / 2
|
||||||
include : dispiro
|
include : dispiro
|
||||||
nShoulder.knots
|
nShoulder.knots
|
||||||
left -- (df.leftSB + [HSwToV df.mvs])
|
left -- (df.leftSB + [HSwToV df.mvs])
|
||||||
|
|
|
@ -162,15 +162,15 @@ glyph-block Letter-Latin-Lower-G : begin
|
||||||
local df : include : DivFrame 1
|
local df : include : DivFrame 1
|
||||||
include : df.markSet.p
|
include : df.markSet.p
|
||||||
set-base-anchor 'overlay' Middle (XH / 2)
|
set-base-anchor 'overlay' Middle (XH / 2)
|
||||||
set-base-anchor 'strike' Middle (XH / 2)
|
set-base-anchor 'strike' Middle (XH / 2)
|
||||||
include : bodyShape df XH
|
include : bodyShape df XH
|
||||||
include : hookShape df (XH - hookStart)
|
include : hookShape df (XH - hookStart)
|
||||||
|
|
||||||
create-glyph "GScript.\(suffix)" : glyph-proc
|
create-glyph "GScript.\(suffix)" : glyph-proc
|
||||||
local df : include : DivFrame 1
|
local df : include : DivFrame 1
|
||||||
include : df.markSet.capDesc
|
include : df.markSet.capDesc
|
||||||
set-base-anchor 'overlay' Middle (CAP / 2)
|
set-base-anchor 'overlay' Middle (CAP / 2)
|
||||||
include : bodyShape df CAP
|
include : bodyShape df CAP
|
||||||
include : hookShape df (CAP - hookStart)
|
include : hookShape df (CAP - hookStart)
|
||||||
|
|
||||||
create-glyph "gScriptPalatalHook.\(suffix)" : glyph-proc
|
create-glyph "gScriptPalatalHook.\(suffix)" : glyph-proc
|
||||||
|
@ -178,7 +178,7 @@ glyph-block Letter-Latin-Lower-G : begin
|
||||||
include : df.markSet.p
|
include : df.markSet.p
|
||||||
set-base-anchor 'overlay' Middle (XH / 2)
|
set-base-anchor 'overlay' Middle (XH / 2)
|
||||||
local dfSub : DivFrame (0.75 * para.diversityM) 2
|
local dfSub : DivFrame (0.75 * para.diversityM) 2
|
||||||
include : bodyShape dfSub XH
|
include : bodyShape dfSub XH
|
||||||
include : hookShape dfSub (XH - hookStart)
|
include : hookShape dfSub (XH - hookStart)
|
||||||
include : PalatalHook.r
|
include : PalatalHook.r
|
||||||
x -- df.rightSB
|
x -- df.rightSB
|
||||||
|
@ -213,8 +213,8 @@ glyph-block Letter-Latin-Lower-G : begin
|
||||||
include : MarkSet.p
|
include : MarkSet.p
|
||||||
set-base-anchor 'overlay' Middle (XH / 2)
|
set-base-anchor 'overlay' Middle (XH / 2)
|
||||||
define df : DivFrame 1
|
define df : DivFrame 1
|
||||||
include : SingleStorey.ScriptCutBody df XH
|
include : SingleStorey.ScriptCutBody df XH
|
||||||
include : SingleStorey.CrossedHook df (XH - HalfStroke)
|
include : SingleStorey.CrossedHook df (XH - HalfStroke)
|
||||||
|
|
||||||
glyph-block-import Letter-Blackboard : BBS BBD BBBarRight
|
glyph-block-import Letter-Blackboard : BBS BBD BBBarRight
|
||||||
create-glyph 'mathbb/g' 0x1D558 : glyph-proc
|
create-glyph 'mathbb/g' 0x1D558 : glyph-proc
|
||||||
|
|
|
@ -87,11 +87,6 @@ glyph-block Letter-Latin-Lower-J : begin
|
||||||
include : Serifless df top xMiddle
|
include : Serifless df top xMiddle
|
||||||
include : LeaningAnchor.Above.At [mix df.middle xMiddle (7/8)]
|
include : LeaningAnchor.Above.At [mix df.middle xMiddle (7/8)]
|
||||||
|
|
||||||
export : define [AutoSerifed df top xMiddle] : glyph-proc
|
|
||||||
include : if SLAB
|
|
||||||
Serifed df top xMiddle
|
|
||||||
Serifless df top xMiddle
|
|
||||||
|
|
||||||
define Div : namespace
|
define Div : namespace
|
||||||
export : define BentHook 1
|
export : define BentHook 1
|
||||||
export : define StraightSerifless para.diversityII
|
export : define StraightSerifless para.diversityII
|
||||||
|
|
|
@ -10,8 +10,7 @@ glyph-block Letter-Latin-U : 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 Mark-Adjustment : LeaningAnchor
|
glyph-block-import Mark-Adjustment : LeaningAnchor
|
||||||
glyph-block-import Letter-Shared : CreateAccentedComposition
|
glyph-block-import Letter-Shared : CreateAccentedComposition SetGrekUpperTonos
|
||||||
glyph-block-import Letter-Shared : SetGrekUpperTonos
|
|
||||||
glyph-block-import Letter-Shared-Shapes : uBowl RightwardTailedBar DToothlessRise SerifFrame
|
glyph-block-import Letter-Shared-Shapes : uBowl RightwardTailedBar DToothlessRise SerifFrame
|
||||||
glyph-block-import Letter-Shared-Shapes : CyrDescender CyrTailDescender RetroflexHook VerticalHook TopHook
|
glyph-block-import Letter-Shared-Shapes : CyrDescender CyrTailDescender RetroflexHook VerticalHook TopHook
|
||||||
|
|
||||||
|
@ -310,6 +309,7 @@ glyph-block Letter-Latin-U : begin
|
||||||
select-variant 'U/withTonos' (follow -- 'U')
|
select-variant 'U/withTonos' (follow -- 'U')
|
||||||
link-reduced-variant 'U/sansSerif' 'U' MathSansSerif
|
link-reduced-variant 'U/sansSerif' 'U' MathSansSerif
|
||||||
select-variant 'smcpU' 0x1D1C (follow -- 'U')
|
select-variant 'smcpU' 0x1D1C (follow -- 'U')
|
||||||
|
|
||||||
select-variant 'u' 'u'
|
select-variant 'u' 'u'
|
||||||
link-reduced-variant 'u/sansSerif' 'u' MathSansSerif
|
link-reduced-variant 'u/sansSerif' 'u' MathSansSerif
|
||||||
select-variant 'u/uRTailBase' (shapeFrom -- 'u')
|
select-variant 'u/uRTailBase' (shapeFrom -- 'u')
|
||||||
|
|
|
@ -242,10 +242,10 @@ glyph-block Letter-Shared-Shapes : begin
|
||||||
local-parameter : adb -- SmallArchDepthB
|
local-parameter : adb -- SmallArchDepthB
|
||||||
local-parameter : stroke -- Stroke
|
local-parameter : stroke -- Stroke
|
||||||
local-parameter : fMask -- false
|
local-parameter : fMask -- false
|
||||||
local-parameter : leftY0 -- nothing
|
local-parameter : leftY0 -- (top - ada - 2)
|
||||||
|
|
||||||
return : list
|
return : list
|
||||||
flat (left - [HSwToV fine]) [fallback leftY0 (top - ada - 2)] [widths.rhs fine]
|
flat (left - [HSwToV fine]) leftY0 [widths.rhs fine]
|
||||||
curl (left - [HSwToV fine]) (top - ada)
|
curl (left - [HSwToV fine]) (top - ada)
|
||||||
arch.rhs top (sw -- stroke) (swBefore -- fine)
|
arch.rhs top (sw -- stroke) (swBefore -- fine)
|
||||||
flat right (top - adb) [widths.rhs stroke]
|
flat right (top - adb) [widths.rhs stroke]
|
||||||
|
@ -300,14 +300,14 @@ glyph-block Letter-Shared-Shapes : begin
|
||||||
local-parameter : top
|
local-parameter : top
|
||||||
local-parameter : bottom
|
local-parameter : bottom
|
||||||
local-parameter : adb -- ArchDepthB
|
local-parameter : adb -- ArchDepthB
|
||||||
local-parameter : sw -- Stroke
|
local-parameter : sw -- Stroke
|
||||||
|
|
||||||
define xMid : mix left right 0.5
|
define xMid : mix left right 0.5
|
||||||
define rise DToothlessRise
|
define rise DToothlessRise
|
||||||
|
|
||||||
return : dispiro
|
return : dispiro
|
||||||
flat left top [widths.lhs.heading sw Downward]
|
flat left top [widths.lhs.heading sw Downward]
|
||||||
curl left (bottom+ adb)
|
curl left (bottom + adb)
|
||||||
arch.lhs.centerAt.ltr.b (xMid + [HSwToV : 0.2 * sw]) bottom
|
arch.lhs.centerAt.ltr.b (xMid + [HSwToV : 0.2 * sw]) bottom
|
||||||
g4 right (bottom + rise + 0.25 * sw)
|
g4 right (bottom + rise + 0.25 * sw)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue