{- This file has been auto-generated. Do not edit it. -} {-# LANGUAGE MagicHash,DeriveDataTypeable #-} {- | /Notes on Mac OS Roman:/ This is a legacy Mac OS encoding; in the Mac OS X Carbon and Cocoa environments, it is only supported directly in programming interfaces for QuickDraw Text, the Script Manager, and related Text Utilities. For other purposes it is supported via transcoding to and from Unicode. This character set is used for at least the following Mac OS localizations: U.S., British, Canadian French, French, Swiss French, German, Swiss German, Italian, Swiss Italian, Dutch, Swedish, Norwegian, Danish, Finnish, Spanish, Catalan, Portuguese, Brazilian, and the default International system. Variants of Mac OS Roman are used for Croatian, Icelandic, Turkish, Romanian, and other encodings. Separate mapping tables are available for these encodings. Before Mac OS 8.5, code point 0xDB was CURRENCY SIGN, and was mapped to U+00A4. In Mac OS 8.5 and later versions, code point 0xDB is changed to EURO SIGN and maps to U+20AC; the standard Apple fonts are updated for Mac OS 8.5 to reflect this. There is a "currency sign" variant of the Mac OS Roman encoding that still maps 0xDB to U+00A4; this can be used for older fonts. Before Mac OS 8.5, the ROM bitmap versions of the fonts Chicago, New York, Geneva, and Monaco did not implement the full Mac OS Roman character set; they only supported character codes up to 0xD8. The TrueType versions of these fonts have always implemented the full character set, as with the bitmap and TrueType versions of the other standard Roman fonts. In all Mac OS encodings, fonts such as Chicago which are used as "system" fonts (for menus, dialogs, etc.) have four glyphs at code points 0x11-0x14 for transient use by the Menu Manager. These glyphs are not intended as characters for use in normal text, and the associated code points are not generally interpreted as associated with these glyphs; they are usually interpreted (if at all) as the control codes DC1-DC4. /Unicode mapping issues and notes:/ The following corporate zone Unicode character is used in this mapping: 0xF8FF Apple logo NOTE: The graphic image associated with the Apple logo character is not authorized for use without permission of Apple, and unauthorized use might constitute trademark infringement. /Details of mapping changes in each version:/ Changes from version n08 to version b02: * Encoding changed for Mac OS 8.5; change mapping of 0xDB from CURRENCY SIGN (U+00A4) to EURO SIGN (U+20AC). Changes from version n03 to version n04: * Change mapping of 0xBD from U+2126 to its canonical decomposition, U+03A9. 0 = � (0) 1 =  (1) 2 =  (2) 3 =  (3) 4 =  (4) 5 =  (5) 6 =  (6) 7 =  (7) 8 =  (8) 9 = 	 (9) 10 = (10) 11 =  (11) 12 =  (12) 13 = (13) 14 =  (14) 15 =  (15) 16 =  (16) 17 =  (17) 18 =  (18) 19 =  (19) 20 =  (20) 21 =  (21) 22 =  (22) 23 =  (23) 24 =  (24) 25 =  (25) 26 =  (26) 27 =  (27) 28 =  (28) 29 =  (29) 30 =  (30) 31 =  (31) 32 =   (32) 33 = ! (33) 34 = " (34) 35 = # (35) 36 = $ (36) 37 = % (37) 38 = & (38) 39 = ' (39) 40 = ( (40) 41 = ) (41) 42 = * (42) 43 = + (43) 44 = , (44) 45 = - (45) 46 = . (46) 47 = / (47) 48 = 0 (48) 49 = 1 (49) 50 = 2 (50) 51 = 3 (51) 52 = 4 (52) 53 = 5 (53) 54 = 6 (54) 55 = 7 (55) 56 = 8 (56) 57 = 9 (57) 58 = : (58) 59 = ; (59) 60 = < (60) 61 = = (61) 62 = > (62) 63 = ? (63) 64 = @ (64) 65 = A (65) 66 = B (66) 67 = C (67) 68 = D (68) 69 = E (69) 70 = F (70) 71 = G (71) 72 = H (72) 73 = I (73) 74 = J (74) 75 = K (75) 76 = L (76) 77 = M (77) 78 = N (78) 79 = O (79) 80 = P (80) 81 = Q (81) 82 = R (82) 83 = S (83) 84 = T (84) 85 = U (85) 86 = V (86) 87 = W (87) 88 = X (88) 89 = Y (89) 90 = Z (90) 91 = [ (91) 92 = \ (92) 93 = ] (93) 94 = ^ (94) 95 = _ (95) 96 = ` (96) 97 = a (97) 98 = b (98) 99 = c (99) 100 = d (100) 101 = e (101) 102 = f (102) 103 = g (103) 104 = h (104) 105 = i (105) 106 = j (106) 107 = k (107) 108 = l (108) 109 = m (109) 110 = n (110) 111 = o (111) 112 = p (112) 113 = q (113) 114 = r (114) 115 = s (115) 116 = t (116) 117 = u (117) 118 = v (118) 119 = w (119) 120 = x (120) 121 = y (121) 122 = z (122) 123 = { (123) 124 = | (124) 125 = } (125) 126 = ~ (126) 127 =  (127) 128 = Ä (196) 129 = Å (197) 130 = Ç (199) 131 = É (201) 132 = Ñ (209) 133 = Ö (214) 134 = Ü (220) 135 = á (225) 136 = à (224) 137 = â (226) 138 = ä (228) 139 = ã (227) 140 = å (229) 141 = ç (231) 142 = é (233) 143 = è (232) 144 = ê (234) 145 = ë (235) 146 = í (237) 147 = ì (236) 148 = î (238) 149 = ï (239) 150 = ñ (241) 151 = ó (243) 152 = ò (242) 153 = ô (244) 154 = ö (246) 155 = õ (245) 156 = ú (250) 157 = ù (249) 158 = û (251) 159 = ü (252) 160 = † (8224) 161 = ° (176) 162 = ¢ (162) 163 = £ (163) 164 = § (167) 165 = • (8226) 166 = ¶ (182) 167 = ß (223) 168 = ® (174) 169 = © (169) 170 = ™ (8482) 171 = ´ (180) 172 = ¨ (168) 173 = ≠ (8800) 174 = Æ (198) 175 = Ø (216) 176 = ∞ (8734) 177 = ± (177) 178 = ≤ (8804) 179 = ≥ (8805) 180 = ¥ (165) 181 = µ (181) 182 = ∂ (8706) 183 = ∑ (8721) 184 = ∏ (8719) 185 = π (960) 186 = ∫ (8747) 187 = ª (170) 188 = º (186) 189 = Ω (937) 190 = æ (230) 191 = ø (248) 192 = ¿ (191) 193 = ¡ (161) 194 = ¬ (172) 195 = √ (8730) 196 = ƒ (402) 197 = ≈ (8776) 198 = ∆ (8710) 199 = « (171) 200 = » (187) 201 = … (8230) 202 =   (160) 203 = À (192) 204 = à (195) 205 = Õ (213) 206 = Œ (338) 207 = œ (339) 208 = – (8211) 209 = — (8212) 210 = “ (8220) 211 = ” (8221) 212 = ‘ (8216) 213 = ’ (8217) 214 = ÷ (247) 215 = ◊ (9674) 216 = ÿ (255) 217 = Ÿ (376) 218 = ⁄ (8260) 219 = € (8364) 220 = ‹ (8249) 221 = › (8250) 222 = fi (64257) 223 = fl (64258) 224 = ‡ (8225) 225 = · (183) 226 = ‚ (8218) 227 = „ (8222) 228 = ‰ (8240) 229 =  (194) 230 = Ê (202) 231 = Á (193) 232 = Ë (203) 233 = È (200) 234 = Í (205) 235 = Î (206) 236 = Ï (207) 237 = Ì (204) 238 = Ó (211) 239 = Ô (212) 240 =  (63743) 241 = Ò (210) 242 = Ú (218) 243 = Û (219) 244 = Ù (217) 245 = ı (305) 246 = ˆ (710) 247 = ˜ (732) 248 = ¯ (175) 249 = ˘ (728) 250 = ˙ (729) 251 = ˚ (730) 252 = ¸ (184) 253 = ˝ (733) 254 = ˛ (731) 255 = ˇ (711) -} module Data.Encoding.MacOSRoman(MacOSRoman(..)) where import Data.Encoding.Base import Data.Encoding.ByteSource import Data.Encoding.ByteSink import Data.Encoding.Exception import Data.CharMap import Data.Array.Static import Data.Map.Static import Control.Throws import Prelude hiding (lookup) import Data.Word import Data.Typeable data MacOSRoman = MacOSRoman deriving (Show,Eq,Typeable) decoding_array_MacOSRoman = StaticArray (0) (255) "\0\0\0\0\1\0\0\0\2\0\0\0\3\0\0\0\4\0\0\0\5\0\0\0\6\0\0\0\7\0\0\0\8\0\0\0\9\0\0\0\10\0\0\0\11\0\0\0\12\0\0\0\13\0\0\0\14\0\0\0\15\0\0\0\16\0\0\0\17\0\0\0\18\0\0\0\19\0\0\0\20\0\0\0\21\0\0\0\22\0\0\0\23\0\0\0\24\0\0\0\25\0\0\0\26\0\0\0\27\0\0\0\28\0\0\0\29\0\0\0\30\0\0\0\31\0\0\0\32\0\0\0\33\0\0\0\34\0\0\0\35\0\0\0\36\0\0\0\37\0\0\0\38\0\0\0\39\0\0\0\40\0\0\0\41\0\0\0\42\0\0\0\43\0\0\0\44\0\0\0\45\0\0\0\46\0\0\0\47\0\0\0\48\0\0\0\49\0\0\0\50\0\0\0\51\0\0\0\52\0\0\0\53\0\0\0\54\0\0\0\55\0\0\0\56\0\0\0\57\0\0\0\58\0\0\0\59\0\0\0\60\0\0\0\61\0\0\0\62\0\0\0\63\0\0\0\64\0\0\0\65\0\0\0\66\0\0\0\67\0\0\0\68\0\0\0\69\0\0\0\70\0\0\0\71\0\0\0\72\0\0\0\73\0\0\0\74\0\0\0\75\0\0\0\76\0\0\0\77\0\0\0\78\0\0\0\79\0\0\0\80\0\0\0\81\0\0\0\82\0\0\0\83\0\0\0\84\0\0\0\85\0\0\0\86\0\0\0\87\0\0\0\88\0\0\0\89\0\0\0\90\0\0\0\91\0\0\0\92\0\0\0\93\0\0\0\94\0\0\0\95\0\0\0\96\0\0\0\97\0\0\0\98\0\0\0\99\0\0\0\100\0\0\0\101\0\0\0\102\0\0\0\103\0\0\0\104\0\0\0\105\0\0\0\106\0\0\0\107\0\0\0\108\0\0\0\109\0\0\0\110\0\0\0\111\0\0\0\112\0\0\0\113\0\0\0\114\0\0\0\115\0\0\0\116\0\0\0\117\0\0\0\118\0\0\0\119\0\0\0\120\0\0\0\121\0\0\0\122\0\0\0\123\0\0\0\124\0\0\0\125\0\0\0\126\0\0\0\127\0\0\0\196\0\0\0\197\0\0\0\199\0\0\0\201\0\0\0\209\0\0\0\214\0\0\0\220\0\0\0\225\0\0\0\224\0\0\0\226\0\0\0\228\0\0\0\227\0\0\0\229\0\0\0\231\0\0\0\233\0\0\0\232\0\0\0\234\0\0\0\235\0\0\0\237\0\0\0\236\0\0\0\238\0\0\0\239\0\0\0\241\0\0\0\243\0\0\0\242\0\0\0\244\0\0\0\246\0\0\0\245\0\0\0\250\0\0\0\249\0\0\0\251\0\0\0\252\0\0\0\32\32\0\0\176\0\0\0\162\0\0\0\163\0\0\0\167\0\0\0\34\32\0\0\182\0\0\0\223\0\0\0\174\0\0\0\169\0\0\0\34\33\0\0\180\0\0\0\168\0\0\0\96\34\0\0\198\0\0\0\216\0\0\0\30\34\0\0\177\0\0\0\100\34\0\0\101\34\0\0\165\0\0\0\181\0\0\0\2\34\0\0\17\34\0\0\15\34\0\0\192\3\0\0\43\34\0\0\170\0\0\0\186\0\0\0\169\3\0\0\230\0\0\0\248\0\0\0\191\0\0\0\161\0\0\0\172\0\0\0\26\34\0\0\146\1\0\0\72\34\0\0\6\34\0\0\171\0\0\0\187\0\0\0\38\32\0\0\160\0\0\0\192\0\0\0\195\0\0\0\213\0\0\0\82\1\0\0\83\1\0\0\19\32\0\0\20\32\0\0\28\32\0\0\29\32\0\0\24\32\0\0\25\32\0\0\247\0\0\0\202\37\0\0\255\0\0\0\120\1\0\0\68\32\0\0\172\32\0\0\57\32\0\0\58\32\0\0\1\251\0\0\2\251\0\0\33\32\0\0\183\0\0\0\26\32\0\0\30\32\0\0\48\32\0\0\194\0\0\0\202\0\0\0\193\0\0\0\203\0\0\0\200\0\0\0\205\0\0\0\206\0\0\0\207\0\0\0\204\0\0\0\211\0\0\0\212\0\0\0\255\248\0\0\210\0\0\0\218\0\0\0\219\0\0\0\217\0\0\0\49\1\0\0\198\2\0\0\220\2\0\0\175\0\0\0\216\2\0\0\217\2\0\0\218\2\0\0\184\0\0\0\221\2\0\0\219\2\0\0\199\2\0\0"# encoding_map_MacOSRoman :: CharMap encoding_map_MacOSRoman = LeafMap1 (StaticMap (StaticArray (1) (256) "\160\0\0\0\64\0\0\0\237\0\0\0\32\0\0\0\96\0\0\0\201\0\0\0\20\32\0\0\16\0\0\0\48\0\0\0\80\0\0\0\112\0\0\0\181\0\0\0\219\0\0\0\49\1\0\0\34\33\0\0\8\0\0\0\24\0\0\0\40\0\0\0\56\0\0\0\72\0\0\0\88\0\0\0\104\0\0\0\120\0\0\0\170\0\0\0\193\0\0\0\210\0\0\0\229\0\0\0\246\0\0\0\217\2\0\0\33\32\0\0\72\34\0\0\4\0\0\0\12\0\0\0\20\0\0\0\28\0\0\0\36\0\0\0\44\0\0\0\52\0\0\0\60\0\0\0\68\0\0\0\76\0\0\0\84\0\0\0\92\0\0\0\100\0\0\0\108\0\0\0\116\0\0\0\124\0\0\0\165\0\0\0\175\0\0\0\186\0\0\0\197\0\0\0\205\0\0\0\214\0\0\0\225\0\0\0\233\0\0\0\242\0\0\0\250\0\0\0\146\1\0\0\221\2\0\0\28\32\0\0\57\32\0\0\17\34\0\0\202\37\0\0\2\0\0\0\6\0\0\0\10\0\0\0\14\0\0\0\18\0\0\0\22\0\0\0\26\0\0\0\30\0\0\0\34\0\0\0\38\0\0\0\42\0\0\0\46\0\0\0\50\0\0\0\54\0\0\0\58\0\0\0\62\0\0\0\66\0\0\0\70\0\0\0\74\0\0\0\78\0\0\0\82\0\0\0\86\0\0\0\90\0\0\0\94\0\0\0\98\0\0\0\102\0\0\0\106\0\0\0\110\0\0\0\114\0\0\0\118\0\0\0\122\0\0\0\126\0\0\0\162\0\0\0\168\0\0\0\172\0\0\0\177\0\0\0\183\0\0\0\191\0\0\0\195\0\0\0\199\0\0\0\203\0\0\0\207\0\0\0\212\0\0\0\217\0\0\0\223\0\0\0\227\0\0\0\231\0\0\0\235\0\0\0\239\0\0\0\244\0\0\0\248\0\0\0\252\0\0\0\83\1\0\0\199\2\0\0\219\2\0\0\192\3\0\0\25\32\0\0\30\32\0\0\38\32\0\0\68\32\0\0\6\34\0\0\30\34\0\0\100\34\0\0\1\251\0\0\1\0\0\0\3\0\0\0\5\0\0\0\7\0\0\0\9\0\0\0\11\0\0\0\13\0\0\0\15\0\0\0\17\0\0\0\19\0\0\0\21\0\0\0\23\0\0\0\25\0\0\0\27\0\0\0\29\0\0\0\31\0\0\0\33\0\0\0\35\0\0\0\37\0\0\0\39\0\0\0\41\0\0\0\43\0\0\0\45\0\0\0\47\0\0\0\49\0\0\0\51\0\0\0\53\0\0\0\55\0\0\0\57\0\0\0\59\0\0\0\61\0\0\0\63\0\0\0\65\0\0\0\67\0\0\0\69\0\0\0\71\0\0\0\73\0\0\0\75\0\0\0\77\0\0\0\79\0\0\0\81\0\0\0\83\0\0\0\85\0\0\0\87\0\0\0\89\0\0\0\91\0\0\0\93\0\0\0\95\0\0\0\97\0\0\0\99\0\0\0\101\0\0\0\103\0\0\0\105\0\0\0\107\0\0\0\109\0\0\0\111\0\0\0\113\0\0\0\115\0\0\0\117\0\0\0\119\0\0\0\121\0\0\0\123\0\0\0\125\0\0\0\127\0\0\0\161\0\0\0\163\0\0\0\167\0\0\0\169\0\0\0\171\0\0\0\174\0\0\0\176\0\0\0\180\0\0\0\182\0\0\0\184\0\0\0\187\0\0\0\192\0\0\0\194\0\0\0\196\0\0\0\198\0\0\0\200\0\0\0\202\0\0\0\204\0\0\0\206\0\0\0\209\0\0\0\211\0\0\0\213\0\0\0\216\0\0\0\218\0\0\0\220\0\0\0\224\0\0\0\226\0\0\0\228\0\0\0\230\0\0\0\232\0\0\0\234\0\0\0\236\0\0\0\238\0\0\0\241\0\0\0\243\0\0\0\245\0\0\0\247\0\0\0\249\0\0\0\251\0\0\0\255\0\0\0\82\1\0\0\120\1\0\0\198\2\0\0\216\2\0\0\218\2\0\0\220\2\0\0\169\3\0\0\19\32\0\0\24\32\0\0\26\32\0\0\29\32\0\0\32\32\0\0\34\32\0\0\48\32\0\0\58\32\0\0\172\32\0\0\2\34\0\0\15\34\0\0\26\34\0\0\43\34\0\0\96\34\0\0\101\34\0\0\255\248\0\0\2\251\0\0\0\0\0\0"#) (StaticArray (1) (256) "\202\64\146\32\96\131\209\16\48\80\112\181\243\245\170\8\24\40\56\72\88\104\120\187\231\241\140\154\250\224\197\4\12\20\28\36\44\52\60\68\76\84\92\100\108\116\124\180\248\188\129\234\133\135\142\152\156\196\253\210\220\183\215\2\6\10\14\18\22\26\30\34\38\42\46\50\54\58\62\66\70\74\78\82\86\90\94\98\102\106\110\114\118\122\126\162\172\194\177\225\192\204\130\232\236\239\244\167\139\141\145\149\153\191\159\207\255\254\185\213\227\201\218\198\176\178\222\1\3\5\7\9\11\13\15\17\19\21\23\25\27\29\31\33\35\37\39\41\43\45\47\49\51\53\55\57\59\61\63\65\67\69\71\73\75\77\79\81\83\85\87\89\91\93\95\97\99\101\103\105\107\109\111\113\115\117\119\121\123\125\127\193\163\164\169\199\168\161\171\166\252\200\203\229\128\174\233\230\237\235\132\238\205\175\242\134\136\137\138\190\143\144\147\148\150\151\155\214\157\158\216\206\217\246\249\251\247\189\208\212\226\211\160\165\228\221\219\182\184\195\186\173\179\240\223\0"#)) instance Encoding MacOSRoman where decodeChar _ = do w <- fetchWord8 return () case decoding_array_MacOSRoman!w of Nothing -> throwException $ IllegalCharacter $ fromIntegral w Just c -> return c encodeChar _ c = mapEncode c encoding_map_MacOSRoman encodeable _ c = mapMember c encoding_map_MacOSRoman