Fix hook alignment of LATIN SMALL LETTER T WITH HOOK AND RETROFLEX HOOK (U+1DF09
) (#1754).
This commit is contained in:
parent
ba50c5af21
commit
0c51817cc0
4 changed files with 63 additions and 11 deletions
|
@ -783,6 +783,16 @@ desc = "Customizer Preview Only Quasi-proportional Sans"
|
||||||
spacing = "quasi-proportional"
|
spacing = "quasi-proportional"
|
||||||
export-glyph-names = false
|
export-glyph-names = false
|
||||||
|
|
||||||
|
[buildPlans.iosevka-QP.weights.regular]
|
||||||
|
shape = 400
|
||||||
|
menu = 400
|
||||||
|
css = 400
|
||||||
|
|
||||||
|
[buildPlans.iosevka-QP.weights.bold]
|
||||||
|
shape = 700
|
||||||
|
menu = 700
|
||||||
|
css = 700
|
||||||
|
|
||||||
[buildPlans.iosevka-QP-slab]
|
[buildPlans.iosevka-QP-slab]
|
||||||
family = "Iosevka QP Slab"
|
family = "Iosevka QP Slab"
|
||||||
desc = "Customizer Preview Only Quasi-proportional Slab"
|
desc = "Customizer Preview Only Quasi-proportional Slab"
|
||||||
|
@ -790,12 +800,32 @@ serifs = 'slab'
|
||||||
spacing = "quasi-proportional"
|
spacing = "quasi-proportional"
|
||||||
export-glyph-names = false
|
export-glyph-names = false
|
||||||
|
|
||||||
|
[buildPlans.iosevka-QP-slab.weights.regular]
|
||||||
|
shape = 400
|
||||||
|
menu = 400
|
||||||
|
css = 400
|
||||||
|
|
||||||
|
[buildPlans.iosevka-QP-slab.weights.bold]
|
||||||
|
shape = 700
|
||||||
|
menu = 700
|
||||||
|
css = 700
|
||||||
|
|
||||||
[buildPlans.iosevka-QPE]
|
[buildPlans.iosevka-QPE]
|
||||||
family = "Iosevka QPE"
|
family = "Iosevka QPE"
|
||||||
desc = "Customizer Preview Only Quasi-proportional-extension-only Sans"
|
desc = "Customizer Preview Only Quasi-proportional-extension-only Sans"
|
||||||
spacing = "quasi-proportional-extension-only"
|
spacing = "quasi-proportional-extension-only"
|
||||||
export-glyph-names = false
|
export-glyph-names = false
|
||||||
|
|
||||||
|
[buildPlans.iosevka-QPE.weights.regular]
|
||||||
|
shape = 400
|
||||||
|
menu = 400
|
||||||
|
css = 400
|
||||||
|
|
||||||
|
[buildPlans.iosevka-QPE.weights.bold]
|
||||||
|
shape = 700
|
||||||
|
menu = 700
|
||||||
|
css = 700
|
||||||
|
|
||||||
[buildPlans.iosevka-QPE-slab]
|
[buildPlans.iosevka-QPE-slab]
|
||||||
family = "Iosevka QPE Slab"
|
family = "Iosevka QPE Slab"
|
||||||
desc = "Customizer Preview Only Quasi-proportional-extension-only Slab"
|
desc = "Customizer Preview Only Quasi-proportional-extension-only Slab"
|
||||||
|
@ -803,6 +833,15 @@ serifs = 'slab'
|
||||||
spacing = "quasi-proportional-extension-only"
|
spacing = "quasi-proportional-extension-only"
|
||||||
export-glyph-names = false
|
export-glyph-names = false
|
||||||
|
|
||||||
|
[buildPlans.iosevka-QPE-slab.weights.regular]
|
||||||
|
shape = 400
|
||||||
|
menu = 400
|
||||||
|
css = 400
|
||||||
|
|
||||||
|
[buildPlans.iosevka-QPE-slab.weights.bold]
|
||||||
|
shape = 700
|
||||||
|
menu = 700
|
||||||
|
css = 700
|
||||||
|
|
||||||
###################################################################################################
|
###################################################################################################
|
||||||
# Collect plans
|
# Collect plans
|
||||||
|
|
1
changes/24.1.1.md
Normal file
1
changes/24.1.1.md
Normal file
|
@ -0,0 +1 @@
|
||||||
|
* Fix hook alignment of LATIN SMALL LETTER T WITH HOOK AND RETROFLEX HOOK (`U+1DF09`) (#1754).
|
|
@ -56,6 +56,7 @@ glyph-block Letter-Latin-Lower-T : begin
|
||||||
|
|
||||||
local xLeft : xSmallTBarLeftT df
|
local xLeft : xSmallTBarLeftT df
|
||||||
set-base-anchor 'above' (xLeft + 0.5 * Stroke * HVContrast) top
|
set-base-anchor 'above' (xLeft + 0.5 * Stroke * HVContrast) top
|
||||||
|
set-base-anchor 'hooktopAttach' (xLeft + 0.5 * Stroke * HVContrast) top
|
||||||
set-base-anchor 'below' [mix xLeft gEnd.x : StrokeWidthBlend 0.375 0.5] bot
|
set-base-anchor 'below' [mix xLeft gEnd.x : StrokeWidthBlend 0.375 0.5] bot
|
||||||
set-base-anchor 'overlay' (g.knots.0.x + 0.625 * Stroke * HVContrast) (XH * 0.58)
|
set-base-anchor 'overlay' (g.knots.0.x + 0.625 * Stroke * HVContrast) (XH * 0.58)
|
||||||
|
|
||||||
|
@ -85,6 +86,7 @@ glyph-block Letter-Latin-Lower-T : begin
|
||||||
set-base-anchor 'bottomright' gEnd.x gEnd.y
|
set-base-anchor 'bottomright' gEnd.x gEnd.y
|
||||||
|
|
||||||
set-base-anchor 'above' ([xSmallTBarLeftT df] + 0.5 * Stroke * HVContrast) top
|
set-base-anchor 'above' ([xSmallTBarLeftT df] + 0.5 * Stroke * HVContrast) top
|
||||||
|
set-base-anchor 'hooktopAttach' ([xSmallTBarLeftT df] + 0.5 * Stroke * HVContrast) top
|
||||||
set-base-anchor 'overlay' (g.knots.0.x + 0.125 * Stroke * HVContrast) (XH * 0.58)
|
set-base-anchor 'overlay' (g.knots.0.x + 0.125 * Stroke * HVContrast) (XH * 0.58)
|
||||||
|
|
||||||
export : define [Retroflex df top bot] : Flat.Retroflex df top bot
|
export : define [Retroflex df top bot] : Flat.Retroflex df top bot
|
||||||
|
@ -137,6 +139,7 @@ glyph-block Letter-Latin-Lower-T : begin
|
||||||
curl xBarLeft top [heading Upward]
|
curl xBarLeft top [heading Upward]
|
||||||
|
|
||||||
set-base-anchor 'above' (xBarLeft + 0.5 * Stroke * HVContrast) top
|
set-base-anchor 'above' (xBarLeft + 0.5 * Stroke * HVContrast) top
|
||||||
|
set-base-anchor 'hooktopAttach' (xBarLeft + 0.5 * Stroke * HVContrast) top
|
||||||
set-base-anchor 'topright' xCrossRight Ascender
|
set-base-anchor 'topright' xCrossRight Ascender
|
||||||
set-base-anchor 'overlay' (xBarLeft + 0.625 * Stroke * HVContrast) (XH * 0.58)
|
set-base-anchor 'overlay' (xBarLeft + 0.625 * Stroke * HVContrast) (XH * 0.58)
|
||||||
set-base-anchor 'below' (HalfStroke * HVContrast + [Math.min (xBarLeft + (1 / 3) * hd.x) (xCrossRight - 1)]) bot
|
set-base-anchor 'below' (HalfStroke * HVContrast + [Math.min (xBarLeft + (1 / 3) * hd.x) (xCrossRight - 1)]) bot
|
||||||
|
@ -150,6 +153,7 @@ glyph-block Letter-Latin-Lower-T : begin
|
||||||
include : VBar.m df.middle 0 top
|
include : VBar.m df.middle 0 top
|
||||||
include : HCrossBar.top (df.middle - LongJut * [Math.sqrt df.div]) (df.middle + LongJut * [Math.sqrt df.div]) yCrossBar
|
include : HCrossBar.top (df.middle - LongJut * [Math.sqrt df.div]) (df.middle + LongJut * [Math.sqrt df.div]) yCrossBar
|
||||||
set-base-anchor 'overlay' df.middle (XH * 0.58)
|
set-base-anchor 'overlay' df.middle (XH * 0.58)
|
||||||
|
set-base-anchor 'hooktopAttach' df.middle top
|
||||||
|
|
||||||
export : define [Retroflex df top bot] : Flat.CrossRTBody df top bot
|
export : define [Retroflex df top bot] : Flat.CrossRTBody df top bot
|
||||||
|
|
||||||
|
@ -174,9 +178,10 @@ glyph-block Letter-Latin-Lower-T : begin
|
||||||
include : difference
|
include : difference
|
||||||
HCrossBar.top xBarLeft (df.middle + df.div * LongJut) yCrossBar
|
HCrossBar.top xBarLeft (df.middle + df.div * LongJut) yCrossBar
|
||||||
MaskLeft (xBarLeft - O)
|
MaskLeft (xBarLeft - O)
|
||||||
set-base-anchor 'above' (xBarLeft + 0.5 * Stroke * HVContrast) top
|
set-base-anchor 'above' (xBarLeft + 0.5 * HVContrast * Stroke) top
|
||||||
set-base-anchor 'overlay' (xBarLeft + 0.625 * Stroke * HVContrast) (XH * 0.58)
|
set-base-anchor 'hooktopAttach' (xBarLeft + 0.5 * HVContrast * Stroke) top
|
||||||
set-base-anchor 'below' (xBarLeft + HalfStroke * HVContrast) bot
|
set-base-anchor 'overlay' (xBarLeft + 0.625 * HVContrast * Stroke) (XH * 0.58)
|
||||||
|
set-base-anchor 'below' (xBarLeft + HVContrast * HalfStroke) bot
|
||||||
|
|
||||||
export : define [LTBody df top bot] : glyph-proc
|
export : define [LTBody df top bot] : glyph-proc
|
||||||
include : Body df top bot
|
include : Body df top bot
|
||||||
|
@ -189,6 +194,7 @@ glyph-block Letter-Latin-Lower-T : begin
|
||||||
|
|
||||||
export : define [Retroflex df top bot] : glyph-proc
|
export : define [Retroflex df top bot] : glyph-proc
|
||||||
define xBarLeft : xSmallTBarLeftT df
|
define xBarLeft : xSmallTBarLeftT df
|
||||||
|
set-base-anchor 'hooktopAttach' (xBarLeft + 0.5 * HVContrast * Stroke) top
|
||||||
include : dispiro
|
include : dispiro
|
||||||
widths.rhs
|
widths.rhs
|
||||||
straight.left.start (xBarLeft + HookX + HalfStroke * HVContrast) bot
|
straight.left.start (xBarLeft + HookX + HalfStroke * HVContrast) bot
|
||||||
|
@ -246,8 +252,9 @@ glyph-block Letter-Latin-Lower-T : begin
|
||||||
|
|
||||||
create-glyph "tHookTop.\(suffix)" : glyph-proc
|
create-glyph "tHookTop.\(suffix)" : glyph-proc
|
||||||
include [refer-glyph "t.\(suffix)"] AS_BASE ALSO_METRICS
|
include [refer-glyph "t.\(suffix)"] AS_BASE ALSO_METRICS
|
||||||
|
local attach : currentGlyph.gizmo.unapply currentGlyph.baseAnchors.hooktopAttach
|
||||||
|
|
||||||
currentGlyph.clearGeometry
|
currentGlyph.clearGeometry
|
||||||
local attach : currentGlyph.gizmo.unapply currentGlyph.baseAnchors.above
|
|
||||||
include : union
|
include : union
|
||||||
difference [Style.Body df top 0] [MaskAbove XH]
|
difference [Style.Body df top 0] [MaskAbove XH]
|
||||||
VerticalHook.m attach.x XH HookX (-Hook)
|
VerticalHook.m attach.x XH HookX (-Hook)
|
||||||
|
@ -269,13 +276,10 @@ glyph-block Letter-Latin-Lower-T : begin
|
||||||
include : Style.Retroflex df top Descender
|
include : Style.Retroflex df top Descender
|
||||||
|
|
||||||
create-glyph "tHookTopRTail.\(suffix)" : glyph-proc
|
create-glyph "tHookTopRTail.\(suffix)" : glyph-proc
|
||||||
include [refer-glyph "t.\(suffix)"] AS_BASE ALSO_METRICS
|
|
||||||
include : df.markSet.if
|
include : df.markSet.if
|
||||||
currentGlyph.clearGeometry
|
include : Style.Retroflex df XH Descender
|
||||||
local attach : currentGlyph.gizmo.unapply currentGlyph.baseAnchors.above
|
local attach : currentGlyph.gizmo.unapply currentGlyph.baseAnchors.hooktopAttach
|
||||||
include : union
|
include : VerticalHook.m attach.x XH HookX (-Hook)
|
||||||
difference [Style.Retroflex df top Descender] [MaskAbove XH]
|
|
||||||
VerticalHook.m attach.x XH HookX (-Hook)
|
|
||||||
|
|
||||||
turned "turnt.\(suffix)" nothing "t.\(suffix)" df.middle (XH / 2) [df.markSet.p]
|
turned "turnt.\(suffix)" nothing "t.\(suffix)" df.middle (XH / 2) [df.markSet.p]
|
||||||
|
|
||||||
|
@ -315,7 +319,7 @@ glyph-block Letter-Latin-Lower-T : begin
|
||||||
select-variant 'tRTail' 0x288
|
select-variant 'tRTail' 0x288
|
||||||
select-variant 'tCurlyTail' 0x236
|
select-variant 'tCurlyTail' 0x236
|
||||||
|
|
||||||
select-variant "tHookTopRTail" 0x1DF09 (follow -- 't')
|
select-variant "tHookTopRTail" 0x1DF09
|
||||||
|
|
||||||
CreateAccentedComposition 'tTildeOver' 0x1D75 't' 'tildeOver'
|
CreateAccentedComposition 'tTildeOver' 0x1D75 't' 'tildeOver'
|
||||||
|
|
||||||
|
|
|
@ -3193,6 +3193,7 @@ selectorAffix."t/phoneticLeft1" = "flatHook"
|
||||||
selectorAffix."t/phoneticLeft2" = "flatHook"
|
selectorAffix."t/phoneticLeft2" = "flatHook"
|
||||||
selectorAffix."t/phoneticLeft3" = "standard"
|
selectorAffix."t/phoneticLeft3" = "standard"
|
||||||
selectorAffix.tHookTop = "standard"
|
selectorAffix.tHookTop = "standard"
|
||||||
|
selectorAffix.tHookTopRTail = "flatHook"
|
||||||
selectorAffix.tRTail = "flatHook"
|
selectorAffix.tRTail = "flatHook"
|
||||||
selectorAffix.tLTail = "standard"
|
selectorAffix.tLTail = "standard"
|
||||||
selectorAffix.tCurlyTail = "standard"
|
selectorAffix.tCurlyTail = "standard"
|
||||||
|
@ -3206,6 +3207,7 @@ selectorAffix."t/phoneticLeft1" = "flatHook"
|
||||||
selectorAffix."t/phoneticLeft2" = "flatHook"
|
selectorAffix."t/phoneticLeft2" = "flatHook"
|
||||||
selectorAffix."t/phoneticLeft3" = "flatHook"
|
selectorAffix."t/phoneticLeft3" = "flatHook"
|
||||||
selectorAffix.tHookTop = "flatHook"
|
selectorAffix.tHookTop = "flatHook"
|
||||||
|
selectorAffix.tHookTopRTail = "flatHook"
|
||||||
selectorAffix.tRTail = "flatHook"
|
selectorAffix.tRTail = "flatHook"
|
||||||
selectorAffix.tLTail = "flatHook"
|
selectorAffix.tLTail = "flatHook"
|
||||||
selectorAffix.tCurlyTail = "flatHook"
|
selectorAffix.tCurlyTail = "flatHook"
|
||||||
|
@ -3219,6 +3221,7 @@ selectorAffix."t/phoneticLeft1" = "flatHook"
|
||||||
selectorAffix."t/phoneticLeft2" = "flatHook"
|
selectorAffix."t/phoneticLeft2" = "flatHook"
|
||||||
selectorAffix."t/phoneticLeft3" = "diagonalTailed"
|
selectorAffix."t/phoneticLeft3" = "diagonalTailed"
|
||||||
selectorAffix.tHookTop = "diagonalTailed"
|
selectorAffix.tHookTop = "diagonalTailed"
|
||||||
|
selectorAffix.tHookTopRTail = "flatHook"
|
||||||
selectorAffix.tRTail = "flatHook"
|
selectorAffix.tRTail = "flatHook"
|
||||||
selectorAffix.tLTail = "diagonalTailed"
|
selectorAffix.tLTail = "diagonalTailed"
|
||||||
selectorAffix.tCurlyTail = "standard"
|
selectorAffix.tCurlyTail = "standard"
|
||||||
|
@ -3232,6 +3235,7 @@ selectorAffix."t/phoneticLeft1" = "cross"
|
||||||
selectorAffix."t/phoneticLeft2" = "cross"
|
selectorAffix."t/phoneticLeft2" = "cross"
|
||||||
selectorAffix."t/phoneticLeft3" = "cross"
|
selectorAffix."t/phoneticLeft3" = "cross"
|
||||||
selectorAffix.tHookTop = "cross"
|
selectorAffix.tHookTop = "cross"
|
||||||
|
selectorAffix.tHookTopRTail = "cross"
|
||||||
selectorAffix.tRTail = "cross"
|
selectorAffix.tRTail = "cross"
|
||||||
selectorAffix.tLTail = "cross"
|
selectorAffix.tLTail = "cross"
|
||||||
selectorAffix.tCurlyTail = "cross"
|
selectorAffix.tCurlyTail = "cross"
|
||||||
|
@ -3245,6 +3249,7 @@ selectorAffix."t/phoneticLeft1" = "hooklessAsymmetric"
|
||||||
selectorAffix."t/phoneticLeft2" = "hooklessAsymmetric"
|
selectorAffix."t/phoneticLeft2" = "hooklessAsymmetric"
|
||||||
selectorAffix."t/phoneticLeft3" = "hooklessAsymmetric"
|
selectorAffix."t/phoneticLeft3" = "hooklessAsymmetric"
|
||||||
selectorAffix.tHookTop = "hooklessAsymmetric"
|
selectorAffix.tHookTop = "hooklessAsymmetric"
|
||||||
|
selectorAffix.tHookTopRTail = "hooklessAsymmetric"
|
||||||
selectorAffix.tRTail = "hooklessAsymmetric"
|
selectorAffix.tRTail = "hooklessAsymmetric"
|
||||||
selectorAffix.tLTail = "hooklessAsymmetric"
|
selectorAffix.tLTail = "hooklessAsymmetric"
|
||||||
selectorAffix.tCurlyTail = "hooklessAsymmetric"
|
selectorAffix.tCurlyTail = "hooklessAsymmetric"
|
||||||
|
@ -3258,6 +3263,7 @@ selectorAffix."t/phoneticLeft1" = ""
|
||||||
selectorAffix."t/phoneticLeft2" = ""
|
selectorAffix."t/phoneticLeft2" = ""
|
||||||
selectorAffix."t/phoneticLeft3" = ""
|
selectorAffix."t/phoneticLeft3" = ""
|
||||||
selectorAffix.tHookTop = ""
|
selectorAffix.tHookTop = ""
|
||||||
|
selectorAffix.tHookTopRTail = ""
|
||||||
selectorAffix.tRTail = ""
|
selectorAffix.tRTail = ""
|
||||||
selectorAffix.tLTail = ""
|
selectorAffix.tLTail = ""
|
||||||
selectorAffix.tCurlyTail = ""
|
selectorAffix.tCurlyTail = ""
|
||||||
|
@ -3271,6 +3277,7 @@ selectorAffix."t/phoneticLeft1" = "shortNeck"
|
||||||
selectorAffix."t/phoneticLeft2" = "shortNeck"
|
selectorAffix."t/phoneticLeft2" = "shortNeck"
|
||||||
selectorAffix."t/phoneticLeft3" = ""
|
selectorAffix."t/phoneticLeft3" = ""
|
||||||
selectorAffix.tHookTop = ""
|
selectorAffix.tHookTop = ""
|
||||||
|
selectorAffix.tHookTopRTail = ""
|
||||||
selectorAffix.tRTail = "shortNeck"
|
selectorAffix.tRTail = "shortNeck"
|
||||||
selectorAffix.tLTail = "shortNeck"
|
selectorAffix.tLTail = "shortNeck"
|
||||||
selectorAffix.tCurlyTail = "shortNeck"
|
selectorAffix.tCurlyTail = "shortNeck"
|
||||||
|
@ -3284,6 +3291,7 @@ selectorAffix."t/phoneticLeft1" = "shortNeck2"
|
||||||
selectorAffix."t/phoneticLeft2" = "shortNeck2"
|
selectorAffix."t/phoneticLeft2" = "shortNeck2"
|
||||||
selectorAffix."t/phoneticLeft3" = ""
|
selectorAffix."t/phoneticLeft3" = ""
|
||||||
selectorAffix.tHookTop = ""
|
selectorAffix.tHookTop = ""
|
||||||
|
selectorAffix.tHookTopRTail = ""
|
||||||
selectorAffix.tRTail = "shortNeck2"
|
selectorAffix.tRTail = "shortNeck2"
|
||||||
selectorAffix.tLTail = "shortNeck2"
|
selectorAffix.tLTail = "shortNeck2"
|
||||||
selectorAffix.tCurlyTail = "shortNeck2"
|
selectorAffix.tCurlyTail = "shortNeck2"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue