Skip to content

Commit 73a53a0

Browse files
Fix leaning marks of several phonetic characters. (be5invis#2183)
* Fix leaning marks of several phonetic characters. * cont.
1 parent 625cf4b commit 73a53a0

File tree

6 files changed

+40
-17
lines changed

6 files changed

+40
-17
lines changed

changes/28.0.7.md

+5
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,8 @@
44
* Make Ezh follow variants of `Z`/`z` (#1957).
55
* Fix serif form for Cyrillic Lower Tall / Iotified Yat (#2178).
66
* Make top serifs of Cyrillic Lower Straight U (`ү`, `ұ`) and Latin Lower Gamma (`ɣ`) respond to italics.
7+
* Fix leaning marks of Capital Turned/Half H (`U+2C75`, `U+2C76`, `U+A78D`, `U+A7F5`, `U+A7F6`).
8+
* Fix leaning marks of Wynn (`U+01BF`, `U+01F7`).
9+
* Fix leaning marks of Insular R (`U+A782`, `U+A783`).
10+
* Fix leaning marks of Greek/Latin Beta (`U+03B2`, `U+A7B4`, `U+A7B5`).
11+
* Fix leaning marks of Greek Lower San (`U+03FB`).

packages/font-glyphs/src/letter/latin-ext/wynn.ptl

+3
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ glyph-module
77
glyph-block Letter-Latin-Wynn : begin
88
glyph-block-import CommonShapes
99
glyph-block-import Common-Derivatives
10+
glyph-block-import Mark-Adjustment : LeaningAnchor
1011
glyph-block-import Letter-Shared-Shapes : SerifFrame SerifedArcStart
1112

1213
define [SerifLT top bot] : return [SerifFrame.fromDf [DivFrame 1] top bot].lt.outer
@@ -36,12 +37,14 @@ glyph-block Letter-Latin-Wynn : begin
3637
foreach { suffix { Serifs doBS } } [Object.entries WynnConfig] : do
3738
create-glyph "wynn.\(suffix)" : glyph-proc
3839
include : MarkSet.p
40+
include : LeaningAnchor.Below.VBar.l SB
3941
include : WynnShape Descender XH
4042
include : Serifs XH Descender
4143

4244
select-variant 'wynn' 0x1BF
4345

4446
create-glyph 'Wynn' 0x1F7 : glyph-proc
4547
include : MarkSet.capital
48+
include : LeaningAnchor.Below.VBar.l SB
4649
include : WynnShape 0 CAP
4750
if SLAB : include : FullSerifs CAP 0

packages/font-glyphs/src/letter/latin/lower-n.ptl

+17-17
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ glyph-block Letter-Latin-Lower-N : begin
99
glyph-block-import CommonShapes
1010
glyph-block-import Common-Derivatives
1111
glyph-block-import Mark-Shared-Metrics : markHalfStroke
12+
glyph-block-import Mark-Adjustment : LeaningAnchor
1213
glyph-block-import Letter-Shared-Shapes : CurlyTail nShoulder nShoulderKnots nShoulderMask
1314
glyph-block-import Letter-Shared-Shapes : RightwardTailedBar DToothlessRise DMBlend MidHook
1415
glyph-block-import Letter-Shared-Shapes : CyrDescender PalatalHook RetroflexHook EngHook
@@ -137,21 +138,21 @@ glyph-block Letter-Latin-Lower-N : begin
137138
if sLB : include : sLB [DivFrame 1] 0
138139
if sRB : include : sRB [DivFrame 1] 0
139140

140-
create-glyph "eng.\(suffix)" : glyph-proc
141+
if (!tailed) : create-glyph "eng.\(suffix)" : glyph-proc
141142
include : MarkSet.p
142143
include : Body XH SB RightSB 0 Stroke
143144
include : EngHook RightSB 0 Descender
144145
if sLT : include : sLT [DivFrame 1] XH
145146
if sLB : include : sLB [DivFrame 1] 0
146147

147-
create-glyph "nHookBottom.\(suffix)" : glyph-proc
148+
if (!tailed) : create-glyph "nHookBottom.\(suffix)" : glyph-proc
148149
include : MarkSet.e
149150
include : Body XH SB RightSB 0 Stroke
150151
include : RetroflexHook.rExt RightSB 0
151152
if sLT : include : sLT [DivFrame 1] XH
152153
if sLB : include : sLB [DivFrame 1] 0
153154

154-
create-glyph "nCurlyTail.\(suffix)" : glyph-proc
155+
if (!tailed) : create-glyph "nCurlyTail.\(suffix)" : glyph-proc
155156
include : MarkSet.e
156157
local fine : AdviceStroke 4
157158
local rinner : clamp (Width * 0.065) (XH * 0.05) (fine * 0.35)
@@ -166,29 +167,27 @@ glyph-block Letter-Latin-Lower-N : begin
166167
if sLT : include : sLT [DivFrame 1] XH
167168
if sLB : include : sLB [DivFrame 1] 0
168169

169-
create-glyph "NExt.\(suffix)" : glyph-proc
170+
create-glyph "latn/Eta.\(suffix)" : glyph-proc
170171
include : MarkSet.capDesc
171172
include : Body CAP SB RightSB [if tailed (CAP - SmallArchDepthB + O) Descender] Stroke
172173
if tailed : include : EndingTail RightSB Descender (CAP - SmallArchDepthB) Stroke
173174
if sLT : include : sLT [DivFrame 1] CAP
174175
if sLB : include : sLB [DivFrame 1] 0
175176
if sRB : include : sRB [DivFrame 1] Descender
176177

177-
create-glyph "nExt.\(suffix)" : glyph-proc
178+
create-glyph "latn/eta.\(suffix)" : glyph-proc
178179
include : MarkSet.p
179180
include : Body XH SB RightSB [if tailed (XH - SmallArchDepthB + O) Descender] Stroke
180181
if tailed : include : EndingTail RightSB Descender (XH - SmallArchDepthB) Stroke
181182
if sLT : include : sLT [DivFrame 1] XH
182183
if sLB : include : sLB [DivFrame 1] 0
183184
if sRB : include : sRB [DivFrame 1] Descender
184185

185-
create-glyph "grek/eta.\(suffix)" : glyph-proc
186-
include : MarkSet.p
186+
if (!tailed && !sRB) : create-glyph "grek/eta.\(suffix)" : glyph-proc
187+
include [refer-glyph "latn/eta.\(suffix)"] AS_BASE ALSO_METRICS
187188
set-base-anchor 'lf' (SB + HalfStroke) 0
188-
include : Body XH SB RightSB Descender Stroke
189-
if sLT : include : sLT [DivFrame 1] XH
190189

191-
create-glyph "nCrossedTail.\(suffix)" : glyph-proc
190+
if (!tailed) : create-glyph "nCrossedTail.\(suffix)" : glyph-proc
192191
include : MarkSet.e
193192
local fine : AdviceStroke 4
194193
local rinner : XH * 0.15 - fine * 0.75
@@ -206,7 +205,7 @@ glyph-block Letter-Latin-Lower-N : begin
206205
NBottomLeftSerif [DivFrame 1] 0
207206
NBottomLeftOuterSerif [DivFrame 1] 0
208207

209-
create-glyph "engCrossedTail.\(suffix)" : glyph-proc
208+
if (!tailed) : create-glyph "engCrossedTail.\(suffix)" : glyph-proc
210209
include : MarkSet.p
211210
include : Body XH SB RightSB 0 Stroke
212211
local fine : AdviceStroke 3.5
@@ -220,15 +219,17 @@ glyph-block Letter-Latin-Lower-N : begin
220219
if sLT : include : sLT [DivFrame 1] XH
221220
if sLB : include : sLB [DivFrame 1] 0
222221

223-
create-glyph "RInsular.\(suffix)" : glyph-proc
222+
if (!tailed && !sRB) : create-glyph "RInsular.\(suffix)" : glyph-proc
224223
include : MarkSet.capDesc
224+
include : LeaningAnchor.Below.VBar.l SB
225225
include : Body CAP SB RightSB (-Descender) Stroke
226226
include : RetroflexHook.rExt RightSB (-Descender)
227227
include : VBar.l SB Descender 0
228228
if sLT : include : sLT [DivFrame 1] CAP
229229

230-
create-glyph "rInsular.\(suffix)" : glyph-proc
230+
if (!tailed && !sRB) : create-glyph "rInsular.\(suffix)" : glyph-proc
231231
include : MarkSet.p
232+
include : LeaningAnchor.Below.VBar.l SB
232233
include : Body XH SB RightSB (-Descender) Stroke
233234
include : RetroflexHook.rExt RightSB (-Descender)
234235
include : VBar.l SB Descender 0
@@ -247,7 +248,7 @@ glyph-block Letter-Latin-Lower-N : begin
247248

248249
include : MidHook.m df XH
249250

250-
create-glyph "cyrl/yat.italic/base.\(suffix)" : glyph-proc
251+
if (!tailed) : create-glyph "cyrl/yat.italic/base.\(suffix)" : glyph-proc
251252
local df : include : DivFrame para.diversityM 3
252253
include : df.markSet.e
253254

@@ -273,14 +274,13 @@ glyph-block Letter-Latin-Lower-N : begin
273274
select-variant 'nCrossedTail' 0xAB3B (follow -- 'eng')
274275
select-variant 'engCrossedTail' 0xAB3C (follow -- 'eng')
275276

276-
select-variant 'eng/lTailBase' (shapeFrom -- 'eng')
277277
select-variant 'RInsular' 0xA782 (follow -- 'eng/lTailBase')
278278
select-variant 'rInsular' 0xA783 (follow -- 'eng/lTailBase')
279279

280280
select-variant 'grek/eta' 0x3B7
281281
link-reduced-variant 'grek/eta/sansSerif' 'grek/eta' MathSansSerif
282-
select-variant 'NExt' 0x220 (follow -- 'n')
283-
select-variant 'nExt' 0x19E (follow -- 'n')
282+
select-variant 'latn/Eta' 0x220 (follow -- 'n')
283+
select-variant 'latn/eta' 0x19E (follow -- 'n')
284284

285285
derive-composites 'nDescender' 0xA791 'n/descBase' [CyrDescender.rSideJut RightSB 0]
286286
derive-composites 'nPalatalHook' 0x1D87 'n/descBase' [PalatalHook.rSideJut RightSB 0]

packages/font-glyphs/src/letter/latin/upper-b.ptl

+3
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ glyph-module
88
glyph-block Letter-Latin-Upper-B : begin
99
glyph-block-import CommonShapes
1010
glyph-block-import Common-Derivatives
11+
glyph-block-import Mark-Adjustment : LeaningAnchor
1112
glyph-block-import Letter-Shared-Metrics : BowlXDepth
1213
glyph-block-import Letter-Shared-Shapes : ShoulderMidKnotRhs LetterBarOverlay SerifFrame LeftHook
1314
glyph-block-import Letter-Blackboard : BBS BBD
@@ -167,6 +168,7 @@ glyph-block Letter-Latin-Upper-B : begin
167168

168169
create-glyph "latn/Beta.\(suffix)" : glyph-proc
169170
include : MarkSet.capDesc
171+
include : LeaningAnchor.Below.VBar.l SB
170172
include : body CAP [AdviceStroke2 2 3 CAP] ts false
171173
include : VBar.l SB Descender 0
172174
if bs : begin
@@ -240,6 +242,7 @@ glyph-block Letter-Latin-Upper-B : begin
240242

241243
create-glyph 'grek/beta' 0x3B2 : glyph-proc
242244
include : MarkSet.bp
245+
include : LeaningAnchor.Below.VBar.l SB
243246
define pBar 0.55
244247
define fine : Stroke * CThin
245248
define yMiddle : [mix 0 Ascender pBar] - Stroke * 0.7 # Bottom edge

packages/font-glyphs/src/letter/latin/upper-h.ptl

+10
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ glyph-block Letter-Latin-Upper-H : begin
99
glyph-block-import CommonShapes
1010
glyph-block-import Common-Derivatives
1111
glyph-block-import Mark-Shared-Metrics : markExtend
12+
glyph-block-import Mark-Adjustment : LeaningAnchor
1213
glyph-block-import Mark-Below : belowMarkMid
1314
glyph-block-import Letter-Blackboard : BBS BBD
1415
glyph-block-import Letter-Shared : SetGrekUpperTonos
@@ -114,6 +115,7 @@ glyph-block Letter-Latin-Upper-H : begin
114115

115116
create-glyph "HTurned.\(suffix)" : glyph-proc
116117
include : MarkSet.capital
118+
include : LeaningAnchor.Below.VBar.r RightSB
117119
include : TurnedBody SB RightSB CAP
118120
include : HSerifs slabType CAP 0 SB RightSB
119121
eject-contour 'serifLB'
@@ -125,6 +127,8 @@ glyph-block Letter-Latin-Upper-H : begin
125127

126128
create-glyph "leftHalfH.\(suffix)" : glyph-proc
127129
include : MarkSet.capital
130+
include : LeaningAnchor.Above.VBar.l SB
131+
include : LeaningAnchor.Below.VBar.l SB
128132
include : Body SB RightSB CAP
129133
eject-contour 'strokeR'
130134
include : HSerifs slabType CAP 0 SB RightSB
@@ -133,6 +137,8 @@ glyph-block Letter-Latin-Upper-H : begin
133137

134138
create-glyph "rightHalfH.\(suffix)" : glyph-proc
135139
include : MarkSet.capital
140+
include : LeaningAnchor.Above.VBar.r RightSB
141+
include : LeaningAnchor.Below.VBar.r RightSB
136142
include : Body SB RightSB CAP
137143
eject-contour 'strokeL'
138144
include : HSerifs slabType CAP 0 SB RightSB
@@ -141,6 +147,8 @@ glyph-block Letter-Latin-Upper-H : begin
141147

142148
create-glyph "leftHalfSmcpH.\(suffix)" : glyph-proc
143149
include : MarkSet.e
150+
include : LeaningAnchor.Above.VBar.l SB
151+
include : LeaningAnchor.Below.VBar.l SB
144152
include : Body SB RightSB XH
145153
eject-contour 'strokeR'
146154
include : HSerifs slabType XH 0 SB RightSB
@@ -149,6 +157,8 @@ glyph-block Letter-Latin-Upper-H : begin
149157

150158
create-glyph "rightHalfSmcpH.\(suffix)" : glyph-proc
151159
include : MarkSet.e
160+
include : LeaningAnchor.Above.VBar.r RightSB
161+
include : LeaningAnchor.Below.VBar.r RightSB
152162
include : Body SB RightSB XH
153163
eject-contour 'strokeL'
154164
include : HSerifs slabType XH 0 SB RightSB

packages/font-glyphs/src/letter/latin/upper-m.ptl

+2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ glyph-module
88
glyph-block Letter-Latin-Upper-M : begin
99
glyph-block-import CommonShapes
1010
glyph-block-import Common-Derivatives
11+
glyph-block-import Mark-Adjustment : LeaningAnchor
1112
glyph-block-import Letter-Shared : CreateTurnedLetter
1213
glyph-block-import Letter-Shared-Shapes : SerifFrame CyrTailDescender PalatalHook
1314

@@ -147,6 +148,7 @@ glyph-block Letter-Latin-Upper-M : begin
147148
create-glyph "smcpMWithDescender.\(suffix)" : glyph-proc
148149
local df : include : DivFrame para.diversityM 3
149150
include : df.markSet.p
151+
include : LeaningAnchor.Below.VBar.l df.leftSB
150152
include : MShape XH df form slab slanted
151153

152154
create-glyph "cyrl/EmSoft.\(suffix)" : glyph-proc

0 commit comments

Comments
 (0)