diff --git a/changes/25.0.0.md b/changes/25.0.0.md index 3c1fabe49..63afa983c 100644 --- a/changes/25.0.0.md +++ b/changes/25.0.0.md @@ -3,7 +3,10 @@ * Add Characters: - CYRILLIC CAPITAL LETTER DZZE (`U+A688`) (#1799). - CYRILLIC SMALL LETTER DZZE (`U+A689`) (#1799). + - LATIN CAPITAL LETTER L WITH HIGH STROKE (`U+A748`). + - LATIN SMALL LETTER L WITH HIGH STROKE (`U+A749`). - LATIN CAPITAL LETTER G WITH OBLIQUE STROKE (`U+A7A0`) ... LATIN SMALL LETTER S WITH OBLIQUE STROKE (`U+A7A9`) (#1818). + - LATIN SMALL LETTER L WITH MIDDLE RING (`U+AB39`) (#1673). - MODIFIER LETTER CYRILLIC SMALL DZZE (`U+1E04A`) (#1799). - CIRCLED DOLLAR SIGN WITH OVERLAID BACKSLASH (`U+1F10F`). - CIRCLED C WITH OVERLAID BACKSLASH (`U+1F16E`). diff --git a/font-src/glyphs/letter/latin/lower-il.ptl b/font-src/glyphs/letter/latin/lower-il.ptl index 14424771f..e9e7f3f41 100644 --- a/font-src/glyphs/letter/latin/lower-il.ptl +++ b/font-src/glyphs/letter/latin/lower-il.ptl @@ -12,7 +12,7 @@ glyph-block Letter-Latin-Lower-I : begin glyph-block-import Letter-Shared : CreateCommaCaronComposition glyph-block-import Letter-Shared : CreateAccentedComposition CreateMultiAccentedComposition CreateOgonekComposition glyph-block-import Letter-Shared-Shapes : FlatHookDepth DiagonalTailR DiagonalTailStdDepth - glyph-block-import Letter-Shared-Shapes : CurlyTail BeltOverlay PalatalHook RetroflexHook + glyph-block-import Letter-Shared-Shapes : CurlyTail BeltOverlay PalatalHook RetroflexHook LetterBarOverlay glyph-block-export OverrideILMarks define [OverrideILMarks df xMiddle yTop] : glyph-proc @@ -64,6 +64,7 @@ glyph-block Letter-Latin-Lower-I : begin set-base-anchor 'trailing' (xMiddle + LongJut * df.div) 0 export : define [Serifed df top xMiddle] : glyph-proc + include : OverrideILMarks df xMiddle top include : VBar.m xMiddle 0 top df.mvs include : tagged 'serifB' HSerif.mb df.middle 0 (LongJut * df.div) @@ -265,6 +266,11 @@ glyph-block Letter-Latin-Lower-I : begin yOverflow -- Stroke maskOut -- [MaskAbove maskY] + create-glyph "lHighBar.\(suffix)" : glyph-proc + include [refer-glyph "l.\(suffix)"] AS_BASE ALSO_METRICS + local df : DivFrame div + include : LetterBarOverlay.m.in [xMiddleT df] XH (Ascender - [if Serif Stroke 0]) + do "i glyphs" select-variant 'dotlessi' 0x131 link-reduced-variant 'dotlessi/sansSerif' 'dotlessi' MathSansSerif @@ -310,9 +316,11 @@ glyph-block Letter-Latin-Lower-I : begin select-variant 'lRTail' 0x26D (follow -- 'l/reduced/rtail') select-variant 'llWelsh' 0x1EFB (follow -- 'l') select-variant 'lPalatalHook' 0x1D85 (follow -- 'l') + select-variant 'lHighBar' 0xA749 (follow -- 'l') derive-composites 'lTildeOver' 0x26B 'l/reduced/decompress' 'tildeOver' derive-composites 'lDblTildeOver' 0xAB38 'l/reduced/decompress' 'dblTildeOver' + derive-composites 'lRingOver' 0xAB39 'l/reduced/decompress' 'ringOver' create-glyph 'lBeltOverlay' : glyph-proc set-mark-anchor 'overlay' 0 0 diff --git a/font-src/glyphs/letter/latin/upper-l.ptl b/font-src/glyphs/letter/latin/upper-l.ptl index c0dd29c26..8cb3a8a1f 100644 --- a/font-src/glyphs/letter/latin/upper-l.ptl +++ b/font-src/glyphs/letter/latin/upper-l.ptl @@ -58,10 +58,15 @@ glyph-block Letter-Latin-Upper-L : begin WithTransform [ApparentTranslate (sw * HVContrast + gap) 0] LShape df CAP serifGrade sw + create-glyph "LHighBar.\(suffix)" : glyph-proc + include [refer-glyph "L.\(suffix)"] AS_BASE ALSO_METRICS + include : LetterBarOverlay.l.in [LBarLeftX : DivFrame 1] XH (CAP - [if (serifGrade > 1) Stroke 0]) + select-variant 'L' 'L' link-reduced-variant 'L/sansSerif' 'L' MathSansSerif select-variant 'smcpL' 0x29F (follow -- 'L') select-variant 'LLWelsh' 0x1EFA (follow -- 'L') + select-variant 'LHighBar' 0xA748 (follow -- 'L') turned 'turnL' 0xA780 'L' Middle (CAP / 2) turned 'turnSansSerifL' 0x2142 'L.serifless' Middle (CAP / 2) diff --git a/font-src/glyphs/marks/overlay.ptl b/font-src/glyphs/marks/overlay.ptl index 9bbd4a86b..56c5c28f1 100644 --- a/font-src/glyphs/marks/overlay.ptl +++ b/font-src/glyphs/marks/overlay.ptl @@ -15,10 +15,11 @@ glyph-block Mark-Overlay : begin glyph-block-import Mark-Shared-Metrics : markExtend MarkStroke markStress markFine glyph-block-import Mark-Shared-Metrics : asciiMarkZoomX asciiMarkZoomY glyph-block-import Mark-Shared-Metrics : markMiddle markDotsRadius - glyph-block-import Mark-Above : aboveMarkTop aboveMarkBot aboveMarkMid TildeShape + glyph-block-import Mark-Above : aboveMarkTop aboveMarkBot aboveMarkMid TildeShape RingShape glyph-block-import Mark-Below : belowMarkBot belowMarkTop belowMarkMid local tildeHeight : 0.75 * (aboveMarkTop - aboveMarkBot) + local tildeHalfWidth : markExtend + 0.4 * Stroke * HVContrast # Overlay on stems create-glyph 'tildeOver' 0x334 : glyph-proc @@ -27,21 +28,21 @@ glyph-block Mark-Overlay : begin include : TildeShape ttop -- XH / 2 + tildeHeight / 2 tbot -- XH / 2 - tildeHeight / 2 - leftEnd -- markMiddle - (markExtend + 0.4 * Stroke * HVContrast) - rightEnd -- markMiddle + (markExtend + 0.4 * Stroke * HVContrast) + leftEnd -- markMiddle - tildeHalfWidth + rightEnd -- markMiddle + tildeHalfWidth hs -- [AdviceStroke 4] / 2 create-glyph 'dblTildeOver' : glyph-proc set-width 0 set-mark-anchor 'overlay' markMiddle (XH / 2) markMiddle (XH / 2) - local ttop [XH / 2 + tildeHeight / 2] - local tbot [XH / 2 - tildeHeight / 2] + local ttop : XH / 2 + tildeHeight / 2 + local tbot : XH / 2 - tildeHeight / 2 define [addTilde] : TildeShape ttop -- ttop tbot -- tbot - leftEnd -- markMiddle - (markExtend + 0.4 * Stroke * HVContrast) - rightEnd -- markMiddle + (markExtend + 0.4 * Stroke * HVContrast) + leftEnd -- markMiddle - tildeHalfWidth + rightEnd -- markMiddle + tildeHalfWidth hs -- [AdviceStroke 4.5] / 2 local shift : (ttop - tbot) * 1.2 @@ -65,8 +66,8 @@ glyph-block Mark-Overlay : begin include : TildeShape ttop -- XH / 2 + tildeHeight / 3 tbot -- XH / 2 - tildeHeight / 3 - leftEnd -- markMiddle - (markExtend + 0.4 * Stroke * HVContrast) - rightEnd -- markMiddle + (markExtend + 0.4 * Stroke * HVContrast) + leftEnd -- markMiddle - tildeHalfWidth + rightEnd -- markMiddle + tildeHalfWidth hs -- [AdviceStroke 4] / 2 create-glyph 'barOver' 0x335 : glyph-proc @@ -91,6 +92,11 @@ glyph-block Mark-Overlay : begin set-mark-anchor 'overlay' markMiddle (XH / 2) markMiddle (XH / 2) include : FlatSlashShape markMiddle (XH / 2) (0.5 * OverlayStroke) (0.75) (-0.3) + create-glyph 'ringOver' : glyph-proc + set-width 0 + set-mark-anchor 'overlay' 0 0 0 0 + include : RingShape 0 0 tildeHalfWidth + # Slash on entire letter on blank (bowl) create-glyph 'hStrike' : glyph-proc set-width 0 diff --git a/font-src/glyphs/symbol/math/v-and-cup.ptl b/font-src/glyphs/symbol/math/v-and-cup.ptl index aeed55ac4..f25748ba3 100644 --- a/font-src/glyphs/symbol/math/v-and-cup.ptl +++ b/font-src/glyphs/symbol/math/v-and-cup.ptl @@ -179,7 +179,7 @@ glyph-block Symbol-Math-VAndCup : begin define pitchForkTop : [mix OperBot OperTop 1.2] + Stroke / 4 define pitchForkSw : AdviceStroke 3.25 - + create-glyph 'pitchFork' 0x22D4 : composite-proc UShape [DivFrame 1] OperTop OperBot (stroke -- pitchForkSw) FlipAround Middle SymbolMid