Optimize glyphs for Roman Numeral CD shapes. (#2541)
* Optimize glyphs for Roman Numeral CD shapes. * Optimize gap.
This commit is contained in:
parent
3aa0107191
commit
e42c6c5ee0
2 changed files with 42 additions and 21 deletions
|
@ -3,6 +3,8 @@
|
||||||
* Optimize glyphs for `rounded-serifless` and `rounded-serifed` variants for Capital Eszett (`ẞ`).
|
* Optimize glyphs for `rounded-serifless` and `rounded-serifed` variants for Capital Eszett (`ẞ`).
|
||||||
* Optimize glyphs for closed epsilon shapes (`U+025E`, `U+029A`).
|
* Optimize glyphs for closed epsilon shapes (`U+025E`, `U+029A`).
|
||||||
* Optimize glyphs for cursive variants for Greek Lower Beta (`β`) and Cyrillic Lower Ve (`в`).
|
* Optimize glyphs for cursive variants for Greek Lower Beta (`β`) and Cyrillic Lower Ve (`в`).
|
||||||
|
* Optimize glyphs for Cyrillic Capital/Lower Broad On (`U+047A`, `U+047B`).
|
||||||
|
* Optimize glyphs for Roman Numeral CD shapes (`U+2180`, `U+2182`, `U+2188`).
|
||||||
* Optimize glyph for Cyrillic Lower Dzze (`U+A689`) under italics.
|
* Optimize glyph for Cyrillic Lower Dzze (`U+A689`) under italics.
|
||||||
* Optimize glyphs for Volapük Ae/Oe/Ue (`U+A79A`..`U+A79F`).
|
* Optimize glyphs for Volapük Ae/Oe/Ue (`U+A79A`..`U+A79F`).
|
||||||
* Optimize glyph for Latin Lower Dezh Digraph with Palatal Hook (`U+1DF12`).
|
* Optimize glyph for Latin Lower Dezh Digraph with Palatal Hook (`U+1DF12`).
|
||||||
|
|
|
@ -64,14 +64,20 @@ glyph-block Letter-Latin-O : begin
|
||||||
create-glyph 'cyrl/BroadOn' 0x47A : glyph-proc
|
create-glyph 'cyrl/BroadOn' 0x47A : glyph-proc
|
||||||
define df : include : DivFrame [mix 1 para.diversityM 0.5] 3
|
define df : include : DivFrame [mix 1 para.diversityM 0.5] 3
|
||||||
include : df.markSet.capital
|
include : df.markSet.capital
|
||||||
include : OShape CAP 0 df.leftSB df.rightSB df.mvs ArchDepthA ArchDepthB
|
local gap : Math.max (0.25 * (df.rightSB - df.leftSB)) : HSwToV (rBroadOn * Math.SQRT2)
|
||||||
|
local ada : ArchDepthA * df.div
|
||||||
|
local adb : ArchDepthB * df.div
|
||||||
|
include : OShapeFlatTB CAP 0 df.leftSB df.rightSB df.mvs ada adb gap
|
||||||
include : DotAt df.middle (df.mvs / 2 + O) rBroadOn
|
include : DotAt df.middle (df.mvs / 2 + O) rBroadOn
|
||||||
include : DotAt df.middle (CAP - df.mvs / 2 - O) rBroadOn
|
include : DotAt df.middle (CAP - df.mvs / 2 - O) rBroadOn
|
||||||
|
|
||||||
create-glyph 'cyrl/broadOn' 0x47B : glyph-proc
|
create-glyph 'cyrl/broadOn' 0x47B : glyph-proc
|
||||||
define df : include : DivFrame [mix 1 para.diversityM 0.5] 3
|
define df : include : DivFrame [mix 1 para.diversityM 0.5] 3
|
||||||
include : df.markSet.e
|
include : df.markSet.e
|
||||||
include : OShape XH 0 df.leftSB df.rightSB df.mvs nothing nothing
|
local gap : Math.max (0.25 * (df.rightSB - df.leftSB)) : HSwToV (rBroadOn * Math.SQRT2)
|
||||||
|
local ada : ArchDepthA * df.div
|
||||||
|
local adb : ArchDepthB * df.div
|
||||||
|
include : OShapeFlatTB XH 0 df.leftSB df.rightSB df.mvs ada adb gap
|
||||||
include : DotAt df.middle (df.mvs / 2 + O) rBroadOn
|
include : DotAt df.middle (df.mvs / 2 + O) rBroadOn
|
||||||
include : DotAt df.middle (XH - df.mvs / 2 - O) rBroadOn
|
include : DotAt df.middle (XH - df.mvs / 2 - O) rBroadOn
|
||||||
|
|
||||||
|
@ -160,31 +166,44 @@ glyph-block Letter-Latin-O : begin
|
||||||
create-glyph 'romanThousandCD' 0x2180 : glyph-proc
|
create-glyph 'romanThousandCD' 0x2180 : 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 : OShape CAP 0 df.leftSB df.rightSB df.mvs ArchDepthA ArchDepthB
|
local dist : df.rightSB - df.leftSB
|
||||||
|
local gap : Math.max (dist / 4) : HSwToV df.mvs
|
||||||
|
local ada : ArchDepthA * df.div
|
||||||
|
local adb : ArchDepthB * df.div
|
||||||
|
include : OShapeFlatTB CAP 0 df.leftSB df.rightSB df.mvs ada adb gap
|
||||||
include : VBar.m df.middle (df.mvs / 2) (CAP - df.mvs / 2) df.mvs
|
include : VBar.m df.middle (df.mvs / 2) (CAP - df.mvs / 2) df.mvs
|
||||||
set-base-anchor 'trailing' Middle 0
|
set-base-anchor 'trailing' Middle 0
|
||||||
|
|
||||||
create-glyph 'romanTenThousand' 0x2182 : glyph-proc
|
create-glyph 'romanTenThousand' 0x2182 : glyph-proc
|
||||||
local df : include : DivFrame para.diversityM 5
|
local df : include : DivFrame para.diversityM 5
|
||||||
include : df.markSet.capital
|
include : df.markSet.capital
|
||||||
|
local dist : df.rightSB - df.leftSB
|
||||||
local innerDist : df.rightSB - df.leftSB - [HSwToV : 5 * df.mvs]
|
local gap : Math.max (dist / 4) : HSwToV df.mvs
|
||||||
|
local gapInner : Math.max (dist / 8) : HSwToV df.mvs
|
||||||
|
local ada : ArchDepthA * df.div
|
||||||
|
local adb : ArchDepthB * df.div
|
||||||
|
local innerDist : dist - [HSwToV : 5 * df.mvs]
|
||||||
local arcXL1 : df.leftSB + innerDist * (1 / 4) + [HSwToV : 1 * df.mvs]
|
local arcXL1 : df.leftSB + innerDist * (1 / 4) + [HSwToV : 1 * df.mvs]
|
||||||
local arcXR1 : df.leftSB + innerDist * (3 / 4) + [HSwToV : 4 * df.mvs]
|
local arcXR1 : df.leftSB + innerDist * (3 / 4) + [HSwToV : 4 * df.mvs]
|
||||||
local heightGap : Math.min (df.mvs + (CAP - df.mvs * 4) / 5) (innerDist / 4 + df.mvs)
|
local heightGap : Math.min (df.mvs + (CAP - df.mvs * 4) / 5) (innerDist / 4 + df.mvs)
|
||||||
local heightInner1 : CAP - 2 * heightGap
|
local heightInner : CAP - 2 * heightGap
|
||||||
local smInner1 : clamp (df.mvs * 1.5) (0.499 * heightInner1) (ArchDepth * heightInner1 / CAP)
|
local smInner : clamp (df.mvs * 1.5) (0.499 * heightInner) (ArchDepth * heightInner / CAP)
|
||||||
local adaInner1 : ArchDepthAOf smInner1 (arcXR1 - arcXL1 + df.leftSB * 2)
|
local adaInner : [ArchDepthAOf smInner : arcXR1 - arcXL1 + df.leftSB * 2] * df.div
|
||||||
local adbInner1 : ArchDepthBOf smInner1 (arcXR1 - arcXL1 + df.leftSB * 2)
|
local adbInner : [ArchDepthBOf smInner : arcXR1 - arcXL1 + df.leftSB * 2] * df.div
|
||||||
include : OShape CAP 0 df.leftSB df.rightSB df.mvs ArchDepthA ArchDepthB
|
include : OShapeFlatTB CAP 0 df.leftSB df.rightSB df.mvs ada adb gap
|
||||||
include : OShape (CAP - heightGap) (0 + heightGap) arcXL1 arcXR1 df.mvs adaInner1 adbInner1
|
include : OShapeFlatTB (CAP - heightGap) (0 + heightGap) arcXL1 arcXR1 df.mvs adaInner adbInner gapInner
|
||||||
include : VBar.m df.middle (df.mvs / 2) (CAP - df.mvs / 2) df.mvs
|
include : VBar.m df.middle (df.mvs / 2) (CAP - df.mvs / 2) df.mvs
|
||||||
|
|
||||||
create-glyph 'romanHundredThousand' 0x2188 : glyph-proc
|
create-glyph 'romanHundredThousand' 0x2188 : glyph-proc
|
||||||
local df : include : DivFrame para.diversityM 7
|
local df : include : DivFrame para.diversityM 7
|
||||||
include : df.markSet.capital
|
include : df.markSet.capital
|
||||||
|
local dist : df.rightSB - df.leftSB
|
||||||
local innerDist : df.rightSB - df.leftSB - [HSwToV : 7 * df.mvs]
|
local gap : Math.max (dist / 4) : HSwToV df.mvs
|
||||||
|
local gapInner1 : Math.max (dist / 6) : HSwToV df.mvs
|
||||||
|
local gapInner2 : Math.max (dist / 12) : HSwToV df.mvs
|
||||||
|
local ada : ArchDepthA * df.div
|
||||||
|
local adb : ArchDepthB * df.div
|
||||||
|
local innerDist : dist - [HSwToV : 7 * df.mvs]
|
||||||
local arcXL1 : df.leftSB + innerDist * (1 / 6) + [HSwToV : 1 * df.mvs]
|
local arcXL1 : df.leftSB + innerDist * (1 / 6) + [HSwToV : 1 * df.mvs]
|
||||||
local arcXR1 : df.leftSB + innerDist * (5 / 6) + [HSwToV : 6 * df.mvs]
|
local arcXR1 : df.leftSB + innerDist * (5 / 6) + [HSwToV : 6 * df.mvs]
|
||||||
local arcXL2 : df.leftSB + innerDist * (2 / 6) + [HSwToV : 2 * df.mvs]
|
local arcXL2 : df.leftSB + innerDist * (2 / 6) + [HSwToV : 2 * df.mvs]
|
||||||
|
@ -193,14 +212,14 @@ glyph-block Letter-Latin-O : begin
|
||||||
local heightInner1 : CAP - 2 * heightGap
|
local heightInner1 : CAP - 2 * heightGap
|
||||||
local heightInner2 : CAP - 4 * heightGap
|
local heightInner2 : CAP - 4 * heightGap
|
||||||
local smInner1 : clamp (df.mvs * 1.5) (0.499 * heightInner1) (ArchDepth * heightInner1 / CAP)
|
local smInner1 : clamp (df.mvs * 1.5) (0.499 * heightInner1) (ArchDepth * heightInner1 / CAP)
|
||||||
local adaInner1 : ArchDepthAOf smInner1 (arcXR1 - arcXL1 + df.leftSB * 2)
|
local adaInner1 : [ArchDepthAOf smInner1 : arcXR1 - arcXL1 + df.leftSB * 2] * df.div
|
||||||
local adbInner1 : ArchDepthBOf smInner1 (arcXR1 - arcXL1 + df.leftSB * 2)
|
local adbInner1 : [ArchDepthBOf smInner1 : arcXR1 - arcXL1 + df.leftSB * 2] * df.div
|
||||||
local smInner2 : clamp (df.mvs * 1.5) (0.499 * heightInner2) (ArchDepth * heightInner2 / CAP)
|
local smInner2 : clamp (df.mvs * 1.5) (0.499 * heightInner2) (ArchDepth * heightInner2 / CAP)
|
||||||
local adaInner2 : ArchDepthAOf smInner2 (arcXR2 - arcXL2 + df.leftSB * 2)
|
local adaInner2 : [ArchDepthAOf smInner2 : arcXR2 - arcXL2 + df.leftSB * 2] * df.div
|
||||||
local adbInner2 : ArchDepthBOf smInner2 (arcXR2 - arcXL2 + df.leftSB * 2)
|
local adbInner2 : [ArchDepthBOf smInner2 : arcXR2 - arcXL2 + df.leftSB * 2] * df.div
|
||||||
include : OShape CAP 0 df.leftSB df.rightSB df.mvs ArchDepthA ArchDepthB
|
include : OShapeFlatTB CAP 0 df.leftSB df.rightSB df.mvs ada adb gap
|
||||||
include : OShape (CAP - heightGap) (0 + heightGap) arcXL1 arcXR1 df.mvs adaInner1 adbInner1
|
include : OShapeFlatTB (CAP - heightGap) (0 + heightGap) arcXL1 arcXR1 df.mvs adaInner1 adbInner1 gapInner1
|
||||||
include : OShape (CAP - 2 * heightGap) (0 + 2 * heightGap) arcXL2 arcXR2 df.mvs adaInner2 adbInner2
|
include : OShapeFlatTB (CAP - 2 * heightGap) (0 + 2 * heightGap) arcXL2 arcXR2 df.mvs adaInner2 adbInner2 gapInner2
|
||||||
include : VBar.m df.middle (df.mvs / 2) (CAP - df.mvs / 2) df.mvs
|
include : VBar.m df.middle (df.mvs / 2) (CAP - df.mvs / 2) df.mvs
|
||||||
|
|
||||||
create-glyph 'oupperhalf' 0x1D16 : glyph-proc
|
create-glyph 'oupperhalf' 0x1D16 : glyph-proc
|
||||||
|
@ -246,7 +265,7 @@ glyph-block Letter-Latin-O : begin
|
||||||
CreateAccentedComposition 'oDieresis' 0xF6 'o' 'dieresisAbove'
|
CreateAccentedComposition 'oDieresis' 0xF6 'o' 'dieresisAbove'
|
||||||
|
|
||||||
create-glyph 'numeroRightHalf' : glyph-proc
|
create-glyph 'numeroRightHalf' : glyph-proc
|
||||||
include : OShape XH [Math.max (Stroke * 1.5) (CAP * 0.1)] SB RightSB Stroke ArchDepthA ArchDepthB
|
include : OShape XH [Math.max (CAP * 0.1) (Stroke * 1.5)] SB RightSB Stroke ArchDepthA ArchDepthB
|
||||||
include : HBar.b SB RightSB 0
|
include : HBar.b SB RightSB 0
|
||||||
|
|
||||||
CreateAccentedComposition 'oSbRsbUnderlineBelow' null 'o' 'sbRsbUnderlineBelow'
|
CreateAccentedComposition 'oSbRsbUnderlineBelow' null 'o' 'sbRsbUnderlineBelow'
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue