@@ -13,22 +13,40 @@ interface IBlockVector {
1313}
1414
1515export const blockElementDefinitions : { [ index : string ] : IBlockVector [ ] | undefined } = {
16- '▀' : [ { x : 0 , y : 0 , w : 8 , h : 4 } ] ,
17- '█' : [ { x : 0 , y : 0 , w : 8 , h : 8 } ] ,
18- '▇' : [ { x : 0 , y : 1 , w : 8 , h : 7 } ] ,
19- '▆' : [ { x : 0 , y : 2 , w : 8 , h : 6 } ] ,
20- '▅' : [ { x : 0 , y : 3 , w : 8 , h : 5 } ] ,
21- '▄' : [ { x : 0 , y : 4 , w : 8 , h : 4 } ] ,
22- '▃' : [ { x : 0 , y : 5 , w : 8 , h : 3 } ] ,
23- '▂' : [ { x : 0 , y : 6 , w : 8 , h : 2 } ] ,
24- '▁' : [ { x : 0 , y : 7 , w : 8 , h : 1 } ] ,
25- '▉' : [ { x : 0 , y : 0 , w : 7 , h : 8 } ] ,
26- '▊' : [ { x : 0 , y : 0 , w : 6 , h : 8 } ] ,
27- '▋' : [ { x : 0 , y : 0 , w : 5 , h : 8 } ] ,
28- '▌' : [ { x : 0 , y : 0 , w : 4 , h : 8 } ] ,
29- '▍' : [ { x : 0 , y : 0 , w : 3 , h : 8 } ] ,
30- '▎' : [ { x : 0 , y : 0 , w : 2 , h : 8 } ] ,
31- '▏' : [ { x : 0 , y : 0 , w : 1 , h : 8 } ] ,
16+ // Block elements (0x2580-0x2590)
17+ '▀' : [ { x : 0 , y : 0 , w : 8 , h : 4 } ] , // UPPER HALF BLOCK
18+ '▁' : [ { x : 0 , y : 7 , w : 8 , h : 1 } ] , // LOWER ONE EIGHTH BLOCK
19+ '▂' : [ { x : 0 , y : 6 , w : 8 , h : 2 } ] , // LOWER ONE QUARTER BLOCK
20+ '▃' : [ { x : 0 , y : 5 , w : 8 , h : 3 } ] , // LOWER THREE EIGHTHS BLOCK
21+ '▄' : [ { x : 0 , y : 4 , w : 8 , h : 4 } ] , // LOWER HALF BLOCK
22+ '▅' : [ { x : 0 , y : 3 , w : 8 , h : 5 } ] , // LOWER FIVE EIGHTHS BLOCK
23+ '▆' : [ { x : 0 , y : 2 , w : 8 , h : 6 } ] , // LOWER THREE QUARTERS BLOCK
24+ '▇' : [ { x : 0 , y : 1 , w : 8 , h : 7 } ] , // LOWER SEVEN EIGHTHS BLOCK
25+ '█' : [ { x : 0 , y : 0 , w : 8 , h : 8 } ] , // FULL BLOCK
26+ '▉' : [ { x : 0 , y : 0 , w : 7 , h : 8 } ] , // LEFT SEVEN EIGHTHS BLOCK
27+ '▊' : [ { x : 0 , y : 0 , w : 6 , h : 8 } ] , // LEFT THREE QUARTERS BLOCK
28+ '▋' : [ { x : 0 , y : 0 , w : 5 , h : 8 } ] , // LEFT FIVE EIGHTHS BLOCK
29+ '▌' : [ { x : 0 , y : 0 , w : 4 , h : 8 } ] , // LEFT HALF BLOCK
30+ '▍' : [ { x : 0 , y : 0 , w : 3 , h : 8 } ] , // LEFT THREE EIGHTHS BLOCK
31+ '▎' : [ { x : 0 , y : 0 , w : 2 , h : 8 } ] , // LEFT ONE QUARTER BLOCK
32+ '▏' : [ { x : 0 , y : 0 , w : 1 , h : 8 } ] , // LEFT ONE EIGHTH BLOCK
33+ '▐' : [ { x : 4 , y : 0 , w : 4 , h : 8 } ] , // RIGHT HALF BLOCK
34+
35+ // Block elements (0x2594-0x2595)
36+ '▔' : [ { x : 0 , y : 0 , w : 9 , h : 1 } ] , // UPPER ONE EIGHTH BLOCK
37+ '▕' : [ { x : 7 , y : 0 , w : 1 , h : 8 } ] , // RIGHT ONE EIGHTH BLOCK
38+
39+ // Terminal graphic characters (0x2596-0x259F)
40+ '▖' : [ { x : 0 , y : 4 , w : 4 , h : 4 } ] , // QUADRANT LOWER LEFT
41+ '▗' : [ { x : 4 , y : 4 , w : 4 , h : 4 } ] , // QUADRANT LOWER RIGHT
42+ '▘' : [ { x : 0 , y : 0 , w : 4 , h : 4 } ] , // QUADRANT UPPER LEFT
43+ '▙' : [ { x : 0 , y : 0 , w : 4 , h : 8 } , { x : 0 , y : 4 , w : 8 , h : 4 } ] , // QUADRANT UPPER LEFT AND LOWER LEFT AND LOWER RIGHT
44+ '▚' : [ { x : 0 , y : 0 , w : 4 , h : 4 } , { x : 4 , y : 4 , w : 4 , h : 4 } ] , // QUADRANT UPPER LEFT AND LOWER RIGHT
45+ '▛' : [ { x : 0 , y : 0 , w : 4 , h : 8 } , { x : 0 , y : 0 , w : 4 , h : 8 } ] , // QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER LEFT
46+ '▜' : [ { x : 0 , y : 0 , w : 8 , h : 4 } , { x : 4 , y : 0 , w : 4 , h : 8 } ] , // QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER RIGHT
47+ '▝' : [ { x : 4 , y : 0 , w : 4 , h : 4 } ] , // QUADRANT UPPER RIGHT
48+ '▞' : [ { x : 4 , y : 0 , w : 4 , h : 4 } , { x : 0 , y : 4 , w : 4 , h : 4 } ] , // QUADRANT UPPER RIGHT AND LOWER LEFT
49+ '▟' : [ { x : 4 , y : 0 , w : 4 , h : 8 } , { x : 0 , y : 4 , w : 8 , h : 4 } ] , // QUADRANT UPPER RIGHT AND LOWER LEFT AND LOWER RIGHT
3250
3351 // VERTICAL ONE EIGHTH BLOCK-2 through VERTICAL ONE EIGHTH BLOCK-7
3452 '\u{1FB70}' : [ { x : 1 , y : 0 , w : 1 , h : 8 } ] ,
@@ -37,11 +55,7 @@ export const blockElementDefinitions: { [index: string]: IBlockVector[] | undefi
3755 '\u{1FB73}' : [ { x : 4 , y : 0 , w : 1 , h : 8 } ] ,
3856 '\u{1FB74}' : [ { x : 5 , y : 0 , w : 1 , h : 8 } ] ,
3957 '\u{1FB75}' : [ { x : 6 , y : 0 , w : 1 , h : 8 } ] ,
40- // RIGHT ONE EIGHTH BLOCK
41- '▕' : [ { x : 7 , y : 0 , w : 1 , h : 8 } ] ,
4258
43- // UPPER ONE EIGHTH BLOCK
44- '▔' : [ { x : 0 , y : 0 , w : 8 , h : 1 } ] ,
4559 // HORIZONTAL ONE EIGHTH BLOCK-2 through HORIZONTAL ONE EIGHTH BLOCK-7
4660 '\u{1FB76}' : [ { x : 0 , y : 1 , w : 8 , h : 1 } ] ,
4761 '\u{1FB77}' : [ { x : 0 , y : 2 , w : 8 , h : 1 } ] ,
@@ -110,19 +124,20 @@ type PatternDefinition = number[][];
110124 * pixel values to be filled (1) or not filled (0).
111125 */
112126const patternCharacterDefinitions : { [ key : string ] : PatternDefinition | undefined } = {
113- '░' : [
127+ // Shade characters (0x2591-0x2593)
128+ '░' : [ // LIGHT SHADE (25%)
114129 [ 1 , 0 , 0 , 0 ] ,
115130 [ 0 , 0 , 0 , 0 ] ,
116131 [ 0 , 0 , 1 , 0 ] ,
117132 [ 0 , 0 , 0 , 0 ]
118133 ] ,
119- '▒' : [
134+ '▒' : [ // MEDIUM SHADE (50%)
120135 [ 1 , 0 ] ,
121136 [ 0 , 0 ] ,
122137 [ 0 , 1 ] ,
123138 [ 0 , 0 ]
124139 ] ,
125- '▓' : [
140+ '▓' : [ // DARK SHADE (75%)
126141 [ 0 , 1 ] ,
127142 [ 1 , 1 ] ,
128143 [ 1 , 0 ] ,
0 commit comments