Fix placement of overlay bar in Latin Small Letter D with Stroke (U+0111
) (#1146).
This commit is contained in:
parent
be7c6ee322
commit
c2cc04fcb2
2 changed files with 51 additions and 70 deletions
1
changes/7.2.5.md
Normal file
1
changes/7.2.5.md
Normal file
|
@ -0,0 +1 @@
|
||||||
|
* Fix placement of overlay bar in Latin Small Letter D with Stroke (`U+0111`) (#1146).
|
|
@ -11,86 +11,72 @@ glyph-block Letter-Latin-Lower-D : begin
|
||||||
glyph-block-import Common-Derivatives
|
glyph-block-import Common-Derivatives
|
||||||
glyph-block-import Letter-Shared-Shapes : RightwardTailedBar DToothlessRise DMBlend CurlyTail
|
glyph-block-import Letter-Shared-Shapes : RightwardTailedBar DToothlessRise DMBlend CurlyTail
|
||||||
|
|
||||||
create-glyph 'd.toothedSerifless' : glyph-proc
|
define [ToothedBody] : union
|
||||||
include : MarkSet.b
|
OBarRightShape
|
||||||
include : OBarRightShape
|
VBarRight RightSB 0 CAP
|
||||||
include : VBarRight RightSB 0 CAP
|
|
||||||
|
|
||||||
create-glyph 'd.toothedTopSerifed' : glyph-proc
|
define [ToothlessCornerBody] : union
|
||||||
include : MarkSet.b
|
OBarRightToothlessShape XH RightSB DToothlessRise DMBlend
|
||||||
include : OBarRightShape
|
VBarRight RightSB DToothlessRise CAP
|
||||||
include : VBarRight RightSB 0 CAP
|
|
||||||
include : tagged 'serifRT' : LeftwardTopSerif (RightSB - Stroke * HVContrast) CAP SideJut
|
|
||||||
|
|
||||||
create-glyph 'd.toothedSerifed' : glyph-proc
|
define [ToothlessCornerHBBBody] : union
|
||||||
include : MarkSet.b
|
OBarRightToothlessShape XH RightSB DToothlessRise DMBlend
|
||||||
include : OBarRightShape
|
VBarRight RightSB 0 CAP
|
||||||
include : VBarRight RightSB 0 CAP
|
|
||||||
include : tagged 'serifRB' : RightwardBottomSerif RightSB 0 SideJut
|
|
||||||
include : tagged 'serifRT' : LeftwardTopSerif (RightSB - Stroke * HVContrast) CAP SideJut
|
|
||||||
|
|
||||||
create-glyph 'd.tailedSerifless' : glyph-proc
|
define [ToothlessRoundedBody] : OBarRightRoundedShape XH RightSB CAP
|
||||||
include : MarkSet.b
|
define [ToothlessRoundedHBBBody] : union
|
||||||
include : OBarRightShape
|
OBarRightRoundedShape XH RightSB CAP
|
||||||
include : RightwardTailedBar RightSB 0 CAP
|
VBarRight RightSB 0 CAP
|
||||||
|
|
||||||
create-glyph 'd.toothlessCornerSerifless' : glyph-proc
|
define [TailedBody] : union
|
||||||
include : MarkSet.b
|
OBarRightShape
|
||||||
include : OBarRightToothlessShape XH RightSB DToothlessRise DMBlend
|
RightwardTailedBar RightSB 0 CAP
|
||||||
include : VBarRight RightSB DToothlessRise CAP
|
|
||||||
|
|
||||||
create-glyph 'd.toothlessCornerSeriflessHBB' : glyph-proc
|
define [TopSerif] : tagged 'serifRT'
|
||||||
include : MarkSet.b
|
LeftwardTopSerif (RightSB - Stroke * HVContrast) CAP SideJut
|
||||||
include : OBarRightToothlessShape XH RightSB DToothlessRise DMBlend
|
|
||||||
include : VBarRight RightSB 0 CAP
|
|
||||||
|
|
||||||
create-glyph 'd.toothlessRoundedSerifless' : glyph-proc
|
define [BaseSerif] : tagged 'serifRB'
|
||||||
include : MarkSet.b
|
RightwardBottomSerif RightSB 0 SideJut
|
||||||
include : OBarRightRoundedShape XH RightSB CAP
|
|
||||||
|
|
||||||
create-glyph 'd.toothlessRoundedSeriflessHBB' : glyph-proc
|
define DConfig : object
|
||||||
include : MarkSet.b
|
toothedSerifless { ToothedBody null null }
|
||||||
include : OBarRightRoundedShape XH RightSB CAP
|
toothedTopSerifed { ToothedBody TopSerif null }
|
||||||
include : VBarRight RightSB 0 CAP
|
toothedSerifed { ToothedBody TopSerif BaseSerif }
|
||||||
|
tailedSerifless { TailedBody null null }
|
||||||
|
tailedSerifed { ToothedBody TopSerif null }
|
||||||
|
toothlessCornerSerifless { ToothlessCornerBody null null }
|
||||||
|
toothlessCornerSerifed { ToothlessCornerBody TopSerif null }
|
||||||
|
toothlessCornerSeriflessHBB { ToothlessCornerHBBBody null null }
|
||||||
|
toothlessCornerSerifedHBB { ToothlessCornerHBBBody TopSerif null }
|
||||||
|
toothlessRoundedSerifless { ToothlessRoundedBody null null }
|
||||||
|
toothlessRoundedSerifed { ToothlessRoundedBody TopSerif null }
|
||||||
|
toothlessRoundedSeriflessHBB { ToothlessRoundedHBBBody null null }
|
||||||
|
toothlessRoundedSerifedHBB { ToothlessRoundedHBBBody TopSerif null }
|
||||||
|
|
||||||
create-glyph 'd.tailedSerifed' : glyph-proc
|
foreach { suffix { Body TopSerif BottomSerif } } [Object.entries DConfig] : do
|
||||||
|
create-glyph "d.\(suffix)" : glyph-proc
|
||||||
include : MarkSet.b
|
include : MarkSet.b
|
||||||
include : OBarRightShape
|
include : Body
|
||||||
include : RightwardTailedBar RightSB 0 CAP
|
if TopSerif : include : TopSerif
|
||||||
include : tagged 'serifRT' : LeftwardTopSerif (RightSB - Stroke * HVContrast) CAP SideJut
|
if BottomSerif : include : BottomSerif
|
||||||
|
|
||||||
create-glyph 'd.toothlessCornerSerifed' : glyph-proc
|
create-glyph "dcroat.\(suffix)" : glyph-proc
|
||||||
include : MarkSet.b
|
include [refer-glyph "d.\(suffix)"] AS_BASE ALSO_METRICS
|
||||||
include : OBarRightToothlessShape XH RightSB DToothlessRise DMBlend
|
include : HOverlayBar [mix SB RightSB 0.5] [mix RightSB Width 0.7] [mix XH (CAP - [if TopSerif Stroke 0]) 0.45]
|
||||||
include : VBarRight RightSB DToothlessRise CAP
|
|
||||||
include : tagged 'serifRT' : LeftwardTopSerif (RightSB - Stroke * HVContrast) CAP SideJut
|
|
||||||
|
|
||||||
create-glyph 'd.toothlessCornerSerifedHBB' : glyph-proc
|
create-glyph "latn/de.\(suffix)" : glyph-proc
|
||||||
include : MarkSet.b
|
include [refer-glyph "d.\(suffix)"] AS_BASE ALSO_METRICS
|
||||||
include : OBarRightToothlessShape XH RightSB DToothlessRise DMBlend
|
local xLeft : mix RightSB SB 0.9
|
||||||
include : VBarRight RightSB 0 CAP
|
include : HBarTop xLeft (RightSB + O) CAP
|
||||||
include : tagged 'serifRT' : LeftwardTopSerif (RightSB - Stroke * HVContrast) CAP SideJut
|
if TopSerif : include : DownwardLeftSerif xLeft CAP : Math.min VJut (0.8 * (CAP - XH))
|
||||||
|
|
||||||
create-glyph 'd.toothlessRoundedSerifed' : glyph-proc
|
|
||||||
include : MarkSet.b
|
|
||||||
include : OBarRightRoundedShape XH RightSB CAP
|
|
||||||
include : tagged 'serifRT' : LeftwardTopSerif (RightSB - Stroke * HVContrast) CAP SideJut
|
|
||||||
|
|
||||||
create-glyph 'd.toothlessRoundedSerifedHBB' : glyph-proc
|
|
||||||
include : MarkSet.b
|
|
||||||
include : OBarRightRoundedShape XH RightSB CAP
|
|
||||||
include : VBarRight RightSB 0 CAP
|
|
||||||
include : tagged 'serifRT' : LeftwardTopSerif (RightSB - Stroke * HVContrast) CAP SideJut
|
|
||||||
|
|
||||||
select-variant 'd' 'd'
|
select-variant 'd' 'd'
|
||||||
|
select-variant 'dcroat' 0x111 (follow -- 'd')
|
||||||
|
select-variant 'latn/de' 0x18C (follow -- 'd')
|
||||||
link-reduced-variant 'd/sansSerif' 'd' MathSansSerif
|
link-reduced-variant 'd/sansSerif' 'd' MathSansSerif
|
||||||
link-reduced-variant 'd/phoneticLeft' 'd'
|
link-reduced-variant 'd/phoneticLeft' 'd'
|
||||||
link-reduced-variant 'd/hookBottomBase' 'd'
|
link-reduced-variant 'd/hookBottomBase' 'd'
|
||||||
|
|
||||||
derive-glyphs 'dcroat' 0x111 'd' : lambda [src sel] : glyph-proc
|
|
||||||
include [refer-glyph src] AS_BASE
|
|
||||||
include : HBar [mix (SB + Stroke) (RightSB - Stroke) 0.5] [mix RightSB Width 0.7] [mix XH CAP 0.45] OverlayStroke
|
|
||||||
|
|
||||||
define DCurlyTailConfig : object
|
define DCurlyTailConfig : object
|
||||||
toothedSerifless { false }
|
toothedSerifless { false }
|
||||||
toothedTopSerifed { true }
|
toothedTopSerifed { true }
|
||||||
|
@ -168,12 +154,6 @@ glyph-block Letter-Latin-Lower-D : begin
|
||||||
include : Translate (Width - HalfStroke) 0
|
include : Translate (Width - HalfStroke) 0
|
||||||
include [refer-glyph src] AS_BASE
|
include [refer-glyph src] AS_BASE
|
||||||
|
|
||||||
derive-glyphs 'latinde' 0x18C 'd' : lambda [src sel] : glyph-proc
|
|
||||||
include [refer-glyph src] AS_BASE
|
|
||||||
include : HBarTop [mix RightSB SB 0.9] (RightSB + O) CAP
|
|
||||||
if SLAB : begin
|
|
||||||
include : DownwardLeftSerif [mix RightSB SB 0.9] CAP : Math.min VJut (0.8 * (CAP - XH))
|
|
||||||
|
|
||||||
glyph-block-import Letter-Blackboard : BBS BBD BBBarRight
|
glyph-block-import Letter-Blackboard : BBS BBD BBBarRight
|
||||||
create-glyph 'mathbb/d' 0x1D555 : glyph-proc
|
create-glyph 'mathbb/d' 0x1D555 : glyph-proc
|
||||||
include : MarkSet.b
|
include : MarkSet.b
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue