From 30ddcd53fad70ddb7df9d3c8e905c310a6acb377 Mon Sep 17 00:00:00 2001 From: John McWilliams <37010132+jmcwilliams403@users.noreply.github.com> Date: Thu, 28 Mar 2024 19:44:32 -0400 Subject: [PATCH] Improve glyph visuals for 7 chars, add 2 new chars + 1 APL form. (#2264) * Fix glyph visuals for several math characters. * Add characters for UIUA. --- changes/29.0.5.md | 10 ++++++++++ packages/font-glyphs/src/symbol/math/apl.ptl | 1 + packages/font-glyphs/src/symbol/math/arith.ptl | 8 ++++---- packages/font-glyphs/src/symbol/math/boxed.ptl | 4 ++-- packages/font-glyphs/src/symbol/math/circled.ptl | 2 +- packages/font-glyphs/src/symbol/math/geometry.ptl | 7 +++++++ packages/font-glyphs/src/symbol/math/v-and-cup.ptl | 5 ++++- .../src/symbol/punctuation/slashes-and-number-sign.ptl | 2 +- 8 files changed, 30 insertions(+), 9 deletions(-) diff --git a/changes/29.0.5.md b/changes/29.0.5.md index 8d2fbc2e9..3338cfa21 100644 --- a/changes/29.0.5.md +++ b/changes/29.0.5.md @@ -1 +1,11 @@ * Fix side bearings of multi-dot punctuation (`U+10FB`, `U+2056`, `U+2058`..`205B`, `U+2E2A`..`U+2E2D`) under Quasi-Proportional. +* Fix glyph visuals: + - MATHEMATICAL RISING DIAGONAL (`U+27CB`). + - MATHEMATICAL FALLING DIAGONAL (`U+27CD`). + - CIRCLE WITH HORIZONTAL BAR (`U+29B5`). + - SOLIDUS WITH OVERBAR (`U+29F6`). + - SMALL VEE WITH UNDERBAR (`U+2A61`). +* Add characters: + - LOWER RIGHT CORNER WITH DOT (`U+27D3`). + - UPPER LEFT CORNER WITH DOT (`U+27D4`). +* Add APL form for WHITE DIAMOND (`U+25C7`). diff --git a/packages/font-glyphs/src/symbol/math/apl.ptl b/packages/font-glyphs/src/symbol/math/apl.ptl index 5398134bd..13988bcbd 100644 --- a/packages/font-glyphs/src/symbol/math/apl.ptl +++ b/packages/font-glyphs/src/symbol/math/apl.ptl @@ -271,6 +271,7 @@ glyph-block Symbol-Math-APL : begin LinkAplFormForNwidWwid 'uni2687' # Uiua symbols + LinkAplFormForNwidWwid 'whiteDiamond' LinkAplFormForNwidWwid 'whiteSquare' LinkAplFormForNwidWwid 'whiteTriangleUp' LinkAplFormForNwidWwid 'whiteTriangleDown' diff --git a/packages/font-glyphs/src/symbol/math/arith.ptl b/packages/font-glyphs/src/symbol/math/arith.ptl index 2e60b883c..e5ca31804 100644 --- a/packages/font-glyphs/src/symbol/math/arith.ptl +++ b/packages/font-glyphs/src/symbol/math/arith.ptl @@ -415,12 +415,12 @@ glyph-block Symbol-Math-Arith : begin set-width MosaicWidth include : dispiro widths.center OperatorStroke - flat SB ParenBot - curl (MosaicWidth - SB) ParenTop + flat SB [mix SymbolMid PlusBot MosaicWidthScalar] + curl (MosaicWidth - SB) [mix SymbolMid PlusTop MosaicWidthScalar] create-glyph [MangleName 'fallingDiagonal'] [MangleUnicode 0x27CD] : glyph-proc set-width MosaicWidth include : dispiro widths.center OperatorStroke - flat SB ParenTop - curl (MosaicWidth - SB) ParenBot + flat SB [mix SymbolMid PlusTop MosaicWidthScalar] + curl (MosaicWidth - SB) [mix SymbolMid PlusBot MosaicWidthScalar] diff --git a/packages/font-glyphs/src/symbol/math/boxed.ptl b/packages/font-glyphs/src/symbol/math/boxed.ptl index bf4832197..624415c09 100644 --- a/packages/font-glyphs/src/symbol/math/boxed.ptl +++ b/packages/font-glyphs/src/symbol/math/boxed.ptl @@ -21,5 +21,5 @@ glyph-block Symbol-Math-Boxed : begin MakeMathBoxed 0x29C4 'innerMultiplyStroke1' MakeMathBoxed 0x29C5 'innerMultiplyStroke2' MakeMathBoxed 0x29C6 'opAsterisk' - MakeMathBoxed 0x29C7 'whiteSmallCircle.NWID' - MakeMathBoxed 0x29C8 'whiteSmallSquare.NWID' + MakeMathBoxed 0x29C7 'whiteVerySmallCircle.NWID' + MakeMathBoxed 0x29C8 'whiteVerySmallSquare.NWID' diff --git a/packages/font-glyphs/src/symbol/math/circled.ptl b/packages/font-glyphs/src/symbol/math/circled.ptl index 727b0bf87..d87c5a6f8 100644 --- a/packages/font-glyphs/src/symbol/math/circled.ptl +++ b/packages/font-glyphs/src/symbol/math/circled.ptl @@ -80,7 +80,7 @@ glyph-block Symbol-Math-Circled : begin HBar.m (SB + eqS) (RightSB - eqS) (SymbolMid + eqD) eqS HBar.m (SB + eqS) (RightSB - eqS) (SymbolMid - eqD) eqS - create-glyph 0x29B5 : composite-proc [refer-glyph 'mathO'] : HBar.m [mix SB 0 0.9] [mix RightSB Width 0.9] SymbolMid MathEnclosureSw + create-glyph 0x29B5 : composite-proc [refer-glyph 'mathO'] : HBar.m [mix Middle SB Math.SQRT2] [mix Middle RightSB Math.SQRT2] SymbolMid MathEnclosureSw create-glyph 0x29B7 : composite-proc [refer-glyph 'mathO'] : intersection refer-glyph 'mathOOutline' diff --git a/packages/font-glyphs/src/symbol/math/geometry.ptl b/packages/font-glyphs/src/symbol/math/geometry.ptl index e95f3c5c4..866863319 100644 --- a/packages/font-glyphs/src/symbol/math/geometry.ptl +++ b/packages/font-glyphs/src/symbol/math/geometry.ptl @@ -106,6 +106,13 @@ glyph-block Symbol-Math-Geometry : begin dispiro [widths.lhs GeometryStroke] [flat leftBox bottomBox] [curl rightBox bottomBox] dispiro [widths.rhs GeometryStroke] [flat rightBox topBox] [curl rightBox bottomBox] + WithDotVariants 'pullback' 0x27D3 : function [DrawAt kr ov] : glyph-proc + include [refer-glyph 'revRightAngle'] AS_BASE ALSO_METRICS + local offset : mix 0 GeometryStroke 0.5 + include : DrawAt (Middle - offset) (SymbolMid + offset) (DotRadius * kr * [AdviceStroke 4] / Stroke - ov) + + turned 'pushout' 0x27D4 'pullback' Middle SymbolMid + create-glyph 'sineWave' 0x223F : glyph-proc define N 64 local knots {} diff --git a/packages/font-glyphs/src/symbol/math/v-and-cup.ptl b/packages/font-glyphs/src/symbol/math/v-and-cup.ptl index f29679f96..51d6cac0a 100644 --- a/packages/font-glyphs/src/symbol/math/v-and-cup.ptl +++ b/packages/font-glyphs/src/symbol/math/v-and-cup.ptl @@ -119,7 +119,10 @@ glyph-block Symbol-Math-VAndCup : begin HBar.b SB RightSB (OperBot + EqualHalfSpace * 0.75) OperatorStroke WedgeShape OperTop (OperBot + OperatorStroke + EqualHalfSpace * 0.75 + gap) - alias 'veeUnderbar' 0x2A61 'math/logic/xor' + create-glyph 'smallVeeUnderbar' 0x2A61 : union + HBar.b SB RightSB 0 OperatorStroke + VeeShape PlusTop [Math.max PlusBot (0 + OperatorStroke * 1.5)] + turned 'math/logic/equalOr' 0x2A62 'math/logic/andEqual' Middle SymbolMid turned 'math/logic/orEqual' 0x2A63 'math/logic/equalAnd' Middle SymbolMid diff --git a/packages/font-glyphs/src/symbol/punctuation/slashes-and-number-sign.ptl b/packages/font-glyphs/src/symbol/punctuation/slashes-and-number-sign.ptl index 4c38138e7..e5545b53b 100644 --- a/packages/font-glyphs/src/symbol/punctuation/slashes-and-number-sign.ptl +++ b/packages/font-glyphs/src/symbol/punctuation/slashes-and-number-sign.ptl @@ -72,7 +72,7 @@ glyph-block Symbol-Punctuation-Slashes-And-Number-Sign : begin create-glyph 'slashOverbar' 0x29F6 : glyph-proc include : refer-glyph "slash" - include : HBar.t (Middle - markExtend) (Middle + markExtend) (ParenTop + AccentClearance) markStroke + include : HBar.m (Middle - markExtend) (Middle + markExtend) (ParenTop + AccentClearance) markStroke create-glyph 'backslashBar' 0x29F7 : glyph-proc include : refer-glyph "backslash"