@@ -39,6 +39,13 @@ glyph-block Letter-Latin-S : begin
39
39
yLoopTop -- 0.333 * XH + 0.125 * fine
40
40
swBefore -- sw
41
41
42
+ define [SNeck df height stroke ess] : begin
43
+ local adjustFactor : 0.1 * (df.rightSB - df.leftSB) / height
44
+ return : list
45
+ ~~~ [alsoThru 0.5 (0.7 + adjustFactor)]
46
+ g4 [pre@mix@post 0.5] [pre@mix@post 0.5] [widths.center ess]
47
+ ~~~ [alsoThru 0.5 (0.3 - adjustFactor)]
48
+
42
49
define [SStrokeImpl df top bot st sb stroke refSwEss] : begin
43
50
local ess : refSwEss * stroke / Stroke
44
51
define archDepth : AdviceSArchDepth (top - bot) (-1) stroke
@@ -52,7 +59,7 @@ glyph-block Letter-Latin-S : begin
52
59
hookstart top (sw -- stroke)
53
60
54
61
g4 df.leftSB (top - archDepth)
55
- alsoThru.g2 0.5 0.5 [widths.center ess]
62
+ ~~~ [SNeck df (top - bot) stroke ess]
56
63
g4 (df.rightSB - SOBot) (bot + archDepth) [widths.rhs stroke]
57
64
58
65
match sb
@@ -72,7 +79,7 @@ glyph-block Letter-Latin-S : begin
72
79
g4 df.leftSB (CAP - Hook) [widths.rhs stroke]
73
80
hookstart CAP (sw -- stroke)
74
81
g4 df.rightSB (CAP - archDepth)
75
- alsoThru.g2 0.5 0.5 [widths.center ess]
82
+ ~~~ [SNeck df CAP stroke ess]
76
83
g4 (df.leftSB + SOBot) archDepth [widths.lhs stroke]
77
84
match sb
78
85
[Just SLAB-CLASSICAL] : SerifedArcEnd.LtrLhs df.rightSB 0 stroke Hook
@@ -94,7 +101,7 @@ glyph-block Letter-Latin-S : begin
94
101
hookstart XH (sw -- stroke)
95
102
96
103
g4 (df.leftSB - OX) (XH - archDepth)
97
- alsoThru.g2 0.5 0.5 [widths.center ess]
104
+ ~~~ [SNeck df XH stroke ess]
98
105
g4 (df.rightSB + OX - SOBot) (archDepth) [widths.rhs stroke]
99
106
100
107
match sb
@@ -116,10 +123,9 @@ glyph-block Letter-Latin-S : begin
116
123
g4 (df.rightSB + OX / 4 - [HSwToV soStart]) (top - hook)
117
124
hookstart (top - soStart) (sw -- fine)
118
125
g4 (df.leftSB + oXLeftTop + offsetLT.x) (top - archDepth + offsetLT.y)
119
- g2
120
- offsetC.x + [mix (df.leftSB + oXLeftTop + offsetLT.x) (df.rightSB - SOBot - offsetRB.x) 0.5]
121
- offsetC.y + [mix (top - archDepth) (archDepth) 0.5]
122
- widths.center stroke
126
+ ~~~ [virt pre@ (top - archDepth)]
127
+ ~~~ [g4 [pre@mix@post 0.5 offsetC.x] [pre@mix@post 0.5 offsetC.y] [widths.center stroke]]
128
+ ~~~ [virt post@ (archDepth)]
123
129
g4 (df.rightSB - SOBot - offsetRB.x) (archDepth + offsetRB.y) [widths.rhs fine]
124
130
hookend soEnd (sw -- fine)
125
131
g4 (df.leftSB + SOBot + [HSwToV soEnd]) (hook) [widths.rhs fine]
@@ -136,7 +142,7 @@ glyph-block Letter-Latin-S : begin
136
142
g4 df.rightSB (top - Hook) [widths.lhs stroke]
137
143
hookstart top (sw -- stroke)
138
144
g4 df.leftSB (top - archDepth)
139
- alsoThru.g2 0.5 0.5 [widths.center ess]
145
+ ~~~ [SNeck df top stroke ess]
140
146
g4 (df.rightSB - SOBot) (archDepth) [widths.rhs stroke]
141
147
arcvh
142
148
flat [arch.adjust-x.top df.middle] 0 [widths.rhs Stroke]
@@ -152,7 +158,7 @@ glyph-block Letter-Latin-S : begin
152
158
g4 (df.leftSB - OX) (XH - SHook) [widths.rhs stroke]
153
159
hookstart XH (sw -- stroke)
154
160
g4 (df.rightSB + OX) (XH - archDepth)
155
- alsoThru.g2 0.5 0.5 [widths.center ess]
161
+ ~~~ [SNeck df XH stroke ess]
156
162
g4 (df.leftSB - OX + SOBot) (archDepth) [widths.lhs stroke]
157
163
match sb
158
164
[Just SLAB-CLASSICAL] : SerifedArcEnd.LtrLhs df.rightSB 0 stroke SHook
0 commit comments