From d78a00e1ea49c9d56e4f9c270304dfb294ccaa62 Mon Sep 17 00:00:00 2001 From: Belleve Date: Mon, 19 Aug 2024 16:56:17 -1000 Subject: [PATCH] * Add characters: (#2475) - OCR HOOK (`U+2440`) .. OCR BOW TIE (`U+2445`) (#2465). --- changes/31.4.0.md | 3 + .../font-glyphs/src/symbol/pictograph.ptl | 1 + .../font-glyphs/src/symbol/pictograph/ocr.ptl | 67 +++++++++++++++++++ 3 files changed, 71 insertions(+) create mode 100644 packages/font-glyphs/src/symbol/pictograph/ocr.ptl diff --git a/changes/31.4.0.md b/changes/31.4.0.md index 156e11bff..753132a9f 100644 --- a/changes/31.4.0.md +++ b/changes/31.4.0.md @@ -1 +1,4 @@ +* Add characters: + - OCR HOOK (`U+2440`) .. OCR BOW TIE (`U+2445`) (#2465). +* Add slanted dollar and cent sign (#2408). * Add round-top capital A (#2472). diff --git a/packages/font-glyphs/src/symbol/pictograph.ptl b/packages/font-glyphs/src/symbol/pictograph.ptl index b5b38bb49..a43585787 100644 --- a/packages/font-glyphs/src/symbol/pictograph.ptl +++ b/packages/font-glyphs/src/symbol/pictograph.ptl @@ -22,6 +22,7 @@ export : define [apply] : begin run-glyph-module "./pictograph/loops.mjs" run-glyph-module "./pictograph/metric-marks.mjs" run-glyph-module "./pictograph/musical.mjs" + run-glyph-module "./pictograph/ocr.mjs" run-glyph-module "./pictograph/powerline-and-gui.mjs" run-glyph-module "./pictograph/robot-and-human.mjs" run-glyph-module "./pictograph/schematic.mjs" diff --git a/packages/font-glyphs/src/symbol/pictograph/ocr.ptl b/packages/font-glyphs/src/symbol/pictograph/ocr.ptl new file mode 100644 index 000000000..adf569677 --- /dev/null +++ b/packages/font-glyphs/src/symbol/pictograph/ocr.ptl @@ -0,0 +1,67 @@ +$$include '../../meta/macros.ptl' + +import [mix linreg clamp fallback] from "@iosevka/util" +import [Transform] from "@iosevka/geometry/transform" + +glyph-module + +glyph-block Symbol-Pictograph-OCR : begin + glyph-block-import CommonShapes + glyph-block-import Common-Derivatives + + create-glyph 'ockHook' 0x2440 : glyph-proc + local df : include : DivFrame 1 + local sw : df.adviceStroke 3 + + include : VBar.l df.leftSB OperBot SymbolMid sw + include : VBar.m df.middle OperBot OperTop sw + include : VBar.r df.rightSB SymbolMid OperTop sw + include : HBar.b df.leftSB df.middle OperBot sw + include : HBar.t df.middle df.rightSB OperTop sw + + create-glyph 'ocrChair' 0x2441 : glyph-proc + local df : include : DivFrame 1 + local sw : df.adviceStroke 3 + + include : VBar.l df.leftSB OperBot SymbolMid sw + include : VBar.r df.rightSB OperBot OperTop sw + include : HBar.m df.leftSB df.rightSB SymbolMid sw + + create-glyph 'ocrFork' 0x2442 : glyph-proc + local df : include : DivFrame 1 + local sw : df.adviceStroke 3 + + include : VBar.l df.leftSB SymbolMid OperTop sw + include : VBar.r df.rightSB SymbolMid OperTop sw + include : VBar.m df.middle OperBot SymbolMid sw + include : HBar.m df.leftSB df.rightSB SymbolMid sw + + turned 'ocrInvertedFork' 0x2443 'ocrFork' [DivFrame 1].middle SymbolMid + + create-glyph 'ocrBeltBuckle' 0x2444 : glyph-proc + local df : include : DivFrame 1 + local sw : df.adviceStroke 3 + local gap : Math.max (XH / 4) [df.adviceStroke2 6 6 XH] + + include : HBar.t df.leftSB df.rightSB OperTop sw + include : HBar.b df.leftSB df.rightSB OperBot sw + include : VBar.m df.middle OperBot OperTop sw + include : with-knockout [HBar.m OperBot df.width SymbolMid gap] + VBar.l df.leftSB OperBot OperTop sw + VBar.r df.rightSB OperBot OperTop sw + + create-glyph 'ocrBowTie' 0x2445 : glyph-proc + local df : include : DivFrame 1 + local sw : df.adviceStroke2 4 6 (OperTop - OperBot) + + local y0 : mix OperBot OperTop 0.35 + local y1 : mix OperBot OperTop 0.65 + + include : VBar.l df.leftSB y0 y1 sw + include : VBar.r df.rightSB y0 y1 sw + include : dispiro + flat df.leftSB y0 [widths.rhs sw] + curl df.rightSB y1 [widths.lhs sw] + include : dispiro + flat df.leftSB y1 [widths.lhs sw] + curl df.rightSB y0 [widths.rhs sw]