Some more Legacy Computing Symbols (pt 5) (#2220)
* square corners * double diagonals * gear and rays, rectangle with bar * mosaic forms * delete form * doc (merged with #2219)
This commit is contained in:
parent
6e79c9e5c7
commit
5cb280849b
10 changed files with 263 additions and 46 deletions
|
@ -1 +1,26 @@
|
||||||
|
* Add characters:
|
||||||
|
- SYMBOL FOR DELETE MEDIUM SHADE FORM (`U+2429`).
|
||||||
|
- GEAR WITHOUT HUB (`U+26ED`).
|
||||||
|
- GEAR WITH HANDLES (`U+26EE`).
|
||||||
|
- MAP SYMBOL FOR LIGHTHOUSE (`U+26EF`).
|
||||||
|
- THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD (`U+27A2`).
|
||||||
|
- THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD (`U+27A3`).
|
||||||
|
- LEFT RAISED OMISSION BRACKET (`U+2E0C`).
|
||||||
|
- RIGHT RAISED OMISSION BRACKET (`U+2E0C`).
|
||||||
|
- LEFT LOW PARAPHRASE BRACKET (`U+2E1C`).
|
||||||
|
- RIGHT LOW PARAPHRASE BRACKET (`U+2E1C`).
|
||||||
|
- BOX DRAWINGS DOUBLE DIAGONAL UPPER RIGHT TO LOWER LEFT (`U+1CC1F`) (Proposed for Unicode 16; L2/21-235).
|
||||||
|
- BOX DRAWINGS DOUBLE DIAGONAL UPPER LEFT TO LOWER RIGHT (`U+1CC20`) (Proposed for Unicode 16; L2/21-235).
|
||||||
|
- 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`).
|
||||||
|
- BLACK RIGHT-POINTING TRIANGLE (`U+25B6`).
|
||||||
|
- BLACK DOWN-POINTING TRIANGLE (`U+25BC`).
|
||||||
|
- BLACK LEFT-POINTING TRIANGLE (`U+25C0`).
|
||||||
|
* Fix broken shape of `U+1FB95`, `U+1FB96` and `U+1FB97` (#2218).
|
||||||
* Increase weight for `U+276E`/`U+276F` (#2217).
|
* Increase weight for `U+276E`/`U+276F` (#2217).
|
||||||
|
|
|
@ -12,3 +12,4 @@ export : define [apply] : begin
|
||||||
run-glyph-module "./geometric/masked.mjs"
|
run-glyph-module "./geometric/masked.mjs"
|
||||||
run-glyph-module "./geometric/ballot-box.mjs"
|
run-glyph-module "./geometric/ballot-box.mjs"
|
||||||
run-glyph-module "./geometric/corner-shape.mjs"
|
run-glyph-module "./geometric/corner-shape.mjs"
|
||||||
|
run-glyph-module "./geometric/square-corners.mjs"
|
||||||
|
|
|
@ -201,14 +201,6 @@ glyph-block Symbol-Geometric-Plain : for-width-kinds WideWidth1
|
||||||
StdBlackShape TriangleRTFill 'blackTriangleRT' 0x25E5
|
StdBlackShape TriangleRTFill 'blackTriangleRT' 0x25E5
|
||||||
ConvexWhitePolygon TriangleRTFill 'whiteTriangleRT' 0x25F9
|
ConvexWhitePolygon TriangleRTFill 'whiteTriangleRT' 0x25F9
|
||||||
|
|
||||||
create-glyph [MangleName 'squareCorners'] [MangleUnicode 0x26F6] : glyph-proc
|
|
||||||
set-width Geom.Width
|
|
||||||
include : difference
|
|
||||||
refer-glyph : MangleName 'whiteSquare'
|
|
||||||
union
|
|
||||||
intersection [MaskBelow (Geom.MidY + Geom.Size / 3)] [MaskAbove (Geom.MidY - Geom.Size / 3)]
|
|
||||||
intersection [MaskLeft (Geom.MidX + Geom.Size / 3)] [MaskRight (Geom.MidX - Geom.Size / 3)]
|
|
||||||
|
|
||||||
define [SquareOverlap name unicode rev square1 square2] : begin
|
define [SquareOverlap name unicode rev square1 square2] : begin
|
||||||
create-glyph [MangleName name] [MangleUnicode unicode] : glyph-proc
|
create-glyph [MangleName name] [MangleUnicode unicode] : glyph-proc
|
||||||
set-width Geom.Width
|
set-width Geom.Width
|
||||||
|
@ -225,25 +217,28 @@ glyph-block Symbol-Geometric-Plain : for-width-kinds WideWidth1
|
||||||
SquareOverlap 'overlapBBSquare' 0x2BBC 0 1 1
|
SquareOverlap 'overlapBBSquare' 0x2BBC 0 1 1
|
||||||
|
|
||||||
do "Rectangle"
|
do "Rectangle"
|
||||||
define [RectangleFill cx cy r] : spiro-outline
|
define [HoriRectangleFill cx cy r] : spiro-outline
|
||||||
corner (cx - r) (cy + r / 1.5)
|
corner (cx - r) (cy + r / 1.5)
|
||||||
corner (cx + r) (cy + r / 1.5)
|
corner (cx + r) (cy + r / 1.5)
|
||||||
corner (cx + r) (cy - r / 1.5)
|
corner (cx + r) (cy - r / 1.5)
|
||||||
corner (cx - r) (cy - r / 1.5)
|
corner (cx - r) (cy - r / 1.5)
|
||||||
|
|
||||||
StdBlackShape RectangleFill 'blackRectangle' 0x25AC
|
StdBlackShape HoriRectangleFill 'blackHoriRectangle' 0x25AC
|
||||||
ConvexWhitePolygon RectangleFill 'whiteRectangle' 0x25AD
|
ConvexWhitePolygon HoriRectangleFill 'whiteHoriRectangle' 0x25AD
|
||||||
|
|
||||||
define [LongRectangleFill cx cy r] : begin
|
define [VertRectangleFill cx cy r] : spiro-outline
|
||||||
define rs : Geom.TallSize / (r * 1.5)
|
corner (cx - r / 1.5) (cy + r)
|
||||||
return : spiro-outline
|
corner (cx + r / 1.5) (cy + r)
|
||||||
corner (cx - r * rs) (cy + r * rs * 1.5)
|
corner (cx + r / 1.5) (cy - r)
|
||||||
corner (cx + r * rs) (cy + r * rs * 1.5)
|
corner (cx - r / 1.5) (cy - r)
|
||||||
corner (cx + r * rs) (cy - r * rs * 1.5)
|
|
||||||
corner (cx - r * rs) (cy - r * rs * 1.5)
|
|
||||||
|
|
||||||
StdBlackShape LongRectangleFill 'blackLongRectangle' 0x25AE
|
StdBlackShape VertRectangleFill 'blackVertRectangle' 0x25AE
|
||||||
ConvexWhitePolygon LongRectangleFill 'whiteLongRectangle' 0x25AF
|
ConvexWhitePolygon VertRectangleFill 'whiteVertRectangle' 0x25AF
|
||||||
|
|
||||||
|
create-glyph [MangleName 'whiteVertRectangleBar'] [MangleUnicode 0x1CE06] : glyph-proc
|
||||||
|
set-width Geom.Width
|
||||||
|
include : refer-glyph : MangleName 'whiteVertRectangle'
|
||||||
|
include : HBar.m (Geom.MidX - Geom.Size) (Geom.MidX + Geom.Size) Geom.MidY GeometryStroke
|
||||||
|
|
||||||
define [ParallelogramFill cx cy r] : begin
|
define [ParallelogramFill cx cy r] : begin
|
||||||
define skew : r * 1 / 4
|
define skew : r * 1 / 4
|
||||||
|
@ -502,6 +497,27 @@ glyph-block Symbol-Geometric-Plain : for-width-kinds WideWidth1
|
||||||
StdBlackShape CircleInvertInnerShape 'blackInvInnerCircle' null
|
StdBlackShape CircleInvertInnerShape 'blackInvInnerCircle' null
|
||||||
StdWhiteShape CircleInvertInnerShape 'whiteInvInnerCircle' null
|
StdWhiteShape CircleInvertInnerShape 'whiteInvInnerCircle' null
|
||||||
|
|
||||||
|
create-glyph [MangleName 'blackCircleMinusQuarterLeft'] [MangleUnicode 0x1CC6B] : glyph-proc
|
||||||
|
set-width Geom.Width
|
||||||
|
include : difference
|
||||||
|
refer-glyph : MangleName 'blackCircle'
|
||||||
|
spiro-outline [corner (Geom.MidX - Geom.Size) (Geom.MidY + Geom.Size)] [corner Geom.MidX Geom.MidY] [corner (Geom.MidX - Geom.Size) (Geom.MidY - Geom.Size)]
|
||||||
|
create-glyph [MangleName 'blackCircleMinusQuarterUp'] [MangleUnicode 0x1CC6C] : glyph-proc
|
||||||
|
set-width Geom.Width
|
||||||
|
include : difference
|
||||||
|
refer-glyph : MangleName 'blackCircle'
|
||||||
|
spiro-outline [corner (Geom.MidX + Geom.Size) (Geom.MidY + Geom.Size)] [corner Geom.MidX Geom.MidY] [corner (Geom.MidX - Geom.Size) (Geom.MidY + Geom.Size)]
|
||||||
|
create-glyph [MangleName 'blackCircleMinusQuarterRight'] [MangleUnicode 0x1CC6D] : glyph-proc
|
||||||
|
set-width Geom.Width
|
||||||
|
include : difference
|
||||||
|
refer-glyph : MangleName 'blackCircle'
|
||||||
|
spiro-outline [corner (Geom.MidX + Geom.Size) (Geom.MidY - Geom.Size)] [corner Geom.MidX Geom.MidY] [corner (Geom.MidX + Geom.Size) (Geom.MidY + Geom.Size)]
|
||||||
|
create-glyph [MangleName 'blackCircleMinusQuarterDown'] [MangleUnicode 0x1CC6E] : glyph-proc
|
||||||
|
set-width Geom.Width
|
||||||
|
include : difference
|
||||||
|
refer-glyph : MangleName 'blackCircle'
|
||||||
|
spiro-outline [corner (Geom.MidX - Geom.Size) (Geom.MidY - Geom.Size)] [corner Geom.MidX Geom.MidY] [corner (Geom.MidX + Geom.Size) (Geom.MidY - Geom.Size)]
|
||||||
|
|
||||||
do "Ellipse"
|
do "Ellipse"
|
||||||
define [EllipseFillT kx ky] : lambda [cx cy r s] : begin
|
define [EllipseFillT kx ky] : lambda [cx cy r s] : begin
|
||||||
define rOrig : r + s
|
define rOrig : r + s
|
||||||
|
|
104
packages/font-glyphs/src/symbol/geometric/square-corners.ptl
Normal file
104
packages/font-glyphs/src/symbol/geometric/square-corners.ptl
Normal file
|
@ -0,0 +1,104 @@
|
||||||
|
$$include '../../meta/macros.ptl'
|
||||||
|
|
||||||
|
import [mix linreg clamp fallback] from "@iosevka/util"
|
||||||
|
import [DesignParameters] from "../../meta/aesthetics.mjs"
|
||||||
|
|
||||||
|
glyph-module
|
||||||
|
|
||||||
|
glyph-block Symbol-Geometric-Square-Corners : for-width-kinds WideWidth1
|
||||||
|
glyph-block-import CommonShapes
|
||||||
|
glyph-block-import Common-Derivatives
|
||||||
|
glyph-block-import Symbol-Geometric-Shared : GeometricDim UnicodeWeightGrade GeometricSizes
|
||||||
|
|
||||||
|
define Geom : GeometricDim MosaicUnitWidth MosaicWidth
|
||||||
|
|
||||||
|
define lineWidth : Math.min GeometryStroke ((Geom.Size * 2 - GeometryStroke * 2) * 1 / 11)
|
||||||
|
define aperature : Geom.Size / 3
|
||||||
|
|
||||||
|
do "squared form"
|
||||||
|
create-glyph [MangleName 'squareCorners'] [MangleUnicode 0x26F6] : glyph-proc
|
||||||
|
set-width Geom.Width
|
||||||
|
include : difference
|
||||||
|
refer-glyph : MangleName 'whiteSquare'
|
||||||
|
union
|
||||||
|
intersection [MaskBelow (Geom.MidY + Geom.Size / 3)] [MaskAbove (Geom.MidY - Geom.Size / 3)]
|
||||||
|
intersection [MaskLeft (Geom.MidX + Geom.Size / 3)] [MaskRight (Geom.MidX - Geom.Size / 3)]
|
||||||
|
|
||||||
|
create-glyph [MangleName 'squareCornersSaltires'] [MangleUnicode 0x1CC89] : glyph-proc
|
||||||
|
set-width Geom.Width
|
||||||
|
include : intersection
|
||||||
|
difference
|
||||||
|
refer-glyph : MangleName 'blackSquare'
|
||||||
|
union
|
||||||
|
intersection [MaskBelow (Geom.MidY + Geom.Size / 3)] [MaskAbove (Geom.MidY - Geom.Size / 3)]
|
||||||
|
intersection [MaskLeft (Geom.MidX + Geom.Size / 3)] [MaskRight (Geom.MidX - Geom.Size / 3)]
|
||||||
|
union
|
||||||
|
dispiro [widths.center lineWidth] [flat Geom.MidX (Geom.MidY + Geom.Size * (4 / 3))] [curl (Geom.MidX + Geom.Size * (4 / 3)) Geom.MidY]
|
||||||
|
dispiro [widths.center lineWidth] [flat (Geom.MidX + Geom.Size * (4 / 3)) Geom.MidY] [curl Geom.MidX (Geom.MidY - Geom.Size * (4 / 3))]
|
||||||
|
dispiro [widths.center lineWidth] [flat Geom.MidX (Geom.MidY - Geom.Size * (4 / 3))] [curl (Geom.MidX - Geom.Size * (4 / 3)) Geom.MidY]
|
||||||
|
dispiro [widths.center lineWidth] [flat (Geom.MidX - Geom.Size * (4 / 3)) Geom.MidY] [curl Geom.MidX (Geom.MidY + Geom.Size * (4 / 3))]
|
||||||
|
dispiro [widths.center lineWidth] [flat (Geom.MidX - Geom.Size) (Geom.MidY + Geom.Size)] [curl (Geom.MidX + Geom.Size) (Geom.MidY - Geom.Size)]
|
||||||
|
dispiro [widths.center lineWidth] [flat (Geom.MidX - Geom.Size) (Geom.MidY - Geom.Size)] [curl (Geom.MidX + Geom.Size) (Geom.MidY + Geom.Size)]
|
||||||
|
|
||||||
|
create-glyph [MangleName 'squareCornersDiagonals'] [MangleUnicode 0x1CC8A] : glyph-proc
|
||||||
|
set-width Geom.Width
|
||||||
|
include : intersection
|
||||||
|
refer-glyph : MangleName 'blackSquare'
|
||||||
|
union
|
||||||
|
dispiro [widths.lhs lineWidth] [flat Geom.MidX (Geom.MidY + Geom.Size * (4 / 3))] [curl (Geom.MidX + Geom.Size * (4 / 3)) Geom.MidY]
|
||||||
|
dispiro [widths.lhs lineWidth] [flat (Geom.MidX + Geom.Size * (4 / 3)) Geom.MidY] [curl Geom.MidX (Geom.MidY - Geom.Size * (4 / 3))]
|
||||||
|
dispiro [widths.lhs lineWidth] [flat Geom.MidX (Geom.MidY - Geom.Size * (4 / 3))] [curl (Geom.MidX - Geom.Size * (4 / 3)) Geom.MidY]
|
||||||
|
dispiro [widths.lhs lineWidth] [flat (Geom.MidX - Geom.Size * (4 / 3)) Geom.MidY] [curl Geom.MidX (Geom.MidY + Geom.Size * (4 / 3))]
|
||||||
|
|
||||||
|
create-glyph [MangleName 'squareCornersTriangles'] [MangleUnicode 0x1CC8B] : glyph-proc
|
||||||
|
set-width Geom.Width
|
||||||
|
include : difference
|
||||||
|
refer-glyph : MangleName 'blackSquare'
|
||||||
|
spiro-outline
|
||||||
|
corner Geom.MidX (Geom.MidY + Geom.Size * (4 / 3))
|
||||||
|
corner (Geom.MidX + Geom.Size * (4 / 3)) Geom.MidY
|
||||||
|
corner Geom.MidX (Geom.MidY - Geom.Size * (4 / 3))
|
||||||
|
corner (Geom.MidX - Geom.Size * (4 / 3)) Geom.MidY
|
||||||
|
|
||||||
|
create-glyph [MangleName 'squareAperature'] [MangleUnicode 0x1CC8C] : glyph-proc
|
||||||
|
set-width Geom.Width
|
||||||
|
include : refer-glyph : MangleName 'whiteSquare'
|
||||||
|
include : intersection
|
||||||
|
refer-glyph : MangleName 'blackSquare'
|
||||||
|
union
|
||||||
|
intersection
|
||||||
|
spiro-outline
|
||||||
|
corner (Geom.MidX - Geom.Size - aperature) (Geom.MidY + Geom.Size)
|
||||||
|
corner (Geom.MidX + Geom.Size) (Geom.MidY + Geom.Size)
|
||||||
|
corner (Geom.MidX + Geom.Size) (Geom.MidY - Geom.Size - aperature)
|
||||||
|
dispiro
|
||||||
|
widths.center lineWidth
|
||||||
|
flat (Geom.MidX - Geom.Size) (Geom.MidY - Geom.Size + aperature)
|
||||||
|
curl (Geom.MidX + Geom.Size) (Geom.MidY + Geom.Size + aperature)
|
||||||
|
intersection
|
||||||
|
spiro-outline
|
||||||
|
corner (Geom.MidX + Geom.Size) (Geom.MidY + Geom.Size + aperature)
|
||||||
|
corner (Geom.MidX + Geom.Size) (Geom.MidY - Geom.Size)
|
||||||
|
corner (Geom.MidX - Geom.Size - aperature) (Geom.MidY - Geom.Size)
|
||||||
|
dispiro
|
||||||
|
widths.center lineWidth
|
||||||
|
flat (Geom.MidX - Geom.Size + aperature) (Geom.MidY + Geom.Size)
|
||||||
|
curl (Geom.MidX + Geom.Size + aperature) (Geom.MidY - Geom.Size)
|
||||||
|
intersection
|
||||||
|
spiro-outline
|
||||||
|
corner (Geom.MidX + Geom.Size + aperature) (Geom.MidY - Geom.Size)
|
||||||
|
corner (Geom.MidX - Geom.Size) (Geom.MidY - Geom.Size)
|
||||||
|
corner (Geom.MidX - Geom.Size) (Geom.MidY + Geom.Size + aperature)
|
||||||
|
dispiro
|
||||||
|
widths.center lineWidth
|
||||||
|
flat (Geom.MidX - Geom.Size) (Geom.MidY - Geom.Size - aperature)
|
||||||
|
curl (Geom.MidX + Geom.Size) (Geom.MidY + Geom.Size - aperature)
|
||||||
|
intersection
|
||||||
|
spiro-outline
|
||||||
|
corner (Geom.MidX - Geom.Size) (Geom.MidY - Geom.Size - aperature)
|
||||||
|
corner (Geom.MidX - Geom.Size) (Geom.MidY + Geom.Size)
|
||||||
|
corner (Geom.MidX + Geom.Size + aperature) (Geom.MidY + Geom.Size)
|
||||||
|
dispiro
|
||||||
|
widths.center lineWidth
|
||||||
|
flat (Geom.MidX - Geom.Size - aperature) (Geom.MidY + Geom.Size)
|
||||||
|
curl (Geom.MidX + Geom.Size - aperature) (Geom.MidY - Geom.Size)
|
|
@ -13,7 +13,8 @@ glyph-block Symbol-Geometric-Sun-And-Gear : for-width-kinds WideWidth1
|
||||||
define Geom : GeometricDim MosaicUnitWidth MosaicWidth
|
define Geom : GeometricDim MosaicUnitWidth MosaicWidth
|
||||||
define Size : GeometricSizes Geom
|
define Size : GeometricSizes Geom
|
||||||
|
|
||||||
define [EightPointingRaysShape r] : glyph-proc
|
define [EightPointingRaysShape r _r2] : glyph-proc
|
||||||
|
local r2 : fallback _r2 Geom.Size
|
||||||
foreach [n : range 0 8] : begin
|
foreach [n : range 0 8] : begin
|
||||||
local theta : n / 8 * Math.PI * 2
|
local theta : n / 8 * Math.PI * 2
|
||||||
local c : Math.cos theta
|
local c : Math.cos theta
|
||||||
|
@ -21,12 +22,16 @@ glyph-block Symbol-Geometric-Sun-And-Gear : for-width-kinds WideWidth1
|
||||||
include : dispiro
|
include : dispiro
|
||||||
widths.center rayWidth
|
widths.center rayWidth
|
||||||
corner (Geom.MidX + c * r) (Geom.MidY + s * r)
|
corner (Geom.MidX + c * r) (Geom.MidY + s * r)
|
||||||
corner (Geom.MidX + c * Geom.Size) (Geom.MidY + s * Geom.Size)
|
corner (Geom.MidX + c * r2) (Geom.MidY + s * r2)
|
||||||
|
|
||||||
define rayWidth : AdviceStroke 8 [Math.sqrt Geom.Scalar]
|
define rayWidth : AdviceStroke 8 [Math.sqrt Geom.Scalar]
|
||||||
define rayInnerRadius : Geom.Size * 0.56
|
define rayInnerRadius : Geom.Size * 0.56
|
||||||
define dotRadius : Geom.Size * 0.44
|
define dotRadius : Geom.Size * 0.44
|
||||||
|
|
||||||
|
define gearRingRad : mix rayInnerRadius Geom.Size 0.3
|
||||||
|
define handleLength : Geom.Size * 0.5
|
||||||
|
define rayInwardShrink : Geom.Size * 0.25
|
||||||
|
|
||||||
create-glyph [MangleName 'blackSunWithRays'] [MangleUnicode 0x2600] : glyph-proc
|
create-glyph [MangleName 'blackSunWithRays'] [MangleUnicode 0x2600] : glyph-proc
|
||||||
set-width Geom.Width
|
set-width Geom.Width
|
||||||
include : EightPointingRaysShape rayInnerRadius
|
include : EightPointingRaysShape rayInnerRadius
|
||||||
|
@ -35,15 +40,31 @@ glyph-block Symbol-Geometric-Sun-And-Gear : for-width-kinds WideWidth1
|
||||||
set-width Geom.Width
|
set-width Geom.Width
|
||||||
include : EightPointingRaysShape rayInnerRadius
|
include : EightPointingRaysShape rayInnerRadius
|
||||||
include : RingStrokeAt Geom.MidX Geom.MidY dotRadius rayWidth
|
include : RingStrokeAt Geom.MidX Geom.MidY dotRadius rayWidth
|
||||||
create-glyph [MangleName 'gear'] [MangleUnicode 0x2699] : glyph-proc
|
create-glyph [MangleName 'gearWithoutHub'] [MangleUnicode 0x26ED] : glyph-proc
|
||||||
set-width Geom.Width
|
set-width Geom.Width
|
||||||
local gearRingRad : mix rayInnerRadius Geom.Size 0.4
|
|
||||||
include : EightPointingRaysShape (gearRingRad - rayWidth / 2)
|
include : EightPointingRaysShape (gearRingRad - rayWidth / 2)
|
||||||
include : RingStrokeAt Geom.MidX Geom.MidY gearRingRad rayWidth
|
include : RingStrokeAt Geom.MidX Geom.MidY gearRingRad rayWidth
|
||||||
|
create-glyph [MangleName 'gearWithHandle'] [MangleUnicode 0x26EE] : glyph-proc
|
||||||
|
set-width Geom.Width
|
||||||
|
include : refer-glyph : MangleName 'gearWithoutHub'
|
||||||
|
include : VBar.r (Geom.MidX + Geom.Size) (Geom.MidY - rayWidth / 2) (Geom.MidY + handleLength) rayWidth
|
||||||
|
include : VBar.l (Geom.MidX - Geom.Size) (Geom.MidY - handleLength) (Geom.MidY + rayWidth / 2) rayWidth
|
||||||
|
create-glyph [MangleName 'gear'] [MangleUnicode 0x2699] : glyph-proc
|
||||||
|
set-width Geom.Width
|
||||||
|
include : refer-glyph : MangleName 'gearWithoutHub'
|
||||||
include : RingAt Geom.MidX Geom.MidY (0.4 * (gearRingRad - rayWidth))
|
include : RingAt Geom.MidX Geom.MidY (0.4 * (gearRingRad - rayWidth))
|
||||||
|
alias [MangleName 'lighthouseSymbol'] 0x26EF [MangleName 'gear']
|
||||||
|
|
||||||
create-glyph [MangleName 'helm'] [MangleUnicode 0x2388] : glyph-proc
|
create-glyph [MangleName 'helm'] [MangleUnicode 0x2388] : glyph-proc
|
||||||
set-width Geom.Width
|
set-width Geom.Width
|
||||||
local gearRingRad : mix rayInnerRadius Geom.Size 0.4
|
local gearRingRad : mix rayInnerRadius Geom.Size 0.4
|
||||||
include : EightPointingRaysShape 0
|
include : EightPointingRaysShape 0
|
||||||
include : RingStrokeAt Geom.MidX Geom.MidY gearRingRad rayWidth
|
include : RingStrokeAt Geom.MidX Geom.MidY gearRingRad rayWidth
|
||||||
include : RingAt Geom.MidX Geom.MidY (1.1 * rayWidth)
|
include : RingAt Geom.MidX Geom.MidY (1.1 * rayWidth)
|
||||||
|
|
||||||
|
create-glyph [MangleName 'raysInward'] [MangleUnicode 0x1CC69] : glyph-proc
|
||||||
|
set-width Geom.Width
|
||||||
|
include : EightPointingRaysShape (rayInnerRadius - rayInwardShrink) (Geom.Size - rayInwardShrink)
|
||||||
|
create-glyph [MangleName 'raysOutward'] [MangleUnicode 0x1CC6A] : glyph-proc
|
||||||
|
set-width Geom.Width
|
||||||
|
include : EightPointingRaysShape rayInnerRadius Geom.Size
|
||||||
|
|
|
@ -17,7 +17,7 @@ glyph-block Symbol-Mosaic-Box-Drawing : begin
|
||||||
|
|
||||||
local light : AdviceStroke 3.5
|
local light : AdviceStroke 3.5
|
||||||
local heavy : Math.max (light * 2) (Width * 0.15)
|
local heavy : Math.max (light * 2) (Width * 0.15)
|
||||||
local midx : MosaicWidth / 2
|
local midx : mix left right 0.5
|
||||||
local midy : mix bottom top 0.5
|
local midy : mix bottom top 0.5
|
||||||
|
|
||||||
define [hline unicode pos] : begin
|
define [hline unicode pos] : begin
|
||||||
|
@ -94,8 +94,8 @@ glyph-block Symbol-Mosaic-Box-Drawing : begin
|
||||||
set-width MosaicWidth
|
set-width MosaicWidth
|
||||||
include : ForceUpright
|
include : ForceUpright
|
||||||
include : VBar.m midx [if d bottom bottom] [if c top top] light
|
include : VBar.m midx [if d bottom bottom] [if c top top] light
|
||||||
local tickleft : if rev midx 0
|
local tickleft : if rev midx left
|
||||||
local tickright : if rev MosaicWidth midx
|
local tickright : if rev right midx
|
||||||
if a : include : HBar.t tickleft tickright [mix bottom top (1 / 3)] light
|
if a : include : HBar.t tickleft tickright [mix bottom top (1 / 3)] light
|
||||||
if b : include : HBar.t tickleft tickright [mix bottom top (2 / 3)] light
|
if b : include : HBar.t tickleft tickright [mix bottom top (2 / 3)] light
|
||||||
if c : include : HBar.t tickleft tickright top light
|
if c : include : HBar.t tickleft tickright top light
|
||||||
|
@ -302,7 +302,7 @@ glyph-block Symbol-Mosaic-Box-Drawing : begin
|
||||||
curl midx (midy - bdArcRadius) [heading Upward]
|
curl midx (midy - bdArcRadius) [heading Upward]
|
||||||
arcvh
|
arcvh
|
||||||
flat (midx + bdArcRadius) midy [heading Rightward]
|
flat (midx + bdArcRadius) midy [heading Rightward]
|
||||||
curl MosaicWidth midy [heading Rightward]
|
curl right midy [heading Rightward]
|
||||||
|
|
||||||
create-glyph [MangleName : NameUni 0x256E] [MangleUnicode 0x256E] : glyph-proc
|
create-glyph [MangleName : NameUni 0x256E] [MangleUnicode 0x256E] : glyph-proc
|
||||||
set-width MosaicWidth
|
set-width MosaicWidth
|
||||||
|
@ -313,7 +313,7 @@ glyph-block Symbol-Mosaic-Box-Drawing : begin
|
||||||
curl midx (midy - bdArcRadius) [heading Upward]
|
curl midx (midy - bdArcRadius) [heading Upward]
|
||||||
arcvh
|
arcvh
|
||||||
flat (midx - bdArcRadius) midy [heading Leftward]
|
flat (midx - bdArcRadius) midy [heading Leftward]
|
||||||
curl 0 midy [heading Leftward]
|
curl left midy [heading Leftward]
|
||||||
|
|
||||||
create-glyph [MangleName : NameUni 0x256F] [MangleUnicode 0x256F] : glyph-proc
|
create-glyph [MangleName : NameUni 0x256F] [MangleUnicode 0x256F] : glyph-proc
|
||||||
set-width MosaicWidth
|
set-width MosaicWidth
|
||||||
|
@ -324,7 +324,7 @@ glyph-block Symbol-Mosaic-Box-Drawing : begin
|
||||||
curl midx (midy + bdArcRadius) [heading Downward]
|
curl midx (midy + bdArcRadius) [heading Downward]
|
||||||
arcvh
|
arcvh
|
||||||
flat (midx - bdArcRadius) midy [heading Leftward]
|
flat (midx - bdArcRadius) midy [heading Leftward]
|
||||||
curl 0 midy [heading Leftward]
|
curl left midy [heading Leftward]
|
||||||
|
|
||||||
create-glyph [MangleName : NameUni 0x2570] [MangleUnicode 0x2570] : glyph-proc
|
create-glyph [MangleName : NameUni 0x2570] [MangleUnicode 0x2570] : glyph-proc
|
||||||
set-width MosaicWidth
|
set-width MosaicWidth
|
||||||
|
@ -335,7 +335,7 @@ glyph-block Symbol-Mosaic-Box-Drawing : begin
|
||||||
curl midx (midy + bdArcRadius) [heading Downward]
|
curl midx (midy + bdArcRadius) [heading Downward]
|
||||||
arcvh
|
arcvh
|
||||||
flat (midx + bdArcRadius) midy [heading Rightward]
|
flat (midx + bdArcRadius) midy [heading Rightward]
|
||||||
curl MosaicWidth midy [heading Rightward]
|
curl right midy [heading Rightward]
|
||||||
|
|
||||||
# Corner Diagonals
|
# Corner Diagonals
|
||||||
create-glyph [MangleName : NameUni 0x2571] [MangleUnicode 0x2571] : glyph-proc
|
create-glyph [MangleName : NameUni 0x2571] [MangleUnicode 0x2571] : glyph-proc
|
||||||
|
@ -343,16 +343,16 @@ glyph-block Symbol-Mosaic-Box-Drawing : begin
|
||||||
include : ForceUpright
|
include : ForceUpright
|
||||||
include : dispiro
|
include : dispiro
|
||||||
widths.center light
|
widths.center light
|
||||||
flat MosaicWidth top
|
flat right top
|
||||||
curl 0 bottom
|
curl left bottom
|
||||||
|
|
||||||
create-glyph [MangleName : NameUni 0x2572] [MangleUnicode 0x2572] : glyph-proc
|
create-glyph [MangleName : NameUni 0x2572] [MangleUnicode 0x2572] : glyph-proc
|
||||||
set-width MosaicWidth
|
set-width MosaicWidth
|
||||||
include : ForceUpright
|
include : ForceUpright
|
||||||
include : dispiro
|
include : dispiro
|
||||||
widths.center light
|
widths.center light
|
||||||
flat 0 top
|
flat left top
|
||||||
curl MosaicWidth bottom
|
curl right bottom
|
||||||
|
|
||||||
create-glyph [MangleName : NameUni 0x2573] [MangleUnicode 0x2573] : glyph-proc
|
create-glyph [MangleName : NameUni 0x2573] [MangleUnicode 0x2573] : glyph-proc
|
||||||
set-width MosaicWidth
|
set-width MosaicWidth
|
||||||
|
@ -501,6 +501,34 @@ glyph-block Symbol-Mosaic-Box-Drawing : begin
|
||||||
include : refer-glyph : MangleName : NameUni 0x1FBD0
|
include : refer-glyph : MangleName : NameUni 0x1FBD0
|
||||||
include : refer-glyph : MangleName : NameUni 0x1FBD2
|
include : refer-glyph : MangleName : NameUni 0x1FBD2
|
||||||
|
|
||||||
|
# Double Diagonals
|
||||||
|
create-glyph [MangleName : NameUni 0x1CC1F] [MangleUnicode 0x1CC1F] : glyph-proc
|
||||||
|
set-width MosaicWidth
|
||||||
|
include : ForceUpright
|
||||||
|
define offset : (top - bottom) / 4
|
||||||
|
include : intersection [DiamondMask] : union
|
||||||
|
dispiro
|
||||||
|
widths.center light
|
||||||
|
flat right (top + offset)
|
||||||
|
curl [mix right left 1.5] ([mix top bottom 1.5] + offset)
|
||||||
|
dispiro
|
||||||
|
widths.center light
|
||||||
|
flat [mix left right 1.5] ([mix bottom top 1.5] - offset)
|
||||||
|
curl left (bottom - offset)
|
||||||
|
|
||||||
|
create-glyph [MangleName : NameUni 0x1CC20] [MangleUnicode 0x1CC20] : glyph-proc
|
||||||
|
set-width MosaicWidth
|
||||||
|
include : ForceUpright
|
||||||
|
define offset : (top - bottom) / 4
|
||||||
|
include : intersection [DiamondMask] : union
|
||||||
|
dispiro
|
||||||
|
widths.center light
|
||||||
|
flat left (top + offset)
|
||||||
|
curl [mix left right 1.5] ([mix top bottom 1.5] + offset)
|
||||||
|
dispiro
|
||||||
|
widths.center light
|
||||||
|
flat [mix right left 1.5] ([mix bottom top 1.5] - offset)
|
||||||
|
curl right (bottom - offset)
|
||||||
|
|
||||||
create-glyph [MangleName : NameUni 0x1FBAF] [MangleUnicode 0x1FBAF] : glyph-proc
|
create-glyph [MangleName : NameUni 0x1FBAF] [MangleUnicode 0x1FBAF] : glyph-proc
|
||||||
set-width MosaicWidth
|
set-width MosaicWidth
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
$$include '../../meta/macros.ptl'
|
$$include '../../meta/macros.ptl'
|
||||||
|
|
||||||
import [mix linreg clamp fallback] from "@iosevka/util"
|
import [mix linreg clamp fallback] from "@iosevka/util"
|
||||||
|
import as Gr from "@iosevka/glyph/relation"
|
||||||
|
|
||||||
glyph-module
|
glyph-module
|
||||||
|
|
||||||
|
@ -36,11 +37,19 @@ glyph-block Symbol-Geometric-Mosaic-Inverted : for-width-kinds WideWidth1
|
||||||
refer-glyph : MangleName : NameUni 0x2588
|
refer-glyph : MangleName : NameUni 0x2588
|
||||||
refer-glyph : MangleName 'whiteCircle'
|
refer-glyph : MangleName 'whiteCircle'
|
||||||
|
|
||||||
# create-glyph [MangleName 'uni1CC8D'] [MangleUnicode 0x1CC8D] : glyph-proc
|
create-glyph [MangleName 'negBlackDiamond'] [MangleUnicode 0x1CC8D] : glyph-proc
|
||||||
|
set-width MosaicWidth
|
||||||
|
include : difference
|
||||||
|
refer-glyph : MangleName 'uni2588'
|
||||||
|
refer-glyph : MangleName 'blackDiamond'
|
||||||
|
|
||||||
|
# create-glyph [MangleName 'negBlackDiamond.mosc'] : glyph-proc
|
||||||
# set-width MosaicWidth
|
# set-width MosaicWidth
|
||||||
|
# include : ForceUpright
|
||||||
# include : difference
|
# include : difference
|
||||||
# refer-glyph : MangleName 'uni2588'
|
# refer-glyph : MangleName 'uni2588'
|
||||||
# refer-glyph : MangleName 'blackDiamond'
|
# refer-glyph : MangleName 'blockMosaicSmooth22/2486'
|
||||||
|
# Gr.linkSingleGlyphPairGr glyphStore [MangleName 'negBlackDiamond'] [MangleName 'negBlackDiamond.mosc'] Gr.MosaicForm
|
||||||
|
|
||||||
create-glyph [MangleName : NameUni 0x1CC8E] [MangleUnicode 0x1CC8E] : glyph-proc
|
create-glyph [MangleName : NameUni 0x1CC8E] [MangleUnicode 0x1CC8E] : glyph-proc
|
||||||
set-width MosaicWidth
|
set-width MosaicWidth
|
||||||
|
|
|
@ -141,6 +141,6 @@ glyph-block Symbol-Mosaic-Powerline : begin
|
||||||
|
|
||||||
|
|
||||||
Gr.linkSingleGlyphPairGr glyphStore [MangleName 'blackTriangleRB'] [MangleName 'powerline/cornerBottomRight'] Gr.MosaicForm
|
Gr.linkSingleGlyphPairGr glyphStore [MangleName 'blackTriangleRB'] [MangleName 'powerline/cornerBottomRight'] Gr.MosaicForm
|
||||||
Gr.linkSingleGlyphPairGr glyphStore [MangleName 'blackTriangleLB'] [MangleName 'powerline/cornerBottomLeft'] Gr.MosaicForm
|
Gr.linkSingleGlyphPairGr glyphStore [MangleName 'blackTriangleLB'] [MangleName 'powerline/cornerBottomLeft'] Gr.MosaicForm
|
||||||
Gr.linkSingleGlyphPairGr glyphStore [MangleName 'blackTriangleLT'] [MangleName 'powerline/cornerTopLeft'] Gr.MosaicForm
|
Gr.linkSingleGlyphPairGr glyphStore [MangleName 'blackTriangleLT'] [MangleName 'powerline/cornerTopLeft'] Gr.MosaicForm
|
||||||
Gr.linkSingleGlyphPairGr glyphStore [MangleName 'blackTriangleRT'] [MangleName 'powerline/cornerTopRight'] Gr.MosaicForm
|
Gr.linkSingleGlyphPairGr glyphStore [MangleName 'blackTriangleRT'] [MangleName 'powerline/cornerTopRight'] Gr.MosaicForm
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
$$include '../../meta/macros.ptl'
|
$$include '../../meta/macros.ptl'
|
||||||
|
|
||||||
import [mix linreg clamp fallback] from "@iosevka/util"
|
import [mix linreg clamp fallback] from "@iosevka/util"
|
||||||
|
import as Gr from "@iosevka/glyph/relation"
|
||||||
|
|
||||||
glyph-module
|
glyph-module
|
||||||
|
|
||||||
|
@ -102,7 +103,7 @@ glyph-block Symbol-Mosaic-Smooth : begin
|
||||||
SmoothMosaic23 0x1FB67 '1473'
|
SmoothMosaic23 0x1FB67 '1473'
|
||||||
|
|
||||||
define [SmoothMosaic22 unicode pattern] : begin
|
define [SmoothMosaic22 unicode pattern] : begin
|
||||||
create-glyph [MangleName ('blockMosaicSmooth22/' + pattern)] [MangleUnicode unicode] : glyph-proc
|
create-glyph [MangleName ('blockMosaicSmooth22/' + pattern)] [if unicode [MangleUnicode unicode] null] : glyph-proc
|
||||||
set-width MosaicWidth
|
set-width MosaicWidth
|
||||||
include : ForceUpright
|
include : ForceUpright
|
||||||
define corners : [pattern.split ''].map : x => [PatternCorner22 (x - 0)]
|
define corners : [pattern.split ''].map : x => [PatternCorner22 (x - 0)]
|
||||||
|
@ -118,3 +119,14 @@ glyph-block Symbol-Mosaic-Smooth : begin
|
||||||
SmoothMosaic22 0x1FB6F '579'
|
SmoothMosaic22 0x1FB6F '579'
|
||||||
SmoothMosaic22 0x1FB9A '1379'
|
SmoothMosaic22 0x1FB9A '1379'
|
||||||
SmoothMosaic22 0x1FB9B '1739'
|
SmoothMosaic22 0x1FB9B '1739'
|
||||||
|
|
||||||
|
SmoothMosaic22 null '138'
|
||||||
|
SmoothMosaic22 null '167'
|
||||||
|
SmoothMosaic22 null '279'
|
||||||
|
SmoothMosaic22 null '349'
|
||||||
|
# SmoothMosaic22 null '2486'
|
||||||
|
Gr.linkSingleGlyphPairGr glyphStore [MangleName 'blackTriangleUp'] [MangleName 'blockMosaicSmooth22/279'] Gr.MosaicForm
|
||||||
|
Gr.linkSingleGlyphPairGr glyphStore [MangleName 'blackTriangleDown'] [MangleName 'blockMosaicSmooth22/138'] Gr.MosaicForm
|
||||||
|
Gr.linkSingleGlyphPairGr glyphStore [MangleName 'blackTriangleLeft'] [MangleName 'blockMosaicSmooth22/349'] Gr.MosaicForm
|
||||||
|
Gr.linkSingleGlyphPairGr glyphStore [MangleName 'blackTriangleRight'] [MangleName 'blockMosaicSmooth22/167'] Gr.MosaicForm
|
||||||
|
# Gr.linkSingleGlyphPairGr glyphStore [MangleName 'blackDiamond'] [MangleName 'blockMosaicSmooth22/2486'] Gr.MosaicForm
|
||||||
|
|
|
@ -46,11 +46,11 @@ glyph-block Symbol-Mosaic-Teletext : begin
|
||||||
include : ForceUpright
|
include : ForceUpright
|
||||||
include : BlockMosaicPattern 2 4 : [pattern.split ''].map : x => x - 1
|
include : BlockMosaicPattern 2 4 : [pattern.split ''].map : x => x - 1
|
||||||
|
|
||||||
define [BlockMosaic unicode w h kgap pattern] : begin
|
define [BlockMosaic unicode w h pattern] : begin
|
||||||
create-glyph [MangleName : NameUni unicode] [MangleUnicode unicode] : glyph-proc
|
create-glyph [MangleName : NameUni unicode] [MangleUnicode unicode] : glyph-proc
|
||||||
set-width MosaicWidth
|
set-width MosaicWidth
|
||||||
include : ForceUpright
|
include : ForceUpright
|
||||||
include : BlockMosaicPattern w h kgap pattern
|
include : BlockMosaicPattern w h pattern
|
||||||
|
|
||||||
define [MakeGappedBlockMosaic w h su] : foreach [offset : range 1 [Math.pow 2 (w * h)]] : begin
|
define [MakeGappedBlockMosaic w h su] : foreach [offset : range 1 [Math.pow 2 (w * h)]] : begin
|
||||||
create-glyph [MangleName : NameUni (su + offset)] [MangleUnicode (su + offset)] : glyph-proc
|
create-glyph [MangleName : NameUni (su + offset)] [MangleUnicode (su + offset)] : glyph-proc
|
||||||
|
@ -354,6 +354,7 @@ glyph-block Symbol-Mosaic-Teletext : begin
|
||||||
BlockMosaic24 0x1CDE4 '1345678'
|
BlockMosaic24 0x1CDE4 '1345678'
|
||||||
BlockMosaic24 0x1CDE5 '2345678'
|
BlockMosaic24 0x1CDE5 '2345678'
|
||||||
|
|
||||||
BlockMosaic 0x1FB95 4 4 0 {0 2 5 7 8 10 13 15}
|
BlockMosaic 0x2429 4 8 {0 2 5 7 8 10 13 15 16 18 21 23 24 26 29 31}
|
||||||
BlockMosaic 0x1FB96 4 4 0 {1 3 4 6 9 11 12 14}
|
BlockMosaic 0x1FB95 4 4 {0 2 5 7 8 10 13 15}
|
||||||
BlockMosaic 0x1FB97 4 4 0 {4 5 6 7 12 13 14 15}
|
BlockMosaic 0x1FB96 4 4 {1 3 4 6 9 11 12 14}
|
||||||
|
BlockMosaic 0x1FB97 4 4 {4 5 6 7 12 13 14 15}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue