tty-font 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,19 @@
1
+ require 'tty-font'
2
+ require 'pastel'
3
+
4
+ pastel = Pastel.new
5
+ font = TTY::Font.new(:starwars)
6
+
7
+ puts pastel.red(font.write('starwars'))
8
+
9
+ puts font.write("ABCDEFGHIJKLMN")
10
+ puts font.write("OPQRSTUVWXYZ")
11
+
12
+ puts font.write("abcdefghijklmn")
13
+ puts font.write("opqrstuvwxyz")
14
+
15
+ puts font.write("0123456789")
16
+
17
+ puts font.write("!#\$%^&*()-_+=")
18
+
19
+ puts font.write("\"',.:;><?@][\\/}{|")
@@ -0,0 +1,17 @@
1
+ require 'tty-font'
2
+ require 'pastel'
3
+
4
+ pastel = Pastel.new
5
+ font = TTY::Font.new(:straight)
6
+
7
+ puts pastel.green(font.write('straight'))
8
+
9
+ puts font.write("ABCDEFGHIJKLMNOPQRSTUVWXYZ")
10
+
11
+ puts font.write("abcdefghijklmnopqrstuvwxyz")
12
+
13
+ puts font.write("0123456789")
14
+
15
+ puts font.write("!#\$%^&*()-_+=")
16
+
17
+ puts font.write("\"',.:;><?][\\/}{|")
@@ -0,0 +1,33 @@
1
+ # 3d
2
+
3
+ ```
4
+ ______ ____ ____ ____ ____ ____ ____
5
+ /\ _ \/\ _`\ /\ _`\ /\ _`\ /\ _`\ /\ _`\ /\ _`\
6
+ \ \ \_\ \ \ \_\ \\ \ \/\_\\ \ \/\ \ \ \_\_\ \ \_\_\ \ \_\_\
7
+ \ \ __ \ \ _ <'\ \ \/_/_\ \ \ \ \ \ _\_\ \ _\/\ \ \___
8
+ \ \ \/\ \ \ \_\ \\ \ \_\ \\ \ \_\ \ \ \_\ \ \ \/ \ \ \/, \
9
+ \ \_\ \_\ \____/ \ \____/ \ \____/\ \____/\ \_\ \ \____/
10
+ \/_/\/_/\/___/ \/___/ \/___/ \/___/ \/_/ \/___/
11
+ ```
12
+
13
+ ```
14
+ __ __ ___
15
+ /\ \ /\ \ /'___\
16
+ __ \ \ \____ ___ \_\ \ __ /\ \__/ __
17
+ /'__`\ \ \ '__`\ /'___\ /'_` \ /'__`\ \ ,__\/'_ `\
18
+ /\ \_\.\_\ \ \_\ \/\ \__//\ \_\ \/\ __/\ \ \_/\ \_\ \
19
+ \ \__/.\_\\ \_,__/\ \____\ \___,_\ \____\\ \_\\ \____ \
20
+ \/__/\/_/ \/___/ \/____/\/__,_ /\/____/ \/_/ \/____\ \
21
+ /\____/
22
+ \_/__/
23
+ ```
24
+
25
+ ```
26
+ _ ___ __ __ __ ______ ____ ________
27
+ /' \ /'___`\ /'__`\ /\ \\ \ /\ ___\ /'___\ /\_____ \
28
+ /\_, \ /\_\ /\ \ /\_\_\ \\ \ \\ \ \ \ \__/ /\ \__/ \/___//'/'
29
+ \/_/\ \\/_/// /__\/_/_\_<_\ \ \\ \_\ \___``\ \ _``\ /' /'
30
+ \ \ \ // /_\ \ /\ \_\ \\ \__ ,__\/\ \_\ \ \ \_\ \/' /'
31
+ \ \_\/\______/ \ \____/ \/_/\_\_/\ \____/\ \____/\_/
32
+ \/_/\/_____/ \/___/ \/_/ \/___/ \/___/\//
33
+ ```
@@ -0,0 +1,30 @@
1
+ # doom
2
+
3
+ ```
4
+ ___ ______ ___________ ___________ _____
5
+ / _ \ | ___ \/ __ \ _ \ ___| ___| __ \
6
+ / /_\ \| |_/ /| / \/ | | | |__ | |_ | | \/
7
+ | _ || ___ \| | | | | | __|| _| | | __
8
+ | | | || |_/ /| \__/\ |/ /| |___| | | |_\ \
9
+ \_| |_/\____/ \____/___/ \____/\_| \____/
10
+ ```
11
+
12
+ ```
13
+ _ _ __
14
+ | | | | / _|
15
+ __ _| |__ ___ __| | ___| |_ __ _
16
+ / _` | '_ \ / __/ _` |/ _ \ _/ _` |
17
+ | (_| | |_) | (_| (_| | __/ || (_| |
18
+ \__,_|_.__/ \___\__,_|\___|_| \__, |
19
+ __/ |
20
+ |___/
21
+ ```
22
+
23
+ ```
24
+ __ _____ _____ ___ _____ ____ ______
25
+ / | / __ \|____ | / || ___|/ ___||___ /
26
+ `| | `' / /' / / / /| ||___ \/ /___ / /
27
+ | | / / \ \/ /_| | \ \ ___ \ / /
28
+ _| |_./ /___.___/ /\___ |/\__/ / \_/ |./ /
29
+ \___/\_____/\____/ |_/\____/\_____/\_/
30
+ ```
@@ -0,0 +1,27 @@
1
+ # standard
2
+
3
+ ```
4
+ _ ____ ____ ____ _____ _____ ____
5
+ / \ | __ ) / ___| _ \| ____| ___/ ___|
6
+ / _ \ | _ \| | | | | | _| | |_ | | _
7
+ / ___ \| |_) | |___| |_| | |___| _|| |_| |
8
+ /_/ \_\____/ \____|____/|_____|_| \____|
9
+ ```
10
+
11
+ ```
12
+ _ _ __
13
+ __ _| |__ ___ __| | ___ / _| __ _
14
+ / _` | '_ \ / __/ _` |/ _ \ |_ / _` |
15
+ | (_| | |_) | (_| (_| | __/ _| (_| |
16
+ \__,_|_.__/ \___\__,_|\___|_| \__, |
17
+ |___/
18
+
19
+ ```
20
+
21
+ ```
22
+ _ ____ _____ _ _ ____ __ _____
23
+ / |___ \|___ /| || || ___| / /|___ |
24
+ | | __) | |_ \| || ||___ \| '_ \ / /
25
+ | |/ __/ ___) |__ _|__) | (_) / /
26
+ |_|_____|____/ |_||____/ \___/_/
27
+ ```
@@ -0,0 +1,28 @@
1
+ # starwars
2
+
3
+ ```
4
+ ___ .______ ______ _______ _______ _______ _______
5
+ / \ | _ \ / || \ | ____|| ____| / _____|
6
+ / ^ \ | |_) | | ,----'| .--. || |__ | |__ | | __
7
+ / /_\ \ | _ < | | | | | || __| | __| | | |_ |
8
+ / _____ \ | |_) | | `----.| '--' || |____ | | | |__| |
9
+ /__/ \__\ |______/ \______||_______/ |_______||__| \______|
10
+ ```
11
+
12
+ ```
13
+ ___ .______ ______ _______ _______ _______ _______
14
+ / \ | _ \ / || \ | ____|| ____| / _____|
15
+ / ^ \ | |_) | | ,----'| .--. || |__ | |__ | | __
16
+ / /_\ \ | _ < | | | | | || __| | __| | | |_ |
17
+ / _____ \ | |_) | | `----.| '--' || |____ | | | |__| |
18
+ /__/ \__\ |______/ \______||_______/ |_______||__| \______|
19
+ ```
20
+
21
+ ```
22
+ __ ___ ____ _ _ _____ __ ______
23
+ /_ | |__ \ |___ \ | || | | ____| / / |____ |
24
+ | | ) | __) | | || |_ | |__ / /_ / /
25
+ | | / / |__ < |__ _| |___ \ | '_ \ / /
26
+ | | / /_ ___) | | | ___) | | (_) | / /
27
+ |_| |____| |____/ |_| |____/ \___/ /_/
28
+ ```
@@ -0,0 +1,20 @@
1
+ # straight
2
+
3
+ ```
4
+ __ __ __ __ __ __
5
+ /\ |__)/ | \|_ |_ / _
6
+ /--\|__)\__|__/|__| \__)
7
+ ```
8
+
9
+ ```
10
+ _
11
+ _ |_ _ _| _(_ _
12
+ (_||_)(_(_|(-| (_)
13
+ _/
14
+ ```
15
+
16
+ ```
17
+ __ __ __ __ ___
18
+ /| _) _) |__| |_ /__ /
19
+ | /__ __) | __) \__) /
20
+ ```
@@ -0,0 +1 @@
1
+ require_relative 'tty/font'
@@ -0,0 +1,88 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'pathname'
4
+ require 'yaml'
5
+
6
+ require_relative 'font/version'
7
+
8
+ module TTY
9
+ class Font
10
+ FONTS_PATH = Pathname.new(File.join(__dir__, 'font'))
11
+
12
+ def initialize(font = :standard, **options)
13
+ @font = font
14
+ @data = load_font(FONTS_PATH.join("#{font}.yml"))
15
+ @space = options.fetch(:letter_spacing) { 0 }
16
+ end
17
+
18
+ # Write text in a font format
19
+ #
20
+ # @param [String] text
21
+ # the text to convert to font format
22
+ #
23
+ # @api public
24
+ def write(text, **options)
25
+ output = []
26
+ chars = text.chars
27
+ space = options.fetch(:letter_spacing) { @space }
28
+ indexes = words_boundary_indexes(text)
29
+
30
+ @data['char_height'].times do |line|
31
+ output << add_line(chars, indexes, line, space)
32
+ end
33
+
34
+ output.join("\n")
35
+ end
36
+
37
+ # Inspect font attributes
38
+ #
39
+ # @api public
40
+ def inspect
41
+ vars = [
42
+ "name=#{@font.inspect}",
43
+ "letter_spacing=#{@space}",
44
+ "char_height=#{@data['char_height']}"
45
+ ]
46
+ '#<%s:0x%x %s>' % [self.class, (object_id << 1), vars.join(', ')]
47
+ end
48
+ alias to_s inspect
49
+
50
+ private
51
+
52
+ # Add new line to output
53
+ #
54
+ # @api private
55
+ def add_line(chars, indexes, line, space)
56
+ chars.each_with_index.reduce([]) do |acc, (char, indx)|
57
+ if @data['chars'].key?(char)
58
+ acc << @data['chars'][char][line]
59
+ acc << ' ' * space if space > 0 && !indexes.include?(indx)
60
+ else
61
+ raise ArgumentError, "Font #{@font} doesn't support '#{char}' character"
62
+ end
63
+ acc
64
+ end.join
65
+ end
66
+
67
+ # Search for all word right boundary indexes
68
+ #
69
+ # @return [Array[Integer]]
70
+ #
71
+ # @api private
72
+ def words_boundary_indexes(str)
73
+ str.scan(/\b\w+\b/).map { |w| str.index(w) + w.size - 1 }
74
+ end
75
+
76
+ # Load font if present
77
+ #
78
+ # @param [String] font_path
79
+ # The path to font location
80
+ #
81
+ # @api private
82
+ def load_font(font_path)
83
+ YAML.load_file(font_path)
84
+ rescue Errno::ENOENT
85
+ raise ArgumentError, "Font '#{File.basename(font_path)}' not found"
86
+ end
87
+ end # Font
88
+ end # TTY
@@ -0,0 +1,1039 @@
1
+ name: 3d
2
+ author: "Larry Gelberg (larryg@avs.com)"
3
+ char_height: 9
4
+ max_line_length: 15
5
+ chars:
6
+ "!": [
7
+ " __ ",
8
+ "/\\ \\ ",
9
+ "\\ \\ \\ ",
10
+ " \\ \\ \\ ",
11
+ " \\ \\_\\ ",
12
+ " \\/\\_\\",
13
+ " \\/_/",
14
+ " ",
15
+ " "
16
+ ]
17
+ "\"": [
18
+ " __ __ ",
19
+ "/\\ \\\\ \\ ",
20
+ "\\ \\_\\\\_\\ ",
21
+ " \\/_//_/ ",
22
+ " ",
23
+ " ",
24
+ " ",
25
+ " ",
26
+ " "
27
+ ]
28
+ "#": [
29
+ " __ __ ",
30
+ " _\\ \\\\ \\__ ",
31
+ "/\\__ _ _\\ ",
32
+ "\\/__\\ \\\\ \\__ ",
33
+ " /\\_ _ _\\",
34
+ " \\/_/\\_\\\\_\\/",
35
+ " \\/_//_/ ",
36
+ " ",
37
+ " "
38
+ ]
39
+ "$": [
40
+ " __ ",
41
+ "/\\ \\_ ",
42
+ "\\/'__`\\ ",
43
+ "/\\ \\_\\_\\ ",
44
+ "\\ \\____ \\ ",
45
+ " \\/\\ \\_\\ \\",
46
+ " \\ `\\_ _/",
47
+ " `\\_/\\_\\",
48
+ " \\/_/"
49
+ ]
50
+ "%": [
51
+ " __ __ ",
52
+ "/\\_\\ / / ",
53
+ "\\/_/ / / ",
54
+ " / / ",
55
+ " / / __ ",
56
+ " /_/ /\\_\\",
57
+ " /_/ \\/_/",
58
+ " ",
59
+ " "
60
+ ]
61
+ "&": [
62
+ " ____ ",
63
+ "/| _ \\ ",
64
+ "|/\\ | ",
65
+ " \\// __`\\/\\ ",
66
+ " /| \\_> <_",
67
+ " | \\_____/\\/",
68
+ " \\/____/\\/ ",
69
+ " ",
70
+ " "
71
+ ]
72
+ "'": [
73
+ " __ ",
74
+ "/\\ \\ ",
75
+ "\\ \\/ ",
76
+ " \\/ ",
77
+ " ",
78
+ " ",
79
+ " ",
80
+ " ",
81
+ " "
82
+ ]
83
+ "(": [
84
+ " _ ",
85
+ " /' \\ ",
86
+ "/\\ ,/' ",
87
+ "\\ \\ \\ ",
88
+ " \\ \\ `\\ ",
89
+ " \\ `\\__\\",
90
+ " `\\/_/ ",
91
+ " ",
92
+ " "
93
+ ]
94
+ ")": [
95
+ " __ ",
96
+ "/\\ `\\ ",
97
+ "\\`\\ \\ ",
98
+ " `\\`\\ \\ ",
99
+ " `\\/' \\",
100
+ " /\\__/",
101
+ " \\/_/ ",
102
+ " ",
103
+ " "
104
+ ]
105
+ "*": [
106
+ " __ ",
107
+ " _\\ \\ _ ",
108
+ "/\\_` ' \\ ",
109
+ "\\/_> <_ ",
110
+ " /\\_, ,_\\",
111
+ " \\/_/\\_\\/",
112
+ " \\/_/ ",
113
+ " ",
114
+ " "
115
+ ]
116
+ "+": [
117
+ " __ ",
118
+ " /\\ '\ ",
119
+ " \\_\\ \\___ ",
120
+ "/\\___ __\\",
121
+ "\\/__/\\ \\_/",
122
+ " \\ \\_\\ ",
123
+ " \\/_/ ",
124
+ " ",
125
+ " "
126
+ ]
127
+ ",": [
128
+ " ",
129
+ " ",
130
+ " ",
131
+ " ",
132
+ " __ ",
133
+ "/\\ \\",
134
+ "\\ \\/",
135
+ " \\/ ",
136
+ " "
137
+ ]
138
+ "-": [
139
+ " ",
140
+ " ",
141
+ " ",
142
+ " _______ ",
143
+ "/\\______\\",
144
+ "\\/______/",
145
+ " ",
146
+ " ",
147
+ " "
148
+ ]
149
+ ".": [
150
+ " ",
151
+ " ",
152
+ " ",
153
+ " ",
154
+ " __ ",
155
+ "/\\_\\",
156
+ "\\/_/",
157
+ " ",
158
+ " "
159
+ ]
160
+ "/": [
161
+ " __",
162
+ " / /",
163
+ " / / ",
164
+ " / / ",
165
+ " / / ",
166
+ " /_/ ",
167
+ "/_/ ",
168
+ " ",
169
+ " "
170
+ ]
171
+ "0": [
172
+ " __ ",
173
+ " /'__`\\ ",
174
+ "/\\ \\/\\ \\ ",
175
+ "\\ \\ \\ \\ \\ ",
176
+ " \\ \\ \\_\\ \\",
177
+ " \\ \\____/",
178
+ " \\/___/ ",
179
+ " ",
180
+ " "
181
+ ]
182
+ "1": [
183
+ " _ ",
184
+ " /' \\ ",
185
+ "/\\_, \\ ",
186
+ "\\/_/\\ \\ ",
187
+ " \\ \\ \\ ",
188
+ " \\ \\_\\",
189
+ " \\/_/",
190
+ " ",
191
+ " "
192
+ ]
193
+ "2": [
194
+ " ___ ",
195
+ " /'___`\\ ",
196
+ "/\\_\\ /\\ \\ ",
197
+ "\\/_/// /__ ",
198
+ " // /_\\ \\",
199
+ " /\\______/",
200
+ " \\/_____/ ",
201
+ " ",
202
+ " "
203
+ ]
204
+ "3": [
205
+ " __ ",
206
+ " /'__`\\ ",
207
+ "/\\_\\_\\ \\ ",
208
+ "\\/_/_\\_<_ ",
209
+ " /\\ \\_\\ \\",
210
+ " \\ \\____/",
211
+ " \\/___/ ",
212
+ " ",
213
+ " "
214
+ ]
215
+ "4": [
216
+ " __ __ ",
217
+ "/\\ \\\\ \\ ",
218
+ "\\ \\ \\\\ \\ ",
219
+ " \\ \\ \\\\ \\_ ",
220
+ " \\ \\__ ,__\\",
221
+ " \\/_/\\_\\_/",
222
+ " \\/_/ ",
223
+ " ",
224
+ " "
225
+ ]
226
+ "5": [
227
+ " ______ ",
228
+ "/\\ ___\\ ",
229
+ "\\ \\ \\__/ ",
230
+ " \\ \\___``\\ ",
231
+ " \\/\\ \\_\\ \\",
232
+ " \\ \\____/",
233
+ " \\/___/ ",
234
+ " ",
235
+ " "
236
+ ]
237
+ "6": [
238
+ " ____ ",
239
+ " /'___\\ ",
240
+ "/\\ \\__/ ",
241
+ "\\ \\ _``\\ ",
242
+ " \\ \\ \\_\\ \\",
243
+ " \\ \\____/",
244
+ " \\/___/ ",
245
+ " ",
246
+ " "
247
+ ]
248
+ "7": [
249
+ " ________ ",
250
+ "/\\_____ \\",
251
+ "\\/___//'/'",
252
+ " /' /' ",
253
+ " /' /' ",
254
+ " /\\_/ ",
255
+ " \\// ",
256
+ " ",
257
+ " "
258
+ ]
259
+ "8": [
260
+ " __ ",
261
+ " /'_ `\\ ",
262
+ "/\\ \\_\\ \\ ",
263
+ "\\/_> _ <_ ",
264
+ " /\\ \\_\\ \\",
265
+ " \\ \\____/",
266
+ " \\/___/ ",
267
+ " ",
268
+ " "
269
+ ]
270
+ "9": [
271
+ " __ ",
272
+ " /'_ `\\ ",
273
+ "/\\ \\_\\ \\ ",
274
+ "\\ \\___, \\ ",
275
+ " \\/__,/\\ \\ ",
276
+ " \\ \\_\\",
277
+ " \\/_/",
278
+ " ",
279
+ " "
280
+ ]
281
+ ":": [
282
+ " ",
283
+ " ",
284
+ " __ ",
285
+ "/\\_\\ ",
286
+ "\\/_/_ ",
287
+ " /\\_\\",
288
+ " \\/_/",
289
+ " ",
290
+ " "
291
+ ]
292
+ ";": [
293
+ " ",
294
+ " ",
295
+ " __ ",
296
+ "/\\_\\ ",
297
+ "\\/_/_ ",
298
+ " /\\ \\",
299
+ " \\ \\/",
300
+ " \\/ ",
301
+ " "
302
+ ]
303
+ "<": [
304
+ " ___ ",
305
+ " / / ",
306
+ " / / ",
307
+ "/< < ",
308
+ "\\ `\\ `\\ ",
309
+ " `\\ `\\_|",
310
+ " `\\// ",
311
+ " ",
312
+ " "
313
+ ]
314
+ "=": [
315
+ " ",
316
+ " _______ ",
317
+ "/\\______\\ ",
318
+ "\\/______/_ ",
319
+ " /\\______\\",
320
+ " \\/______/",
321
+ " ",
322
+ " ",
323
+ " "
324
+ ]
325
+ ">": [
326
+ " __ ",
327
+ "/\\ `\\ ",
328
+ "\\ `\\ `\\ ",
329
+ " `\\ > >",
330
+ " / / ",
331
+ " /\\_/ ",
332
+ " \\// ",
333
+ " ",
334
+ " "
335
+ ]
336
+ "?": [
337
+ " _ ",
338
+ " /'_`\\ ",
339
+ "/\\_\\/\\`\\",
340
+ "\\/_//'/'",
341
+ " /\\_\\ ",
342
+ " \\/\\_\\",
343
+ " \\/_/",
344
+ " ",
345
+ " "
346
+ ]
347
+ "@": [
348
+ " ",
349
+ " __ ",
350
+ " /'_`\\_ ",
351
+ " /'/'_` \\ ",
352
+ "/\\ \\ \\_\\ \\ ",
353
+ "\\ \\ `\\__,_\\",
354
+ " \\ `\\_____\\",
355
+ " `\\/_____/",
356
+ " "
357
+ ]
358
+ A: [
359
+ " ______ ",
360
+ "/\\ _ \\ ",
361
+ "\\ \\ \\_\\ \\ ",
362
+ " \\ \\ __ \\ ",
363
+ " \\ \\ \\/\\ \\ ",
364
+ " \\ \\_\\ \\_\\",
365
+ " \\/_/\\/_/",
366
+ " ",
367
+ " "
368
+ ]
369
+ B: [
370
+ " ____ ",
371
+ "/\\ _`\\ ",
372
+ "\\ \\ \\_\\ \\ ",
373
+ " \\ \\ _ <' ",
374
+ " \\ \\ \\_\\ \\",
375
+ " \\ \\____/",
376
+ " \\/___/ ",
377
+ " ",
378
+ " "
379
+ ]
380
+ C: [
381
+ " ____ ",
382
+ "/\\ _`\\ ",
383
+ "\\ \\ \\/\\_\\ ",
384
+ " \\ \\ \\/_/_ ",
385
+ " \\ \\ \\_\\ \\",
386
+ " \\ \\____/",
387
+ " \\/___/ ",
388
+ " ",
389
+ " "
390
+ ]
391
+ D: [
392
+ " ____ ",
393
+ "/\\ _`\\ ",
394
+ "\\ \\ \\/\\ \\ ",
395
+ " \\ \\ \\ \\ \\ ",
396
+ " \\ \\ \\_\\ \\",
397
+ " \\ \\____/",
398
+ " \\/___/ ",
399
+ " ",
400
+ " "
401
+ ]
402
+ E: [
403
+ " ____ ",
404
+ "/\\ _`\\ ",
405
+ "\\ \\ \\_\\_\\ ",
406
+ " \\ \\ _\\_ ",
407
+ " \\ \\ \\_\\ \\",
408
+ " \\ \\____/",
409
+ " \\/___/ ",
410
+ " ",
411
+ " "
412
+ ]
413
+ F: [
414
+ " ____ ",
415
+ "/\\ _`\\ ",
416
+ "\\ \\ \\_\\_\\",
417
+ " \\ \\ _\\/",
418
+ " \\ \\ \\/ ",
419
+ " \\ \\_\\ ",
420
+ " \\/_/ ",
421
+ " ",
422
+ " "
423
+ ]
424
+ G: [
425
+ " ____ ",
426
+ "/\\ _`\\ ",
427
+ "\\ \\ \\_\\_\\ ",
428
+ " \\ \\ \\___ ",
429
+ " \\ \\ \\/, \\",
430
+ " \\ \\____/",
431
+ " \\/___/ ",
432
+ " ",
433
+ " "
434
+ ]
435
+ H: [
436
+ " __ __ ",
437
+ "/\\ \\/\\ \\ ",
438
+ "\\ \\ \\_\\ \\ ",
439
+ " \\ \\ _ \\ ",
440
+ " \\ \\ \\ \\ \\ ",
441
+ " \\ \\_\\ \\_\\",
442
+ " \\/_/\\/_/",
443
+ " ",
444
+ " "
445
+ ]
446
+ I: [
447
+ " ______ ",
448
+ "/\\__ _\\ ",
449
+ "\\/_/\\ \\/ ",
450
+ " \\ \\ \\ ",
451
+ " \\_\\ \\__ ",
452
+ " /\\_____\\",
453
+ " \\/_____/",
454
+ " ",
455
+ " "
456
+ ]
457
+ J: [
458
+ " _____ ",
459
+ "/\\___ \\ ",
460
+ "\\/__/\\ \\ ",
461
+ " _\\ \\ \\ ",
462
+ " /\\ \\_\\ \\",
463
+ " \\ \\____/",
464
+ " \\/___/ ",
465
+ " ",
466
+ " "
467
+ ]
468
+ K: [
469
+ " __ __ ",
470
+ "/\\ \\/\\ \\ ",
471
+ "\\ \\ \\/'/' ",
472
+ " \\ \\ , < ",
473
+ " \\ \\ \\\\`\\ ",
474
+ " \\ \\_\\ \\_\\",
475
+ " \\/_/\\/_/",
476
+ " ",
477
+ " "
478
+ ]
479
+ L: [
480
+ " __ ",
481
+ "/\\ \\ ",
482
+ "\\ \\ \\ ",
483
+ " \\ \\ \\ __ ",
484
+ " \\ \\ \\_\\ \\",
485
+ " \\ \\____/",
486
+ " \\/___/ ",
487
+ " ",
488
+ " "
489
+ ]
490
+ M: [
491
+ " ",
492
+ " /'\\_/`\\ ",
493
+ "/\\ \\ ",
494
+ "\\ \\ \\__\\ \\ ",
495
+ " \\ \\ \\_/\\ \\ ",
496
+ " \\ \\_\\\\ \\_\\",
497
+ " \\/_/ \\/_/",
498
+ " ",
499
+ " "
500
+ ]
501
+ N: [
502
+ " __ __ ",
503
+ "/\\ \\/\\ \\ ",
504
+ "\\ \\ `\\\\ \\ ",
505
+ " \\ \\ , ` \\ ",
506
+ " \\ \\ \\`\\ \\ ",
507
+ " \\ \\_\\ \\_\\",
508
+ " \\/_/\\/_/",
509
+ " ",
510
+ " "
511
+ ]
512
+ O: [
513
+ " _____ ",
514
+ "/\\ __`\\ ",
515
+ "\\ \\ \\/\\ \\ ",
516
+ " \\ \\ \\ \\ \\ ",
517
+ " \\ \\ \\_\\ \\ ",
518
+ " \\ \\_____\\",
519
+ " \\/_____/",
520
+ " ",
521
+ " "
522
+ ]
523
+ P: [
524
+ " ____ ",
525
+ "/\\ _`\\ ",
526
+ "\\ \\ \\_\\ \\",
527
+ " \\ \\ ,__/",
528
+ " \\ \\ \\/ ",
529
+ " \\ \\_\\ ",
530
+ " \\/_/ ",
531
+ " ",
532
+ " "
533
+ ]
534
+ Q: [
535
+ " _____ ",
536
+ "/\\ __`\\ ",
537
+ "\\ \\ \\/\\ \\ ",
538
+ " \\ \\ \\ \\ \\ ",
539
+ " \\ \\ \\\\'\\\\ ",
540
+ " \\ \\___\\_\\",
541
+ " \\/__//_/",
542
+ " ",
543
+ " "
544
+ ]
545
+ R: [
546
+ " ____ ",
547
+ "/\\ _`\\ ",
548
+ "\\ \\ \\_\\ \\ ",
549
+ " \\ \\ , / ",
550
+ " \\ \\ \\\\ \\ ",
551
+ " \\ \\_\\ \\_\\",
552
+ " \\/_/\\/ /",
553
+ " ",
554
+ " "
555
+ ]
556
+ S: [
557
+ " ____ ",
558
+ "/\\ _`\\ ",
559
+ "\\ \\,\\_\\_\\ ",
560
+ " \\/_\\__ \\ ",
561
+ " /\\ \\_\\ \\ ",
562
+ " \\ `\\____\\",
563
+ " \\/_____/",
564
+ " ",
565
+ " "
566
+ ]
567
+ T: [
568
+ " ______ ",
569
+ "/\\__ _\\ ",
570
+ "\\/_/\\ \\/ ",
571
+ " \\ \\ \\ ",
572
+ " \\ \\ \\ ",
573
+ " \\ \\_\\",
574
+ " \\/_/",
575
+ " ",
576
+ " "
577
+ ]
578
+ U: [
579
+ " __ __ ",
580
+ "/\\ \\/\\ \\ ",
581
+ "\\ \\ \\ \\ \\ ",
582
+ " \\ \\ \\ \\ \\ ",
583
+ " \\ \\ \\_\\ \\ ",
584
+ " \\ \\_____\\",
585
+ " \\/_____/",
586
+ " ",
587
+ " "
588
+ ]
589
+ V: [
590
+ " __ __ ",
591
+ "/\\ \\/\\ \\ ",
592
+ "\\ \\ \\ \\ \\ ",
593
+ " \\ \\ \\ \\ \\ ",
594
+ " \\ \\ \\_/ \\",
595
+ " \\ `\\___/",
596
+ " `\\/__/ ",
597
+ " ",
598
+ " "
599
+ ]
600
+ W: [
601
+ " __ __ ",
602
+ "/\\ \\ __/\\ \\ ",
603
+ "\\ \\ \\/\\ \\ \\ \\ ",
604
+ " \\ \\ \\ \\ \\ \\ \\ ",
605
+ " \\ \\ \\_/ \\_\\ \\",
606
+ " \\ `\\___x___/",
607
+ " '\\/__//__/ ",
608
+ " ",
609
+ " "
610
+ ]
611
+ X: [
612
+ " __ __ ",
613
+ "/\\ \\ /\\ \\ ",
614
+ "\\ `\\`\\/'/' ",
615
+ " `\\/ > < ",
616
+ " \\/'/\\`\\ ",
617
+ " /\\_\\\\ \\_\\",
618
+ " \\/_/ \\/_/",
619
+ " ",
620
+ " "
621
+ ]
622
+ Y: [
623
+ " __ __ ",
624
+ "/\\ \\ /\\ \\",
625
+ "\\ `\\`\\\\/'/",
626
+ " `\\ `\\ /' ",
627
+ " `\\ \\ \\ ",
628
+ " \\ \\_\\",
629
+ " \\/_/",
630
+ " ",
631
+ " "
632
+ ]
633
+ Z: [
634
+ " ________ ",
635
+ "/\\_____ \\ ",
636
+ "\\/____//'/' ",
637
+ " //'/' ",
638
+ " //'/'___ ",
639
+ " /\\_______\\",
640
+ " \\/_______/",
641
+ " ",
642
+ " "
643
+ ]
644
+ "[": [
645
+ " ____ ",
646
+ "/\\ _\\ ",
647
+ "\\ \\ \\/ ",
648
+ " \\ \\ \\ ",
649
+ " \\ \\ \\_ ",
650
+ " \\ \\___\\",
651
+ " \\/___/",
652
+ " ",
653
+ " "
654
+ ]
655
+ "|": [
656
+ " __ ",
657
+ "/\\ `\\ ",
658
+ "\\`\\ `\\ ",
659
+ "`\\`\\ `\\ ",
660
+ " `\\`\\ `\\ ",
661
+ " `\\`\\__\\",
662
+ " `\\/__/",
663
+ " ",
664
+ " "
665
+ ]
666
+ "]": [
667
+ " ____ ",
668
+ "/\\__ \\ ",
669
+ "\\/_/\\ \\ ",
670
+ " \\ \\ \\ ",
671
+ " \\_\\ \\ ",
672
+ " /\\___\\",
673
+ " \\/___/",
674
+ " ",
675
+ " "
676
+ ]
677
+ "^": [
678
+ " __ ",
679
+ " / `\\ ",
680
+ "/\\_/\\_\\ ",
681
+ "\\//\\// ",
682
+ " ",
683
+ " ",
684
+ " ",
685
+ " ",
686
+ " "
687
+ ]
688
+ "_": [
689
+ " ",
690
+ " ",
691
+ " ",
692
+ " ",
693
+ " ",
694
+ " ",
695
+ " _______ ",
696
+ " /\\______\\",
697
+ " \\/______/"
698
+ ]
699
+ "`": [
700
+ " __ ",
701
+ "/\\ \\ ",
702
+ "\\ \\\\ ",
703
+ " \\// ",
704
+ " ",
705
+ " ",
706
+ " ",
707
+ " ",
708
+ " "
709
+ ]
710
+ a: [
711
+ " ",
712
+ " ",
713
+ " __ ",
714
+ " /'__`\\ ",
715
+ "/\\ \\_\\.\\_ ",
716
+ "\\ \\__/.\\_\\",
717
+ " \\/__/\\/_/",
718
+ " ",
719
+ " "
720
+ ]
721
+ b: [
722
+ " __ ",
723
+ "/\\ \\ ",
724
+ "\\ \\ \\____ ",
725
+ " \\ \\ '__`\\ ",
726
+ " \\ \\ \\_\\ \\",
727
+ " \\ \\_,__/",
728
+ " \\/___/ ",
729
+ " ",
730
+ " "
731
+ ]
732
+ c: [
733
+ " ",
734
+ " ",
735
+ " ___ ",
736
+ " /'___\\ ",
737
+ "/\\ \\__/ ",
738
+ "\\ \\____\\",
739
+ " \\/____/",
740
+ " ",
741
+ " "
742
+ ]
743
+ d: [
744
+ " __ ",
745
+ " /\\ \\ ",
746
+ " \\_\\ \\ ",
747
+ " /'_` \\ ",
748
+ "/\\ \\_\\ \\ ",
749
+ "\\ \\___,_\\",
750
+ " \\/__,_ /",
751
+ " ",
752
+ " "
753
+ ]
754
+ e: [
755
+ " ",
756
+ " ",
757
+ " __ ",
758
+ " /'__`\\ ",
759
+ "/\\ __/ ",
760
+ "\\ \\____\\",
761
+ " \\/____/",
762
+ " ",
763
+ " "
764
+ ]
765
+ f: [
766
+ " ___ ",
767
+ " /'___\\ ",
768
+ "/\\ \\__/ ",
769
+ "\\ \\ ,__\\",
770
+ " \\ \\ \\_/",
771
+ " \\ \\_\\ ",
772
+ " \\/_/ ",
773
+ " ",
774
+ " "
775
+ ]
776
+ g: [
777
+ " ",
778
+ " ",
779
+ " __ ",
780
+ " /'_ `\\ ",
781
+ "/\\ \\_\\ \\ ",
782
+ "\\ \\____ \\ ",
783
+ " \\/____\\ \\",
784
+ " /\\____/",
785
+ " \\_/__/ "
786
+ ]
787
+ h: [
788
+ " __ ",
789
+ "/\\ \\ ",
790
+ "\\ \\ \\___ ",
791
+ " \\ \\ _ `\\ ",
792
+ " \\ \\ \\ \\ \\ ",
793
+ " \\ \\_\\ \\_\\",
794
+ " \\/_/\\/_/",
795
+ " ",
796
+ " "
797
+ ]
798
+ i: [
799
+ " ",
800
+ " __ ",
801
+ "/\\_\\ ",
802
+ "\\/\\ \\ ",
803
+ " \\ \\ \\ ",
804
+ " \\ \\_\\",
805
+ " \\/_/",
806
+ " ",
807
+ " "
808
+ ]
809
+ j: [
810
+ " ",
811
+ " __ ",
812
+ "/\\_\\ ",
813
+ "\\/\\ \\ ",
814
+ " \\ \\ \\ ",
815
+ " _\\ \\ \\ ",
816
+ "/\\ \\_\\ \\",
817
+ "\\ \\____/",
818
+ " \\/___/ "
819
+ ]
820
+ k: [
821
+ " __ ",
822
+ "/\\ \\ ",
823
+ "\\ \\ \\/'\\ ",
824
+ " \\ \\ , < ",
825
+ " \\ \\ \\\\`\\ ",
826
+ " \\ \\_\\ \\_\\",
827
+ " \\/_/\\/_/",
828
+ " ",
829
+ " "
830
+ ]
831
+ l: [
832
+ " ___ ",
833
+ "/\\_ \\ ",
834
+ "\\//\\ \\ ",
835
+ " \\ \\ \\ ",
836
+ " \\_\\ \\_ ",
837
+ " /\\____\\",
838
+ " \\/____/",
839
+ " ",
840
+ " "
841
+ ]
842
+ m: [
843
+ " ",
844
+ " ",
845
+ " ___ ___ ",
846
+ "/' __` __`\\ ",
847
+ "/\\ \\/\\ \\/\\ \\ ",
848
+ "\\ \\_\\ \\_\\ \\_\\",
849
+ " \\/_/\\/_/\\/_/",
850
+ " ",
851
+ " "
852
+ ]
853
+ n: [
854
+ " ",
855
+ " ",
856
+ " ___ ",
857
+ "/' _ `\\ ",
858
+ "/\\ \\/\\ \\ ",
859
+ "\\ \\_\\ \\_\\",
860
+ " \\/_/\\/_/",
861
+ " ",
862
+ " "
863
+ ]
864
+ o: [
865
+ " ",
866
+ " ",
867
+ " ___ ",
868
+ " / __`\\ ",
869
+ "/\\ \\_\\ \\",
870
+ "\\ \\____/",
871
+ " \\/___/ ",
872
+ " ",
873
+ " "
874
+ ]
875
+ p: [
876
+ " ",
877
+ " ",
878
+ " _____ ",
879
+ "/\\ '__`\\ ",
880
+ "\\ \\ \\_\\ \\",
881
+ " \\ \\ ,__/",
882
+ " \\ \\ \\/ ",
883
+ " \\ \\_\\ ",
884
+ " \\/_/ "
885
+ ]
886
+ q: [
887
+ " ",
888
+ " ",
889
+ " __ ",
890
+ " /'__`\\ ",
891
+ "/\\ \\_\\ \\ ",
892
+ "\\ \\___, \\ ",
893
+ " \\/___/\\ \\ ",
894
+ " \\ \\_\\",
895
+ " \\/_/"
896
+ ]
897
+ r: [
898
+ " ",
899
+ " ",
900
+ " _ __ ",
901
+ "/\\`'__\\",
902
+ "\\ \\ \\/ ",
903
+ " \\ \\_\\ ",
904
+ " \\/_/ ",
905
+ " ",
906
+ " "
907
+ ]
908
+ s: [
909
+ " ",
910
+ " ",
911
+ " ____ ",
912
+ " /',__\\ ",
913
+ "/\\__, `\\",
914
+ "\\/\\____/",
915
+ " \\/___/ ",
916
+ " ",
917
+ " "
918
+ ]
919
+ t: [
920
+ " __ ",
921
+ "/\\ \\__ ",
922
+ "\\ \\ ,_\\ ",
923
+ " \\ \\ \\/ ",
924
+ " \\ \\ \\_ ",
925
+ " \\ \\__\\",
926
+ " \\/__/",
927
+ " ",
928
+ " "
929
+ ]
930
+ u: [
931
+ " ",
932
+ " ",
933
+ " __ __ ",
934
+ "/\\ \\/\\ \\ ",
935
+ "\\ \\ \\_\\ \\",
936
+ " \\ \\____/",
937
+ " \\/___/ ",
938
+ " ",
939
+ " "
940
+ ]
941
+ v: [
942
+ " ",
943
+ " ",
944
+ " __ __ ",
945
+ "/\\ \\/\\ \\ ",
946
+ "\\ \\ \\_/ |",
947
+ " \\ \\___/ ",
948
+ " \\/__/ ",
949
+ " ",
950
+ " "
951
+ ]
952
+ w: [
953
+ " ",
954
+ " ",
955
+ " __ __ __ ",
956
+ "/\\ \\/\\ \\/\\ \\ ",
957
+ "\\ \\ \\_/ \\_/ \\",
958
+ " \\ \\___x___/'",
959
+ " \\/__//__/ ",
960
+ " ",
961
+ " "
962
+ ]
963
+ x: [
964
+ " ",
965
+ " ",
966
+ " __ _ ",
967
+ "/\\ \\/'\\ ",
968
+ "\\/> </ ",
969
+ " /\\_/\\_\\",
970
+ " \\//\\/_/",
971
+ " ",
972
+ " "
973
+ ]
974
+ y: [
975
+ " ",
976
+ " ",
977
+ " __ __ ",
978
+ "/\\ \\/\\ \\ ",
979
+ "\\ \\ \\_\\ \\ ",
980
+ " \\/`____ \\ ",
981
+ " `/___/> \\",
982
+ " /\\___/",
983
+ " \\/__/ "
984
+ ]
985
+ z: [
986
+ " ",
987
+ " ",
988
+ " ____ ",
989
+ "/\\_ ,`\\ ",
990
+ "\\/_/ /_ ",
991
+ " /\\____\\",
992
+ " \\/____/",
993
+ " ",
994
+ " "
995
+ ]
996
+ "{": [
997
+ " _ ",
998
+ " /' \\",
999
+ " \\ ,/'",
1000
+ " <' \\ ",
1001
+ "< \\ `\\ ",
1002
+ " \\`\\__\\",
1003
+ " \\/__/",
1004
+ " ",
1005
+ " "
1006
+ ]
1007
+ "\\": [
1008
+ " __ ",
1009
+ "/\\ \\ ",
1010
+ "\\ \\ \\ ",
1011
+ " \\ \\ \\ ",
1012
+ " \\ \\ \\ ",
1013
+ " \\ \\ \\ ",
1014
+ " \\ \\ \\ ",
1015
+ " \\ \\_\\",
1016
+ " \\/_/"
1017
+ ]
1018
+ "}": [
1019
+ " __ ",
1020
+ "/\\ `\\ ",
1021
+ "\\`\\ \\ ",
1022
+ " \\ \\ `>",
1023
+ " //' \\ ",
1024
+ "/\\__/' ",
1025
+ "\\/_/ ",
1026
+ " ",
1027
+ " "
1028
+ ]
1029
+ "\"": [
1030
+ " _ _ ",
1031
+ " /' \\/' \\ ",
1032
+ "/\\_/\\__// ",
1033
+ "\\//\\/__/ ",
1034
+ " ",
1035
+ " ",
1036
+ " ",
1037
+ " ",
1038
+ " "
1039
+ ]