accfdb5e248f06ce74a2ea226ff5e7a10485cac8
[nikiroo-utils.git] / src / jexer / bits / GraphicsChars.java
1 /*
2 * Jexer - Java Text User Interface
3 *
4 * License: LGPLv3 or later
5 *
6 * This module is licensed under the GNU Lesser General Public License
7 * Version 3. Please see the file "COPYING" in this directory for more
8 * information about the GNU Lesser General Public License Version 3.
9 *
10 * Copyright (C) 2015 Kevin Lamonte
11 *
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU Lesser General Public License
14 * as published by the Free Software Foundation; either version 3 of
15 * the License, or (at your option) any later version.
16 *
17 * This program is distributed in the hope that it will be useful, but
18 * WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20 * General Public License for more details.
21 *
22 * You should have received a copy of the GNU Lesser General Public
23 * License along with this program; if not, see
24 * http://www.gnu.org/licenses/, or write to the Free Software
25 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
26 * 02110-1301 USA
27 *
28 * @author Kevin Lamonte [kevin.lamonte@gmail.com]
29 * @version 1
30 */
31 package jexer.bits;
32
33 /**
34 * This class contains a collection of special characters used by the
35 * windowing system and the mappings from CP437 to Unicode.
36 */
37 public final class GraphicsChars {
38
39 /**
40 * Private constructor prevents accidental creation of this class.
41 */
42 private GraphicsChars() {
43 }
44
45 /**
46 * The CP437 to Unicode translation map.
47 */
48 public static final char [] CP437 = {
49 '\u2007', '\u263A', '\u263B', '\u2665',
50 '\u2666', '\u2663', '\u2660', '\u2022',
51 '\u25D8', '\u25CB', '\u25D9', '\u2642',
52 '\u2640', '\u266A', '\u266B', '\u263C',
53 // Terminus has 25B6 and 25C0 here, which I believe are better
54 // Unicode equivalents anyway.
55 // '\u25BA', '\u25C4', '\u2195', '\u203C',
56 '\u25B6', '\u25C0', '\u2195', '\u203C',
57 '\u00B6', '\u00A7', '\u25AC', '\u21A8',
58 '\u2191', '\u2193', '\u2192', '\u2190',
59 '\u221F', '\u2194', '\u25B2', '\u25BC',
60 '\u0020', '\u0021', '\"', '\u0023',
61 '\u0024', '\u0025', '\u0026', '\'',
62 '\u0028', '\u0029', '\u002a', '\u002b',
63 '\u002c', '\u002d', '\u002e', '\u002f',
64 '\u0030', '\u0031', '\u0032', '\u0033',
65 '\u0034', '\u0035', '\u0036', '\u0037',
66 '\u0038', '\u0039', '\u003a', '\u003b',
67 '\u003c', '\u003d', '\u003e', '\u003f',
68 '\u0040', '\u0041', '\u0042', '\u0043',
69 '\u0044', '\u0045', '\u0046', '\u0047',
70 '\u0048', '\u0049', '\u004a', '\u004b',
71 '\u004c', '\u004d', '\u004e', '\u004f',
72 '\u0050', '\u0051', '\u0052', '\u0053',
73 '\u0054', '\u0055', '\u0056', '\u0057',
74 '\u0058', '\u0059', '\u005a', '\u005b',
75 '\\', '\u005d', '\u005e', '\u005f',
76 '\u0060', '\u0061', '\u0062', '\u0063',
77 '\u0064', '\u0065', '\u0066', '\u0067',
78 '\u0068', '\u0069', '\u006a', '\u006b',
79 '\u006c', '\u006d', '\u006e', '\u006f',
80 '\u0070', '\u0071', '\u0072', '\u0073',
81 '\u0074', '\u0075', '\u0076', '\u0077',
82 '\u0078', '\u0079', '\u007a', '\u007b',
83 '\u007c', '\u007d', '\u007e', '\u007f',
84 '\u00c7', '\u00fc', '\u00e9', '\u00e2',
85 '\u00e4', '\u00e0', '\u00e5', '\u00e7',
86 '\u00ea', '\u00eb', '\u00e8', '\u00ef',
87 '\u00ee', '\u00ec', '\u00c4', '\u00c5',
88 '\u00c9', '\u00e6', '\u00c6', '\u00f4',
89 '\u00f6', '\u00f2', '\u00fb', '\u00f9',
90 '\u00ff', '\u00d6', '\u00dc', '\u00a2',
91 '\u00a3', '\u00a5', '\u20a7', '\u0192',
92 '\u00e1', '\u00ed', '\u00f3', '\u00fa',
93 '\u00f1', '\u00d1', '\u00aa', '\u00ba',
94 '\u00bf', '\u2310', '\u00ac', '\u00bd',
95 '\u00bc', '\u00a1', '\u00ab', '\u00bb',
96 '\u2591', '\u2592', '\u2593', '\u2502',
97 '\u2524', '\u2561', '\u2562', '\u2556',
98 '\u2555', '\u2563', '\u2551', '\u2557',
99 '\u255d', '\u255c', '\u255b', '\u2510',
100 '\u2514', '\u2534', '\u252c', '\u251c',
101 '\u2500', '\u253c', '\u255e', '\u255f',
102 '\u255a', '\u2554', '\u2569', '\u2566',
103 '\u2560', '\u2550', '\u256c', '\u2567',
104 '\u2568', '\u2564', '\u2565', '\u2559',
105 '\u2558', '\u2552', '\u2553', '\u256b',
106 '\u256a', '\u2518', '\u250c', '\u2588',
107 '\u2584', '\u258c', '\u2590', '\u2580',
108 '\u03b1', '\u00df', '\u0393', '\u03c0',
109 '\u03a3', '\u03c3', '\u00b5', '\u03c4',
110 '\u03a6', '\u0398', '\u03a9', '\u03b4',
111 '\u221e', '\u03c6', '\u03b5', '\u2229',
112 '\u2261', '\u00b1', '\u2265', '\u2264',
113 '\u2320', '\u2321', '\u00f7', '\u2248',
114 '\u00b0', '\u2219', '\u00b7', '\u221a',
115 '\u207f', '\u00b2', '\u25a0', '\u00a0'
116 };
117
118 public static final char HATCH = CP437[0xB0];
119 public static final char DOUBLE_BAR = CP437[0xCD];
120 public static final char BOX = CP437[0xFE];
121 public static final char CHECK = CP437[0xFB];
122 public static final char TRIPLET = CP437[0xF0];
123 public static final char OMEGA = CP437[0xEA];
124 public static final char PI = CP437[0xE3];
125 public static final char UPARROW = CP437[0x18];
126 public static final char DOWNARROW = CP437[0x19];
127 public static final char RIGHTARROW = CP437[0x1A];
128 public static final char LEFTARROW = CP437[0x1B];
129 public static final char SINGLE_BAR = CP437[0xC4];
130 public static final char BACK_ARROWHEAD = CP437[0x11];
131 public static final char LRCORNER = CP437[0xD9];
132 public static final char URCORNER = CP437[0xBF];
133 public static final char LLCORNER = CP437[0xC0];
134 public static final char ULCORNER = CP437[0xDA];
135 public static final char DEGREE = CP437[0xF8];
136 public static final char PLUSMINUS = CP437[0xF1];
137 public static final char WINDOW_TOP = CP437[0xCD];
138 public static final char WINDOW_LEFT_TOP = CP437[0xD5];
139 public static final char WINDOW_RIGHT_TOP = CP437[0xB8];
140 public static final char WINDOW_SIDE = CP437[0xB3];
141 public static final char WINDOW_LEFT_BOTTOM = CP437[0xD4];
142 public static final char WINDOW_RIGHT_BOTTOM = CP437[0xBE];
143 public static final char WINDOW_LEFT_TEE = CP437[0xC6];
144 public static final char WINDOW_RIGHT_TEE = CP437[0xB5];
145 public static final char WINDOW_SIDE_DOUBLE = CP437[0xBA];
146 public static final char WINDOW_LEFT_TOP_DOUBLE = CP437[0xC9];
147 public static final char WINDOW_RIGHT_TOP_DOUBLE = CP437[0xBB];
148 public static final char WINDOW_LEFT_BOTTOM_DOUBLE = CP437[0xC8];
149 public static final char WINDOW_RIGHT_BOTTOM_DOUBLE = CP437[0xBC];
150 }