Optimize overshoot of Half H.
This commit is contained in:
parent
9aa765838e
commit
8f2f859a6f
2 changed files with 27 additions and 23 deletions
|
@ -1,7 +1,13 @@
|
|||
* Add `flat-top` variants for `curly`, `straight-vertical-sides`, and `rounded-vertical-sides` forms of `W` and `w` (#2146).
|
||||
* Add `almost-flat-top` variants for `curly` forms of `W` and `w`.
|
||||
* Refine shape of the following characters:
|
||||
- GREEK CAPITAL LETTER HETA (`U+0370`).
|
||||
- GREEK SMALL LETTER HETA (`U+0371`).
|
||||
- ARMENIAN SMALL LIGATURE ECH YIWN (`U+0587`).
|
||||
- LATIN CAPITAL LETTER HALF H (`U+2C75`).
|
||||
- LATIN SMALL LETTER HALF H (`U+2C76`).
|
||||
- LATIN CAPITAL LETTER AU (`U+A736`).
|
||||
- LATIN CAPITAL LETTER REVERSED HALF H (`U+A7F5`).
|
||||
- LATIN SMALL LETTER REVERSED HALF H (`U+A7F6`).
|
||||
- LATIN SMALL LIGATURE FFI (`U+FB03`).
|
||||
* Fix variant application of `cv38` on `U+1DF0F`.
|
||||
|
|
|
@ -38,7 +38,7 @@ glyph-block Letter-Latin-Upper-H : begin
|
|||
[Just SLAB-ALL-BGR] : composite-proc sf.lt.outer sf.rt.inner sf.lb.full sf.rb.full
|
||||
[Just SLAB-TAILED-CYRILLIC-BGR] : composite-proc sf.lt.outer sf.rt.inner sf.lb.full
|
||||
|
||||
define [LeftHalfSerifs slabType t b l r sw] : begin
|
||||
define [LeftHalfHSerifs slabType t b l r sw] : begin
|
||||
local sf : SerifFrame t b l r (swRef -- [fallback sw Stroke])
|
||||
return : match slabType
|
||||
[Just SLAB-NONE] : glyph-proc
|
||||
|
@ -49,7 +49,7 @@ glyph-block Letter-Latin-Upper-H : begin
|
|||
[Just SLAB-ALL-BGR] : composite-proc sf.lt.outer sf.lb.fullSide
|
||||
[Just SLAB-TAILED-CYRILLIC-BGR] : composite-proc sf.lt.outer sf.lb.fullSide
|
||||
|
||||
define [RightHalfSerifs slabType t b l r sw] : begin
|
||||
define [RightHalfHSerifs slabType t b l r sw] : begin
|
||||
local sf : SerifFrame t b l r (swRef -- [fallback sw Stroke])
|
||||
return : match slabType
|
||||
[Just SLAB-NONE] : glyph-proc
|
||||
|
@ -60,7 +60,7 @@ glyph-block Letter-Latin-Upper-H : begin
|
|||
[Just SLAB-ALL-BGR] : composite-proc sf.rt.inner sf.rb.fullSide
|
||||
[Just SLAB-TAILED-CYRILLIC-BGR] : begin sf.rt.inner
|
||||
|
||||
define [TurnedSerifs slabType t b l r sw] : begin
|
||||
define [TurnedHSerifs slabType t b l r sw] : begin
|
||||
local sf : SerifFrame t b l r (swRef -- [fallback sw Stroke])
|
||||
return : match slabType
|
||||
[Just SLAB-NONE] : glyph-proc
|
||||
|
@ -89,14 +89,14 @@ glyph-block Letter-Latin-Upper-H : begin
|
|||
include : LeaningAnchor.Above.VBar.l l
|
||||
include : LeaningAnchor.Below.VBar.l l
|
||||
include : tagged 'strokeL' : VBar.l l 0 top sw
|
||||
include : HBar.m (l - O) (r + O) (top * HBarPos) sw
|
||||
include : HBar.m (l - O) r (top * HBarPos) sw
|
||||
|
||||
define [RightHalfHShape l r top _sw] : glyph-proc
|
||||
local sw : fallback _sw Stroke
|
||||
include : LeaningAnchor.Above.VBar.r r
|
||||
include : LeaningAnchor.Below.VBar.r r
|
||||
include : tagged 'strokeR' : VBar.r r 0 top sw
|
||||
include : HBar.m (l - O) (r + O) (top * HBarPos) sw
|
||||
include : HBar.m l (r + O) (top * HBarPos) sw
|
||||
|
||||
define [TailedHShape l r top _sw] : glyph-proc
|
||||
local sw : fallback _sw Stroke
|
||||
|
@ -159,8 +159,6 @@ glyph-block Letter-Latin-Upper-H : begin
|
|||
topRightSerifed true
|
||||
|
||||
foreach { suffix { Body TurnedBody LeftHalfBody RightHalfBody slabType } } [Object.entries HConfig] : do
|
||||
define fSlab : slabType !== SLAB-NONE
|
||||
|
||||
create-glyph "H.\(suffix)" : glyph-proc
|
||||
include : MarkSet.capital
|
||||
include : Body SB RightSB CAP
|
||||
|
@ -168,12 +166,12 @@ glyph-block Letter-Latin-Upper-H : begin
|
|||
|
||||
create-glyph "grek/Eta.\(suffix)" : glyph-proc
|
||||
include [refer-glyph "H.\(suffix)"] AS_BASE ALSO_METRICS
|
||||
include : SetGrekUpperTonos [if fSlab (-SideJut) 0]
|
||||
include : SetGrekUpperTonos [if (slabType === SLAB-NONE) 0 (-SideJut)]
|
||||
|
||||
create-glyph "HTurned.\(suffix)" : glyph-proc
|
||||
include : MarkSet.capital
|
||||
include : TurnedBody SB RightSB CAP
|
||||
include : TurnedSerifs slabType CAP 0 SB RightSB
|
||||
include : TurnedHSerifs slabType CAP 0 SB RightSB
|
||||
|
||||
create-glyph "smcpH.\(suffix)" : glyph-proc
|
||||
include : MarkSet.e
|
||||
|
@ -183,42 +181,42 @@ glyph-block Letter-Latin-Upper-H : begin
|
|||
create-glyph "leftHalfH.\(suffix)" : glyph-proc
|
||||
include : MarkSet.capital
|
||||
local xMockLeft : SB * 1.5
|
||||
local xMockRight : RightSB - [xMidBarShrink fSlab]
|
||||
local shift : Math.abs : Middle - [mix (xMockLeft - [if fSlab SideJut 0]) xMockRight 0.5]
|
||||
local xMockRight : RightSB - [xMidBarShrink (slabType === SLAB-ALL)]
|
||||
local shift : Math.abs : Middle - [mix (xMockLeft - [if (slabType === SLAB-NONE) 0 SideJut]) xMockRight 0.5]
|
||||
local xLeft : xMockLeft + shift
|
||||
local xRight : xMockRight + shift
|
||||
include : LeftHalfBody xLeft xRight CAP
|
||||
include : LeftHalfSerifs slabType CAP 0 xLeft xRight
|
||||
include : LeftHalfHSerifs slabType CAP 0 xLeft xRight
|
||||
|
||||
create-glyph "rightHalfH.\(suffix)" : glyph-proc
|
||||
include : MarkSet.capital
|
||||
local xMockLeft : SB + [xMidBarShrink fSlab]
|
||||
local xMockLeft : SB + [xMidBarShrink (slabType === SLAB-ALL)]
|
||||
local xMockRight : Width - SB * 1.5
|
||||
local shift : Math.abs : Middle - [mix xMockLeft (xMockRight + [if fSlab SideJut 0]) 0.5]
|
||||
local shift : Math.abs : Middle - [mix xMockLeft (xMockRight + [if (slabType === SLAB-NONE) 0 SideJut]) 0.5]
|
||||
local xLeft : xMockLeft - shift
|
||||
local xRight : xMockRight - shift
|
||||
include : RightHalfBody xLeft xRight CAP
|
||||
include : RightHalfSerifs slabType CAP 0 xLeft xRight
|
||||
include : RightHalfHSerifs slabType CAP 0 xLeft xRight
|
||||
|
||||
create-glyph "leftHalfSmcpH.\(suffix)" : glyph-proc
|
||||
include : MarkSet.e
|
||||
local xMockLeft : SB * 1.5
|
||||
local xMockRight : RightSB - [xMidBarShrink fSlab]
|
||||
local shift : Math.abs : Middle - [mix (xMockLeft - [if fSlab SideJut 0]) xMockRight 0.5]
|
||||
local xMockRight : RightSB - [xMidBarShrink (slabType === SLAB-ALL)]
|
||||
local shift : Math.abs : Middle - [mix (xMockLeft - [if (slabType === SLAB-NONE) 0 SideJut]) xMockRight 0.5]
|
||||
local xLeft : xMockLeft + shift
|
||||
local xRight : xMockRight + shift
|
||||
include : LeftHalfBody xLeft xRight XH
|
||||
include : LeftHalfSerifs slabType XH 0 xLeft xRight
|
||||
include : LeftHalfHSerifs slabType XH 0 xLeft xRight
|
||||
|
||||
create-glyph "rightHalfSmcpH.\(suffix)" : glyph-proc
|
||||
include : MarkSet.e
|
||||
local xMockLeft : SB + [xMidBarShrink fSlab]
|
||||
local xMockLeft : SB + [xMidBarShrink (slabType === SLAB-ALL)]
|
||||
local xMockRight : Width - SB * 1.5
|
||||
local shift : Math.abs : Middle - [mix xMockLeft (xMockRight + [if fSlab SideJut 0]) 0.5]
|
||||
local shift : Math.abs : Middle - [mix xMockLeft (xMockRight + [if (slabType === SLAB-NONE) 0 SideJut]) 0.5]
|
||||
local xLeft : xMockLeft - shift
|
||||
local xRight : xMockRight - shift
|
||||
include : RightHalfBody xLeft xRight XH
|
||||
include : RightHalfSerifs slabType XH 0 xLeft xRight
|
||||
include : RightHalfHSerifs slabType XH 0 xLeft xRight
|
||||
|
||||
define enGheDf : DivFrame para.advanceScaleM 3
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue