@@ -160,8 +160,7 @@ glyph-block Letter-Shared-Shapes : begin
160160 flat (x + hookTurn) (high - overshoot) [heading Rightward]
161161 curl (x + hookDepth + sw * TanSlope) (high - overshoot)
162162
163- glyph-block-export DToothlessRise
164- glyph-block-export DMBlend
163+ glyph-block-export DToothlessRise DMBlend
165164 define DToothlessRise : Hook * 0.25 + Stroke / 16
166165 define DMBlend 0.80
167166
@@ -589,7 +588,7 @@ glyph-block Letter-Shared-Shapes : begin
589588 glyph-block-export ArcStartSerifDepth
590589 define [ArcStartSerifDepth hook] : hook - 0
591590
592- define [ArcStartInwardSerifDepth hook stroke] : Math.max hook ( DToothlessRise + stroke)
591+ define [ArcStartInwardSerifDepth hook stroke] : Math.max hook : DToothlessRise + stroke
593592
594593 glyph-block-export : ArcStartSerif
595594 define ArcStartSerif : namespace
@@ -641,8 +640,8 @@ glyph-block Letter-Shared-Shapes : begin
641640 define dxTurn : [HSwToV : 0.5 * sw] + rIn + 0.5 * sign * TanSlope * fine
642641 define dxTailStart : dxTurn + sinAngle * (r * [mix 1 HVContrast sinAngle])
643642 define dyTailStart : (rIn + fine) - cosAngle * r
644- define dxDepth : (depth - 0.25 * sw) * +dSinAngle
645- define dyDepth : (depth - 0.25 * sw) * -dCosAngle
643+ define dxDepth : (depth - 0.25 * sw) * ( +dSinAngle)
644+ define dyDepth : (depth - 0.25 * sw) * ( -dCosAngle)
646645 return : list
647646 g4.[if (sign > 0) "right" "left"].mid
648647 cx + sign * dxTurn
@@ -688,7 +687,7 @@ glyph-block Letter-Shared-Shapes : begin
688687 define [JutIn left right jut swRef hSplit] : begin
689688 local ink : HSwToV swRef
690689 local gap : (right - left - hSplit * ink) / (hSplit - 1)
691- Math.min jut ( 0.5 * ink + [Math.max (Stroke * TanSlope) (0.375 * gap)])
690+ Math.min jut : 0.5 * ink + [Math.max (Stroke * TanSlope) (0.375 * gap)]
692691
693692 class CSerifFrame
694693 public [new top bot left right swRef swSerif div hSplit fForceSymmetric] : begin
@@ -707,7 +706,7 @@ glyph-block Letter-Shared-Shapes : begin
707706
708707
709708 local jutFS MidJutSide
710- local jut : mix [HSwToV : 0.5 * swRef] Jut [ Math.min 1 : div * 2.25 / hSplit]
709+ local jut : mix [HSwToV : 0.5 * swRef] Jut : Math.min 1 : div * 2.25 / hSplit
711710 local sideJut : jut - 0.5 * ink
712711
713712 local jutIn : if fForceSymmetric jut : JutIn left right jut swRef hSplit
@@ -824,6 +823,20 @@ glyph-block Letter-Shared-Shapes : begin
824823 flat right ada
825824 curl right yend [heading Upward]
826825
826+ glyph-block-export RhoticHookShape
827+ define [RhoticHookShape] : with-params [left right y rise [sw [AdviceStroke 5]] [doHook false]] : glyph-proc
828+ local mid : mix left right 0.5
829+ include : dispiro
830+ widths.rhs sw
831+ g2 (left - [HSwToV : 0.5 * sw]) (y)
832+ g2 (mid - [HSwToV : 0.5 * sw]) (y + rise)
833+ include : dispiro
834+ widths.center sw
835+ flat mid (y + rise) [heading Downward]
836+ curl mid (y + [if doHook 0 (rise - 1)]) [heading Downward]
837+ if doHook {[hookend (y - rise) (sw -- sw)]} {[arcvh]}
838+ g4 (right - [if doHook sw 0]) (y - [if doHook (rise * 0.5) rise]) [if doHook nothing [heading Rightward]]
839+
827840 # Generic "connected" vertical hooks
828841 glyph-block-export VerticalHook
829842 define VerticalHook : namespace
@@ -941,7 +954,7 @@ glyph-block Letter-Shared-Shapes : begin
941954 xDepth -- (-TailX)
942955 yDepth -- TailY
943956 sw -- sw
944- yExtension -- [Math.max 0 ( yAttach + yOverflow - y + (fullDepth - TailY) )]
957+ yExtension -- [Math.max 0 : yAttach + yOverflow - y + (fullDepth - TailY)]
945958 if maskOut maskOut [no-shape]
946959
947960 # Retroflex hooks
@@ -957,7 +970,7 @@ glyph-block Letter-Shared-Shapes : begin
957970 xDepth -- TailX
958971 yDepth -- TailY
959972 sw -- sw
960- yExtension -- [Math.max 0 ( yAttach + yOverflow - y + (fullDepth - TailY) )]
973+ yExtension -- [Math.max 0 : yAttach + yOverflow - y + (fullDepth - TailY)]
961974
962975 # Cyrillic "Middle Hook" Characters
963976 glyph-block-export MidHook
@@ -983,7 +996,7 @@ glyph-block Letter-Shared-Shapes : begin
983996 ada -- ArchDepthA
984997 adb -- ArchDepthB
985998 sw -- df.mvs
986- xDepth -- (-[Math.max [HSwToV df.mvs] : Math.min HookX ( 0.5 * (df.rightSB - df.leftSB - [HSwToV : 2 * df.mvs])) ])
999+ xDepth -- (-[Math.max [HSwToV df.mvs] : Math.min HookX : 0.5 * (df.rightSB - df.leftSB) - [HSwToV df.mvs]])
9871000
9881001 # Hook for Eng shape
9891002 glyph-block-export EngHook
0 commit comments