diff --git a/glyphs/autobuilds.ptl b/glyphs/autobuilds.ptl index 6cdee53..60c0d43 100644 --- a/glyphs/autobuilds.ptl +++ b/glyphs/autobuilds.ptl @@ -711,6 +711,7 @@ createMedievalCombs : list list 0x36F 'x' list 0x1DD4 'ae' list 0x1DD7 'ccedillaBelow' + list 0x1DD8 'cyrde.italic' list 0x1DD9 'eth' list 0x1DDA 'g' list 0x1DDB 'G' @@ -721,6 +722,7 @@ createMedievalCombs : list list 0x1DE0 'n' list 0x1DE1 'N' list 0x1DE2 'R' + list 0x1DE3 'rrotunda' list 0x1DE4 's' list 0x1DE5 'longs' list 0x1DE6 'z' diff --git a/glyphs/letters-unified-basic.ptl b/glyphs/letters-unified-basic.ptl index 37a96a7..55d6348 100644 --- a/glyphs/letters-unified-basic.ptl +++ b/glyphs/letters-unified-basic.ptl @@ -1331,6 +1331,7 @@ define {PShape} : symbol-block 'P' flat (RIGHTSB - turnRadius + CORRECTION_OMIDS) bowlBottom curl (SB * mul - O) bowlBottom [heading LEFTWARD] include : VBarLeft (SB * mul) 0 top + tag-contour 'strokeL' if SLAB : begin include : LeftwardTopSerif (SB * mul) top SIDEJUT tag-contour 'serifLT' @@ -1403,14 +1404,16 @@ symbol-block 'R and CyrYa' include capitalMarks include : RShape CAP set-anchor 'overlay' BASE (SB + STROKE * HVCONTRAST) (CAP * PBARPOS - HALFSTROKE) - save 'R' 'R' + eject-contour 'strokeL' + save 'Rrotunda' 0xA75A sketch # smcpR include eMarks include : RShape XH - save 'smcpR' 0x280 + eject-contour 'strokeL' + save 'rrotunda' 0xA75B sketch # Yr include ifMarks diff --git a/glyphs/letters-unified-extended.ptl b/glyphs/letters-unified-extended.ptl index bfdf009..ab86417 100644 --- a/glyphs/letters-unified-extended.ptl +++ b/glyphs/letters-unified-extended.ptl @@ -691,16 +691,17 @@ define {CyrYeriShape RevCyrYeriShape} : symbol-block 'CyrYeri-related' local jut : fallback _jut JUT local bowl : top * 0.55 + HALFSTROKE - local turnRadius : bowl * 0.55 + local turnRadius : bowl * 0.45 local turnbottom : mix 0 bowl (SMOOTHA / (SMOOTHA + SMOOTHB)) + local trShrink [Math.pow ((right - left) / (RIGHTSB - SB)) 0.5] include : dispiro widths.lhs fine flat (left + STROKE * 0.2) 0 [heading RIGHTWARD] - curl ([Math.max (left + fine * HVCONTRAST) (right - turnRadius * [Math.pow ((right - left) / (RIGHTSB - SB)) 0.5])] + CORRECTION_OMIDX * fine) 0 + curl ([Math.max (left + fine * HVCONTRAST) (right - turnRadius * trShrink)] + CORRECTION_OMIDX * fine) 0 archv 8 g4 (right - OX) turnbottom arcvh 8 - flat ([Math.max (left + fine * HVCONTRAST) (right - turnRadius * [Math.pow ((right - left) / (RIGHTSB - SB)) 0.5])] - CORRECTION_OMIDX * fine) bowl + flat ([Math.max (left + fine * HVCONTRAST) (right - turnRadius * trShrink)] - CORRECTION_OMIDX * fine) bowl curl (left + STROKE * 0.2) bowl [heading LEFTWARD] include : VBarLeft left 0 top fine if SLAB : begin @@ -717,16 +718,17 @@ define {CyrYeriShape RevCyrYeriShape} : symbol-block 'CyrYeri-related' local bowl : top * 0.55 + HALFSTROKE - local turnRadius : bowl * 0.55 + local turnRadius : bowl * 0.45 local turnbottom : mix 0 bowl (SMOOTHB / (SMOOTHA + SMOOTHB)) + local trShrink [Math.pow ((right - left) / (RIGHTSB - SB)) 0.5] include : dispiro widths.rhs flat (right - STROKE * 0.2) 0 [heading LEFTWARD] - curl (left + turnRadius * [Math.pow ((right - left) / (RIGHTSB - SB)) 0.5] + CORRECTION_OMIDX * fine) 0 + curl (left + turnRadius * trShrink + CORRECTION_OMIDX * fine) 0 archv g4 (left + O) turnbottom [widths.rhs fine] arcvh - flat (left + turnRadius * [Math.pow ((right - left) / (RIGHTSB - SB)) 0.5] - CORRECTION_OMIDX * fine) bowl [widths.rhs] + flat (left + turnRadius * trShrink - CORRECTION_OMIDX * fine) bowl [widths.rhs] curl (right - STROKE * 0.2) bowl [heading RIGHTWARD] include : VBarRight right 0 top fine if SLAB : begin