Completed box drawing glyphs.
This commit is contained in:
parent
f62d3b01f9
commit
7bd7cf5349
2 changed files with 119 additions and 24 deletions
|
@ -67,43 +67,44 @@ create-glyph 'rightHalfBlock' : glyph-construction {
|
|||
let : begin {
|
||||
local light : adviceBlackness 3.5
|
||||
local heavy : light * 2
|
||||
define [boxdraw unicode u d l r] : create-glyph ['bd' + [unicode.toString 16]] : glyph-construction {
|
||||
local width WIDTH
|
||||
local midx : width / 2
|
||||
local midy : mix font.hhea.descent font.hhea.ascent 0.5
|
||||
define [boxdraw unicode u d l r] : create-glyph ['bd' + [unicode.toString 16 :.toUpperCase]] : glyph-construction {
|
||||
assign-unicode unicode
|
||||
local stopH : [Math.max u d] / 2
|
||||
local stopV : [Math.max l r] / 2
|
||||
local midy : mix font.hhea.descent font.hhea.ascent 0.5
|
||||
if l : include : HBar 0 [MIDDLE + stopH] midy l
|
||||
if r : include : HBar [MIDDLE - stopH] WIDTH midy r
|
||||
if d : include : VBar MIDDLE font.hhea.descent [midy + stopV] d
|
||||
if u : include : VBar MIDDLE [midy - stopV] font.hhea.ascent u
|
||||
if l : include : HBar 0 [midx + stopH] midy l
|
||||
if r : include : HBar [midx - stopH] width midy r
|
||||
if d : include : VBar midx font.hhea.descent [midy + stopV] d
|
||||
if u : include : VBar midx [midy - stopV] font.hhea.ascent u
|
||||
}
|
||||
define [dlboxdraw unicode u d l r] : create-glyph ['bd' + [unicode.toString 16]] : glyph-construction {
|
||||
define [dlboxdraw unicode u d l r] : create-glyph ['bd' + [unicode.toString 16 :.toUpperCase]] : glyph-construction {
|
||||
assign-unicode unicode
|
||||
local stopH : [[Math.max u d] - light] / 2
|
||||
local stopV : [[Math.max l r] - light] / 2
|
||||
local capH : stopH * heavy / [heavy - light]
|
||||
local capV : stopV * heavy / [heavy - light]
|
||||
local midy : mix font.hhea.descent font.hhea.ascent 0.5
|
||||
if l : begin {
|
||||
include : HBar 0 [MIDDLE - stopH] [midy + [l - light]] light
|
||||
if [l > light] : include : HBar 0 [MIDDLE - stopH] [midy - [l - light]] light
|
||||
include : HBar 0 [midx - stopH] [midy + [l - light]] light
|
||||
if [l > light] : include : HBar 0 [midx - stopH] [midy - [l - light]] light
|
||||
}
|
||||
if r : begin {
|
||||
include : HBar [MIDDLE + stopH] WIDTH [midy + [r - light]] light
|
||||
if [r > light] : include : HBar [MIDDLE + stopH] WIDTH [midy - [r - light]] light
|
||||
include : HBar [midx + stopH] width [midy + [r - light]] light
|
||||
if [r > light] : include : HBar [midx + stopH] width [midy - [r - light]] light
|
||||
}
|
||||
if d : begin {
|
||||
include : VBar [MIDDLE + [d - light]] font.hhea.descent [midy - stopV] light
|
||||
if [d > light] : include : VBar [MIDDLE - [d - light]] font.hhea.descent [midy - stopV] light
|
||||
include : VBar [midx + [d - light]] font.hhea.descent [midy - stopV] light
|
||||
if [d > light] : include : VBar [midx - [d - light]] font.hhea.descent [midy - stopV] light
|
||||
}
|
||||
if u : begin {
|
||||
include : VBar [MIDDLE + [u - light]] [midy + stopV] font.hhea.ascent light
|
||||
if [u > light] : include : VBar [MIDDLE - [u - light]] [midy + stopV] font.hhea.ascent light
|
||||
include : VBar [midx + [u - light]] [midy + stopV] font.hhea.ascent light
|
||||
if [u > light] : include : VBar [midx - [u - light]] [midy + stopV] font.hhea.ascent light
|
||||
}
|
||||
if [stopH > 0 && [not u]] : include : HBar [MIDDLE - stopH - light] [MIDDLE + stopH + light] [midy + capV] light
|
||||
if [stopH > 0 && [not d]] : include : HBar [MIDDLE - stopH - light] [MIDDLE + stopH + light] [midy - capV] light
|
||||
if [stopV > 0 && [not l]] : include : VBar [MIDDLE - capH] [midy - stopV - light] [midy + stopV + light] light
|
||||
if [stopV > 0 && [not r]] : include : VBar [MIDDLE + capH] [midy - stopV - light] [midy + stopV + light] light
|
||||
if [stopH > 0 && [not u]] : include : HBar [midx - stopH - light] [midx + stopH + light] [midy + capV] light
|
||||
if [stopH > 0 && [not d]] : include : HBar [midx - stopH - light] [midx + stopH + light] [midy - capV] light
|
||||
if [stopV > 0 && [not l]] : include : VBar [midx - capH] [midy - stopV - light] [midy + stopV + light] light
|
||||
if [stopV > 0 && [not r]] : include : VBar [midx + capH] [midy - stopV - light] [midy + stopV + light] light
|
||||
}
|
||||
define [complexBoxDraw unicodeStart U D L R fn dl] : begin {
|
||||
local order (
|
||||
|
@ -143,10 +144,27 @@ let : begin {
|
|||
}
|
||||
}
|
||||
}
|
||||
# Straight
|
||||
boxdraw 0x2500 0 0 light light
|
||||
boxdraw 0x2501 0 0 heavy heavy
|
||||
boxdraw 0x2502 light light 0 0
|
||||
boxdraw 0x2503 heavy heavy 0 0
|
||||
boxdraw 0x2503 heavy heavy 0 0
|
||||
boxdraw 0x2574 0 0 light 0
|
||||
boxdraw 0x2575 light 0 0 0
|
||||
boxdraw 0x2576 0 0 0 light
|
||||
boxdraw 0x2577 0 light 0 0
|
||||
boxdraw 0x2578 0 0 heavy 0
|
||||
boxdraw 0x2579 heavy 0 0 0
|
||||
boxdraw 0x257A 0 0 0 heavy
|
||||
boxdraw 0x257B 0 heavy 0 0
|
||||
boxdraw 0x257C 0 0 light heavy
|
||||
boxdraw 0x257D light heavy 0 0
|
||||
boxdraw 0x257E 0 0 heavy light
|
||||
boxdraw 0x257F heavy light 0 0
|
||||
dlboxdraw 0x2550 0 0 heavy heavy
|
||||
dlboxdraw 0x2551 heavy heavy 0 0
|
||||
|
||||
# Complex
|
||||
complexBoxDraw 0x250C 0 1 0 1
|
||||
complexBoxDraw 0x2510 0 1 1 0
|
||||
complexBoxDraw 0x2514 1 0 0 1
|
||||
|
@ -156,8 +174,6 @@ let : begin {
|
|||
complexBoxDraw 0x252C 0 1 1 1
|
||||
complexBoxDraw 0x2534 1 0 1 1
|
||||
complexBoxDraw 0x253C 1 1 1 1
|
||||
dlboxdraw 0x2550 0 0 heavy heavy
|
||||
dlboxdraw 0x2551 heavy heavy 0 0
|
||||
complexBoxDraw 0x2552 0 1 0 1 dlboxdraw 1
|
||||
complexBoxDraw 0x2555 0 1 1 0 dlboxdraw 1
|
||||
complexBoxDraw 0x2558 1 0 0 1 dlboxdraw 1
|
||||
|
@ -167,6 +183,85 @@ let : begin {
|
|||
complexBoxDraw 0x2564 0 1 1 1 dlboxdraw 1
|
||||
complexBoxDraw 0x2567 1 0 1 1 dlboxdraw 1
|
||||
complexBoxDraw 0x256A 1 1 1 1 dlboxdraw 1
|
||||
|
||||
# Dashed
|
||||
define [hDashed unicode segments weight] : create-glyph ['bd' + [unicode.toString 16 :.toUpperCase]] : glyph-construction {
|
||||
assign-unicode unicode
|
||||
foreach j [range 0 segments] : include : HBar [mix [width * j / segments] [width * [j + 1] / segments] 0.2] [mix [width * j / segments] [width * [j + 1] / segments] 0.8] midy weight
|
||||
}
|
||||
define [vDashed unicode segments weight] : create-glyph ['bd' + [unicode.toString 16 :.toUpperCase]] : glyph-construction {
|
||||
assign-unicode unicode
|
||||
foreach j [range 0 segments] : include : VBar midx [mix [mix font.hhea.descent font.hhea.ascent [j / segments]] [mix font.hhea.descent font.hhea.ascent [[j + 1] / segments]] 0.2] [mix [mix font.hhea.descent font.hhea.ascent [j / segments]] [mix font.hhea.descent font.hhea.ascent [[j + 1] / segments]] 0.8] weight
|
||||
}
|
||||
hDashed 0x2504 3 light
|
||||
hDashed 0x2505 3 heavy
|
||||
hDashed 0x2508 4 light
|
||||
hDashed 0x2509 4 heavy
|
||||
hDashed 0x254C 2 light
|
||||
hDashed 0x254D 2 heavy
|
||||
vDashed 0x2506 3 light
|
||||
vDashed 0x2507 3 heavy
|
||||
vDashed 0x250A 4 light
|
||||
vDashed 0x250B 4 heavy
|
||||
vDashed 0x254E 2 light
|
||||
vDashed 0x254F 2 heavy
|
||||
|
||||
# Args
|
||||
create-glyph 'bd256D' : glyph-construction {
|
||||
assign-unicode 0x256D
|
||||
include : create-stroke
|
||||
:.start-from midx font.hhea.descent
|
||||
:.heads-to UPWARD
|
||||
:.set-width [light / 2] [light / 2]
|
||||
:.arc-vh-to width midy
|
||||
:.heads-to RIGHTWARD
|
||||
}
|
||||
create-glyph 'bd256E' : glyph-construction {
|
||||
assign-unicode 0x256E
|
||||
include : create-stroke
|
||||
:.start-from midx font.hhea.descent
|
||||
:.heads-to UPWARD
|
||||
:.set-width [light / 2] [light / 2]
|
||||
:.arc-vh-to 0 midy
|
||||
:.heads-to LEFTWARD
|
||||
}
|
||||
create-glyph 'bd256F' : glyph-construction {
|
||||
assign-unicode 0x256F
|
||||
include : create-stroke
|
||||
:.start-from midx font.hhea.ascent
|
||||
:.heads-to DOWNWARD
|
||||
:.set-width [light / 2] [light / 2]
|
||||
:.arc-vh-to 0 midy
|
||||
:.heads-to LEFTWARD
|
||||
}
|
||||
create-glyph 'bd2570' : glyph-construction {
|
||||
assign-unicode 0x2570
|
||||
include : create-stroke
|
||||
:.start-from midx font.hhea.ascent
|
||||
:.heads-to DOWNWARD
|
||||
:.set-width [light / 2] [light / 2]
|
||||
:.arc-vh-to width midy
|
||||
:.heads-to RIGHTWARD
|
||||
}
|
||||
create-glyph 'bd2571' : glyph-construction {
|
||||
assign-unicode 0x2571
|
||||
include : create-stroke
|
||||
:.start-from width font.hhea.ascent
|
||||
:.set-width [light / 2] [light / 2]
|
||||
:.line-to 0 font.hhea.descent
|
||||
}
|
||||
create-glyph 'bd2572' : glyph-construction {
|
||||
assign-unicode 0x2572
|
||||
include : create-stroke
|
||||
:.start-from 0 font.hhea.ascent
|
||||
:.set-width [light / 2] [light / 2]
|
||||
:.line-to width font.hhea.descent
|
||||
}
|
||||
create-glyph 'bd2573' : glyph-construction {
|
||||
assign-unicode 0x2573
|
||||
include glyphs.bd2571
|
||||
include glyphs.bd2572
|
||||
}
|
||||
}
|
||||
|
||||
### POWERLINE glyphs
|
||||
|
|
|
@ -39,7 +39,7 @@ define regular (
|
|||
.family 'Iosevka'
|
||||
.style 'Regular'
|
||||
.weight 400
|
||||
.version 'r0.0.11'
|
||||
.version 'r0.0.12'
|
||||
.variantSelector (.)
|
||||
.copyright 'Copyright (c) 2015 Belleve Invis.'
|
||||
)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue