From 12a3b8c244c9a82ac9477eddc1bf3d09d4a38740 Mon Sep 17 00:00:00 2001 From: John McWilliams <37010132+jmcwilliams403@users.noreply.github.com> Date: Mon, 4 Mar 2024 14:04:33 -0500 Subject: [PATCH] Add various dingbats and punctuation characters. (#2219) * Add various dingbats and punctuation characters. * remove * temp doc * doc --- changes/29.0.0-beta.2.md | 2 - .../src/auto-build/transformed.ptl | 83 ++++++++++--------- .../src/symbol/geometric/masked.ptl | 12 +++ .../src/symbol/geometric/plain.ptl | 1 + .../font-glyphs/src/symbol/math/arith.ptl | 6 ++ 5 files changed, 63 insertions(+), 41 deletions(-) diff --git a/changes/29.0.0-beta.2.md b/changes/29.0.0-beta.2.md index c4d8bf161..a35685f4b 100644 --- a/changes/29.0.0-beta.2.md +++ b/changes/29.0.0-beta.2.md @@ -14,8 +14,6 @@ - EIGHT RAYS INWARD (`U+1CC69`) ... BLACK LARGE CIRCLE MINUS LOWER QUARTER SECTION (`U+1CC6E`) (Proposed for Unicode 16; L2/21-235). - SQUARE FOUR CORNER SALTIRES (`U+1CC89`) ... INVERSE BLACK DIAMOND (`U+1CC8D`) (Proposed for Unicode 16; L2/21-235). - WHITE VERTICAL RECTANGLE WITH HORIZONTAL BAR (`U+1CE06`) (Proposed for Unicode 16; L2/21-235). - - NO ONE UNDER EIGHTEEN SYMBOL (`U+1F51E`). - - BLACK HEART (`U+1F5A4`). - RAISED LEFT SMALL SQUARE BRACKET (`U+1FBCC`) (Proposed for Unicode 16; L2/21-235). * Add `MOSC` form: - BLACK UP-POINTING TRIANGLE (`U+25B2`). diff --git a/packages/font-glyphs/src/auto-build/transformed.ptl b/packages/font-glyphs/src/auto-build/transformed.ptl index 6f99c4917..0987a7c4d 100644 --- a/packages/font-glyphs/src/auto-build/transformed.ptl +++ b/packages/font-glyphs/src/auto-build/transformed.ptl @@ -127,13 +127,29 @@ glyph-block Autobuild-Transformed : begin list 0x02E2 's' list 0x02E3 'x' list 0x02E4 'revGlottalStop' - list 0x2071 'i' - list 0x207A 'plus' - list 0x207B 'minus' - list 0x207C 'equal' - list 0x207D 'parenLeft' - list 0x207E 'parenRight' - list 0x207F 'n' + list 0x1D2C 'A' + list 0x1D2D 'AE' + list 0x1D2E 'B' + list 0x1D2F 'BBar' + list 0x1D30 'D' + list 0x1D31 'E' + list 0x1D32 'revE' + list 0x1D33 'G' + list 0x1D34 'H' + list 0x1D35 'I' + list 0x1D36 'J' + list 0x1D37 'K' + list 0x1D38 'L' + list 0x1D39 'M' + list 0x1D3A 'N' + list 0x1D3B 'NRev' + list 0x1D3C 'O' + list 0x1D3D 'OU' + list 0x1D3E 'P' + list 0x1D3F 'R' + list 0x1D40 'T' + list 0x1D41 'U' + list 0x1D42 'W' list 0x1D43 'a' list 0x1D44 'turna' list 0x1D45 'scripta' @@ -203,31 +219,17 @@ glyph-block Autobuild-Transformed : begin list 0x1DBD 'zCurlyTail' list 0x1DBE 'ezh' list 0x1DBF 'grek/theta' - list 0x1D2C 'A' - list 0x1D2D 'AE' - list 0x1D2E 'B' - list 0x1D2F 'BBar' - list 0x1D30 'D' - list 0x1D31 'E' - list 0x1D32 'revE' - list 0x1D33 'G' - list 0x1D34 'H' - list 0x1D35 'I' - list 0x1D36 'J' - list 0x1D37 'K' - list 0x1D38 'L' - list 0x1D39 'M' - list 0x1D3A 'N' - list 0x1D3B 'NRev' - list 0x1D3C 'O' - list 0x1D3D 'OU' - list 0x1D3E 'P' - list 0x1D3F 'R' - list 0x1D40 'T' - list 0x1D41 'U' - list 0x1D42 'W' + list 0x2071 'i' + list 0x207A 'plus' + list 0x207B 'minus' + list 0x207C 'equal' + list 0x207D 'parenLeft' + list 0x207E 'parenRight' + list 0x207F 'n' list 0x2C7D 'V' list 0x2E0B 'mathBox' + list 0x2E0C 'multiplyStroke2' + list 0x2E0D 'multiplyStroke1' list 0xA69C 'cyrl/yer' list 0xA69D 'cyrl/yeri' list 0xA702 'subst' @@ -330,6 +332,7 @@ glyph-block Autobuild-Transformed : begin list 0x1E06B 'cyrl/the' list 0x1E06C 'cyrl/yeryBack' list 0x1E06D 'cyrl/uShortKazakh' + list 0x1FBCC 'bracketLeft' list null 'S' # there is no superscript S in unicode, but is is used for the SM symbol createSuperscripts 'numerator' NumeratorForm : list @@ -378,6 +381,15 @@ glyph-block Autobuild-Transformed : begin do createSubscripts 'sub' null : list + list 0x1D62 'i' + list 0x1D63 'r' + list 0x1D64 'u' + list 0x1D65 'v' + list 0x1D66 'grek/beta' + list 0x1D67 'grek/gamma' + list 0x1D68 'grek/rho' + list 0x1D69 'grek/phi' + list 0x1D6A 'grek/chi' list 0x208A 'plus' list 0x208B 'minus' list 0x208C 'equal' @@ -396,16 +408,9 @@ glyph-block Autobuild-Transformed : begin list 0x209A 'p' list 0x209B 's' list 0x209C 't' - list 0x1D62 'i' - list 0x1D63 'r' - list 0x1D64 'u' - list 0x1D65 'v' - list 0x1D66 'grek/beta' - list 0x1D67 'grek/gamma' - list 0x1D68 'grek/rho' - list 0x1D69 'grek/phi' - list 0x1D6A 'grek/chi' list 0x2C7C 'j' + list 0x2E1C 'multiplyStroke2' + list 0x2E1D 'multiplyStroke1' list 0xA700 'subst' list 0xA701 'substBarNoRise' list 0xA706 'supst' diff --git a/packages/font-glyphs/src/symbol/geometric/masked.ptl b/packages/font-glyphs/src/symbol/geometric/masked.ptl index 915f9b2af..67ec798ce 100644 --- a/packages/font-glyphs/src/symbol/geometric/masked.ptl +++ b/packages/font-glyphs/src/symbol/geometric/masked.ptl @@ -210,6 +210,18 @@ glyph-block Symbol-Geometric-Masked : for-width-kinds WideWidth1 if T [VBar.m Geom.MidX (Geom.MidY + Geom.Size - hv) (Geom.MidY - hv) s] [glyph-proc] if B [VBar.m Geom.MidX (Geom.MidY - Geom.Size + hv) (Geom.MidY + hv) s] [glyph-proc] + do "Three-Dimensional Arrow head" + define arrowHeadParts : list + list 0x27A2 0 1 + list 0x27A3 1 0 + + foreach { u th bh } [items-of arrowHeadParts] : begin + create-glyph [MangleName : NameUni u] [MangleUnicode u] : glyph-proc + set-width Geom.Width + include [refer-glyph : MangleName 'whiteArrowHeadRight'] + if th : include : intersection [UpperHalfMask] [refer-glyph : MangleName 'blackArrowHeadRight'] + if bh : include : intersection [LowerHalfMask] [refer-glyph : MangleName 'blackArrowHeadRight'] + do "Diamond minus white X" create-glyph [MangleName "blackDiamondMinusWhiteX"] [MangleUnicode 0x2756] : glyph-proc set-width Geom.Width diff --git a/packages/font-glyphs/src/symbol/geometric/plain.ptl b/packages/font-glyphs/src/symbol/geometric/plain.ptl index 0bb5a24a3..3bbd51f5e 100644 --- a/packages/font-glyphs/src/symbol/geometric/plain.ptl +++ b/packages/font-glyphs/src/symbol/geometric/plain.ptl @@ -596,3 +596,4 @@ glyph-block Symbol-Geometric-Plain : for-width-kinds WideWidth1 corner (cx - 0.5 * size) cy StdBlackShape RightArrowHeadShape 'blackArrowHeadRight' 0x27A4 Size.Oblique + StdWhiteShape RightArrowHeadShape 'whiteArrowHeadRight' null Size.Oblique diff --git a/packages/font-glyphs/src/symbol/math/arith.ptl b/packages/font-glyphs/src/symbol/math/arith.ptl index 15cbb430e..2e60b883c 100644 --- a/packages/font-glyphs/src/symbol/math/arith.ptl +++ b/packages/font-glyphs/src/symbol/math/arith.ptl @@ -103,6 +103,12 @@ glyph-block Symbol-Math-Arith : begin flat (Middle - p1 * Size) (SymbolMid + p1 * py * Size) curl (Middle + p2 * Size) (SymbolMid - p2 * py * Size) + create-glyph 'multiplyStroke1' : glyph-proc + include : MultiplyStroke1Shape OperatorStroke 1 1 1 + + create-glyph 'multiplyStroke2' : glyph-proc + include : MultiplyStroke2Shape OperatorStroke 1 1 1 + create-glyph 'multiply' 0xD7 : glyph-proc include : MultiplyStroke1Shape OperatorStroke 1 1 1 include : MultiplyStroke2Shape OperatorStroke 1 1 1