Fix #1071
Fix top hooks on some phonetic letters (`U+0253`, `U+0266`, `U+0267`, `U+01A5`) (#1072).
This commit is contained in:
parent
0f33798f94
commit
2ec32801d5
8 changed files with 27 additions and 17 deletions
|
@ -124,6 +124,7 @@
|
|||
- Fix missing dot on Latin Small Letter I with Stroke (`U+0268`) and Modifier Letter Small I with Stroke (`U+1DA4`) (#1043, #1066).
|
||||
- Fix incorrect slope of Circled Italic Latin Capital C (`U+1F12B`) and Circled Italic Latin Capital R (`U+1F12C`) (#1051).
|
||||
- Fix wrong glyphs for Letter Tone Five (`U+01BC`, `U+01BD`) (#1074).
|
||||
- Fix top hooks on some phonetic letters (`U+0253`, `U+0266`, `U+0267`, `U+01A5`) (#1072).
|
||||
* Geometry refinements:
|
||||
- Balance stroke width of curly W/w in bold weights (#1011).
|
||||
- Increase visibility of Cyrillic Descender (#1018).
|
||||
|
|
|
@ -417,14 +417,6 @@ glyph-block CommonShapes : begin
|
|||
g4.down.end (x - LeftHook.extension) (y - HookX) [heading Downward]
|
||||
set LeftHook.extension [Math.max (Width * 0.15) ([AdviceStroke 4.25] * 1.5)]
|
||||
|
||||
define [HooktopLeftBar] : params [stroke bottom] : glyph-proc
|
||||
include : dispiro
|
||||
widths.lhs [fallback stroke Stroke]
|
||||
g4 RightSB (CAP - Hook)
|
||||
hookstart (CAP - O)
|
||||
flat SB (CAP - SmallSmoothA)
|
||||
curl SB [fallback bottom 0] [heading Downward]
|
||||
|
||||
define [FlatSlashShape middlex middle fine kx ky] : glyph-proc
|
||||
include : dispiro
|
||||
flat (middlex - LongJut * [fallback kx 0.8]) (middle - LongJut * [fallback ky 0.4]) [widths fine fine]
|
||||
|
@ -587,4 +579,4 @@ glyph-block CommonShapes : begin
|
|||
corner [mix x1 x2 (-k)] [mix y1 y2 (-k)]
|
||||
corner [mix x1 x2 (1+k)] [mix y1 y2 (1+k)]
|
||||
|
||||
glyph-block-export Rect SquareAt Ring RingAt DotAt RingStroke RingStrokeAt DotStrokeAt CircleRing CircleRingAt CircleDotAt OShape OShapeOutline OBarLeftShape OBarRightShape LeftwardTopSerif LeftwardBottomSerif RightwardTopSerif RightwardBottomSerif CenterTopSerif CenterTopSerifAsymmetric CenterBottomSerif CenterBottomSerifAsymmetric DownwardRightSerif UpwardRightSerif DownwardLeftSerif UpwardLeftSerif NeedSlab NeedNotItalic HBar HBarTop HBarBottom HOverlayBar VBar VBarLeft VBarRight VerticalHook LeftHook HooktopLeftBar FlatSlashShape hookstart hookend FlipAround ScaleAround Realign ForceUpright DiagCor NameUni PointingTo WithTransform clear-anchors OBarLeftToothlessShape OBarLeftRoundedShape OBarRightToothlessShape OBarRightRoundedShape AsRadical ExtLineCenter ExtLineLhs DiagCorDs HCrossBar VERY-FAR MaskAbove MaskBelow MaskLeft MaskRight
|
||||
glyph-block-export Rect SquareAt Ring RingAt DotAt RingStroke RingStrokeAt DotStrokeAt CircleRing CircleRingAt CircleDotAt OShape OShapeOutline OBarLeftShape OBarRightShape LeftwardTopSerif LeftwardBottomSerif RightwardTopSerif RightwardBottomSerif CenterTopSerif CenterTopSerifAsymmetric CenterBottomSerif CenterBottomSerifAsymmetric DownwardRightSerif UpwardRightSerif DownwardLeftSerif UpwardLeftSerif NeedSlab NeedNotItalic HBar HBarTop HBarBottom HOverlayBar VBar VBarLeft VBarRight VerticalHook LeftHook FlatSlashShape hookstart hookend FlipAround ScaleAround Realign ForceUpright DiagCor NameUni PointingTo WithTransform clear-anchors OBarLeftToothlessShape OBarLeftRoundedShape OBarRightToothlessShape OBarRightRoundedShape AsRadical ExtLineCenter ExtLineLhs DiagCorDs HCrossBar VERY-FAR MaskAbove MaskBelow MaskLeft MaskRight
|
||||
|
|
|
@ -9,7 +9,7 @@ glyph-module
|
|||
glyph-block Letter-Latin-Lower-B : begin
|
||||
glyph-block-import CommonShapes
|
||||
glyph-block-import Common-Derivatives
|
||||
glyph-block-import Letter-Shared-Shapes : DToothlessRise DMBlend
|
||||
glyph-block-import Letter-Shared-Shapes : DToothlessRise DMBlend HooktopLeftBar
|
||||
|
||||
create-glyph 'b.toothed' : glyph-proc
|
||||
include : MarkSet.b
|
||||
|
@ -57,6 +57,7 @@ glyph-block Letter-Latin-Lower-B : begin
|
|||
|
||||
select-variant 'b' 'b'
|
||||
link-reduced-variant 'b/sansSerif' 'b' MathSansSerif
|
||||
link-reduced-variant 'b/zhuangToneSixBase' 'b'
|
||||
|
||||
create-glyph 'bhooktop.toothed' : glyph-proc
|
||||
include : MarkSet.b
|
||||
|
@ -92,7 +93,7 @@ glyph-block Letter-Latin-Lower-B : begin
|
|||
if SLAB : begin
|
||||
include : DownwardRightSerif [mix SB RightSB 0.9] CAP VJut
|
||||
|
||||
derive-glyphs 'zhuangtonesix' 0x185 'b' : lambda [src sel] : glyph-proc
|
||||
derive-glyphs 'zhuangtonesix' 0x185 'b/zhuangToneSixBase' : lambda [src sel] : glyph-proc
|
||||
include [refer-glyph src] AS_BASE
|
||||
eject-contour 'serifLT'
|
||||
local s : Math.max (XH * 0.1) Stroke
|
||||
|
|
|
@ -10,7 +10,7 @@ glyph-block Letter-Latin-Lower-H : begin
|
|||
glyph-block-import CommonShapes
|
||||
glyph-block-import Common-Derivatives
|
||||
glyph-block-import Letter-Shared-Shapes : RightwardTailedBar nShoulder nShoulderMask
|
||||
glyph-block-import Letter-Shared-Shapes : CyrDescender CyrLeftDescender
|
||||
glyph-block-import Letter-Shared-Shapes : CyrDescender CyrLeftDescender HooktopLeftBar
|
||||
|
||||
define [SmallHSerifs tailed hookTop] : glyph-proc : if SLAB : begin
|
||||
if [not hookTop] : include : tagged 'serifLT' : LeftwardTopSerif SB CAP SideJut
|
||||
|
@ -26,7 +26,7 @@ glyph-block Letter-Latin-Lower-H : begin
|
|||
if [not tailed] : include : tagged 'serifRB' : RightwardBottomSerif RightSB 0 SideJut
|
||||
|
||||
define [SmallHTopLeftSerifs tailed hookTop] : glyph-proc
|
||||
if [not tailed] : include : tagged 'serifRB' : RightwardBottomSerif RightSB 0 SideJut
|
||||
if [not hookTop] : include : tagged 'serifLT' : LeftwardTopSerif SB CAP SideJut
|
||||
|
||||
define HConfig : object
|
||||
straight { 0 SmallHSerifs }
|
||||
|
|
|
@ -9,7 +9,7 @@ glyph-module
|
|||
glyph-block Letter-Latin-Lower-P : begin
|
||||
glyph-block-import CommonShapes
|
||||
glyph-block-import Common-Derivatives
|
||||
glyph-block-import Letter-Shared-Shapes : DToothlessRise DMBlend
|
||||
glyph-block-import Letter-Shared-Shapes : DToothlessRise DMBlend HooktopLeftBar
|
||||
|
||||
define [SmallPSerifLT] : tagged 'serifLT' : LeftwardTopSerif SB XH SideJut
|
||||
define [SmallPSerifLB] : tagged 'serifLB' : union
|
||||
|
@ -78,6 +78,6 @@ glyph-block Letter-Latin-Lower-P : begin
|
|||
create-glyph 'phooktop' 0x1A5 : glyph-proc
|
||||
include : MarkSet.if
|
||||
include : OBarLeftShape
|
||||
include : HooktopLeftBar nothing Descender
|
||||
include : HooktopLeftBar (bottom -- Descender)
|
||||
if SLAB : begin
|
||||
include : SmallPSerifLB
|
|
@ -488,3 +488,12 @@ glyph-block Letter-Shared-Shapes : begin
|
|||
if (!SLAB && descenderOverflow > Stroke * 0.75 || connex)
|
||||
HBarTop (x + connex * Stroke * HVContrast) (x - descenderOverflow) Stroke
|
||||
glyph-proc
|
||||
|
||||
glyph-block-export HooktopLeftBar
|
||||
define [HooktopLeftBar] : params [bottom] : glyph-proc
|
||||
include : dispiro
|
||||
widths.lhs
|
||||
straight.left.start (SB + HalfStroke * HVContrast + HookX) CAP
|
||||
archv
|
||||
flat SB (CAP - Hook - HalfStroke)
|
||||
curl SB [fallback bottom 0] [heading Downward]
|
||||
|
|
|
@ -138,8 +138,9 @@ define-macro glyph-block-import : syntax-rules
|
|||
CenterTopSerif CenterTopSerifAsymmetric CenterBottomSerif CenterBottomSerifAsymmetric
|
||||
DownwardRightSerif UpwardRightSerif DownwardLeftSerif UpwardLeftSerif NeedSlab
|
||||
NeedNotItalic HBar HBarTop HBarBottom HOverlayBar VBar VBarLeft VBarRight VerticalHook
|
||||
LeftHook HooktopLeftBar FlatSlashShape hookstart hookend FlipAround ScaleAround Realign
|
||||
ForceUpright DiagCor NameUni PointingTo WithTransform clear-anchors OBarLeftToothlessShape OBarLeftRoundedShape OBarRightToothlessShape
|
||||
LeftHook FlatSlashShape hookstart hookend FlipAround ScaleAround Realign
|
||||
ForceUpright DiagCor NameUni PointingTo WithTransform clear-anchors
|
||||
OBarLeftToothlessShape OBarLeftRoundedShape OBarRightToothlessShape
|
||||
OBarRightRoundedShape AsRadical ExtLineCenter ExtLineLhs DiagCorDs HCrossBar VERY-FAR
|
||||
MaskAbove MaskBelow MaskLeft MaskRight]
|
||||
|
||||
|
|
|
@ -1798,6 +1798,7 @@ rank = 1
|
|||
description = "`b` with bottom-left tooth"
|
||||
selector.b = "toothed"
|
||||
selector."b/sansSerif" = "toothed"
|
||||
selector."b/zhuangToneSixBase" = "toothed"
|
||||
selector.bhooktop = "toothed"
|
||||
|
||||
[prime.b.variants.toothless-corner]
|
||||
|
@ -1805,6 +1806,7 @@ rank = 2
|
|||
description = "`b` without bottom-left tooth, with a corner transition"
|
||||
selector.b = "toothlessCorner"
|
||||
selector."b/sansSerif" = "toothlessCorner"
|
||||
selector."b/zhuangToneSixBase" = "toothlessCorner"
|
||||
selector.bhooktop = "toothlessCorner"
|
||||
|
||||
[prime.b.variants.toothless-rounded]
|
||||
|
@ -1812,6 +1814,7 @@ rank = 3
|
|||
description = "`b` without bottom-left tooth, with a rounded transition"
|
||||
selector.b = "toothlessRounded"
|
||||
selector."b/sansSerif" = "toothlessRounded"
|
||||
selector."b/zhuangToneSixBase" = "toothlessRounded"
|
||||
selector.bhooktop = "toothlessRounded"
|
||||
|
||||
[prime.b.variants.toothed-motion-serifed]
|
||||
|
@ -1819,6 +1822,7 @@ rank = 4
|
|||
description = "`b` with motion serif, and with bottom-left tooth"
|
||||
selector.b = "toothedMotionSerifed"
|
||||
selector."b/sansSerif" = "toothed"
|
||||
selector."b/zhuangToneSixBase" = "toothed"
|
||||
selector.bhooktop = "toothed"
|
||||
|
||||
[prime.b.variants.toothless-corner-motion-serifed]
|
||||
|
@ -1826,6 +1830,7 @@ rank = 5
|
|||
description = "`b` with motion serif, and without bottom-left tooth, with a corner transition"
|
||||
selector.b = "toothlessCornerMotionSerifed"
|
||||
selector."b/sansSerif" = "toothlessCorner"
|
||||
selector."b/zhuangToneSixBase" = "toothlessCorner"
|
||||
selector.bhooktop = "toothlessCorner"
|
||||
|
||||
[prime.b.variants.toothless-rounded-motion-serifed]
|
||||
|
@ -1833,6 +1838,7 @@ rank = 6
|
|||
description = "`b` with motion serif, and without bottom-left tooth, with a rounded transition"
|
||||
selector.b = "toothlessRoundedMotionSerifed"
|
||||
selector."b/sansSerif" = "toothlessRounded"
|
||||
selector."b/zhuangToneSixBase" = "toothlessRounded"
|
||||
selector.bhooktop = "toothlessRounded"
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue