Skip to content

Commit 1cebd86

Browse files
author
qtfkwk
committed
add ascii-chart character table
1 parent 8eb6d47 commit 1cebd86

File tree

2 files changed

+52
-0
lines changed

2 files changed

+52
-0
lines changed

src/colors.rs

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,3 +182,51 @@ pub const CP1047: [char; 256] = [
182182
'.','.','S','T','U','V','W','X','Y','Z','.','.','.','.','.','.',
183183
'0','1','2','3','4','5','6','7','8','9','.','.','.','.','.','.'
184184
];
185+
186+
#[rustfmt::skip]
187+
pub const ASCII_CHART: [char; 256] = [
188+
// Mixes characters from:
189+
//
190+
// - Unicode Control Picture Block
191+
// - Unicode Miscellaneous Technical Block
192+
// - Unicode Supplemental Punctuation Block
193+
// - ISO/IEC 8859-1
194+
// - Windows-1252
195+
// - Braille
196+
//
197+
// | Offset | Replacement | Description |
198+
// |--------|-------------|----------------------------------------|
199+
// | 00-20 | 2400-2420 | Unicode Control Pictures Block |
200+
// | 21-7E | 21-7E | ISO/IEC 8859-1 |
201+
// | 7F | 2421 | Unicode Control Pictures Block |
202+
// | 80 | 80 | Windows-1252 |
203+
// | 81 | 81 | Braille |
204+
// | 82-8C | 82-8C | Windows-1252 |
205+
// | 8D | 8D | Braille |
206+
// | 8E | 8E | Windows-1252 |
207+
// | 8F-90 | 8F-90 | Braille |
208+
// | 91-9C | 91-9C | Windows-1252 |
209+
// | 9D | 9D | Braille |
210+
// | 9E-9F | 9E-9F | Windows-1252 |
211+
// | A0 | 237D | Unicode Miscellaneous Technical Block |
212+
// | A1-AC | A1-AC | ISO/IEC 8859-1 |
213+
// | AD | 2E1A | Unicode Supplemental Punctuation Block |
214+
// | AE-FF | AE-FF | ISO/IEC 8859-1 |
215+
//
216+
'␀','␁','␂','␃','␄','␅','␆','␇','␈','␉','␊','␋','␌','␍','␎','␏', // 0
217+
'␐','␑','␒','␓','␔','␕','␖','␗','␘','␙','␚','␛','␜','␝','␞','␟', // 1
218+
'␠','!','"','#','$','%','&','\'','(',')','*','+',',','-','.','/', // 2
219+
'0','1','2','3','4','5','6','7','8','9',':',';','<','=','>','?', // 3
220+
'@','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O', // 4
221+
'P','Q','R','S','T','U','V','W','X','Y','Z','[','\\',']','^','_', // 5
222+
'`','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o', // 6
223+
'p','q','r','s','t','u','v','w','x','y','z','{','|','}','~','␡', // 7
224+
'€','⢁','‚','ƒ','„','…','†','‡','ˆ','‰','Š','‹','Œ','⢓','Ž','⢛', // 8
225+
'⢄','‘','’','“','”','•','–','—','˜','™','š','›','œ','⢗','ž','Ÿ', // 9
226+
'⍽','¡','¢','£','¤','¥','¦','§','¨','©','ª','«','¬','⸚','®','¯', // A
227+
'°','±','²','³','´','µ','¶','·','¸','¹','º','»','¼','½','¾','¿', // B
228+
'À','Á','Â','Ã','Ä','Å','Æ','Ç','È','É','Ê','Ë','Ì','Í','Î','Ï', // C
229+
'Ð','Ñ','Ò','Ó','Ô','Õ','Ö','×','Ø','Ù','Ú','Û','Ü','Ý','Þ','ß', // D
230+
'à','á','â','ã','ä','å','æ','ç','è','é','ê','ë','ì','í','î','ï', // E
231+
'ð','ñ','ò','ó','ô','õ','ö','÷','ø','ù','ú','û','ü','ý','þ','ÿ', // F
232+
];

src/lib.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@ pub enum CharacterTable {
5353

5454
/// Uses braille characters for non-printable bytes.
5555
Braille,
56+
57+
/// ASCII Chart
58+
AsciiChart,
5659
}
5760

5861
#[derive(Copy, Clone, Debug, Default, ValueEnum)]
@@ -184,6 +187,7 @@ impl Byte {
184187
char::from_u32(0x2800 + to_braille_bits(self.0) as u32).unwrap()
185188
}
186189
},
190+
CharacterTable::AsciiChart => ASCII_CHART[self.0 as usize],
187191
}
188192
}
189193
}

0 commit comments

Comments
 (0)