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).
|
||||
- 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 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).
|
||||
- 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).
|
||||
- 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).
|
||||
- FOLDER (U+1F5C0) (#2181).
|
||||
- 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 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]
|
||||
curl MosaicWidth midy [heading Rightward]
|
||||
|
||||
# Corner Diagonals
|
||||
create-glyph [MangleName : NameUni 0x2571] [MangleUnicode 0x2571] : glyph-proc
|
||||
set-width MosaicWidth
|
||||
include : ForceUpright
|
||||
|
@ -359,6 +360,30 @@ glyph-block Symbol-Mosaic-Box-Drawing : begin
|
|||
include : refer-glyph : MangleName : NameUni 0x2571
|
||||
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
|
||||
define [DiamondBarRaw hStart vStart hEnd vEnd] : begin
|
||||
define zStartX : mix left right hStart
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
$$include '../../meta/macros.ptl'
|
||||
|
||||
import [mix linreg clamp fallback] from "@iosevka/util"
|
||||
import [maskBit] from "@iosevka/util/mask-bit"
|
||||
|
||||
glyph-module
|
||||
|
||||
|
@ -15,20 +16,22 @@ glyph-block Symbol-Mosaic-Teletext : begin
|
|||
define left 0
|
||||
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 row : Math.floor (id / w)
|
||||
define cw : (right - left) / w
|
||||
define ch : (top - bottom) / h
|
||||
include : spiro-outline
|
||||
corner (column * cw) (top - row * ch)
|
||||
corner ((column + 1) * cw) (top - row * ch)
|
||||
corner ((column + 1) * cw) (top - (row + 1) * ch)
|
||||
corner (column * cw) (top - (row + 1) * ch)
|
||||
corner (column * cw + kgap * gap) (top - row * ch - kgap * gap)
|
||||
corner ((column + 1) * cw - kgap * gap) (top - row * ch - kgap * gap)
|
||||
corner ((column + 1) * cw - kgap * gap) (top - (row + 1) * ch + kgap * gap)
|
||||
corner (column * cw + kgap * gap) (top - (row + 1) * ch + kgap * gap)
|
||||
|
||||
define [BlockMosaicPattern w h bits] : glyph-proc
|
||||
if (bits.length > 0) : include : union
|
||||
BlockMosaicTile w h bits.0
|
||||
BlockMosaicTile w h bits.0 0
|
||||
BlockMosaicPattern w h : bits.slice 1
|
||||
|
||||
define [BlockMosaic23 unicode pattern] : begin
|
||||
|
@ -43,11 +46,21 @@ glyph-block Symbol-Mosaic-Teletext : begin
|
|||
include : ForceUpright
|
||||
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
|
||||
set-width MosaicWidth
|
||||
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 0x1FB01 '2'
|
||||
|
@ -341,6 +354,6 @@ glyph-block Symbol-Mosaic-Teletext : begin
|
|||
BlockMosaic24 0x1CDE4 '1345678'
|
||||
BlockMosaic24 0x1CDE5 '2345678'
|
||||
|
||||
BlockMosaic 0x1FB95 4 4 {0 2 5 7 8 10 13 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}
|
||||
BlockMosaic 0x1FB95 4 4 0 {0 2 5 7 8 10 13 15}
|
||||
BlockMosaic 0x1FB96 4 4 0 {1 3 4 6 9 11 12 14}
|
||||
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
|
||||
RunningManBody (-MosaicWidth)
|
||||
|
||||
define [FolderBody xOffset] : begin
|
||||
local Kit : StickFigureKit [BoxN 2] [Translate xOffset 0] [AdviceStroke 4]
|
||||
define [FolderBody xOffset box] : begin
|
||||
local Kit : StickFigureKit box [Translate xOffset 0] [AdviceStroke 4]
|
||||
return : union
|
||||
Kit.RoundSeg (0 / 16) (1 / 8) (0 / 16) (11 / 16)
|
||||
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
|
||||
include : intersection
|
||||
MosaicWidthMask
|
||||
FolderBody 0
|
||||
FolderBody 0 [BoxN 2]
|
||||
|
||||
create-glyph [MangleName 'folderRight'] [MangleUnicode 0x1FBBA] : glyph-proc
|
||||
set-width MosaicWidth
|
||||
include : intersection
|
||||
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
|
||||
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.bot uiFigBot
|
||||
set scaffold.xMiddle : MosaicWidth / 2
|
||||
set scaffold.yMiddle : mix uiFigBot uiFigTop 0.5
|
||||
set scaffold.headSize : (uiFigTop - uiFigBot) / 2.5
|
||||
set scaffold.legSize : (Middle - SB) * 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.left : (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
|
||||
corner x (yt - scaffold.gap)
|
||||
corner (x + scaffold.stroke) (yt - scaffold.gap - scaffold.stroke)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue