Some more Legacy Computing Symbols (pt 3) (#2200)
* some diagonals * gapped blocks * folder (#2181) * doc
This commit is contained in:
parent
33db0276fc
commit
bdd070bd9a
4 changed files with 68 additions and 15 deletions
|
@ -17,10 +17,14 @@
|
||||||
- RIGHT VERTICAL RULER SEGMENT (U+1CC06) (Purposed for Unicode 16; L2/21-235).
|
- RIGHT VERTICAL RULER SEGMENT (U+1CC06) (Purposed for Unicode 16; L2/21-235).
|
||||||
- LOWER RIGHT RULER SEGMENT (U+1CC07) (Purposed for Unicode 16; L2/21-235).
|
- LOWER RIGHT RULER SEGMENT (U+1CC07) (Purposed for Unicode 16; L2/21-235).
|
||||||
- BOX DRAWINGS LIGHT HORIZONTAL AND UPPER RIGHT (U+1CC1B) ... BOX DRAWINGS LIGHT BOTTOM AND LOWER LEFT (U+1CC1E) (Purposed for Unicode 16; L2/21-235).
|
- BOX DRAWINGS LIGHT HORIZONTAL AND UPPER RIGHT (U+1CC1B) ... BOX DRAWINGS LIGHT BOTTOM AND LOWER LEFT (U+1CC1E) (Purposed for Unicode 16; L2/21-235).
|
||||||
|
- BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO MIDDLE CENTRE TO UPPER RIGHT (U+1FBD8) ... BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO MIDDLE CENTRE TO LOWER LEFT (U+1FBDB) (Purposed for Unicode 16; L2/21-235).
|
||||||
|
- SEPARATED BLOCK QUADRANT-1 (U+1CC21) ... SEPARATED BLOCK QUADRANT-1234 (U+1CC2F) (Purposed for Unicode 16; L2/21-235).
|
||||||
- BLACK NEUTRAL FACE (U+1CC6F) (Purposed for Unicode 16; L2/21-235).
|
- BLACK NEUTRAL FACE (U+1CC6F) (Purposed for Unicode 16; L2/21-235).
|
||||||
- VERTICAL LINE WITH FOUR TICK MARKS (U+1CC90) (Purposed for Unicode 16; L2/21-235).
|
- VERTICAL LINE WITH FOUR TICK MARKS (U+1CC90) (Purposed for Unicode 16; L2/21-235).
|
||||||
- HORIZONTAL LINE WITH FOUR TICK MARKS (U+1CC91) (Purposed for Unicode 16; L2/21-235).
|
- HORIZONTAL LINE WITH FOUR TICK MARKS (U+1CC91) (Purposed for Unicode 16; L2/21-235).
|
||||||
|
- SEPARATED BLOCK SEXTANT-1 (U+1CE51) ... SEPARATED BLOCK SEXTANT-123456 (U+1CE8F) (Purposed for Unicode 16; L2/21-235).
|
||||||
- UPPER LEFT ONE SIXTEENTH BLOCK (U+1CE90) ... LOWER HALF RIGHT ONE QUARTER BLOCK (U+1CEAF) (Purposed for Unicode 16; L2/21-235).
|
- UPPER LEFT ONE SIXTEENTH BLOCK (U+1CE90) ... LOWER HALF RIGHT ONE QUARTER BLOCK (U+1CEAF) (Purposed for Unicode 16; L2/21-235).
|
||||||
|
- FOLDER (U+1F5C0) (#2181).
|
||||||
- NEGATIVE SQUARED LEFTWARDS ARROW (U+1F8B4) ... NEGATIVE SQUARED DOWNWARDS ARROW (U+1F8B7) (Purposed for Unicode 16; L2/21-235).
|
- NEGATIVE SQUARED LEFTWARDS ARROW (U+1F8B4) ... NEGATIVE SQUARED DOWNWARDS ARROW (U+1F8B7) (Purposed for Unicode 16; L2/21-235).
|
||||||
- LEFT TWO THIRDS BLOCK (U+1FBCE) (Purposed for Unicode 16; L2/21-235).
|
- LEFT TWO THIRDS BLOCK (U+1FBCE) (Purposed for Unicode 16; L2/21-235).
|
||||||
- LEFT ONE THIRD BLOCK (U+1FBCF) (Purposed for Unicode 16; L2/21-235).
|
- LEFT ONE THIRD BLOCK (U+1FBCF) (Purposed for Unicode 16; L2/21-235).
|
||||||
|
|
|
@ -337,6 +337,7 @@ glyph-block Symbol-Mosaic-Box-Drawing : begin
|
||||||
flat (midx + bdArcRadius) midy [heading Rightward]
|
flat (midx + bdArcRadius) midy [heading Rightward]
|
||||||
curl MosaicWidth midy [heading Rightward]
|
curl MosaicWidth midy [heading Rightward]
|
||||||
|
|
||||||
|
# Corner Diagonals
|
||||||
create-glyph [MangleName : NameUni 0x2571] [MangleUnicode 0x2571] : glyph-proc
|
create-glyph [MangleName : NameUni 0x2571] [MangleUnicode 0x2571] : glyph-proc
|
||||||
set-width MosaicWidth
|
set-width MosaicWidth
|
||||||
include : ForceUpright
|
include : ForceUpright
|
||||||
|
@ -359,6 +360,30 @@ glyph-block Symbol-Mosaic-Box-Drawing : begin
|
||||||
include : refer-glyph : MangleName : NameUni 0x2571
|
include : refer-glyph : MangleName : NameUni 0x2571
|
||||||
include : refer-glyph : MangleName : NameUni 0x2572
|
include : refer-glyph : MangleName : NameUni 0x2572
|
||||||
|
|
||||||
|
create-glyph [MangleName : NameUni 0x1FBD8] [MangleUnicode 0x1FBD8] : glyph-proc
|
||||||
|
set-width MosaicWidth
|
||||||
|
include : ForceUpright
|
||||||
|
include : intersection [MaskRight midx] : refer-glyph : MangleName : NameUni 0x2571
|
||||||
|
include : intersection [MaskLeft midx] : refer-glyph : MangleName : NameUni 0x2572
|
||||||
|
|
||||||
|
create-glyph [MangleName : NameUni 0x1FBD9] [MangleUnicode 0x1FBD9] : glyph-proc
|
||||||
|
set-width MosaicWidth
|
||||||
|
include : ForceUpright
|
||||||
|
include : intersection [MaskAbove midy] : refer-glyph : MangleName : NameUni 0x2571
|
||||||
|
include : intersection [MaskBelow midy] : refer-glyph : MangleName : NameUni 0x2572
|
||||||
|
|
||||||
|
create-glyph [MangleName : NameUni 0x1FBDA] [MangleUnicode 0x1FBDA] : glyph-proc
|
||||||
|
set-width MosaicWidth
|
||||||
|
include : ForceUpright
|
||||||
|
include : intersection [MaskLeft midx] : refer-glyph : MangleName : NameUni 0x2571
|
||||||
|
include : intersection [MaskRight midx] : refer-glyph : MangleName : NameUni 0x2572
|
||||||
|
|
||||||
|
create-glyph [MangleName : NameUni 0x1FBDB] [MangleUnicode 0x1FBDB] : glyph-proc
|
||||||
|
set-width MosaicWidth
|
||||||
|
include : ForceUpright
|
||||||
|
include : intersection [MaskBelow midy] : refer-glyph : MangleName : NameUni 0x2571
|
||||||
|
include : intersection [MaskAbove midy] : refer-glyph : MangleName : NameUni 0x2572
|
||||||
|
|
||||||
# Diamond
|
# Diamond
|
||||||
define [DiamondBarRaw hStart vStart hEnd vEnd] : begin
|
define [DiamondBarRaw hStart vStart hEnd vEnd] : begin
|
||||||
define zStartX : mix left right hStart
|
define zStartX : mix left right hStart
|
||||||
|
|
|
@ -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 [maskBit] from "@iosevka/util/mask-bit"
|
||||||
|
|
||||||
glyph-module
|
glyph-module
|
||||||
|
|
||||||
|
@ -15,20 +16,22 @@ glyph-block Symbol-Mosaic-Teletext : begin
|
||||||
define left 0
|
define left 0
|
||||||
define right MosaicWidth
|
define right MosaicWidth
|
||||||
|
|
||||||
define [BlockMosaicTile w h id] : glyph-proc
|
define gap : 0.05 * (top - bottom)
|
||||||
|
|
||||||
|
define [BlockMosaicTile w h id kgap] : glyph-proc
|
||||||
local column : id % w
|
local column : id % w
|
||||||
local row : Math.floor (id / w)
|
local row : Math.floor (id / w)
|
||||||
define cw : (right - left) / w
|
define cw : (right - left) / w
|
||||||
define ch : (top - bottom) / h
|
define ch : (top - bottom) / h
|
||||||
include : spiro-outline
|
include : spiro-outline
|
||||||
corner (column * cw) (top - row * ch)
|
corner (column * cw + kgap * gap) (top - row * ch - kgap * gap)
|
||||||
corner ((column + 1) * cw) (top - row * ch)
|
corner ((column + 1) * cw - kgap * gap) (top - row * ch - kgap * gap)
|
||||||
corner ((column + 1) * cw) (top - (row + 1) * ch)
|
corner ((column + 1) * cw - kgap * gap) (top - (row + 1) * ch + kgap * gap)
|
||||||
corner (column * cw) (top - (row + 1) * ch)
|
corner (column * cw + kgap * gap) (top - (row + 1) * ch + kgap * gap)
|
||||||
|
|
||||||
define [BlockMosaicPattern w h bits] : glyph-proc
|
define [BlockMosaicPattern w h bits] : glyph-proc
|
||||||
if (bits.length > 0) : include : union
|
if (bits.length > 0) : include : union
|
||||||
BlockMosaicTile w h bits.0
|
BlockMosaicTile w h bits.0 0
|
||||||
BlockMosaicPattern w h : bits.slice 1
|
BlockMosaicPattern w h : bits.slice 1
|
||||||
|
|
||||||
define [BlockMosaic23 unicode pattern] : begin
|
define [BlockMosaic23 unicode pattern] : begin
|
||||||
|
@ -43,11 +46,21 @@ 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 pattern] : begin
|
define [BlockMosaic unicode w h kgap 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 pattern
|
include : BlockMosaicPattern w h kgap pattern
|
||||||
|
|
||||||
|
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
|
||||||
|
set-width MosaicWidth
|
||||||
|
include : ForceUpright
|
||||||
|
foreach [bit : range 0 (w * h)] : if [maskBit offset bit]
|
||||||
|
include : BlockMosaicTile w h bit 1
|
||||||
|
|
||||||
|
MakeGappedBlockMosaic 2 2 0x1CC20
|
||||||
|
MakeGappedBlockMosaic 2 3 0x1CE50
|
||||||
|
|
||||||
BlockMosaic23 0x1FB00 '1'
|
BlockMosaic23 0x1FB00 '1'
|
||||||
BlockMosaic23 0x1FB01 '2'
|
BlockMosaic23 0x1FB01 '2'
|
||||||
|
@ -341,6 +354,6 @@ glyph-block Symbol-Mosaic-Teletext : begin
|
||||||
BlockMosaic24 0x1CDE4 '1345678'
|
BlockMosaic24 0x1CDE4 '1345678'
|
||||||
BlockMosaic24 0x1CDE5 '2345678'
|
BlockMosaic24 0x1CDE5 '2345678'
|
||||||
|
|
||||||
BlockMosaic 0x1FB95 4 4 {0 2 5 7 8 10 13 15}
|
BlockMosaic 0x1FB95 4 4 0 {0 2 5 7 8 10 13 15}
|
||||||
BlockMosaic 0x1FB96 4 4 {1 3 4 6 9 11 12 14}
|
BlockMosaic 0x1FB96 4 4 0 {1 3 4 6 9 11 12 14}
|
||||||
BlockMosaic 0x1FB97 4 4 {4 5 6 7 12 13 14 15}
|
BlockMosaic 0x1FB97 4 4 0 {4 5 6 7 12 13 14 15}
|
||||||
|
|
|
@ -153,8 +153,8 @@ glyph-block Symbol-Pictograph-Powerline-And-GUI : begin
|
||||||
MosaicWidthMask
|
MosaicWidthMask
|
||||||
RunningManBody (-MosaicWidth)
|
RunningManBody (-MosaicWidth)
|
||||||
|
|
||||||
define [FolderBody xOffset] : begin
|
define [FolderBody xOffset box] : begin
|
||||||
local Kit : StickFigureKit [BoxN 2] [Translate xOffset 0] [AdviceStroke 4]
|
local Kit : StickFigureKit box [Translate xOffset 0] [AdviceStroke 4]
|
||||||
return : union
|
return : union
|
||||||
Kit.RoundSeg (0 / 16) (1 / 8) (0 / 16) (11 / 16)
|
Kit.RoundSeg (0 / 16) (1 / 8) (0 / 16) (11 / 16)
|
||||||
Kit.RoundSeg (0 / 16) (11 / 16) (3 / 16) (7 / 8) 1 1
|
Kit.RoundSeg (0 / 16) (11 / 16) (3 / 16) (7 / 8) 1 1
|
||||||
|
@ -168,13 +168,22 @@ glyph-block Symbol-Pictograph-Powerline-And-GUI : begin
|
||||||
set-width MosaicWidth
|
set-width MosaicWidth
|
||||||
include : intersection
|
include : intersection
|
||||||
MosaicWidthMask
|
MosaicWidthMask
|
||||||
FolderBody 0
|
FolderBody 0 [BoxN 2]
|
||||||
|
|
||||||
create-glyph [MangleName 'folderRight'] [MangleUnicode 0x1FBBA] : glyph-proc
|
create-glyph [MangleName 'folderRight'] [MangleUnicode 0x1FBBA] : glyph-proc
|
||||||
set-width MosaicWidth
|
set-width MosaicWidth
|
||||||
include : intersection
|
include : intersection
|
||||||
MosaicWidthMask
|
MosaicWidthMask
|
||||||
FolderBody (-MosaicWidth)
|
FolderBody (-MosaicWidth) [BoxN 2]
|
||||||
|
|
||||||
|
create-glyph [MangleName 'folder'] [MangleUnicode 0x1F5C0] : glyph-proc
|
||||||
|
set-width MosaicWidth
|
||||||
|
local hbox : new Box
|
||||||
|
mix SymbolMid uiFigTop (0.5 * MosaicWidthScalar)
|
||||||
|
mix SymbolMid uiFigBot (0.5 * MosaicWidthScalar)
|
||||||
|
SB * (0.5 * MosaicWidthScalar)
|
||||||
|
MosaicWidth - SB * (0.5 * MosaicWidthScalar)
|
||||||
|
include : FolderBody 0 hbox
|
||||||
|
|
||||||
define [PointingHandBody xOffset] : begin
|
define [PointingHandBody xOffset] : begin
|
||||||
return : PointingHandShape [BoxN 3] [Translate xOffset 0] [AdviceStroke 4]
|
return : PointingHandShape [BoxN 3] [Translate xOffset 0] [AdviceStroke 4]
|
||||||
|
@ -202,6 +211,7 @@ glyph-block Symbol-Pictograph-Powerline-And-GUI : begin
|
||||||
set scaffold.top uiFigTop
|
set scaffold.top uiFigTop
|
||||||
set scaffold.bot uiFigBot
|
set scaffold.bot uiFigBot
|
||||||
set scaffold.xMiddle : MosaicWidth / 2
|
set scaffold.xMiddle : MosaicWidth / 2
|
||||||
|
set scaffold.yMiddle : mix uiFigBot uiFigTop 0.5
|
||||||
set scaffold.headSize : (uiFigTop - uiFigBot) / 2.5
|
set scaffold.headSize : (uiFigTop - uiFigBot) / 2.5
|
||||||
set scaffold.legSize : (Middle - SB) * 2
|
set scaffold.legSize : (Middle - SB) * 2
|
||||||
set scaffold.armSize : (Middle - SB / 2) * 2
|
set scaffold.armSize : (Middle - SB / 2) * 2
|
||||||
|
@ -356,6 +366,7 @@ glyph-block Symbol-Pictograph-Powerline-And-GUI : begin
|
||||||
set scaffold.width : (Middle - SB) * 2 * [Math.pow (MosaicWidth / Width) 0.5]
|
set scaffold.width : (Middle - SB) * 2 * [Math.pow (MosaicWidth / Width) 0.5]
|
||||||
set scaffold.left : (MosaicWidth / 2) - scaffold.width / 2 + scaffold.stroke / 2
|
set scaffold.left : (MosaicWidth / 2) - scaffold.width / 2 + scaffold.stroke / 2
|
||||||
set scaffold.right : (MosaicWidth / 2) + scaffold.width / 2 - scaffold.stroke / 2
|
set scaffold.right : (MosaicWidth / 2) + scaffold.width / 2 - scaffold.stroke / 2
|
||||||
|
|
||||||
define [StrokeV x yt yb] : spiro-outline
|
define [StrokeV x yt yb] : spiro-outline
|
||||||
corner x (yt - scaffold.gap)
|
corner x (yt - scaffold.gap)
|
||||||
corner (x + scaffold.stroke) (yt - scaffold.gap - scaffold.stroke)
|
corner (x + scaffold.stroke) (yt - scaffold.gap - scaffold.stroke)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue