Skip to content

Commit 78834af

Browse files
authored
Merge pull request #1 from markcatley/master
Add the Mac Roman Encoding
2 parents 6d1eee3 + 314c34d commit 78834af

2 files changed

Lines changed: 39 additions & 0 deletions

File tree

src/lib.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ pub enum Encoding {
1111
AdobeSymbol,
1212
AdobeZdingbat,
1313
WinAnsiEncoding,
14+
MacRomanEncoding,
1415
}
1516

1617
pub enum Transcoder {
@@ -46,6 +47,7 @@ impl Encoding {
4647
Encoding::AdobeSymbol => Some(&SYMBOL),
4748
Encoding::AdobeZdingbat => Some(&ZDINGBAT),
4849
Encoding::WinAnsiEncoding => Some(&WINANSI),
50+
Encoding::MacRomanEncoding => Some(&MACROMAN),
4951
_ => None
5052
}
5153
}
@@ -55,6 +57,7 @@ impl Encoding {
5557
Encoding::AdobeSymbol => Some(&UNICODE_TO_SYMBOL),
5658
Encoding::AdobeZdingbat => Some(&UNICODE_TO_ZDINGBAT),
5759
Encoding::WinAnsiEncoding => Some(&UNICODE_TO_WINANSI),
60+
Encoding::MacRomanEncoding => Some(&UNICODE_TO_MACROMAN),
5861
_ => None
5962
}
6063
}
@@ -98,6 +101,7 @@ lazy_static! {
98101
static ref UNICODE_TO_SYMBOL: ReverseMap = ReverseMap::new(&SYMBOL);
99102
static ref UNICODE_TO_ZDINGBAT: ReverseMap = ReverseMap::new(&ZDINGBAT);
100103
static ref UNICODE_TO_WINANSI: ReverseMap = ReverseMap::new(&WINANSI);
104+
static ref UNICODE_TO_MACROMAN: ReverseMap = ReverseMap::new(&MACROMAN);
101105
}
102106

103107
#[derive(Copy, Clone)]
@@ -127,6 +131,7 @@ pub static STANDARD: ForwardMap = ForwardMap(include!("stdenc.rs"));
127131
pub static SYMBOL: ForwardMap = ForwardMap(include!("symbol.rs"));
128132
pub static ZDINGBAT: ForwardMap = ForwardMap(include!("zdingbat.rs"));
129133
pub static WINANSI: ForwardMap = ForwardMap(include!("cp1252.rs"));
134+
pub static MACROMAN: ForwardMap = ForwardMap(include!("macroman.rs"));
130135

131136
#[test]
132137
fn test_forward() {

src/macroman.rs

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
[
2+
c('\u{0000}'), c('\u{0001}'), c('\u{0002}'), c('\u{0003}'), c('\u{0004}'), c('\u{0005}'), c('\u{0006}'), c('\u{0007}'),
3+
c('\u{0008}'), c('\u{0009}'), c('\u{000A}'), c('\u{000B}'), c('\u{000C}'), c('\u{000D}'), c('\u{000E}'), c('\u{000F}'),
4+
c('\u{0010}'), c('\u{2318}'), c('\u{2713}'), c('\u{25C6}'), c('\u{F8FF}'), c('\u{0015}'), c('\u{0016}'), c('\u{0017}'),
5+
c('\u{0018}'), c('\u{0019}'), c('\u{001A}'), c('\u{001B}'), c('\u{001C}'), c('\u{001D}'), c('\u{001E}'), c('\u{001F}'),
6+
c('\u{0020}'), c('\u{0021}'), c('\u{0022}'), c('\u{0023}'), c('\u{0024}'), c('\u{0025}'), c('\u{0026}'), c('\u{0027}'),
7+
c('\u{0028}'), c('\u{0029}'), c('\u{002A}'), c('\u{002B}'), c('\u{002C}'), c('\u{002D}'), c('\u{002E}'), c('\u{002F}'),
8+
c('\u{0030}'), c('\u{0031}'), c('\u{0032}'), c('\u{0033}'), c('\u{0034}'), c('\u{0035}'), c('\u{0036}'), c('\u{0037}'),
9+
c('\u{0038}'), c('\u{0039}'), c('\u{003A}'), c('\u{003B}'), c('\u{003C}'), c('\u{003D}'), c('\u{003E}'), c('\u{003F}'),
10+
c('\u{0040}'), c('\u{0041}'), c('\u{0042}'), c('\u{0043}'), c('\u{0044}'), c('\u{0045}'), c('\u{0046}'), c('\u{0047}'),
11+
c('\u{0048}'), c('\u{0049}'), c('\u{004A}'), c('\u{004B}'), c('\u{004C}'), c('\u{004D}'), c('\u{004E}'), c('\u{004F}'),
12+
c('\u{0050}'), c('\u{0051}'), c('\u{0052}'), c('\u{0053}'), c('\u{0054}'), c('\u{0055}'), c('\u{0056}'), c('\u{0057}'),
13+
c('\u{0058}'), c('\u{0059}'), c('\u{005A}'), c('\u{005B}'), c('\u{005C}'), c('\u{005D}'), c('\u{005E}'), c('\u{005F}'),
14+
c('\u{0060}'), c('\u{0061}'), c('\u{0062}'), c('\u{0063}'), c('\u{0064}'), c('\u{0065}'), c('\u{0066}'), c('\u{0067}'),
15+
c('\u{0068}'), c('\u{0069}'), c('\u{006A}'), c('\u{006B}'), c('\u{006C}'), c('\u{006D}'), c('\u{006E}'), c('\u{006F}'),
16+
c('\u{0070}'), c('\u{0071}'), c('\u{0072}'), c('\u{0073}'), c('\u{0074}'), c('\u{0075}'), c('\u{0076}'), c('\u{0077}'),
17+
c('\u{0078}'), c('\u{0079}'), c('\u{007A}'), c('\u{007B}'), c('\u{007C}'), c('\u{007D}'), c('\u{007E}'), c('\u{007F}'),
18+
c('\u{00C4}'), c('\u{00C5}'), c('\u{00C7}'), c('\u{00C9}'), c('\u{00D1}'), c('\u{00D6}'), c('\u{00DC}'), c('\u{00E1}'),
19+
c('\u{00E0}'), c('\u{00E2}'), c('\u{00E4}'), c('\u{00E3}'), c('\u{00E5}'), c('\u{00E7}'), c('\u{00E9}'), c('\u{00E8}'),
20+
c('\u{00EA}'), c('\u{00EB}'), c('\u{00ED}'), c('\u{00EC}'), c('\u{00EE}'), c('\u{00EF}'), c('\u{00F1}'), c('\u{00F3}'),
21+
c('\u{00F2}'), c('\u{00F4}'), c('\u{00F6}'), c('\u{00F5}'), c('\u{00FA}'), c('\u{00F9}'), c('\u{00FB}'), c('\u{00FC}'),
22+
c('\u{2020}'), c('\u{00B0}'), c('\u{00A2}'), c('\u{00A3}'), c('\u{00A7}'), c('\u{2022}'), c('\u{00B6}'), c('\u{00DF}'),
23+
c('\u{00AE}'), c('\u{00A9}'), c('\u{2122}'), c('\u{00B4}'), c('\u{00A8}'), c('\u{2260}'), c('\u{00C6}'), c('\u{00D8}'),
24+
c('\u{221E}'), c('\u{00B1}'), c('\u{2264}'), c('\u{2265}'), c('\u{00A5}'), c('\u{00B5}'), c('\u{2202}'), c('\u{2211}'),
25+
c('\u{220F}'), c('\u{03C0}'), c('\u{222B}'), c('\u{00AA}'), c('\u{00BA}'), c('\u{03A9}'), c('\u{00E6}'), c('\u{00F8}'),
26+
c('\u{00BF}'), c('\u{00A1}'), c('\u{00AC}'), c('\u{221A}'), c('\u{0192}'), c('\u{2248}'), c('\u{2206}'), c('\u{00AB}'),
27+
c('\u{00BB}'), c('\u{2026}'), c('\u{00A0}'), c('\u{00C0}'), c('\u{00C3}'), c('\u{00D5}'), c('\u{0152}'), c('\u{0153}'),
28+
c('\u{2013}'), c('\u{2014}'), c('\u{201C}'), c('\u{201D}'), c('\u{2018}'), c('\u{2019}'), c('\u{00F7}'), c('\u{25CA}'),
29+
c('\u{00FF}'), c('\u{0178}'), c('\u{2044}'), c('\u{20AC}'), c('\u{2039}'), c('\u{203A}'), c('\u{FB01}'), c('\u{FB02}'),
30+
c('\u{2021}'), c('\u{00B7}'), c('\u{201A}'), c('\u{201E}'), c('\u{2030}'), c('\u{00C2}'), c('\u{00CA}'), c('\u{00C1}'),
31+
c('\u{00CB}'), c('\u{00C8}'), c('\u{00CD}'), c('\u{00CE}'), c('\u{00CF}'), c('\u{00CC}'), c('\u{00D3}'), c('\u{00D4}'),
32+
c('\u{F8FF}'), c('\u{00D2}'), c('\u{00DA}'), c('\u{00DB}'), c('\u{00D9}'), c('\u{0131}'), c('\u{02C6}'), c('\u{02DC}'),
33+
c('\u{00AF}'), c('\u{02D8}'), c('\u{02D9}'), c('\u{02DA}'), c('\u{00B8}'), c('\u{02DD}'), c('\u{02DB}'), c('\u{02C7}'),
34+
]

0 commit comments

Comments
 (0)