arrows and stuff (#2207)
This commit is contained in:
parent
8eddbde222
commit
e13e93277c
5 changed files with 120 additions and 33 deletions
|
@ -22,17 +22,19 @@
|
|||
- 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).
|
||||
- BOX DRAWINGS DOUBLE DIAGONAL LOWER LEFT TO MIDDLE CENTRE TO LOWER RIGHT (`U+1CE09`) (Purposed for Unicode 16; L2/21-235).
|
||||
- BOX DRAWINGS DOUBLE DIAGONAL UPPER LEFT TO MIDDLE CENTRE TO UPPER RIGHT (`U+1CE0A`) (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).
|
||||
- DOWNWARDS BLACK ARROW TO BAR (`U+1F8B3`) ... SOUTH WEST ARROW FROM BAR (`U+1F8BB`) (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).
|
||||
- BOX DRAWINGS LIGHT DIAGONAL MIDDLE RIGHT TO LOWER LEFT (`U+1FBD0`) ... BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO MIDDLE RIGHT TO LOWER LEFT (`U+1FBDF`) (Purposed for Unicode 16; L2/21-235).
|
||||
- UPPER CENTRE ONE QUARTER BLOCK (`U+1FBE4`) ... MIDDLE RIGHT ONE QUARTER BLOCK (`U+1FBE7`) (Purposed for Unicode 16; L2/21-235).
|
||||
* Fix a disjoint stroke of Outlined Curly `Z` under some weights (#2195).
|
||||
* Unify diagonal box drawings' angles (#2197).
|
||||
|
|
|
@ -179,6 +179,22 @@ glyph-block Symbol-Arrow : for-width-kinds WideWidth1
|
|||
include : ArrowHead x1 y1 x2 y2 size
|
||||
include : ArrowBar x1 y1 x2 y2 halfArrowSw
|
||||
|
||||
define [ArrowTailBarShape x1 y1 x2 y2 size sw] : begin
|
||||
return : PointingTo x1 y1 x2 y2 : lambda [mag] : begin
|
||||
dispiro
|
||||
widths.rhs sw
|
||||
flat mag size
|
||||
curl mag (-size)
|
||||
|
||||
define [ArrowFromBarShape x1 y1 x2 y2 size] : glyph-proc
|
||||
local width : Math.abs (x1 - x2)
|
||||
local height : Math.abs (y1 - y2)
|
||||
local barShrink : size * [Math.min (width / height) (height / width)]
|
||||
local p : barShrink / [Math.hypot width height]
|
||||
include : ArrowHead x1 y1 x2 y2 size
|
||||
include : ArrowBar [mix x1 x2 p] [mix y1 y2 p] x2 y2 halfArrowSw
|
||||
include : ArrowTailBarShape [mix x1 x2 p] [mix y1 y2 p] x2 y2 size fine
|
||||
|
||||
define [ThinArrowShape x1 y1 x2 y2 size] : glyph-proc
|
||||
include : ArrowHead x1 y1 x2 y2 size
|
||||
include : ArrowBar x1 y1 x2 y2 (0.5 * [mix fine terminal 0.5])
|
||||
|
@ -933,12 +949,18 @@ glyph-block Symbol-Arrow : for-width-kinds WideWidth1
|
|||
MkArrow ArrowShape [MangleName 'arrowRightK'] null arrowSB SymbolMid (arrowRSB - fine) SymbolMid
|
||||
MkArrow ArrowShape [MangleName 'arrowUpK'] null arrowMidX arrowBot arrowMidX (arrowTop - fine)
|
||||
MkArrow ArrowShape [MangleName 'arrowDownK'] null arrowMidX arrowTop arrowMidX (arrowBot + fine)
|
||||
MkArrow ArrowShape [MangleName 'arrowLeftSK'] null (arrowRSB - fine / 2) SymbolMid arrowSB SymbolMid
|
||||
MkArrow ArrowShape [MangleName 'arrowRightSK'] null (arrowSB + fine / 2) SymbolMid arrowRSB SymbolMid
|
||||
MkArrow ArrowShape [MangleName 'arrowUpSK'] null arrowMidX (arrowBot + fine / 2) arrowMidX arrowTop
|
||||
MkArrow ArrowShape [MangleName 'arrowDownSK'] null arrowMidX (arrowTop - fine / 2) arrowMidX arrowBot
|
||||
MkArrow [ThickArrowShape 'black'] [MangleName 'blackArrowDownK'] null arrowMidX arrowTop arrowMidX (arrowBot + fine)
|
||||
MkArrow ArrowShape [MangleName 'arrowUpLeftTK'] null arrowRSB arrowBot arrowSB (arrowTop - [Math.max (arrowWidth / 8) (fine * 1.5)])
|
||||
|
||||
MkArrow ArrowFromBarShape [MangleName 'barArrowLeft'] [MangleUnicode 0x21A4] arrowRSB SymbolMid arrowSB SymbolMid
|
||||
MkArrow ArrowFromBarShape [MangleName 'barArrowUp'] [MangleUnicode 0x21A5] arrowMidX arrowBot arrowMidX arrowTop
|
||||
MkArrow ArrowFromBarShape [MangleName 'barArrowRight'] [MangleUnicode 0x21A6] arrowSB SymbolMid arrowRSB SymbolMid
|
||||
MkArrow ArrowFromBarShape [MangleName 'barArrowDown'] [MangleUnicode 0x21A7] arrowMidX arrowTop arrowMidX arrowBot
|
||||
MkArrow ArrowFromBarShape [MangleName 'barArrowUpLeft'] [MangleUnicode 0x1F8B8] arrowDiagRSB arrowDiagBot arrowDiagSB arrowDiagTop
|
||||
MkArrow ArrowFromBarShape [MangleName 'barArrowUpRight'] [MangleUnicode 0x1F8B9] arrowDiagSB arrowDiagBot arrowDiagRSB arrowDiagTop
|
||||
MkArrow ArrowFromBarShape [MangleName 'barArrowDownRight'] [MangleUnicode 0x1F8BA] arrowDiagSB arrowDiagTop arrowDiagRSB arrowDiagBot
|
||||
MkArrow ArrowFromBarShape [MangleName 'barArrowDownLeft'] [MangleUnicode 0x1F8BB] arrowDiagRSB arrowDiagTop arrowDiagSB arrowDiagBot
|
||||
|
||||
create-glyph [MangleName 'arrowBarLeft'] [MangleUnicode 0x21E4] : composite-proc
|
||||
refer-glyph : MangleName 'arrowLeftK'
|
||||
VBar.m arrowSB (SymbolMid - arrowHeadSize) (SymbolMid + arrowHeadSize) fine
|
||||
|
@ -951,18 +973,9 @@ glyph-block Symbol-Arrow : for-width-kinds WideWidth1
|
|||
create-glyph [MangleName 'arrowBarDown'] [MangleUnicode 0x2913] : composite-proc
|
||||
refer-glyph : MangleName 'arrowDownK'
|
||||
HBar.m (arrowMidX - arrowHeadSize) (arrowMidX + arrowHeadSize) arrowBot fine
|
||||
create-glyph [MangleName 'barArrowLeft'] [MangleUnicode 0x21A4] : composite-proc
|
||||
refer-glyph : MangleName 'arrowLeftSK'
|
||||
VBar.m arrowRSB (SymbolMid - arrowHeadSize) (SymbolMid + arrowHeadSize) fine
|
||||
create-glyph [MangleName 'barArrowRight'] [MangleUnicode 0x21A6] : composite-proc
|
||||
refer-glyph : MangleName 'arrowRightSK'
|
||||
VBar.m arrowSB (SymbolMid - arrowHeadSize) (SymbolMid + arrowHeadSize) fine
|
||||
create-glyph [MangleName 'barArrowUp'] [MangleUnicode 0x21A5] : composite-proc
|
||||
refer-glyph : MangleName 'arrowUpSK'
|
||||
create-glyph [MangleName 'blackArrowBarDown'] [MangleUnicode 0x1F8B3] : composite-proc
|
||||
refer-glyph : MangleName 'blackArrowDownK'
|
||||
HBar.m (arrowMidX - arrowHeadSize) (arrowMidX + arrowHeadSize) arrowBot fine
|
||||
create-glyph [MangleName 'barArrowDown'] [MangleUnicode 0x21A7] : composite-proc
|
||||
refer-glyph : MangleName 'arrowDownSK'
|
||||
HBar.m (arrowMidX - arrowHeadSize) (arrowMidX + arrowHeadSize) arrowTop fine
|
||||
|
||||
MkArrow [HalfArrowShape RHSHalfArrowHead] [MangleName 'arrowLeftHRK'] null arrowRSB SymbolMid (arrowSB + fine) SymbolMid
|
||||
MkArrow [HalfArrowShape LHSHalfArrowHead] [MangleName 'arrowLeftHLK'] null arrowRSB SymbolMid (arrowSB + fine) SymbolMid
|
||||
|
|
|
@ -431,27 +431,76 @@ glyph-block Symbol-Mosaic-Box-Drawing : begin
|
|||
DiamondBoxDrawing 0x1FBAD 1 1 1 0
|
||||
DiamondBoxDrawing 0x1FBAE 1 1 1 1
|
||||
|
||||
|
||||
create-glyph [MangleName : NameUni 0x1FBBD] [MangleUnicode 0x1FBBD] : glyph-proc
|
||||
create-glyph [MangleName : NameUni 0x1CE09] [MangleUnicode 0x1CE09] : glyph-proc
|
||||
set-width MosaicWidth
|
||||
include : ForceUpright
|
||||
include : difference
|
||||
glyph-proc : include : refer-glyph : MangleName : NameUni 0x2588
|
||||
glyph-proc : include : refer-glyph : MangleName : NameUni 0x2573
|
||||
include : refer-glyph : MangleName : NameUni 0x1FBA7
|
||||
include : refer-glyph : MangleName : NameUni 0x1FBDA
|
||||
|
||||
create-glyph [MangleName : NameUni 0x1FBBE] [MangleUnicode 0x1FBBE] : glyph-proc
|
||||
create-glyph [MangleName : NameUni 0x1CE0A] [MangleUnicode 0x1CE0A] : glyph-proc
|
||||
set-width MosaicWidth
|
||||
include : ForceUpright
|
||||
include : difference
|
||||
glyph-proc : include : refer-glyph : MangleName : NameUni 0x2588
|
||||
glyph-proc : include : refer-glyph : MangleName : NameUni 0x1FBA3
|
||||
include : refer-glyph : MangleName : NameUni 0x1FBA6
|
||||
include : refer-glyph : MangleName : NameUni 0x1FBD8
|
||||
|
||||
create-glyph [MangleName : NameUni 0x1FBBF] [MangleUnicode 0x1FBBF] : glyph-proc
|
||||
# Corner-to-Edge Diagonal
|
||||
define [VDiagonal unicode sx sy] : begin
|
||||
local fUpwards : sy === bottom
|
||||
create-glyph [MangleName : NameUni unicode] [MangleUnicode unicode] : glyph-proc
|
||||
set-width MosaicWidth
|
||||
include : ForceUpright
|
||||
include : difference
|
||||
glyph-proc : include : refer-glyph : MangleName : NameUni 0x2588
|
||||
glyph-proc : include : refer-glyph : MangleName : NameUni 0x1FBAE
|
||||
include : intersection
|
||||
if fUpwards [MaskBelow top] [MaskAbove bottom]
|
||||
dispiro
|
||||
widths.center light
|
||||
flat sx sy
|
||||
curl [mix sx midx 1.5] [mix sy [if fUpwards top bottom] 1.5]
|
||||
|
||||
define [HDiagonal unicode sx sy] : begin
|
||||
local fRightwards : sx === left
|
||||
create-glyph [MangleName : NameUni unicode] [MangleUnicode unicode] : glyph-proc
|
||||
set-width MosaicWidth
|
||||
include : ForceUpright
|
||||
include : intersection
|
||||
if fRightwards [MaskLeft right] [MaskRight left]
|
||||
dispiro
|
||||
widths.center light
|
||||
flat sx sy
|
||||
curl [mix sx [if fRightwards right left] 1.5] [mix sy midy 1.5]
|
||||
|
||||
HDiagonal 0x1FBD0 left bottom
|
||||
HDiagonal 0x1FBD1 right top
|
||||
HDiagonal 0x1FBD2 left top
|
||||
HDiagonal 0x1FBD3 right bottom
|
||||
VDiagonal 0x1FBD4 left top
|
||||
VDiagonal 0x1FBD5 right bottom
|
||||
VDiagonal 0x1FBD6 right top
|
||||
VDiagonal 0x1FBD7 left bottom
|
||||
|
||||
create-glyph [MangleName : NameUni 0x1FBDC] [MangleUnicode 0x1FBDC] : glyph-proc
|
||||
set-width MosaicWidth
|
||||
include : ForceUpright
|
||||
include : refer-glyph : MangleName : NameUni 0x1FBD4
|
||||
include : refer-glyph : MangleName : NameUni 0x1FBD6
|
||||
|
||||
create-glyph [MangleName : NameUni 0x1FBDD] [MangleUnicode 0x1FBDD] : glyph-proc
|
||||
set-width MosaicWidth
|
||||
include : ForceUpright
|
||||
include : refer-glyph : MangleName : NameUni 0x1FBD1
|
||||
include : refer-glyph : MangleName : NameUni 0x1FBD3
|
||||
|
||||
create-glyph [MangleName : NameUni 0x1FBDE] [MangleUnicode 0x1FBDE] : glyph-proc
|
||||
set-width MosaicWidth
|
||||
include : ForceUpright
|
||||
include : refer-glyph : MangleName : NameUni 0x1FBD5
|
||||
include : refer-glyph : MangleName : NameUni 0x1FBD7
|
||||
|
||||
create-glyph [MangleName : NameUni 0x1FBDF] [MangleUnicode 0x1FBDF] : glyph-proc
|
||||
set-width MosaicWidth
|
||||
include : ForceUpright
|
||||
include : refer-glyph : MangleName : NameUni 0x1FBD0
|
||||
include : refer-glyph : MangleName : NameUni 0x1FBD2
|
||||
|
||||
|
||||
create-glyph [MangleName : NameUni 0x1FBAF] [MangleUnicode 0x1FBAF] : glyph-proc
|
||||
set-width MosaicWidth
|
||||
|
|
|
@ -32,8 +32,9 @@ glyph-block Symbol-Geometric-Mosaic-Inverted : for-width-kinds WideWidth1
|
|||
|
||||
create-glyph [MangleName : NameUni 0x25D9] [MangleUnicode 0x25D9] : glyph-proc
|
||||
set-width MosaicWidth
|
||||
include : refer-glyph : MangleName : NameUni 0x25DA
|
||||
include : refer-glyph : MangleName : NameUni 0x25DB
|
||||
include : difference
|
||||
refer-glyph : MangleName : NameUni 0x2588
|
||||
refer-glyph : MangleName 'whiteCircle'
|
||||
|
||||
# create-glyph [MangleName 'uni1CC8D'] [MangleUnicode 0x1CC8D] : glyph-proc
|
||||
# set-width MosaicWidth
|
||||
|
@ -75,3 +76,25 @@ glyph-block Symbol-Geometric-Mosaic-Inverted : for-width-kinds WideWidth1
|
|||
include : difference
|
||||
refer-glyph : MangleName : NameUni 0x2588
|
||||
refer-glyph : MangleName 'arrowDown'
|
||||
|
||||
# Box Drawing
|
||||
create-glyph [MangleName : NameUni 0x1FBBD] [MangleUnicode 0x1FBBD] : glyph-proc
|
||||
set-width MosaicWidth
|
||||
include : ForceUpright
|
||||
include : difference
|
||||
glyph-proc : include : refer-glyph : MangleName : NameUni 0x2588
|
||||
glyph-proc : include : refer-glyph : MangleName : NameUni 0x2573
|
||||
|
||||
create-glyph [MangleName : NameUni 0x1FBBE] [MangleUnicode 0x1FBBE] : glyph-proc
|
||||
set-width MosaicWidth
|
||||
include : ForceUpright
|
||||
include : difference
|
||||
glyph-proc : include : refer-glyph : MangleName : NameUni 0x2588
|
||||
glyph-proc : include : refer-glyph : MangleName : NameUni 0x1FBA3
|
||||
|
||||
create-glyph [MangleName : NameUni 0x1FBBF] [MangleUnicode 0x1FBBF] : glyph-proc
|
||||
set-width MosaicWidth
|
||||
include : ForceUpright
|
||||
include : difference
|
||||
glyph-proc : include : refer-glyph : MangleName : NameUni 0x2588
|
||||
glyph-proc : include : refer-glyph : MangleName : NameUni 0x1FBAE
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue