Merge commit '77d3a60869e7a780c6ae069e51530e1eacece5e2'
[fanfix.git] / src / jexer / bits / GraphicsChars.java
CommitLineData
daa4106c 1/*
7b5261bc 2 * Jexer - Java Text User Interface
624ce48e 3 *
e16dda65 4 * The MIT License (MIT)
624ce48e 5 *
a69ed767 6 * Copyright (C) 2019 Kevin Lamonte
624ce48e 7 *
e16dda65
KL
8 * Permission is hereby granted, free of charge, to any person obtaining a
9 * copy of this software and associated documentation files (the "Software"),
10 * to deal in the Software without restriction, including without limitation
11 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
12 * and/or sell copies of the Software, and to permit persons to whom the
13 * Software is furnished to do so, subject to the following conditions:
624ce48e 14 *
e16dda65
KL
15 * The above copyright notice and this permission notice shall be included in
16 * all copies or substantial portions of the Software.
624ce48e 17 *
e16dda65
KL
18 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
21 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
24 * DEALINGS IN THE SOFTWARE.
7b5261bc
KL
25 *
26 * @author Kevin Lamonte [kevin.lamonte@gmail.com]
27 * @version 1
624ce48e
KL
28 */
29package jexer.bits;
30
624ce48e 31/**
7b5261bc
KL
32 * This class contains a collection of special characters used by the
33 * windowing system and the mappings from CP437 to Unicode.
624ce48e 34 */
7b5261bc 35public final class GraphicsChars {
624ce48e 36
d36057df
KL
37 // ------------------------------------------------------------------------
38 // Constants --------------------------------------------------------------
39 // ------------------------------------------------------------------------
624ce48e 40
7b5261bc
KL
41 /**
42 * The CP437 to Unicode translation map.
43 */
48e27807 44 public static final char [] CP437 = {
7b5261bc
KL
45 '\u2007', '\u263A', '\u263B', '\u2665',
46 '\u2666', '\u2663', '\u2660', '\u2022',
47 '\u25D8', '\u25CB', '\u25D9', '\u2642',
48 '\u2640', '\u266A', '\u266B', '\u263C',
bd8d51fa
KL
49 // Terminus has 25B6 and 25C0 here, which I believe are better
50 // Unicode equivalents anyway.
51 // '\u25BA', '\u25C4', '\u2195', '\u203C',
52 '\u25B6', '\u25C0', '\u2195', '\u203C',
7b5261bc
KL
53 '\u00B6', '\u00A7', '\u25AC', '\u21A8',
54 '\u2191', '\u2193', '\u2192', '\u2190',
55 '\u221F', '\u2194', '\u25B2', '\u25BC',
56 '\u0020', '\u0021', '\"', '\u0023',
57 '\u0024', '\u0025', '\u0026', '\'',
58 '\u0028', '\u0029', '\u002a', '\u002b',
59 '\u002c', '\u002d', '\u002e', '\u002f',
60 '\u0030', '\u0031', '\u0032', '\u0033',
61 '\u0034', '\u0035', '\u0036', '\u0037',
62 '\u0038', '\u0039', '\u003a', '\u003b',
63 '\u003c', '\u003d', '\u003e', '\u003f',
64 '\u0040', '\u0041', '\u0042', '\u0043',
65 '\u0044', '\u0045', '\u0046', '\u0047',
66 '\u0048', '\u0049', '\u004a', '\u004b',
67 '\u004c', '\u004d', '\u004e', '\u004f',
68 '\u0050', '\u0051', '\u0052', '\u0053',
69 '\u0054', '\u0055', '\u0056', '\u0057',
70 '\u0058', '\u0059', '\u005a', '\u005b',
71 '\\', '\u005d', '\u005e', '\u005f',
72 '\u0060', '\u0061', '\u0062', '\u0063',
73 '\u0064', '\u0065', '\u0066', '\u0067',
74 '\u0068', '\u0069', '\u006a', '\u006b',
75 '\u006c', '\u006d', '\u006e', '\u006f',
76 '\u0070', '\u0071', '\u0072', '\u0073',
77 '\u0074', '\u0075', '\u0076', '\u0077',
78 '\u0078', '\u0079', '\u007a', '\u007b',
a56129f7 79 '\u007c', '\u007d', '\u007e', '\u2302',
7b5261bc
KL
80 '\u00c7', '\u00fc', '\u00e9', '\u00e2',
81 '\u00e4', '\u00e0', '\u00e5', '\u00e7',
82 '\u00ea', '\u00eb', '\u00e8', '\u00ef',
83 '\u00ee', '\u00ec', '\u00c4', '\u00c5',
84 '\u00c9', '\u00e6', '\u00c6', '\u00f4',
85 '\u00f6', '\u00f2', '\u00fb', '\u00f9',
86 '\u00ff', '\u00d6', '\u00dc', '\u00a2',
87 '\u00a3', '\u00a5', '\u20a7', '\u0192',
88 '\u00e1', '\u00ed', '\u00f3', '\u00fa',
89 '\u00f1', '\u00d1', '\u00aa', '\u00ba',
90 '\u00bf', '\u2310', '\u00ac', '\u00bd',
91 '\u00bc', '\u00a1', '\u00ab', '\u00bb',
92 '\u2591', '\u2592', '\u2593', '\u2502',
93 '\u2524', '\u2561', '\u2562', '\u2556',
94 '\u2555', '\u2563', '\u2551', '\u2557',
95 '\u255d', '\u255c', '\u255b', '\u2510',
96 '\u2514', '\u2534', '\u252c', '\u251c',
97 '\u2500', '\u253c', '\u255e', '\u255f',
98 '\u255a', '\u2554', '\u2569', '\u2566',
99 '\u2560', '\u2550', '\u256c', '\u2567',
100 '\u2568', '\u2564', '\u2565', '\u2559',
101 '\u2558', '\u2552', '\u2553', '\u256b',
102 '\u256a', '\u2518', '\u250c', '\u2588',
103 '\u2584', '\u258c', '\u2590', '\u2580',
104 '\u03b1', '\u00df', '\u0393', '\u03c0',
105 '\u03a3', '\u03c3', '\u00b5', '\u03c4',
106 '\u03a6', '\u0398', '\u03a9', '\u03b4',
107 '\u221e', '\u03c6', '\u03b5', '\u2229',
108 '\u2261', '\u00b1', '\u2265', '\u2264',
109 '\u2320', '\u2321', '\u00f7', '\u2248',
110 '\u00b0', '\u2219', '\u00b7', '\u221a',
111 '\u207f', '\u00b2', '\u25a0', '\u00a0'
624ce48e
KL
112 };
113
7b5261bc
KL
114 public static final char HATCH = CP437[0xB0];
115 public static final char DOUBLE_BAR = CP437[0xCD];
116 public static final char BOX = CP437[0xFE];
117 public static final char CHECK = CP437[0xFB];
118 public static final char TRIPLET = CP437[0xF0];
119 public static final char OMEGA = CP437[0xEA];
120 public static final char PI = CP437[0xE3];
121 public static final char UPARROW = CP437[0x18];
122 public static final char DOWNARROW = CP437[0x19];
123 public static final char RIGHTARROW = CP437[0x1A];
124 public static final char LEFTARROW = CP437[0x1B];
125 public static final char SINGLE_BAR = CP437[0xC4];
126 public static final char BACK_ARROWHEAD = CP437[0x11];
127 public static final char LRCORNER = CP437[0xD9];
128 public static final char URCORNER = CP437[0xBF];
129 public static final char LLCORNER = CP437[0xC0];
130 public static final char ULCORNER = CP437[0xDA];
131 public static final char DEGREE = CP437[0xF8];
132 public static final char PLUSMINUS = CP437[0xF1];
133 public static final char WINDOW_TOP = CP437[0xCD];
134 public static final char WINDOW_LEFT_TOP = CP437[0xD5];
135 public static final char WINDOW_RIGHT_TOP = CP437[0xB8];
136 public static final char WINDOW_SIDE = CP437[0xB3];
137 public static final char WINDOW_LEFT_BOTTOM = CP437[0xD4];
138 public static final char WINDOW_RIGHT_BOTTOM = CP437[0xBE];
139 public static final char WINDOW_LEFT_TEE = CP437[0xC6];
140 public static final char WINDOW_RIGHT_TEE = CP437[0xB5];
141 public static final char WINDOW_SIDE_DOUBLE = CP437[0xBA];
142 public static final char WINDOW_LEFT_TOP_DOUBLE = CP437[0xC9];
143 public static final char WINDOW_RIGHT_TOP_DOUBLE = CP437[0xBB];
144 public static final char WINDOW_LEFT_BOTTOM_DOUBLE = CP437[0xC8];
145 public static final char WINDOW_RIGHT_BOTTOM_DOUBLE = CP437[0xBC];
2ce6dab2 146 public static final char VERTICAL_BAR = CP437[0xB3];
71a389c9 147 public static final char OCTOSTAR = CP437[0x0F];
a69ed767
KL
148 public static final char DOWNARROWLEFT = CP437[0xDD];
149 public static final char DOWNARROWRIGHT = CP437[0xDE];
d36057df
KL
150
151 // ------------------------------------------------------------------------
152 // Constructors -----------------------------------------------------------
153 // ------------------------------------------------------------------------
154
155 /**
156 * Private constructor prevents accidental creation of this class.
157 */
158 private GraphicsChars() {
159 }
160
624ce48e 161}