comparison lisp/term/mac-win.el @ 61659:e40b2bd9a366

Add coding: tag and set it to iso-2022-7bit. (mac-add-charset-info): New function. Initialize variable mac-charset-info-alist using it. (mac-centraleurroman, mac-cyrillic): Do not use UCS in table data for translation. (mac-symbol-encoder, mac-dingbats-encoder): New translation table. (mac-font-encoder-list): Add entries for mac-symbol and mac-dingbats. (ccl-encode-mac-symbol-font, ccl-encode-mac-dingbats-font): New CCL programs.
author YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
date Tue, 19 Apr 2005 12:04:51 +0000
parents 6b15c97abf1d
children c32a3faf6ccc
comparison
equal deleted inserted replaced
61658:38a086380ddc 61659:e40b2bd9a366
1 ;;; mac-win.el --- parse switches controlling interface with Mac window system 1 ;;; mac-win.el --- parse switches controlling interface with Mac window system -*-coding: iso-2022-7bit;-*-
2 2
3 ;; Copyright (C) 1999, 2000, 2002, 2003, 2004, 2005 3 ;; Copyright (C) 1999, 2000, 2002, 2003, 2004, 2005
4 ;; Free Software Foundation, Inc. 4 ;; Free Software Foundation, Inc.
5 5
6 ;; Author: Andrew Choi <akochoi@mac.com> 6 ;; Author: Andrew Choi <akochoi@mac.com>
1103 'mac-roman))) 1103 'mac-roman)))
1104 (if (eq system-type 'darwin) 1104 (if (eq system-type 'darwin)
1105 base 1105 base
1106 (coding-system-change-eol-conversion base 'mac))) 1106 (coding-system-change-eol-conversion base 'mac)))
1107 "Coding system derived from the system script code.") 1107 "Coding system derived from the system script code.")
1108
1109 (defun mac-add-charset-info (xlfd-charset mac-text-encoding)
1110 "Function to add character sets to display with Mac fonts.
1111 Creates entries in `mac-charset-info-alist'.
1112 XLFD-CHARSET is a string which will appear in the XLFD font name
1113 to identify the character set. MAC-TEXT-ENCODING is the
1114 correspoinding TextEncodingBase value."
1115 (add-to-list 'mac-charset-info-alist
1116 (list xlfd-charset mac-text-encoding
1117 (cdr (assq mac-text-encoding
1118 mac-script-code-coding-systems)))))
1119
1120 (setq mac-charset-info-alist nil)
1121 (mac-add-charset-info "mac-roman" 0)
1122 (mac-add-charset-info "jisx0208.1983-sjis" 1)
1123 (mac-add-charset-info "jisx0201.1976-0" 1)
1124 (mac-add-charset-info "big5-0" 2)
1125 (mac-add-charset-info "ksc5601.1989-0" 3)
1126 (mac-add-charset-info "mac-cyrillic" 7)
1127 (mac-add-charset-info "gb2312.1980-0" 25)
1128 (mac-add-charset-info "mac-centraleurroman" 29)
1129 (mac-add-charset-info "mac-symbol" 33)
1130 (mac-add-charset-info "adobe-fontspecific" 33) ; for X-Symbol
1131 (mac-add-charset-info "mac-dingbats" 34)
1132
1108 1133
1109 ;;;; Keyboard layout/language change events 1134 ;;;; Keyboard layout/language change events
1110 (defun mac-handle-language-change (event) 1135 (defun mac-handle-language-change (event)
1111 (interactive "e") 1136 (interactive "e")
1112 (let ((coding-system 1137 (let ((coding-system
1164 1189
1165 (setq frame-creation-function 'x-create-frame-with-faces) 1190 (setq frame-creation-function 'x-create-frame-with-faces)
1166 1191
1167 (cp-make-coding-system 1192 (cp-make-coding-system
1168 mac-centraleurroman 1193 mac-centraleurroman
1169 (apply 1194 [?\,AD(B ?\$,1 (B ?\$,1 !(B ?\,AI(B ?\$,1 $(B ?\,AV(B ?\,A\(B ?\,Aa(B ?\$,1 %(B ?\$,1 ,(B ?\,Ad(B ?\$,1 -(B ?\$,1 &(B ?\$,1 '(B ?\,Ai(B ?\$,1!9(B
1170 'vector 1195 ?\$,1!:(B ?\$,1 .(B ?\,Am(B ?\$,1 /(B ?\$,1 2(B ?\$,1 3(B ?\$,1 6(B ?\,As(B ?\$,1 7(B ?\,At(B ?\,Av(B ?\,Au(B ?\,Az(B ?\$,1 :(B ?\$,1 ;(B ?\,A|(B
1171 (mapcar 1196 ?\$,1s (B ?\,A0(B ?\$,1 8(B ?\,A#(B ?\,A'(B ?\$,1s"(B ?\,A6(B ?\,A_(B ?\,A.(B ?\,A)(B ?\$,1ub(B ?\$,1 9(B ?\,A((B ?\$,1y (B ?\$,1 C(B ?\$,1 N(B
1172 (lambda (c) (decode-char 'ucs c)) 1197 ?\$,1 O(B ?\$,1 J(B ?\$,1y$(B ?\$,1y%(B ?\$,1 K(B ?\$,1 V(B ?\$,1x"(B ?\$,1x1(B ?\$,1 b(B ?\$,1 [(B ?\$,1 \(B ?\$,1 ](B ?\$,1 ^(B ?\$,1 Y(B ?\$,1 Z(B ?\$,1 e(B
1173 ;; mac-centraleurroman (128..255) -> UCS mapping 1198 ?\$,1 f(B ?\$,1 c(B ?\,A,(B ?\$,1x:(B ?\$,1 d(B ?\$,1 g(B ?\$,1x&(B ?\,A+(B ?\,A;(B ?\$,1s&(B ?\,A (B ?\$,1 h(B ?\$,1 p(B ?\,AU(B ?\$,1 q(B ?\$,1 l(B
1174 [ #x00C4 ;; 128:LATIN CAPITAL LETTER A WITH DIAERESIS 1199 ?\$,1rs(B ?\$,1rt(B ?\$,1r|(B ?\$,1r}(B ?\$,1rx(B ?\$,1ry(B ?\,Aw(B ?\$,2"*(B ?\$,1 m(B ?\$,1 t(B ?\$,1 u(B ?\$,1 x(B ?\$,1s9(B ?\$,1s:(B ?\$,1 y(B ?\$,1 v(B
1175 #x0100 ;; 129:LATIN CAPITAL LETTER A WITH MACRON 1200 ?\$,1 w(B ?\$,1! (B ?\$,1rz(B ?\$,1r~(B ?\$,1!!(B ?\$,1 z(B ?\$,1 {(B ?\,AA(B ?\$,1!$(B ?\$,1!%(B ?\,AM(B ?\$,1!=(B ?\$,1!>(B ?\$,1!*(B ?\,AS(B ?\,AT(B
1176 #x0101 ;; 130:LATIN SMALL LETTER A WITH MACRON 1201 ?\$,1!+(B ?\$,1!.(B ?\,AZ(B ?\$,1!/(B ?\$,1!0(B ?\$,1!1(B ?\$,1!2(B ?\$,1!3(B ?\,A](B ?\,A}(B ?\$,1 W(B ?\$,1!;(B ?\$,1 a(B ?\$,1!<(B ?\$,1 B(B ?\$,1$g(B]
1177 #x00C9 ;; 131:LATIN CAPITAL LETTER E WITH ACUTE
1178 #x0104 ;; 132:LATIN CAPITAL LETTER A WITH OGONEK
1179 #x00D6 ;; 133:LATIN CAPITAL LETTER O WITH DIAERESIS
1180 #x00DC ;; 134:LATIN CAPITAL LETTER U WITH DIAERESIS
1181 #x00E1 ;; 135:LATIN SMALL LETTER A WITH ACUTE
1182 #x0105 ;; 136:LATIN SMALL LETTER A WITH OGONEK
1183 #x010C ;; 137:LATIN CAPITAL LETTER C WITH CARON
1184 #x00E4 ;; 138:LATIN SMALL LETTER A WITH DIAERESIS
1185 #x010D ;; 139:LATIN SMALL LETTER C WITH CARON
1186 #x0106 ;; 140:LATIN CAPITAL LETTER C WITH ACUTE
1187 #x0107 ;; 141:LATIN SMALL LETTER C WITH ACUTE
1188 #x00E9 ;; 142:LATIN SMALL LETTER E WITH ACUTE
1189 #x0179 ;; 143:LATIN CAPITAL LETTER Z WITH ACUTE
1190 #x017A ;; 144:LATIN SMALL LETTER Z WITH ACUTE
1191 #x010E ;; 145:LATIN CAPITAL LETTER D WITH CARON
1192 #x00ED ;; 146:LATIN SMALL LETTER I WITH ACUTE
1193 #x010F ;; 147:LATIN SMALL LETTER D WITH CARON
1194 #x0112 ;; 148:LATIN CAPITAL LETTER E WITH MACRON
1195 #x0113 ;; 149:LATIN SMALL LETTER E WITH MACRON
1196 #x0116 ;; 150:LATIN CAPITAL LETTER E WITH DOT ABOVE
1197 #x00F3 ;; 151:LATIN SMALL LETTER O WITH ACUTE
1198 #x0117 ;; 152:LATIN SMALL LETTER E WITH DOT ABOVE
1199 #x00F4 ;; 153:LATIN SMALL LETTER O WITH CIRCUMFLEX
1200 #x00F6 ;; 154:LATIN SMALL LETTER O WITH DIAERESIS
1201 #x00F5 ;; 155:LATIN SMALL LETTER O WITH TILDE
1202 #x00FA ;; 156:LATIN SMALL LETTER U WITH ACUTE
1203 #x011A ;; 157:LATIN CAPITAL LETTER E WITH CARON
1204 #x011B ;; 158:LATIN SMALL LETTER E WITH CARON
1205 #x00FC ;; 159:LATIN SMALL LETTER U WITH DIAERESIS
1206 #x2020 ;; 160:DAGGER
1207 #x00B0 ;; 161:DEGREE SIGN
1208 #x0118 ;; 162:LATIN CAPITAL LETTER E WITH OGONEK
1209 #x00A3 ;; 163:POUND SIGN
1210 #x00A7 ;; 164:SECTION SIGN
1211 #x2022 ;; 165:BULLET
1212 #x00B6 ;; 166:PILCROW SIGN
1213 #x00DF ;; 167:LATIN SMALL LETTER SHARP S
1214 #x00AE ;; 168:REGISTERED SIGN
1215 #x00A9 ;; 169:COPYRIGHT SIGN
1216 #x2122 ;; 170:TRADE MARK SIGN
1217 #x0119 ;; 171:LATIN SMALL LETTER E WITH OGONEK
1218 #x00A8 ;; 172:DIAERESIS
1219 #x2260 ;; 173:NOT EQUAL TO
1220 #x0123 ;; 174:LATIN SMALL LETTER G WITH CEDILLA
1221 #x012E ;; 175:LATIN CAPITAL LETTER I WITH OGONEK
1222 #x012F ;; 176:LATIN SMALL LETTER I WITH OGONEK
1223 #x012A ;; 177:LATIN CAPITAL LETTER I WITH MACRON
1224 #x2264 ;; 178:LESS-THAN OR EQUAL TO
1225 #x2265 ;; 179:GREATER-THAN OR EQUAL TO
1226 #x012B ;; 180:LATIN SMALL LETTER I WITH MACRON
1227 #x0136 ;; 181:LATIN CAPITAL LETTER K WITH CEDILLA
1228 #x2202 ;; 182:PARTIAL DIFFERENTIAL
1229 #x2211 ;; 183:N-ARY SUMMATION
1230 #x0142 ;; 184:LATIN SMALL LETTER L WITH STROKE
1231 #x013B ;; 185:LATIN CAPITAL LETTER L WITH CEDILLA
1232 #x013C ;; 186:LATIN SMALL LETTER L WITH CEDILLA
1233 #x013D ;; 187:LATIN CAPITAL LETTER L WITH CARON
1234 #x013E ;; 188:LATIN SMALL LETTER L WITH CARON
1235 #x0139 ;; 189:LATIN CAPITAL LETTER L WITH ACUTE
1236 #x013A ;; 190:LATIN SMALL LETTER L WITH ACUTE
1237 #x0145 ;; 191:LATIN CAPITAL LETTER N WITH CEDILLA
1238 #x0146 ;; 192:LATIN SMALL LETTER N WITH CEDILLA
1239 #x0143 ;; 193:LATIN CAPITAL LETTER N WITH ACUTE
1240 #x00AC ;; 194:NOT SIGN
1241 #x221A ;; 195:SQUARE ROOT
1242 #x0144 ;; 196:LATIN SMALL LETTER N WITH ACUTE
1243 #x0147 ;; 197:LATIN CAPITAL LETTER N WITH CARON
1244 #x2206 ;; 198:INCREMENT
1245 #x00AB ;; 199:LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
1246 #x00BB ;; 200:RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
1247 #x2026 ;; 201:HORIZONTAL ELLIPSIS
1248 #x00A0 ;; 202:NO-BREAK SPACE
1249 #x0148 ;; 203:LATIN SMALL LETTER N WITH CARON
1250 #x0150 ;; 204:LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
1251 #x00D5 ;; 205:LATIN CAPITAL LETTER O WITH TILDE
1252 #x0151 ;; 206:LATIN SMALL LETTER O WITH DOUBLE ACUTE
1253 #x014C ;; 207:LATIN CAPITAL LETTER O WITH MACRON
1254 #x2013 ;; 208:EN DASH
1255 #x2014 ;; 209:EM DASH
1256 #x201C ;; 210:LEFT DOUBLE QUOTATION MARK
1257 #x201D ;; 211:RIGHT DOUBLE QUOTATION MARK
1258 #x2018 ;; 212:LEFT SINGLE QUOTATION MARK
1259 #x2019 ;; 213:RIGHT SINGLE QUOTATION MARK
1260 #x00F7 ;; 214:DIVISION SIGN
1261 #x25CA ;; 215:LOZENGE
1262 #x014D ;; 216:LATIN SMALL LETTER O WITH MACRON
1263 #x0154 ;; 217:LATIN CAPITAL LETTER R WITH ACUTE
1264 #x0155 ;; 218:LATIN SMALL LETTER R WITH ACUTE
1265 #x0158 ;; 219:LATIN CAPITAL LETTER R WITH CARON
1266 #x2039 ;; 220:SINGLE LEFT-POINTING ANGLE QUOTATION MARK
1267 #x203A ;; 221:SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
1268 #x0159 ;; 222:LATIN SMALL LETTER R WITH CARON
1269 #x0156 ;; 223:LATIN CAPITAL LETTER R WITH CEDILLA
1270 #x0157 ;; 224:LATIN SMALL LETTER R WITH CEDILLA
1271 #x0160 ;; 225:LATIN CAPITAL LETTER S WITH CARON
1272 #x201A ;; 226:SINGLE LOW-9 QUOTATION MARK
1273 #x201E ;; 227:DOUBLE LOW-9 QUOTATION MARK
1274 #x0161 ;; 228:LATIN SMALL LETTER S WITH CARON
1275 #x015A ;; 229:LATIN CAPITAL LETTER S WITH ACUTE
1276 #x015B ;; 230:LATIN SMALL LETTER S WITH ACUTE
1277 #x00C1 ;; 231:LATIN CAPITAL LETTER A WITH ACUTE
1278 #x0164 ;; 232:LATIN CAPITAL LETTER T WITH CARON
1279 #x0165 ;; 233:LATIN SMALL LETTER T WITH CARON
1280 #x00CD ;; 234:LATIN CAPITAL LETTER I WITH ACUTE
1281 #x017D ;; 235:LATIN CAPITAL LETTER Z WITH CARON
1282 #x017E ;; 236:LATIN SMALL LETTER Z WITH CARON
1283 #x016A ;; 237:LATIN CAPITAL LETTER U WITH MACRON
1284 #x00D3 ;; 238:LATIN CAPITAL LETTER O WITH ACUTE
1285 #x00D4 ;; 239:LATIN CAPITAL LETTER O WITH CIRCUMFLEX
1286 #x016B ;; 240:LATIN SMALL LETTER U WITH MACRON
1287 #x016E ;; 241:LATIN CAPITAL LETTER U WITH RING ABOVE
1288 #x00DA ;; 242:LATIN CAPITAL LETTER U WITH ACUTE
1289 #x016F ;; 243:LATIN SMALL LETTER U WITH RING ABOVE
1290 #x0170 ;; 244:LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
1291 #x0171 ;; 245:LATIN SMALL LETTER U WITH DOUBLE ACUTE
1292 #x0172 ;; 246:LATIN CAPITAL LETTER U WITH OGONEK
1293 #x0173 ;; 247:LATIN SMALL LETTER U WITH OGONEK
1294 #x00DD ;; 248:LATIN CAPITAL LETTER Y WITH ACUTE
1295 #x00FD ;; 249:LATIN SMALL LETTER Y WITH ACUTE
1296 #x0137 ;; 250:LATIN SMALL LETTER K WITH CEDILLA
1297 #x017B ;; 251:LATIN CAPITAL LETTER Z WITH DOT ABOVE
1298 #x0141 ;; 252:LATIN CAPITAL LETTER L WITH STROKE
1299 #x017C ;; 253:LATIN SMALL LETTER Z WITH DOT ABOVE
1300 #x0122 ;; 254:LATIN CAPITAL LETTER G WITH CEDILLA
1301 #x02C7 ;; 255:CARON
1302 ]))
1303 "Mac Central European Roman Encoding (MIME:x-mac-centraleurroman).") 1202 "Mac Central European Roman Encoding (MIME:x-mac-centraleurroman).")
1304 (coding-system-put 'mac-centraleurroman 'mime-charset 'x-mac-centraleurroman) 1203 (coding-system-put 'mac-centraleurroman 'mime-charset 'x-mac-centraleurroman)
1305 1204
1306 (cp-make-coding-system 1205 (cp-make-coding-system
1307 mac-cyrillic 1206 mac-cyrillic
1308 (apply 1207 [?\$,1(0(B ?\$,1(1(B ?\$,1(2(B ?\$,1(3(B ?\$,1(4(B ?\$,1(5(B ?\$,1(6(B ?\$,1(7(B ?\$,1(8(B ?\$,1(9(B ?\$,1(:(B ?\$,1(;(B ?\$,1(<(B ?\$,1(=(B ?\$,1(>(B ?\$,1(?(B
1309 'vector 1208 ?\$,1(@(B ?\$,1(A(B ?\$,1(B(B ?\$,1(C(B ?\$,1(D(B ?\$,1(E(B ?\$,1(F(B ?\$,1(G(B ?\$,1(H(B ?\$,1(I(B ?\$,1(J(B ?\$,1(K(B ?\$,1(L(B ?\$,1(M(B ?\$,1(N(B ?\$,1(O(B
1310 (mapcar 1209 ?\$,1s (B ?\,A0(B ?\$,1)P(B ?\,A#(B ?\,A'(B ?\$,1s"(B ?\,A6(B ?\$,1(&(B ?\,A.(B ?\,A)(B ?\$,1ub(B ?\$,1("(B ?\$,1(r(B ?\$,1y (B ?\$,1(#(B ?\$,1(s(B
1311 (lambda (c) (decode-char 'ucs c)) 1210 ?\$,1x>(B ?\,A1(B ?\$,1y$(B ?\$,1y%(B ?\$,1(v(B ?\,A5(B ?\$,1)Q(B ?\$,1(((B ?\$,1($(B ?\$,1(t(B ?\$,1('(B ?\$,1(w(B ?\$,1()(B ?\$,1(y(B ?\$,1(*(B ?\$,1(z(B
1312 ;; mac-cyrillic (128..255) -> UCS mapping 1211 ?\$,1(x(B ?\$,1(%(B ?\,A,(B ?\$,1x:(B ?\$,1!R(B ?\$,1xh(B ?\$,1x&(B ?\,A+(B ?\,A;(B ?\$,1s&(B ?\,A (B ?\$,1(+(B ?\$,1({(B ?\$,1(,(B ?\$,1(|(B ?\$,1(u(B
1313 [ #x0410 ;; 128:CYRILLIC CAPITAL LETTER A 1212 ?\$,1rs(B ?\$,1rt(B ?\$,1r|(B ?\$,1r}(B ?\$,1rx(B ?\$,1ry(B ?\,Aw(B ?\$,1r~(B ?\$,1(.(B ?\$,1(~(B ?\$,1(/(B ?\$,1((B ?\$,1uV(B ?\$,1(!(B ?\$,1(q(B ?\$,1(o(B
1314 #x0411 ;; 129:CYRILLIC CAPITAL LETTER BE 1213 ?\$,1(P(B ?\$,1(Q(B ?\$,1(R(B ?\$,1(S(B ?\$,1(T(B ?\$,1(U(B ?\$,1(V(B ?\$,1(W(B ?\$,1(X(B ?\$,1(Y(B ?\$,1(Z(B ?\$,1([(B ?\$,1(\(B ?\$,1(](B ?\$,1(^(B ?\$,1(_(B
1315 #x0412 ;; 130:CYRILLIC CAPITAL LETTER VE 1214 ?\$,1(`(B ?\$,1(a(B ?\$,1(b(B ?\$,1(c(B ?\$,1(d(B ?\$,1(e(B ?\$,1(f(B ?\$,1(g(B ?\$,1(h(B ?\$,1(i(B ?\$,1(j(B ?\$,1(k(B ?\$,1(l(B ?\$,1(m(B ?\$,1(n(B ?\$,1tL(B]
1316 #x0413 ;; 131:CYRILLIC CAPITAL LETTER GHE
1317 #x0414 ;; 132:CYRILLIC CAPITAL LETTER DE
1318 #x0415 ;; 133:CYRILLIC CAPITAL LETTER IE
1319 #x0416 ;; 134:CYRILLIC CAPITAL LETTER ZHE
1320 #x0417 ;; 135:CYRILLIC CAPITAL LETTER ZE
1321 #x0418 ;; 136:CYRILLIC CAPITAL LETTER I
1322 #x0419 ;; 137:CYRILLIC CAPITAL LETTER SHORT I
1323 #x041A ;; 138:CYRILLIC CAPITAL LETTER KA
1324 #x041B ;; 139:CYRILLIC CAPITAL LETTER EL
1325 #x041C ;; 140:CYRILLIC CAPITAL LETTER EM
1326 #x041D ;; 141:CYRILLIC CAPITAL LETTER EN
1327 #x041E ;; 142:CYRILLIC CAPITAL LETTER O
1328 #x041F ;; 143:CYRILLIC CAPITAL LETTER PE
1329 #x0420 ;; 144:CYRILLIC CAPITAL LETTER ER
1330 #x0421 ;; 145:CYRILLIC CAPITAL LETTER ES
1331 #x0422 ;; 146:CYRILLIC CAPITAL LETTER TE
1332 #x0423 ;; 147:CYRILLIC CAPITAL LETTER U
1333 #x0424 ;; 148:CYRILLIC CAPITAL LETTER EF
1334 #x0425 ;; 149:CYRILLIC CAPITAL LETTER HA
1335 #x0426 ;; 150:CYRILLIC CAPITAL LETTER TSE
1336 #x0427 ;; 151:CYRILLIC CAPITAL LETTER CHE
1337 #x0428 ;; 152:CYRILLIC CAPITAL LETTER SHA
1338 #x0429 ;; 153:CYRILLIC CAPITAL LETTER SHCHA
1339 #x042A ;; 154:CYRILLIC CAPITAL LETTER HARD SIGN
1340 #x042B ;; 155:CYRILLIC CAPITAL LETTER YERU
1341 #x042C ;; 156:CYRILLIC CAPITAL LETTER SOFT SIGN
1342 #x042D ;; 157:CYRILLIC CAPITAL LETTER E
1343 #x042E ;; 158:CYRILLIC CAPITAL LETTER YU
1344 #x042F ;; 159:CYRILLIC CAPITAL LETTER YA
1345 #x2020 ;; 160:DAGGER
1346 #x00B0 ;; 161:DEGREE SIGN
1347 #x0490 ;; 162:CYRILLIC CAPITAL LETTER GHE WITH UPTURN
1348 #x00A3 ;; 163:POUND SIGN
1349 #x00A7 ;; 164:SECTION SIGN
1350 #x2022 ;; 165:BULLET
1351 #x00B6 ;; 166:PILCROW SIGN
1352 #x0406 ;; 167:CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
1353 #x00AE ;; 168:REGISTERED SIGN
1354 #x00A9 ;; 169:COPYRIGHT SIGN
1355 #x2122 ;; 170:TRADE MARK SIGN
1356 #x0402 ;; 171:CYRILLIC CAPITAL LETTER DJE
1357 #x0452 ;; 172:CYRILLIC SMALL LETTER DJE
1358 #x2260 ;; 173:NOT EQUAL TO
1359 #x0403 ;; 174:CYRILLIC CAPITAL LETTER GJE
1360 #x0453 ;; 175:CYRILLIC SMALL LETTER GJE
1361 #x221E ;; 176:INFINITY
1362 #x00B1 ;; 177:PLUS-MINUS SIGN
1363 #x2264 ;; 178:LESS-THAN OR EQUAL TO
1364 #x2265 ;; 179:GREATER-THAN OR EQUAL TO
1365 #x0456 ;; 180:CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
1366 #x00B5 ;; 181:MICRO SIGN
1367 #x0491 ;; 182:CYRILLIC SMALL LETTER GHE WITH UPTURN
1368 #x0408 ;; 183:CYRILLIC CAPITAL LETTER JE
1369 #x0404 ;; 184:CYRILLIC CAPITAL LETTER UKRAINIAN IE
1370 #x0454 ;; 185:CYRILLIC SMALL LETTER UKRAINIAN IE
1371 #x0407 ;; 186:CYRILLIC CAPITAL LETTER YI
1372 #x0457 ;; 187:CYRILLIC SMALL LETTER YI
1373 #x0409 ;; 188:CYRILLIC CAPITAL LETTER LJE
1374 #x0459 ;; 189:CYRILLIC SMALL LETTER LJE
1375 #x040A ;; 190:CYRILLIC CAPITAL LETTER NJE
1376 #x045A ;; 191:CYRILLIC SMALL LETTER NJE
1377 #x0458 ;; 192:CYRILLIC SMALL LETTER JE
1378 #x0405 ;; 193:CYRILLIC CAPITAL LETTER DZE
1379 #x00AC ;; 194:NOT SIGN
1380 #x221A ;; 195:SQUARE ROOT
1381 #x0192 ;; 196:LATIN SMALL LETTER F WITH HOOK
1382 #x2248 ;; 197:ALMOST EQUAL TO
1383 #x2206 ;; 198:INCREMENT
1384 #x00AB ;; 199:LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
1385 #x00BB ;; 200:RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
1386 #x2026 ;; 201:HORIZONTAL ELLIPSIS
1387 #x00A0 ;; 202:NO-BREAK SPACE
1388 #x040B ;; 203:CYRILLIC CAPITAL LETTER TSHE
1389 #x045B ;; 204:CYRILLIC SMALL LETTER TSHE
1390 #x040C ;; 205:CYRILLIC CAPITAL LETTER KJE
1391 #x045C ;; 206:CYRILLIC SMALL LETTER KJE
1392 #x0455 ;; 207:CYRILLIC SMALL LETTER DZE
1393 #x2013 ;; 208:EN DASH
1394 #x2014 ;; 209:EM DASH
1395 #x201C ;; 210:LEFT DOUBLE QUOTATION MARK
1396 #x201D ;; 211:RIGHT DOUBLE QUOTATION MARK
1397 #x2018 ;; 212:LEFT SINGLE QUOTATION MARK
1398 #x2019 ;; 213:RIGHT SINGLE QUOTATION MARK
1399 #x00F7 ;; 214:DIVISION SIGN
1400 #x201E ;; 215:DOUBLE LOW-9 QUOTATION MARK
1401 #x040E ;; 216:CYRILLIC CAPITAL LETTER SHORT U
1402 #x045E ;; 217:CYRILLIC SMALL LETTER SHORT U
1403 #x040F ;; 218:CYRILLIC CAPITAL LETTER DZHE
1404 #x045F ;; 219:CYRILLIC SMALL LETTER DZHE
1405 #x2116 ;; 220:NUMERO SIGN
1406 #x0401 ;; 221:CYRILLIC CAPITAL LETTER IO
1407 #x0451 ;; 222:CYRILLIC SMALL LETTER IO
1408 #x044F ;; 223:CYRILLIC SMALL LETTER YA
1409 #x0430 ;; 224:CYRILLIC SMALL LETTER A
1410 #x0431 ;; 225:CYRILLIC SMALL LETTER BE
1411 #x0432 ;; 226:CYRILLIC SMALL LETTER VE
1412 #x0433 ;; 227:CYRILLIC SMALL LETTER GHE
1413 #x0434 ;; 228:CYRILLIC SMALL LETTER DE
1414 #x0435 ;; 229:CYRILLIC SMALL LETTER IE
1415 #x0436 ;; 230:CYRILLIC SMALL LETTER ZHE
1416 #x0437 ;; 231:CYRILLIC SMALL LETTER ZE
1417 #x0438 ;; 232:CYRILLIC SMALL LETTER I
1418 #x0439 ;; 233:CYRILLIC SMALL LETTER SHORT I
1419 #x043A ;; 234:CYRILLIC SMALL LETTER KA
1420 #x043B ;; 235:CYRILLIC SMALL LETTER EL
1421 #x043C ;; 236:CYRILLIC SMALL LETTER EM
1422 #x043D ;; 237:CYRILLIC SMALL LETTER EN
1423 #x043E ;; 238:CYRILLIC SMALL LETTER O
1424 #x043F ;; 239:CYRILLIC SMALL LETTER PE
1425 #x0440 ;; 240:CYRILLIC SMALL LETTER ER
1426 #x0441 ;; 241:CYRILLIC SMALL LETTER ES
1427 #x0442 ;; 242:CYRILLIC SMALL LETTER TE
1428 #x0443 ;; 243:CYRILLIC SMALL LETTER U
1429 #x0444 ;; 244:CYRILLIC SMALL LETTER EF
1430 #x0445 ;; 245:CYRILLIC SMALL LETTER HA
1431 #x0446 ;; 246:CYRILLIC SMALL LETTER TSE
1432 #x0447 ;; 247:CYRILLIC SMALL LETTER CHE
1433 #x0448 ;; 248:CYRILLIC SMALL LETTER SHA
1434 #x0449 ;; 249:CYRILLIC SMALL LETTER SHCHA
1435 #x044A ;; 250:CYRILLIC SMALL LETTER HARD SIGN
1436 #x044B ;; 251:CYRILLIC SMALL LETTER YERU
1437 #x044C ;; 252:CYRILLIC SMALL LETTER SOFT SIGN
1438 #x044D ;; 253:CYRILLIC SMALL LETTER E
1439 #x044E ;; 254:CYRILLIC SMALL LETTER YU
1440 #x20AC ;; 255:EURO SIGN
1441 ]))
1442 "Mac Cyrillic Encoding (MIME:x-mac-cyrillic).") 1215 "Mac Cyrillic Encoding (MIME:x-mac-cyrillic).")
1443 (coding-system-put 'mac-cyrillic 'mime-charset 'x-mac-cyrillic) 1216 (coding-system-put 'mac-cyrillic 'mime-charset 'x-mac-cyrillic)
1217
1218 (let
1219 ((encoding-vector (make-vector 256 nil))
1220 (i 0)
1221 (vec
1222 (vconcat
1223 (make-vector 32 nil)
1224 ;; mac-symbol (32..126) -> emacs-mule mapping
1225 [?\ ?\! ?\$,1x (B ?\# ?\$,1x#(B ?\% ?\& ?\$,1x-(B ?\( ?\) ?\$,1x7(B ?\+ ?\, ?\$,1x2(B ?\. ?\/
1226 ?\0 ?\1 ?\2 ?\3 ?\4 ?\5 ?\6 ?\7 ?\8 ?\9 ?\: ?\; ?\< ?\= ?\> ?\?
1227 ?\$,1xe(B ?\$,1&q(B ?\$,1&r(B ?\$,1''(B ?\$,1&t(B ?\$,1&u(B ?\$,1'&(B ?\$,1&s(B ?\$,1&w(B ?\$,1&y(B ?\$,1'Q(B ?\$,1&z(B ?\$,1&{(B ?\$,1&|(B ?\$,1&}(B ?\$,1&(B
1228 ?\$,1' (B ?\$,1&x(B ?\$,1'!(B ?\$,1'#(B ?\$,1'$(B ?\$,1'%(B ?\$,1'B(B ?\$,1')(B ?\$,1&~(B ?\$,1'((B ?\$,1&v(B ?\[ ?\$,1xT(B ?\] ?\$,1ye(B ?\_
1229 ?\$,3bE(B ?\$,1'1(B ?\$,1'2(B ?\$,1'G(B ?\$,1'4(B ?\$,1'5(B ?\$,1'F(B ?\$,1'3(B ?\$,1'7(B ?\$,1'9(B ?\$,1'U(B ?\$,1':(B ?\$,1';(B ?\$,1'<(B ?\$,1'=(B ?\$,1'?(B
1230 ?\$,1'@(B ?\$,1'8(B ?\$,1'A(B ?\$,1'C(B ?\$,1'D(B ?\$,1'E(B ?\$,1'V(B ?\$,1'I(B ?\$,1'>(B ?\$,1'H(B ?\$,1'6(B ?\{ ?\| ?\} ?\$,1x\(B]
1231 (make-vector (- 160 127) nil)
1232 ;; mac-symbol (160..254) -> emacs-mule mapping
1233 [?\$,1tL(B ?\$,1'R(B ?\$,1s2(B ?\$,1y$(B ?\$,1sD(B ?\$,1x>(B ?\$,1!R(B ?\$,2#c(B ?\$,2#f(B ?\$,2#e(B ?\$,2#`(B ?\$,1vt(B ?\$,1vp(B ?\$,1vq(B ?\$,1vr(B ?\$,1vs(B
1234 ?\,A0(B ?\,A1(B ?\$,1s3(B ?\$,1y%(B ?\,AW(B ?\$,1x=(B ?\$,1x"(B ?\$,1s"(B ?\,Aw(B ?\$,1y (B ?\$,1y!(B ?\$,1xh(B ?\$,1s&(B ?\$,1|p(B ?\$,1|O(B ?\$,1w5(B
1235 ?\$,1uu(B ?\$,1uQ(B ?\$,1u\(B ?\$,1uX(B ?\$,1yW(B ?\$,1yU(B ?\$,1x%(B ?\$,1xI(B ?\$,1xJ(B ?\$,1yC(B ?\$,1yG(B ?\$,1yD(B ?\$,1yB(B ?\$,1yF(B ?\$,1x((B ?\$,1x)(B
1236 ?\$,1x@(B ?\$,1x'(B ?\,A.(B ?\,A)(B ?\$,1ub(B ?\$,1x/(B ?\$,1x:(B ?\$,1z%(B ?\,A,(B ?\$,1xG(B ?\$,1xH(B ?\$,1wT(B ?\$,1wP(B ?\$,1wQ(B ?\$,1wR(B ?\$,1wS(B
1237 ?\$,2"*(B ?\$B!R(B ?\,A.(B ?\,A)(B ?\$,1ub(B ?\$,1x1(B ?\$,1|;(B ?\$,1|<(B ?\$,1|=(B ?\$,1|A(B ?\$,1|B(B ?\$,1|C(B ?\$,1|G(B ?\$,1|H(B ?\$,1|I(B ?\$,1|J(B
1238 ?\$,3b_(B ?\$B!S(B ?\$,1xK(B ?\$,1{ (B ?\$,1|N(B ?\$,1{!(B ?\$,1|>(B ?\$,1|?(B ?\$,1|@(B ?\$,1|D(B ?\$,1|E(B ?\$,1|F(B ?\$,1|K(B ?\$,1|L(B ?\$,1|M(B]
1239 ))
1240 len translation-table)
1241 (setq len (length vec))
1242 (while (< i len)
1243 (aset encoding-vector i
1244 (if (null (aref vec i)) i
1245 ;; (decode-char 'ucs (aref vec i))
1246 (aref vec i)
1247 ))
1248 (setq i (1+ i)))
1249 (while (< i 256)
1250 (setq i (1+ i)))
1251 (setq translation-table
1252 (make-translation-table-from-vector encoding-vector))
1253 ;; (define-translation-table 'mac-symbol-decoder translation-table)
1254 (define-translation-table 'mac-symbol-encoder
1255 (char-table-extra-slot translation-table 0)))
1256
1257 (let
1258 ((encoding-vector (make-vector 256 nil))
1259 (i 0)
1260 (vec
1261 (vconcat
1262 (make-vector 32 nil)
1263 ;; mac-dingbats (32..126) -> emacs-mule mapping
1264 [?\ ?\$,2%A(B ?\$,2%B(B ?\$,2%C(B ?\$,2%D(B ?\$,2"n(B ?\$,2%F(B ?\$,2%G(B ?\$,2%H(B ?\$,2%I(B ?\$,2"{(B ?\$,2"~(B ?\$,2%L(B ?\$,2%M(B ?\$,2%N(B ?\$,2%O(B
1265 ?\$,2%P(B ?\$,2%Q(B ?\$,2%R(B ?\$,2%S(B ?\$,2%T(B ?\$,2%U(B ?\$,2%V(B ?\$,2%W(B ?\$,2%X(B ?\$,2%Y(B ?\$,2%Z(B ?\$,2%[(B ?\$,2%\(B ?\$,2%](B ?\$,2%^(B ?\$,2%_(B
1266 ?\$,2%`(B ?\$,2%a(B ?\$,2%b(B ?\$,2%c(B ?\$,2%d(B ?\$,2%e(B ?\$,2%f(B ?\$,2%g(B ?\$,2"e(B ?\$,2%i(B ?\$,2%j(B ?\$,2%k(B ?\$,2%l(B ?\$,2%m(B ?\$,2%n(B ?\$,2%o(B
1267 ?\$,2%p(B ?\$,2%q(B ?\$,2%r(B ?\$,2%s(B ?\$,2%t(B ?\$,2%u(B ?\$,2%v(B ?\$,2%w(B ?\$,2%x(B ?\$,2%y(B ?\$,2%z(B ?\$,2%{(B ?\$,2%|(B ?\$,2%}(B ?\$,2%~(B ?\$,2%(B
1268 ?\$,2& (B ?\$,2&!(B ?\$,2&"(B ?\$,2&#(B ?\$,2&$(B ?\$,2&%(B ?\$,2&&(B ?\$,2&'(B ?\$,2&((B ?\$,2&)(B ?\$,2&*(B ?\$,2&+(B ?\$,2"/(B ?\$,2&-(B ?\$,2!`(B ?\$,2&/(B
1269 ?\$,2&0(B ?\$,2&1(B ?\$,2&2(B ?\$,2!r(B ?\$,2!|(B ?\$,2"&(B ?\$,2&6(B ?\$,2"7(B ?\$,2&8(B ?\$,2&9(B ?\$,2&:(B ?\$,2&;(B ?\$,2&<(B ?\$,2&=(B ?\$,2&>(B]
1270 [nil]
1271 ;; mac-dingbats (128..141) -> emacs-mule mapping
1272 [?\$,2&H(B ?\$,2&I(B ?\$,2&J(B ?\$,2&K(B ?\$,2&L(B ?\$,2&M(B ?\$,2&N(B ?\$,2&O(B ?\$,2&P(B ?\$,2&Q(B ?\$,2&R(B ?\$,2&S(B ?\$,2&T(B ?\$,2&U(B]
1273 (make-vector (- 161 142) nil)
1274 ;; mac-dingbats (161..239) -> emacs-mule mapping
1275 [?\$,2&A(B ?\$,2&B(B ?\$,2&C(B ?\$,2&D(B ?\$,2&E(B ?\$,2&F(B ?\$,2&G(B ?\$,2#c(B ?\$,2#f(B ?\$,2#e(B ?\$,2#`(B ?\$,1~@(B ?\$,1~A(B ?\$,1~B(B ?\$,1~C(B
1276 ?\$,1~D(B ?\$,1~E(B ?\$,1~F(B ?\$,1~G(B ?\$,1~H(B ?\$,1~I(B ?\$,2&V(B ?\$,2&W(B ?\$,2&X(B ?\$,2&Y(B ?\$,2&Z(B ?\$,2&[(B ?\$,2&\(B ?\$,2&](B ?\$,2&^(B ?\$,2&_(B
1277 ?\$,2&`(B ?\$,2&a(B ?\$,2&b(B ?\$,2&c(B ?\$,2&d(B ?\$,2&e(B ?\$,2&f(B ?\$,2&g(B ?\$,2&h(B ?\$,2&i(B ?\$,2&j(B ?\$,2&k(B ?\$,2&l(B ?\$,2&m(B ?\$,2&n(B ?\$,2&o(B
1278 ?\$,2&p(B ?\$,2&q(B ?\$,2&r(B ?\$,2&s(B ?\$,2&t(B ?\$,1vr(B ?\$,1vt(B ?\$,1vu(B ?\$,2&x(B ?\$,2&y(B ?\$,2&z(B ?\$,2&{(B ?\$,2&|(B ?\$,2&}(B ?\$,2&~(B ?\$,2&(B
1279 ?\$,2' (B ?\$,2'!(B ?\$,2'"(B ?\$,2'#(B ?\$,2'$(B ?\$,2'%(B ?\$,2'&(B ?\$,2''(B ?\$,2'((B ?\$,2')(B ?\$,2'*(B ?\$,2'+(B ?\$,2',(B ?\$,2'-(B ?\$,2'.(B ?\$,2'/(B]
1280 [nil]
1281 ;; mac-dingbats (241..254) -> emacs-mule mapping
1282 [?\$,2'1(B ?\$,2'2(B ?\$,2'3(B ?\$,2'4(B ?\$,2'5(B ?\$,2'6(B ?\$,2'7(B ?\$,2'8(B ?\$,2'9(B ?\$,2':(B ?\$,2';(B ?\$,2'<(B ?\$,2'=(B ?\$,2'>(B]
1283 ))
1284 len translation-table)
1285 (setq len (length vec))
1286 (while (< i len)
1287 (aset encoding-vector i
1288 (if (null (aref vec i)) i
1289 ;; (decode-char 'ucs (aref vec i))
1290 (aref vec i)
1291 ))
1292 (setq i (1+ i)))
1293 (while (< i 256)
1294 (setq i (1+ i)))
1295 (setq translation-table
1296 (make-translation-table-from-vector encoding-vector))
1297 ;; (define-translation-table 'mac-dingbats-decoder translation-table)
1298 (define-translation-table 'mac-dingbats-encoder
1299 (char-table-extra-slot translation-table 0)))
1444 1300
1445 (defvar mac-font-encoder-list 1301 (defvar mac-font-encoder-list
1446 '(("mac-roman" mac-roman-encoder 1302 '(("mac-roman" mac-roman-encoder
1447 ccl-encode-mac-roman-font "%s") 1303 ccl-encode-mac-roman-font "%s")
1448 ("mac-centraleurroman" encode-mac-centraleurroman 1304 ("mac-centraleurroman" encode-mac-centraleurroman
1449 ccl-encode-mac-centraleurroman-font "%s ce") 1305 ccl-encode-mac-centraleurroman-font "%s ce")
1450 ("mac-cyrillic" encode-mac-cyrillic 1306 ("mac-cyrillic" encode-mac-cyrillic
1451 ccl-encode-mac-cyrillic-font "%s cy"))) 1307 ccl-encode-mac-cyrillic-font "%s cy")
1308 ("mac-symbol" mac-symbol-encoder
1309 ccl-encode-mac-symbol-font "symbol")
1310 ("mac-dingbats" mac-dingbats-encoder
1311 ccl-encode-mac-dingbats-font "zapf dingbats")))
1452 1312
1453 (let ((encoder-list 1313 (let ((encoder-list
1454 (mapcar (lambda (lst) (nth 1 lst)) mac-font-encoder-list)) 1314 (mapcar (lambda (lst) (nth 1 lst)) mac-font-encoder-list))
1455 (charset-list 1315 (charset-list
1456 '(latin-iso8859-2 1316 '(latin-iso8859-2
1494 (translate-character encode-mac-cyrillic r0 r1) 1354 (translate-character encode-mac-cyrillic r0 r1)
1495 ((r1 <<= 7) 1355 ((r1 <<= 7)
1496 (r1 |= r2) 1356 (r1 |= r2)
1497 (translate-character encode-mac-cyrillic r0 r1))))) 1357 (translate-character encode-mac-cyrillic r0 r1)))))
1498 "CCL program for Mac Cyrillic font") 1358 "CCL program for Mac Cyrillic font")
1359
1360 (define-ccl-program ccl-encode-mac-symbol-font
1361 `(0
1362 (if (r0 != ,(charset-id 'ascii))
1363 (if (r0 <= ?\x8f)
1364 (translate-character mac-symbol-encoder r0 r1)
1365 ((r1 <<= 7)
1366 (r1 |= r2)
1367 (translate-character mac-symbol-encoder r0 r1)))))
1368 "CCL program for Mac Symbol font")
1369
1370 (define-ccl-program ccl-encode-mac-dingbats-font
1371 `(0
1372 (if (r0 != ,(charset-id 'ascii))
1373 (if (r0 <= ?\x8f)
1374 (translate-character mac-dingbats-encoder r0 r1)
1375 ((r1 <<= 7)
1376 (r1 |= r2)
1377 (translate-character mac-dingbats-encoder r0 r1)))))
1378 "CCL program for Mac Dingbats font")
1499 1379
1500 1380
1501 (setq font-ccl-encoder-alist 1381 (setq font-ccl-encoder-alist
1502 (nconc 1382 (nconc
1503 (mapcar (lambda (lst) (cons (nth 0 lst) (nth 2 lst))) 1383 (mapcar (lambda (lst) (cons (nth 0 lst) (nth 2 lst)))