comparison lisp/mule/arabic.el @ 4690:257b468bf2ca

Move the #'query-coding-region implementation to C. This is necessary because there is no reasonable way to access the corresponding mswindows-multibyte functionality from Lisp, and we need such functionality if we're going to have a reliable and portable #'query-coding-region implementation. However, this change doesn't yet provide #'query-coding-region for the mswindow-multibyte coding systems, there should be no functional differences between an XEmacs with this change and one without it. src/ChangeLog addition: 2009-09-19 Aidan Kehoe <kehoea@parhasard.net> Move the #'query-coding-region implementation to C. This is necessary because there is no reasonable way to access the corresponding mswindows-multibyte functionality from Lisp, and we need such functionality if we're going to have a reliable and portable #'query-coding-region implementation. However, this change doesn't yet provide #'query-coding-region for the mswindow-multibyte coding systems, there should be no functional differences between an XEmacs with this change and one without it. * mule-coding.c (struct fixed_width_coding_system): Add a new coding system type, fixed_width, and implement it. It uses the CCL infrastructure but has a much simpler creation API, and its own query_method, formerly in lisp/mule/mule-coding.el. * unicode.c: Move the Unicode query method implementation here from unicode.el. * lisp.h: Declare Fmake_coding_system_internal, Fcopy_range_table here. * intl-win32.c (complex_vars_of_intl_win32): Use Fmake_coding_system_internal, not Fmake_coding_system. * general-slots.h: Add Qsucceeded, Qunencodable, Qinvalid_sequence here. * file-coding.h (enum coding_system_variant): Add fixed_width_coding_system here. (struct coding_system_methods): Add query_method and query_lstream_method to the coding system methods. Provide flags for the query methods. Declare the default query method; initialise it correctly in INITIALIZE_CODING_SYSTEM_TYPE. * file-coding.c (default_query_method): New function, the default query method for coding systems that do not set it. Moved from coding.el. (make_coding_system_1): Accept new elements in PROPS in #'make-coding-system; aliases, a list of aliases; safe-chars and safe-charsets (these were previously accepted but not saved); and category. (Fmake_coding_system_internal): New function, what used to be #'make-coding-system--on Mule builds, we've now moved some of the functionality of this to Lisp. (Fcoding_system_canonical_name_p): Move this earlier in the file, since it's now called from within make_coding_system_1. (Fquery_coding_region): Move the implementation of this here, from coding.el. (complex_vars_of_file_coding): Call Fmake_coding_system_internal, not Fmake_coding_system; specify safe-charsets properties when we're a mule build. * extents.h (mouse_highlight_priority, Fset_extent_priority, Fset_extent_face, Fmap_extents): Make these available to other C files. lisp/ChangeLog addition: 2009-09-19 Aidan Kehoe <kehoea@parhasard.net> Move the #'query-coding-region implementation to C. * coding.el: Consolidate code that depends on the presence or absence of Mule at the end of this file. (default-query-coding-region, query-coding-region): Move these functions to C. (default-query-coding-region-safe-charset-skip-chars-map): Remove this variable, the corresponding C variable is Vdefault_query_coding_region_chartab_cache in file-coding.c. (query-coding-string): Update docstring to reflect actual multiple values, be more careful about not modifying a range table that we're currently mapping over. (encode-coding-char): Make the implementation of this simpler. (featurep 'mule): Autoload #'make-coding-system from mule/make-coding-system.el if we're a mule build; provide an appropriate compiler macro. Do various non-mule compatibility things if we're not a mule build. * update-elc.el (additional-dump-dependencies): Add mule/make-coding-system as a dump time dependency if we're a mule build. * unicode.el (ccl-encode-to-ucs-2): (decode-char): (encode-char): Move these earlier in the file, for the sake of some byte compile warnings. (unicode-query-coding-region): Move this to unicode.c * mule/make-coding-system.el: New file, not dumped. Contains the functionality to rework the arguments necessary for fixed-width coding systems, and contains the implementation of #'make-coding-system, which now calls #'make-coding-system-internal. * mule/vietnamese.el (viscii): * mule/latin.el (iso-8859-2): (windows-1250): (iso-8859-3): (iso-8859-4): (iso-8859-14): (iso-8859-15): (iso-8859-16): (iso-8859-9): (macintosh): (windows-1252): * mule/hebrew.el (iso-8859-8): * mule/greek.el (iso-8859-7): (windows-1253): * mule/cyrillic.el (iso-8859-5): (koi8-r): (koi8-u): (windows-1251): (alternativnyj): (koi8-ru): (koi8-t): (koi8-c): (koi8-o): * mule/arabic.el (iso-8859-6): (windows-1256): Move all these coding systems to being of type fixed-width, not of type CCL. This allows the distinct query-coding-region for them to be in C, something which will eventually allow us to implement query-coding-region for the mswindows-multibyte coding systems. * mule/general-late.el (posix-charset-to-coding-system-hash): Document why we're pre-emptively persuading the byte compiler that the ELC for this file needs to be written using escape-quoted. Call #'set-unicode-query-skip-chars-args, now the Unicode query-coding-region implementation is in C. * mule/thai-xtis.el (tis-620): Don't bother checking whether we're XEmacs or not here. * mule/mule-coding.el: Move the eight bit fixed-width functionality from this file to make-coding-system.el. tests/ChangeLog addition: 2009-09-19 Aidan Kehoe <kehoea@parhasard.net> * automated/mule-tests.el: Check a coding system's type, not an 8-bit-fixed property, for whether that coding system should be treated as a fixed-width coding system. * automated/query-coding-tests.el: Don't test the query coding functionality for mswindows-multibyte coding systems, it's not yet implemented.
author Aidan Kehoe <kehoea@parhasard.net>
date Sat, 19 Sep 2009 22:53:13 +0100
parents e0a8715fdb1f
children a67bfb29dd8b
comparison
equal deleted inserted replaced
4689:0636c6ccb430 4690:257b468bf2ca
29 ;;; Code: 29 ;;; Code:
30 30
31 ;; See iso-with-esc.el for commentary on the ISO standard Arabic character 31 ;; See iso-with-esc.el for commentary on the ISO standard Arabic character
32 ;; set. 32 ;; set.
33 33
34 (make-8-bit-coding-system 34 (make-coding-system
35 'iso-8859-6 35 'iso-8859-6 'fixed-width "ISO 8859-6 (Arabic)"
36 '((#x80 ?\u0080) ;; <control> 36 '(unicode-map
37 (#x81 ?\u0081) ;; <control> 37 ((#x80 ?\u0080) ;; <control>
38 (#x82 ?\u0082) ;; <control> 38 (#x81 ?\u0081) ;; <control>
39 (#x83 ?\u0083) ;; <control> 39 (#x82 ?\u0082) ;; <control>
40 (#x84 ?\u0084) ;; <control> 40 (#x83 ?\u0083) ;; <control>
41 (#x85 ?\u0085) ;; <control> 41 (#x84 ?\u0084) ;; <control>
42 (#x86 ?\u0086) ;; <control> 42 (#x85 ?\u0085) ;; <control>
43 (#x87 ?\u0087) ;; <control> 43 (#x86 ?\u0086) ;; <control>
44 (#x88 ?\u0088) ;; <control> 44 (#x87 ?\u0087) ;; <control>
45 (#x89 ?\u0089) ;; <control> 45 (#x88 ?\u0088) ;; <control>
46 (#x8A ?\u008A) ;; <control> 46 (#x89 ?\u0089) ;; <control>
47 (#x8B ?\u008B) ;; <control> 47 (#x8A ?\u008A) ;; <control>
48 (#x8C ?\u008C) ;; <control> 48 (#x8B ?\u008B) ;; <control>
49 (#x8D ?\u008D) ;; <control> 49 (#x8C ?\u008C) ;; <control>
50 (#x8E ?\u008E) ;; <control> 50 (#x8D ?\u008D) ;; <control>
51 (#x8F ?\u008F) ;; <control> 51 (#x8E ?\u008E) ;; <control>
52 (#x90 ?\u0090) ;; <control> 52 (#x8F ?\u008F) ;; <control>
53 (#x91 ?\u0091) ;; <control> 53 (#x90 ?\u0090) ;; <control>
54 (#x92 ?\u0092) ;; <control> 54 (#x91 ?\u0091) ;; <control>
55 (#x93 ?\u0093) ;; <control> 55 (#x92 ?\u0092) ;; <control>
56 (#x94 ?\u0094) ;; <control> 56 (#x93 ?\u0093) ;; <control>
57 (#x95 ?\u0095) ;; <control> 57 (#x94 ?\u0094) ;; <control>
58 (#x96 ?\u0096) ;; <control> 58 (#x95 ?\u0095) ;; <control>
59 (#x97 ?\u0097) ;; <control> 59 (#x96 ?\u0096) ;; <control>
60 (#x98 ?\u0098) ;; <control> 60 (#x97 ?\u0097) ;; <control>
61 (#x99 ?\u0099) ;; <control> 61 (#x98 ?\u0098) ;; <control>
62 (#x9A ?\u009A) ;; <control> 62 (#x99 ?\u0099) ;; <control>
63 (#x9B ?\u009B) ;; <control> 63 (#x9A ?\u009A) ;; <control>
64 (#x9C ?\u009C) ;; <control> 64 (#x9B ?\u009B) ;; <control>
65 (#x9D ?\u009D) ;; <control> 65 (#x9C ?\u009C) ;; <control>
66 (#x9E ?\u009E) ;; <control> 66 (#x9D ?\u009D) ;; <control>
67 (#x9F ?\u009F) ;; <control> 67 (#x9E ?\u009E) ;; <control>
68 (#xA0 ?\u00A0) ;; NO-BREAK SPACE 68 (#x9F ?\u009F) ;; <control>
69 (#xA4 ?\u00A4) ;; CURRENCY SIGN 69 (#xA0 ?\u00A0) ;; NO-BREAK SPACE
70 (#xAC ?\u060C) ;; ARABIC COMMA 70 (#xA4 ?\u00A4) ;; CURRENCY SIGN
71 (#xAD ?\u00AD) ;; SOFT HYPHEN 71 (#xAC ?\u060C) ;; ARABIC COMMA
72 (#xBB ?\u061B) ;; ARABIC SEMICOLON 72 (#xAD ?\u00AD) ;; SOFT HYPHEN
73 (#xBF ?\u061F) ;; ARABIC QUESTION MARK 73 (#xBB ?\u061B) ;; ARABIC SEMICOLON
74 (#xC1 ?\u0621) ;; ARABIC LETTER HAMZA 74 (#xBF ?\u061F) ;; ARABIC QUESTION MARK
75 (#xC2 ?\u0622) ;; ARABIC LETTER ALEF WITH MADDA ABOVE 75 (#xC1 ?\u0621) ;; ARABIC LETTER HAMZA
76 (#xC3 ?\u0623) ;; ARABIC LETTER ALEF WITH HAMZA ABOVE 76 (#xC2 ?\u0622) ;; ARABIC LETTER ALEF WITH MADDA ABOVE
77 (#xC4 ?\u0624) ;; ARABIC LETTER WAW WITH HAMZA ABOVE 77 (#xC3 ?\u0623) ;; ARABIC LETTER ALEF WITH HAMZA ABOVE
78 (#xC5 ?\u0625) ;; ARABIC LETTER ALEF WITH HAMZA BELOW 78 (#xC4 ?\u0624) ;; ARABIC LETTER WAW WITH HAMZA ABOVE
79 (#xC6 ?\u0626) ;; ARABIC LETTER YEH WITH HAMZA ABOVE 79 (#xC5 ?\u0625) ;; ARABIC LETTER ALEF WITH HAMZA BELOW
80 (#xC7 ?\u0627) ;; ARABIC LETTER ALEF 80 (#xC6 ?\u0626) ;; ARABIC LETTER YEH WITH HAMZA ABOVE
81 (#xC8 ?\u0628) ;; ARABIC LETTER BEH 81 (#xC7 ?\u0627) ;; ARABIC LETTER ALEF
82 (#xC9 ?\u0629) ;; ARABIC LETTER TEH MARBUTA 82 (#xC8 ?\u0628) ;; ARABIC LETTER BEH
83 (#xCA ?\u062A) ;; ARABIC LETTER TEH 83 (#xC9 ?\u0629) ;; ARABIC LETTER TEH MARBUTA
84 (#xCB ?\u062B) ;; ARABIC LETTER THEH 84 (#xCA ?\u062A) ;; ARABIC LETTER TEH
85 (#xCC ?\u062C) ;; ARABIC LETTER JEEM 85 (#xCB ?\u062B) ;; ARABIC LETTER THEH
86 (#xCD ?\u062D) ;; ARABIC LETTER HAH 86 (#xCC ?\u062C) ;; ARABIC LETTER JEEM
87 (#xCE ?\u062E) ;; ARABIC LETTER KHAH 87 (#xCD ?\u062D) ;; ARABIC LETTER HAH
88 (#xCF ?\u062F) ;; ARABIC LETTER DAL 88 (#xCE ?\u062E) ;; ARABIC LETTER KHAH
89 (#xD0 ?\u0630) ;; ARABIC LETTER THAL 89 (#xCF ?\u062F) ;; ARABIC LETTER DAL
90 (#xD1 ?\u0631) ;; ARABIC LETTER REH 90 (#xD0 ?\u0630) ;; ARABIC LETTER THAL
91 (#xD2 ?\u0632) ;; ARABIC LETTER ZAIN 91 (#xD1 ?\u0631) ;; ARABIC LETTER REH
92 (#xD3 ?\u0633) ;; ARABIC LETTER SEEN 92 (#xD2 ?\u0632) ;; ARABIC LETTER ZAIN
93 (#xD4 ?\u0634) ;; ARABIC LETTER SHEEN 93 (#xD3 ?\u0633) ;; ARABIC LETTER SEEN
94 (#xD5 ?\u0635) ;; ARABIC LETTER SAD 94 (#xD4 ?\u0634) ;; ARABIC LETTER SHEEN
95 (#xD6 ?\u0636) ;; ARABIC LETTER DAD 95 (#xD5 ?\u0635) ;; ARABIC LETTER SAD
96 (#xD7 ?\u0637) ;; ARABIC LETTER TAH 96 (#xD6 ?\u0636) ;; ARABIC LETTER DAD
97 (#xD8 ?\u0638) ;; ARABIC LETTER ZAH 97 (#xD7 ?\u0637) ;; ARABIC LETTER TAH
98 (#xD9 ?\u0639) ;; ARABIC LETTER AIN 98 (#xD8 ?\u0638) ;; ARABIC LETTER ZAH
99 (#xDA ?\u063A) ;; ARABIC LETTER GHAIN 99 (#xD9 ?\u0639) ;; ARABIC LETTER AIN
100 (#xE0 ?\u0640) ;; ARABIC TATWEEL 100 (#xDA ?\u063A) ;; ARABIC LETTER GHAIN
101 (#xE1 ?\u0641) ;; ARABIC LETTER FEH 101 (#xE0 ?\u0640) ;; ARABIC TATWEEL
102 (#xE2 ?\u0642) ;; ARABIC LETTER QAF 102 (#xE1 ?\u0641) ;; ARABIC LETTER FEH
103 (#xE3 ?\u0643) ;; ARABIC LETTER KAF 103 (#xE2 ?\u0642) ;; ARABIC LETTER QAF
104 (#xE4 ?\u0644) ;; ARABIC LETTER LAM 104 (#xE3 ?\u0643) ;; ARABIC LETTER KAF
105 (#xE5 ?\u0645) ;; ARABIC LETTER MEEM 105 (#xE4 ?\u0644) ;; ARABIC LETTER LAM
106 (#xE6 ?\u0646) ;; ARABIC LETTER NOON 106 (#xE5 ?\u0645) ;; ARABIC LETTER MEEM
107 (#xE7 ?\u0647) ;; ARABIC LETTER HEH 107 (#xE6 ?\u0646) ;; ARABIC LETTER NOON
108 (#xE8 ?\u0648) ;; ARABIC LETTER WAW 108 (#xE7 ?\u0647) ;; ARABIC LETTER HEH
109 (#xE9 ?\u0649) ;; ARABIC LETTER ALEF MAKSURA 109 (#xE8 ?\u0648) ;; ARABIC LETTER WAW
110 (#xEA ?\u064A) ;; ARABIC LETTER YEH 110 (#xE9 ?\u0649) ;; ARABIC LETTER ALEF MAKSURA
111 (#xEB ?\u064B) ;; ARABIC FATHATAN 111 (#xEA ?\u064A) ;; ARABIC LETTER YEH
112 (#xEC ?\u064C) ;; ARABIC DAMMATAN 112 (#xEB ?\u064B) ;; ARABIC FATHATAN
113 (#xED ?\u064D) ;; ARABIC KASRATAN 113 (#xEC ?\u064C) ;; ARABIC DAMMATAN
114 (#xEE ?\u064E) ;; ARABIC FATHA 114 (#xED ?\u064D) ;; ARABIC KASRATAN
115 (#xEF ?\u064F) ;; ARABIC DAMMA 115 (#xEE ?\u064E) ;; ARABIC FATHA
116 (#xF0 ?\u0650) ;; ARABIC KASRA 116 (#xEF ?\u064F) ;; ARABIC DAMMA
117 (#xF1 ?\u0651) ;; ARABIC SHADDA 117 (#xF0 ?\u0650) ;; ARABIC KASRA
118 (#xF2 ?\u0652)) ;; ARABIC SUKUN 118 (#xF1 ?\u0651) ;; ARABIC SHADDA
119 "ISO 8859-6 (Arabic)" 119 (#xF2 ?\u0652)) ;; ARABIC SUKUN
120 '(mnemonic "ArISO")) 120 mnemonic "ArISO"))
121 121
122 (make-8-bit-coding-system 122 (make-coding-system
123 'windows-1256 123 'windows-1256 'fixed-width "Windows-1256 (Arabic)"
124 '((#x80 ?\u20AC) ;; EURO SIGN 124 '(unicode-map
125 (#x81 ?\u067E) ;; ARABIC LETTER PEH 125 ((#x80 ?\u20AC) ;; EURO SIGN
126 (#x82 ?\u201A) ;; SINGLE LOW-9 QUOTATION MARK 126 (#x81 ?\u067E) ;; ARABIC LETTER PEH
127 (#x83 ?\u0192) ;; LATIN SMALL LETTER F WITH HOOK 127 (#x82 ?\u201A) ;; SINGLE LOW-9 QUOTATION MARK
128 (#x84 ?\u201E) ;; DOUBLE LOW-9 QUOTATION MARK 128 (#x83 ?\u0192) ;; LATIN SMALL LETTER F WITH HOOK
129 (#x85 ?\u2026) ;; HORIZONTAL ELLIPSIS 129 (#x84 ?\u201E) ;; DOUBLE LOW-9 QUOTATION MARK
130 (#x86 ?\u2020) ;; DAGGER 130 (#x85 ?\u2026) ;; HORIZONTAL ELLIPSIS
131 (#x87 ?\u2021) ;; DOUBLE DAGGER 131 (#x86 ?\u2020) ;; DAGGER
132 (#x88 ?\u02C6) ;; MODIFIER LETTER CIRCUMFLEX ACCENT 132 (#x87 ?\u2021) ;; DOUBLE DAGGER
133 (#x89 ?\u2030) ;; PER MILLE SIGN 133 (#x88 ?\u02C6) ;; MODIFIER LETTER CIRCUMFLEX ACCENT
134 (#x8A ?\u0679) ;; ARABIC LETTER TTEH 134 (#x89 ?\u2030) ;; PER MILLE SIGN
135 (#x8B ?\u2039) ;; SINGLE LEFT-POINTING ANGLE QUOTATION MARK 135 (#x8A ?\u0679) ;; ARABIC LETTER TTEH
136 (#x8C ?\u0152) ;; LATIN CAPITAL LIGATURE OE 136 (#x8B ?\u2039) ;; SINGLE LEFT-POINTING ANGLE QUOTATION MARK
137 (#x8D ?\u0686) ;; ARABIC LETTER TCHEH 137 (#x8C ?\u0152) ;; LATIN CAPITAL LIGATURE OE
138 (#x8E ?\u0698) ;; ARABIC LETTER JEH 138 (#x8D ?\u0686) ;; ARABIC LETTER TCHEH
139 (#x8F ?\u0688) ;; ARABIC LETTER DDAL 139 (#x8E ?\u0698) ;; ARABIC LETTER JEH
140 (#x90 ?\u06AF) ;; ARABIC LETTER GAF 140 (#x8F ?\u0688) ;; ARABIC LETTER DDAL
141 (#x91 ?\u2018) ;; LEFT SINGLE QUOTATION MARK 141 (#x90 ?\u06AF) ;; ARABIC LETTER GAF
142 (#x92 ?\u2019) ;; RIGHT SINGLE QUOTATION MARK 142 (#x91 ?\u2018) ;; LEFT SINGLE QUOTATION MARK
143 (#x93 ?\u201C) ;; LEFT DOUBLE QUOTATION MARK 143 (#x92 ?\u2019) ;; RIGHT SINGLE QUOTATION MARK
144 (#x94 ?\u201D) ;; RIGHT DOUBLE QUOTATION MARK 144 (#x93 ?\u201C) ;; LEFT DOUBLE QUOTATION MARK
145 (#x95 ?\u2022) ;; BULLET 145 (#x94 ?\u201D) ;; RIGHT DOUBLE QUOTATION MARK
146 (#x96 ?\u2013) ;; EN DASH 146 (#x95 ?\u2022) ;; BULLET
147 (#x97 ?\u2014) ;; EM DASH 147 (#x96 ?\u2013) ;; EN DASH
148 (#x98 ?\u06A9) ;; ARABIC LETTER KEHEH 148 (#x97 ?\u2014) ;; EM DASH
149 (#x99 ?\u2122) ;; TRADE MARK SIGN 149 (#x98 ?\u06A9) ;; ARABIC LETTER KEHEH
150 (#x9A ?\u0691) ;; ARABIC LETTER RREH 150 (#x99 ?\u2122) ;; TRADE MARK SIGN
151 (#x9B ?\u203A) ;; SINGLE RIGHT-POINTING ANGLE QUOTATION MARK 151 (#x9A ?\u0691) ;; ARABIC LETTER RREH
152 (#x9C ?\u0153) ;; LATIN SMALL LIGATURE OE 152 (#x9B ?\u203A) ;; SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
153 (#x9D ?\u200C) ;; ZERO WIDTH NON-JOINER 153 (#x9C ?\u0153) ;; LATIN SMALL LIGATURE OE
154 (#x9E ?\u200D) ;; ZERO WIDTH JOINER 154 (#x9D ?\u200C) ;; ZERO WIDTH NON-JOINER
155 (#x9F ?\u06BA) ;; ARABIC LETTER NOON GHUNNA 155 (#x9E ?\u200D) ;; ZERO WIDTH JOINER
156 (#xA0 ?\u00A0) ;; NO-BREAK SPACE 156 (#x9F ?\u06BA) ;; ARABIC LETTER NOON GHUNNA
157 (#xA1 ?\u060C) ;; ARABIC COMMA 157 (#xA0 ?\u00A0) ;; NO-BREAK SPACE
158 (#xA2 ?\u00A2) ;; CENT SIGN 158 (#xA1 ?\u060C) ;; ARABIC COMMA
159 (#xA3 ?\u00A3) ;; POUND SIGN 159 (#xA2 ?\u00A2) ;; CENT SIGN
160 (#xA4 ?\u00A4) ;; CURRENCY SIGN 160 (#xA3 ?\u00A3) ;; POUND SIGN
161 (#xA5 ?\u00A5) ;; YEN SIGN 161 (#xA4 ?\u00A4) ;; CURRENCY SIGN
162 (#xA6 ?\u00A6) ;; BROKEN BAR 162 (#xA5 ?\u00A5) ;; YEN SIGN
163 (#xA7 ?\u00A7) ;; SECTION SIGN 163 (#xA6 ?\u00A6) ;; BROKEN BAR
164 (#xA8 ?\u00A8) ;; DIAERESIS 164 (#xA7 ?\u00A7) ;; SECTION SIGN
165 (#xA9 ?\u00A9) ;; COPYRIGHT SIGN 165 (#xA8 ?\u00A8) ;; DIAERESIS
166 (#xAA ?\u06BE) ;; ARABIC LETTER HEH DOACHASHMEE 166 (#xA9 ?\u00A9) ;; COPYRIGHT SIGN
167 (#xAB ?\u00AB) ;; LEFT-POINTING DOUBLE ANGLE QUOTATION MARK 167 (#xAA ?\u06BE) ;; ARABIC LETTER HEH DOACHASHMEE
168 (#xAC ?\u00AC) ;; NOT SIGN 168 (#xAB ?\u00AB) ;; LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
169 (#xAD ?\u00AD) ;; SOFT HYPHEN 169 (#xAC ?\u00AC) ;; NOT SIGN
170 (#xAE ?\u00AE) ;; REGISTERED SIGN 170 (#xAD ?\u00AD) ;; SOFT HYPHEN
171 (#xAF ?\u00AF) ;; MACRON 171 (#xAE ?\u00AE) ;; REGISTERED SIGN
172 (#xB0 ?\u00B0) ;; DEGREE SIGN 172 (#xAF ?\u00AF) ;; MACRON
173 (#xB1 ?\u00B1) ;; PLUS-MINUS SIGN 173 (#xB0 ?\u00B0) ;; DEGREE SIGN
174 (#xB2 ?\u00B2) ;; SUPERSCRIPT TWO 174 (#xB1 ?\u00B1) ;; PLUS-MINUS SIGN
175 (#xB3 ?\u00B3) ;; SUPERSCRIPT THREE 175 (#xB2 ?\u00B2) ;; SUPERSCRIPT TWO
176 (#xB4 ?\u00B4) ;; ACUTE ACCENT 176 (#xB3 ?\u00B3) ;; SUPERSCRIPT THREE
177 (#xB5 ?\u00B5) ;; MICRO SIGN 177 (#xB4 ?\u00B4) ;; ACUTE ACCENT
178 (#xB6 ?\u00B6) ;; PILCROW SIGN 178 (#xB5 ?\u00B5) ;; MICRO SIGN
179 (#xB7 ?\u00B7) ;; MIDDLE DOT 179 (#xB6 ?\u00B6) ;; PILCROW SIGN
180 (#xB8 ?\u00B8) ;; CEDILLA 180 (#xB7 ?\u00B7) ;; MIDDLE DOT
181 (#xB9 ?\u00B9) ;; SUPERSCRIPT ONE 181 (#xB8 ?\u00B8) ;; CEDILLA
182 (#xBA ?\u061B) ;; ARABIC SEMICOLON 182 (#xB9 ?\u00B9) ;; SUPERSCRIPT ONE
183 (#xBB ?\u00BB) ;; RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK 183 (#xBA ?\u061B) ;; ARABIC SEMICOLON
184 (#xBC ?\u00BC) ;; VULGAR FRACTION ONE QUARTER 184 (#xBB ?\u00BB) ;; RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
185 (#xBD ?\u00BD) ;; VULGAR FRACTION ONE HALF 185 (#xBC ?\u00BC) ;; VULGAR FRACTION ONE QUARTER
186 (#xBE ?\u00BE) ;; VULGAR FRACTION THREE QUARTERS 186 (#xBD ?\u00BD) ;; VULGAR FRACTION ONE HALF
187 (#xBF ?\u061F) ;; ARABIC QUESTION MARK 187 (#xBE ?\u00BE) ;; VULGAR FRACTION THREE QUARTERS
188 (#xC0 ?\u06C1) ;; ARABIC LETTER HEH GOAL 188 (#xBF ?\u061F) ;; ARABIC QUESTION MARK
189 (#xC1 ?\u0621) ;; ARABIC LETTER HAMZA 189 (#xC0 ?\u06C1) ;; ARABIC LETTER HEH GOAL
190 (#xC2 ?\u0622) ;; ARABIC LETTER ALEF WITH MADDA ABOVE 190 (#xC1 ?\u0621) ;; ARABIC LETTER HAMZA
191 (#xC3 ?\u0623) ;; ARABIC LETTER ALEF WITH HAMZA ABOVE 191 (#xC2 ?\u0622) ;; ARABIC LETTER ALEF WITH MADDA ABOVE
192 (#xC4 ?\u0624) ;; ARABIC LETTER WAW WITH HAMZA ABOVE 192 (#xC3 ?\u0623) ;; ARABIC LETTER ALEF WITH HAMZA ABOVE
193 (#xC5 ?\u0625) ;; ARABIC LETTER ALEF WITH HAMZA BELOW 193 (#xC4 ?\u0624) ;; ARABIC LETTER WAW WITH HAMZA ABOVE
194 (#xC6 ?\u0626) ;; ARABIC LETTER YEH WITH HAMZA ABOVE 194 (#xC5 ?\u0625) ;; ARABIC LETTER ALEF WITH HAMZA BELOW
195 (#xC7 ?\u0627) ;; ARABIC LETTER ALEF 195 (#xC6 ?\u0626) ;; ARABIC LETTER YEH WITH HAMZA ABOVE
196 (#xC8 ?\u0628) ;; ARABIC LETTER BEH 196 (#xC7 ?\u0627) ;; ARABIC LETTER ALEF
197 (#xC9 ?\u0629) ;; ARABIC LETTER TEH MARBUTA 197 (#xC8 ?\u0628) ;; ARABIC LETTER BEH
198 (#xCA ?\u062A) ;; ARABIC LETTER TEH 198 (#xC9 ?\u0629) ;; ARABIC LETTER TEH MARBUTA
199 (#xCB ?\u062B) ;; ARABIC LETTER THEH 199 (#xCA ?\u062A) ;; ARABIC LETTER TEH
200 (#xCC ?\u062C) ;; ARABIC LETTER JEEM 200 (#xCB ?\u062B) ;; ARABIC LETTER THEH
201 (#xCD ?\u062D) ;; ARABIC LETTER HAH 201 (#xCC ?\u062C) ;; ARABIC LETTER JEEM
202 (#xCE ?\u062E) ;; ARABIC LETTER KHAH 202 (#xCD ?\u062D) ;; ARABIC LETTER HAH
203 (#xCF ?\u062F) ;; ARABIC LETTER DAL 203 (#xCE ?\u062E) ;; ARABIC LETTER KHAH
204 (#xD0 ?\u0630) ;; ARABIC LETTER THAL 204 (#xCF ?\u062F) ;; ARABIC LETTER DAL
205 (#xD1 ?\u0631) ;; ARABIC LETTER REH 205 (#xD0 ?\u0630) ;; ARABIC LETTER THAL
206 (#xD2 ?\u0632) ;; ARABIC LETTER ZAIN 206 (#xD1 ?\u0631) ;; ARABIC LETTER REH
207 (#xD3 ?\u0633) ;; ARABIC LETTER SEEN 207 (#xD2 ?\u0632) ;; ARABIC LETTER ZAIN
208 (#xD4 ?\u0634) ;; ARABIC LETTER SHEEN 208 (#xD3 ?\u0633) ;; ARABIC LETTER SEEN
209 (#xD5 ?\u0635) ;; ARABIC LETTER SAD 209 (#xD4 ?\u0634) ;; ARABIC LETTER SHEEN
210 (#xD6 ?\u0636) ;; ARABIC LETTER DAD 210 (#xD5 ?\u0635) ;; ARABIC LETTER SAD
211 (#xD7 ?\u00D7) ;; MULTIPLICATION SIGN 211 (#xD6 ?\u0636) ;; ARABIC LETTER DAD
212 (#xD8 ?\u0637) ;; ARABIC LETTER TAH 212 (#xD7 ?\u00D7) ;; MULTIPLICATION SIGN
213 (#xD9 ?\u0638) ;; ARABIC LETTER ZAH 213 (#xD8 ?\u0637) ;; ARABIC LETTER TAH
214 (#xDA ?\u0639) ;; ARABIC LETTER AIN 214 (#xD9 ?\u0638) ;; ARABIC LETTER ZAH
215 (#xDB ?\u063A) ;; ARABIC LETTER GHAIN 215 (#xDA ?\u0639) ;; ARABIC LETTER AIN
216 (#xDC ?\u0640) ;; ARABIC TATWEEL 216 (#xDB ?\u063A) ;; ARABIC LETTER GHAIN
217 (#xDD ?\u0641) ;; ARABIC LETTER FEH 217 (#xDC ?\u0640) ;; ARABIC TATWEEL
218 (#xDE ?\u0642) ;; ARABIC LETTER QAF 218 (#xDD ?\u0641) ;; ARABIC LETTER FEH
219 (#xDF ?\u0643) ;; ARABIC LETTER KAF 219 (#xDE ?\u0642) ;; ARABIC LETTER QAF
220 (#xE0 ?\u00E0) ;; LATIN SMALL LETTER A WITH GRAVE 220 (#xDF ?\u0643) ;; ARABIC LETTER KAF
221 (#xE1 ?\u0644) ;; ARABIC LETTER LAM 221 (#xE0 ?\u00E0) ;; LATIN SMALL LETTER A WITH GRAVE
222 (#xE2 ?\u00E2) ;; LATIN SMALL LETTER A WITH CIRCUMFLEX 222 (#xE1 ?\u0644) ;; ARABIC LETTER LAM
223 (#xE3 ?\u0645) ;; ARABIC LETTER MEEM 223 (#xE2 ?\u00E2) ;; LATIN SMALL LETTER A WITH CIRCUMFLEX
224 (#xE4 ?\u0646) ;; ARABIC LETTER NOON 224 (#xE3 ?\u0645) ;; ARABIC LETTER MEEM
225 (#xE5 ?\u0647) ;; ARABIC LETTER HEH 225 (#xE4 ?\u0646) ;; ARABIC LETTER NOON
226 (#xE6 ?\u0648) ;; ARABIC LETTER WAW 226 (#xE5 ?\u0647) ;; ARABIC LETTER HEH
227 (#xE7 ?\u00E7) ;; LATIN SMALL LETTER C WITH CEDILLA 227 (#xE6 ?\u0648) ;; ARABIC LETTER WAW
228 (#xE8 ?\u00E8) ;; LATIN SMALL LETTER E WITH GRAVE 228 (#xE7 ?\u00E7) ;; LATIN SMALL LETTER C WITH CEDILLA
229 (#xE9 ?\u00E9) ;; LATIN SMALL LETTER E WITH ACUTE 229 (#xE8 ?\u00E8) ;; LATIN SMALL LETTER E WITH GRAVE
230 (#xEA ?\u00EA) ;; LATIN SMALL LETTER E WITH CIRCUMFLEX 230 (#xE9 ?\u00E9) ;; LATIN SMALL LETTER E WITH ACUTE
231 (#xEB ?\u00EB) ;; LATIN SMALL LETTER E WITH DIAERESIS 231 (#xEA ?\u00EA) ;; LATIN SMALL LETTER E WITH CIRCUMFLEX
232 (#xEC ?\u0649) ;; ARABIC LETTER ALEF MAKSURA 232 (#xEB ?\u00EB) ;; LATIN SMALL LETTER E WITH DIAERESIS
233 (#xED ?\u064A) ;; ARABIC LETTER YEH 233 (#xEC ?\u0649) ;; ARABIC LETTER ALEF MAKSURA
234 (#xEE ?\u00EE) ;; LATIN SMALL LETTER I WITH CIRCUMFLEX 234 (#xED ?\u064A) ;; ARABIC LETTER YEH
235 (#xEF ?\u00EF) ;; LATIN SMALL LETTER I WITH DIAERESIS 235 (#xEE ?\u00EE) ;; LATIN SMALL LETTER I WITH CIRCUMFLEX
236 (#xF0 ?\u064B) ;; ARABIC FATHATAN 236 (#xEF ?\u00EF) ;; LATIN SMALL LETTER I WITH DIAERESIS
237 (#xF1 ?\u064C) ;; ARABIC DAMMATAN 237 (#xF0 ?\u064B) ;; ARABIC FATHATAN
238 (#xF2 ?\u064D) ;; ARABIC KASRATAN 238 (#xF1 ?\u064C) ;; ARABIC DAMMATAN
239 (#xF3 ?\u064E) ;; ARABIC FATHA 239 (#xF2 ?\u064D) ;; ARABIC KASRATAN
240 (#xF4 ?\u00F4) ;; LATIN SMALL LETTER O WITH CIRCUMFLEX 240 (#xF3 ?\u064E) ;; ARABIC FATHA
241 (#xF5 ?\u064F) ;; ARABIC DAMMA 241 (#xF4 ?\u00F4) ;; LATIN SMALL LETTER O WITH CIRCUMFLEX
242 (#xF6 ?\u0650) ;; ARABIC KASRA 242 (#xF5 ?\u064F) ;; ARABIC DAMMA
243 (#xF7 ?\u00F7) ;; DIVISION SIGN 243 (#xF6 ?\u0650) ;; ARABIC KASRA
244 (#xF8 ?\u0651) ;; ARABIC SHADDA 244 (#xF7 ?\u00F7) ;; DIVISION SIGN
245 (#xF9 ?\u00F9) ;; LATIN SMALL LETTER U WITH GRAVE 245 (#xF8 ?\u0651) ;; ARABIC SHADDA
246 (#xFA ?\u0652) ;; ARABIC SUKUN 246 (#xF9 ?\u00F9) ;; LATIN SMALL LETTER U WITH GRAVE
247 (#xFB ?\u00FB) ;; LATIN SMALL LETTER U WITH CIRCUMFLEX 247 (#xFA ?\u0652) ;; ARABIC SUKUN
248 (#xFC ?\u00FC) ;; LATIN SMALL LETTER U WITH DIAERESIS 248 (#xFB ?\u00FB) ;; LATIN SMALL LETTER U WITH CIRCUMFLEX
249 (#xFD ?\u200E) ;; LEFT-TO-RIGHT MARK 249 (#xFC ?\u00FC) ;; LATIN SMALL LETTER U WITH DIAERESIS
250 (#xFE ?\u200F) ;; RIGHT-TO-LEFT MARK 250 (#xFD ?\u200E) ;; LEFT-TO-RIGHT MARK
251 (#xFF ?\u06D2));; ARABIC LETTER YEH BARREE 251 (#xFE ?\u200F) ;; RIGHT-TO-LEFT MARK
252 "Windows-1256 (Arabic)" 252 (#xFF ?\u06D2)) ;; ARABIC LETTER YEH BARREE
253 '(mnemonic "cp1256" 253 mnemonic "cp1256"
254 documentation 254 documentation
255 "This is the much Windows encoding for Arabic, much superior to the ISO 255 "This is the much Windows encoding for Arabic, much superior to the ISO
256 standard one." 256 standard one."
257 aliases (cp1256))) 257 aliases (cp1256)))
258 258