502
+ − 1 ;;; mule-charset.el --- Charset functions for Mule. -*- coding: iso-2022-7bit; -*-
428
+ − 2
788
+ − 3 ;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN.
+ − 4 ;; Copyright (C) 1992, 2001 Free Software Foundation, Inc.
+ − 5 ;; Licensed to the Free Software Foundation.
428
+ − 6 ;; Copyright (C) 1995 Amdahl Corporation.
+ − 7 ;; Copyright (C) 1996 Sun Microsystems.
777
+ − 8 ;; Copyright (C) 2002 Ben Wing.
428
+ − 9
+ − 10 ;; Author: Unknown
+ − 11 ;; Keywords: i18n, mule, internal
+ − 12
+ − 13 ;; This file is part of XEmacs.
+ − 14
+ − 15 ;; XEmacs is free software; you can redistribute it and/or modify it
+ − 16 ;; under the terms of the GNU General Public License as published by
+ − 17 ;; the Free Software Foundation; either version 2, or (at your option)
+ − 18 ;; any later version.
+ − 19
+ − 20 ;; XEmacs is distributed in the hope that it will be useful, but
+ − 21 ;; WITHOUT ANY WARRANTY; without even the implied warranty of
+ − 22 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ − 23 ;; General Public License for more details.
+ − 24
+ − 25 ;; You should have received a copy of the GNU General Public License
+ − 26 ;; along with XEmacs; see the file COPYING. If not, write to the
+ − 27 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ − 28 ;; Boston, MA 02111-1307, USA.
+ − 29
+ − 30 ;;; Synched up with: Not synched. API at source level synched with FSF 20.3.9.
+ − 31
+ − 32 ;;; Commentary:
+ − 33
+ − 34 ;; These functions are not compatible at the bytecode level with Emacs/Mule,
+ − 35 ;; and they never will be. -sb [1999-05-26]
+ − 36
+ − 37 ;;; Code:
+ − 38
+ − 39 ;;;; Classifying text according to charsets
+ − 40
1309
+ − 41 ;; the old version was broken in a couple of ways
+ − 42 ;; this is one of several versions, I tried a hash as well as the
+ − 43 ;; `prev-charset' cache used in the old version, but this was definitely
+ − 44 ;; faster than the hash version and marginally faster than the prev-charset
+ − 45 ;; version
+ − 46 ;; #### this really needs to be moved into C
428
+ − 47 (defun charsets-in-region (start end &optional buffer)
+ − 48 "Return a list of the charsets in the region between START and END.
+ − 49 BUFFER defaults to the current buffer if omitted."
+ − 50 (let (list)
+ − 51 (save-excursion
+ − 52 (if buffer
+ − 53 (set-buffer buffer))
+ − 54 (save-restriction
+ − 55 (narrow-to-region start end)
+ − 56 (goto-char (point-min))
+ − 57 (while (not (eobp))
1309
+ − 58 ;; the first test will usually succeed on testing the
+ − 59 ;; car of the list; don't waste time let-binding.
+ − 60 (or (memq (char-charset (char-after (point))) list)
+ − 61 (setq list (cons (char-charset (char-after (point))) list)))
428
+ − 62 (forward-char))))
+ − 63 list))
+ − 64
+ − 65 (defun charsets-in-string (string)
+ − 66 "Return a list of the charsets in STRING."
1309
+ − 67 (let (list)
+ − 68 (mapc (lambda (ch)
+ − 69 ;; the first test will usually succeed on testing the
+ − 70 ;; car of the list; don't waste time let-binding.
+ − 71 (or (memq (char-charset ch) list)
+ − 72 (setq list (cons (char-charset ch) list))))
+ − 73 string)
428
+ − 74 list))
+ − 75
771
+ − 76 (defalias 'find-charset-string 'charsets-in-string)
+ − 77 (defalias 'find-charset-region 'charsets-in-region)
818
+ − 78
428
+ − 79
+ − 80 ;;;; Charset accessors
+ − 81
+ − 82 (defun charset-iso-graphic-plane (charset)
+ − 83 "Return the `graphic' property of CHARSET.
+ − 84 See `make-charset'."
+ − 85 (charset-property charset 'graphic))
+ − 86
+ − 87 (defun charset-iso-final-char (charset)
+ − 88 "Return the final byte of the ISO 2022 escape sequence designating CHARSET."
+ − 89 (charset-property charset 'final))
+ − 90
+ − 91 (defun charset-chars (charset)
+ − 92 "Return the number of characters per dimension of CHARSET."
+ − 93 (charset-property charset 'chars))
+ − 94
+ − 95 (defun charset-width (charset)
+ − 96 "Return the number of display columns per character of CHARSET.
+ − 97 This only applies to TTY mode (under X, the actual display width can
+ − 98 be automatically determined)."
+ − 99 (charset-property charset 'columns))
+ − 100
+ − 101 ;; #### FSFmacs returns 0
+ − 102 (defun charset-direction (charset)
+ − 103 "Return the display direction (0 for `l2r' or 1 for `r2l') of CHARSET.
+ − 104 Only left-to-right is currently implemented."
+ − 105 (if (eq (charset-property charset 'direction) 'l2r)
+ − 106 0
+ − 107 1))
+ − 108
+ − 109 ;; Not in Emacs/Mule
+ − 110 (defun charset-registry (charset)
+ − 111 "Return the registry of CHARSET.
+ − 112 This is a regular expression matching the registry field of fonts
+ − 113 that can display the characters in CHARSET."
+ − 114 (charset-property charset 'registry))
+ − 115
+ − 116 (defun charset-ccl-program (charset)
+ − 117 "Return the CCL program of CHARSET.
+ − 118 See `make-charset'."
+ − 119 (charset-property charset 'ccl-program))
+ − 120
+ − 121 (defun charset-bytes (charset)
+ − 122 "Useless in XEmacs, returns 1."
+ − 123 1)
+ − 124
+ − 125 (define-obsolete-function-alias 'charset-columns 'charset-width) ;; 19990409
+ − 126 (define-obsolete-function-alias 'charset-final 'charset-iso-final-char) ;; 19990409
+ − 127 (define-obsolete-function-alias 'charset-graphic 'charset-iso-graphic-plane) ;; 19990409
+ − 128 (define-obsolete-function-alias 'charset-doc-string 'charset-description) ;; 19990409
+ − 129
+ − 130 ;;;; Define setf methods for all settable Charset properties
+ − 131
+ − 132 (defsetf charset-registry set-charset-registry)
+ − 133 (defsetf charset-ccl-program set-charset-ccl-program)
+ − 134
+ − 135 ;;; FSF compatibility functions
+ − 136 (defun charset-after (&optional pos)
+ − 137 "Return charset of a character in current buffer at position POS.
+ − 138 If POS is nil, it defauls to the current point.
+ − 139 If POS is out of range, the value is nil."
+ − 140 (when (null pos)
+ − 141 (setq pos (point)))
+ − 142 (check-argument-type 'integerp pos)
+ − 143 (unless (or (< pos (point-min))
+ − 144 (> pos (point-max)))
+ − 145 (char-charset (char-after pos))))
+ − 146
+ − 147 ;; Yuck!
771
+ − 148 ;; We're not going to support these.
+ − 149 ;(defun charset-info (charset) [incredibly broken function with random vectors]
+ − 150 ;(defun define-charset (...) [incredibly broken function with random vectors]
428
+ − 151
+ − 152 ;;; Charset property
+ − 153
+ − 154 (defalias 'get-charset-property 'get)
+ − 155 (defalias 'put-charset-property 'put)
+ − 156 (defalias 'charset-plist 'object-plist)
+ − 157 (defalias 'set-charset-plist 'setplist)
+ − 158
771
+ − 159
788
+ − 160 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+ − 161 ; translation tables ;
+ − 162 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+ − 163
+ − 164 (defstruct (translation-table (:constructor internal-make-translation-table))
+ − 165 forward
+ − 166 reverse)
+ − 167
+ − 168 (defun make-translation-table (&rest args)
+ − 169 "Make a translation table from arguments.
2116
+ − 170 A translation table is a char table intended for character translation
+ − 171 in CCL programs.
788
+ − 172
+ − 173 Each argument is a list of elemnts of the form (FROM . TO), where FROM
+ − 174 is a character to be translated to TO.
+ − 175
+ − 176 FROM can be a generic character (see `make-char'). In this case, TO is
+ − 177 a generic character containing the same number of characters, or a
+ − 178 ordinary character. If FROM and TO are both generic characters, all
+ − 179 characters belonging to FROM are translated to characters belonging to TO
+ − 180 without changing their position code(s).
+ − 181
+ − 182 The arguments and forms in each argument are processed in the given
+ − 183 order, and if a previous form already translates TO to some other
+ − 184 character, say TO-ALT, FROM is also translated to TO-ALT."
+ − 185 (let ((table (internal-make-translation-table
+ − 186 :forward (make-char-table 'generic)))
+ − 187 revlist)
+ − 188 (while args
+ − 189 (let ((elts (car args)))
+ − 190 (while elts
+ − 191 (let* ((from (car (car elts)))
+ − 192 (from-i 0) ; degree of freedom of FROM
+ − 193 (from-rev (nreverse (split-char from)))
+ − 194 (to (cdr (car elts)))
+ − 195 (to-i 0) ; degree of freedom of TO
+ − 196 (to-rev (nreverse (split-char to))))
+ − 197 ;; Check numbers of heading 0s in FROM-REV and TO-REV.
+ − 198 (while (eq (car from-rev) 0)
+ − 199 (setq from-i (1+ from-i) from-rev (cdr from-rev)))
+ − 200 (while (eq (car to-rev) 0)
+ − 201 (setq to-i (1+ to-i) to-rev (cdr to-rev)))
+ − 202 (if (and (/= from-i to-i) (/= to-i 0))
+ − 203 (error "Invalid character pair (%d . %d)" from to))
+ − 204 ;; If we have already translated TO to TO-ALT, FROM should
+ − 205 ;; also be translated to TO-ALT. But, this is only if TO
+ − 206 ;; is a generic character or TO-ALT is not a generic
+ − 207 ;; character.
+ − 208 (let ((to-alt (get-char-table to table)))
+ − 209 (if (and to-alt
+ − 210 (or (> to-i 0) (not (find-charset to-alt))))
+ − 211 (setq to to-alt)))
+ − 212 (if (> from-i 0)
+ − 213 (set-char-table-default table from to)
+ − 214 (put-char-table from to table))
+ − 215 ;; If we have already translated some chars to FROM, they
+ − 216 ;; should also be translated to TO.
+ − 217 (let ((l (assq from revlist)))
+ − 218 (if l
+ − 219 (let ((ch (car l)))
+ − 220 (setcar l to)
+ − 221 (setq l (cdr l))
+ − 222 (while l
+ − 223 (put-char-table ch to table)
+ − 224 (setq l (cdr l)) ))))
+ − 225 ;; Now update REVLIST.
+ − 226 (let ((l (assq to revlist)))
+ − 227 (if l
+ − 228 (setcdr l (cons from (cdr l)))
+ − 229 (setq revlist (cons (list to from) revlist)))))
+ − 230 (setq elts (cdr elts))))
+ − 231 (setq args (cdr args)))
+ − 232 ;; Return TABLE just created.
+ − 233 table))
+ − 234
+ − 235 ;; Do we really need this?
+ − 236 ; (defun make-translation-table-from-vector (vec)
+ − 237 ; "Make translation table from decoding vector VEC.
+ − 238 ; VEC is an array of 256 elements to map unibyte codes to multibyte characters.
+ − 239 ; See also the variable `nonascii-translation-table'."
+ − 240 ; (let ((table (make-char-table 'translation-table))
+ − 241 ; (rev-table (make-char-table 'translation-table))
+ − 242 ; (i 0)
+ − 243 ; ch)
+ − 244 ; (while (< i 256)
+ − 245 ; (setq ch (aref vec i))
+ − 246 ; (aset table i ch)
+ − 247 ; (if (>= ch 256)
+ − 248 ; (aset rev-table ch i))
+ − 249 ; (setq i (1+ i)))
+ − 250 ; (set-char-table-extra-slot table 0 rev-table)
+ − 251 ; table))
+ − 252
+ − 253 (defvar named-translation-table-hash-table (make-hash-table))
+ − 254
+ − 255 (defun define-translation-table (symbol &rest args)
+ − 256 "Define SYMBOL as the name of translation table made by ARGS.
+ − 257 This sets up information so that the table can be used for
+ − 258 translations in a CCL program.
+ − 259
+ − 260 If the first element of ARGS is a translation table, just define SYMBOL to
+ − 261 name it. (Note that this function does not bind SYMBOL.)
+ − 262
+ − 263 Any other ARGS should be suitable as arguments of the function
+ − 264 `make-translation-table' (which see).
+ − 265
+ − 266 Look up a named translation table using `find-translation-table' or
+ − 267 `get-translation-table'."
+ − 268 (let ((table (if (translation-table-p (car args))
+ − 269 (car args)
+ − 270 (apply 'make-translation-table args))))
+ − 271 (puthash symbol table named-translation-table-hash-table)))
+ − 272
+ − 273 (defun find-translation-table (table-or-name)
+ − 274 "Retrieve the translation table of the given name.
+ − 275 If TABLE-OR-NAME is a translation table object, it is simply returned.
+ − 276 Otherwise, TABLE-OR-NAME should be a symbol. If there is no such
+ − 277 translation table, nil is returned. Otherwise the associated translation
+ − 278 table object is returned."
+ − 279 (if (translation-table-p table-or-name)
+ − 280 table-or-name
+ − 281 (check-argument-type 'symbolp table-or-name)
+ − 282 (gethash table-or-name named-translation-table-hash-table)))
+ − 283
+ − 284 (defun get-translation-table (table-or-name)
+ − 285 "Retrieve the translation table of the given name.
+ − 286 Same as `find-translation-table' except an error is signalled if there is
+ − 287 no such translation table instead of returning nil."
+ − 288 (or (find-translation-table table-or-name)
+ − 289 (error 'invalid-argument "No such translation table" table-or-name)))
+ − 290
+ − 291
442
+ − 292 ;; Setup auto-fill-chars for charsets that should invoke auto-filling.
777
+ − 293 ;; SPACE and NEWLINE are already set.
442
+ − 294 (let ((l '(katakana-jisx0201
+ − 295 japanese-jisx0208 japanese-jisx0212
+ − 296 chinese-gb2312 chinese-big5-1 chinese-big5-2)))
+ − 297 (while l
+ − 298 (put-char-table (car l) t auto-fill-chars)
+ − 299 (setq l (cdr l))))
+ − 300
778
+ − 301
+ − 302 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+ − 303 ; charsets ;
+ − 304 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+ − 305
+ − 306 ;; Synched up with: FSF 21.1.
+ − 307
+ − 308 ;; All FSF charset definitions are in mule-conf.el. I copied the relevant
+ − 309 ;; part of that file below, then converted all charset definitions using
+ − 310 ;; the macro below, then globally replaced 'direction 0' with 'direction
+ − 311 ;; l2r' and 'direction 1' with 'direction r2l', then commented everything
+ − 312 ;; out. Copy the definitions as necessary to individual files.
+ − 313
+ − 314 ;; Kbd macro to convert from FSF-style define-charset to our make-charset.
+ − 315
+ − 316 ; (setq last-kbd-macro (read-kbd-macro
+ − 317 ; "<right> M-d make <M-right> M-d <home> <down> TAB '[dimension DEL SPC <M-right> RET TAB chars SPC <M-right> RET TAB columns SPC <M-right> RET TAB direction SPC <M-right> RET TAB final SPC <M-right> RET TAB graphic SPC <M-right> RET TAB short- name SPC <M-right> RET TAB long- name SPC <M-right> RET TAB <S-M-right> <f2> DEL TAB <end> ] <M-left> <end> SPC <f4> 3*<M-left> <left> <M-right> RET <down>"))
+ − 318
+ − 319 ;; Kbd macro to take one registry entry from the list of registry entries,
+ − 320 ;; find the appropriate make-charset call, and add the appropriate registry
+ − 321 ;; property.
+ − 322
+ − 323 ; (setq last-kbd-macro (read-kbd-macro
+ − 324 ; "3*<right> <S-M-right> C-x x 1 <right> <S-M-right> C-x x 2 <home> C-x r m foo RET <M-down> M-x sear TAB for TAB RET C-x g 1 RET C-s dimen RET <end> RET TAB 3*<backspace> registry SPC C-x g 2 C-x r b RET <down>"))
+ − 325
+ − 326 ;; List from FSF international/fontset.el of registries for charsets.
+ − 327
+ − 328 ;; latin-iso8859-1 "ISO8859-1"
+ − 329 ;; latin-iso8859-2 "ISO8859-2"
+ − 330 ;; latin-iso8859-3 "ISO8859-3"
+ − 331 ;; latin-iso8859-4 "ISO8859-4"
+ − 332 ;; thai-tis620 "TIS620"
+ − 333 ;; greek-iso8859-7 "ISO8859-7"
+ − 334 ;; arabic-iso8859-6 "ISO8859-6"
+ − 335 ;; hebrew-iso8859-8 "ISO8859-8"
+ − 336 ;; katakana-jisx0201 "JISX0201"
+ − 337 ;; latin-jisx0201 "JISX0201"
+ − 338 ;; cyrillic-iso8859-5 "ISO8859-5"
+ − 339 ;; latin-iso8859-9 "ISO8859-9"
+ − 340 ;; japanese-jisx0208-1978 "JISX0208.1978"
+ − 341 ;; chinese-gb2312 "GB2312.1980"
+ − 342 ;; japanese-jisx0208 "JISX0208.1990"
+ − 343 ;; korean-ksc5601 "KSC5601.1989"
+ − 344 ;; japanese-jisx0212 "JISX0212"
+ − 345 ;; chinese-cns11643-1 "CNS11643.1992-1"
+ − 346 ;; chinese-cns11643-2 "CNS11643.1992-2"
+ − 347 ;; chinese-cns11643-3 "CNS11643.1992-3"
+ − 348 ;; chinese-cns11643-4 "CNS11643.1992-4"
+ − 349 ;; chinese-cns11643-5 "CNS11643.1992-5"
+ − 350 ;; chinese-cns11643-6 "CNS11643.1992-6"
+ − 351 ;; chinese-cns11643-7 "CNS11643.1992-7"
+ − 352 ;; chinese-big5-1 "Big5"
+ − 353 ;; chinese-big5-2 "Big5"
+ − 354 ;; chinese-sisheng "sisheng_cwnn"
+ − 355 ;; vietnamese-viscii-lower "VISCII1.1"
+ − 356 ;; vietnamese-viscii-upper "VISCII1.1"
+ − 357 ;; arabic-digit "MuleArabic-0"
+ − 358 ;; arabic-1-column "MuleArabic-1"
+ − 359 ;; arabic-2-column "MuleArabic-2"
+ − 360 ;; ipa "MuleIPA"
+ − 361 ;; ethiopic "Ethiopic-Unicode"
+ − 362 ;; ascii-right-to-left "ISO8859-1"
+ − 363 ;; indian-is13194 "IS13194-Devanagari"
+ − 364 ;; indian-2-column "MuleIndian-2"
+ − 365 ;; indian-1-column "MuleIndian-1"
+ − 366 ;; lao "MuleLao-1"
+ − 367 ;; tibetan "MuleTibetan-2"
+ − 368 ;; tibetan-1-column "MuleTibetan-1"
+ − 369 ;; latin-iso8859-14 "ISO8859-14"
+ − 370 ;; latin-iso8859-15 "ISO8859-15"
+ − 371 ;; mule-unicode-0100-24ff "ISO10646-1"
+ − 372 ;; mule-unicode-2500-33ff "ISO10646-1"
+ − 373 ;; mule-unicode-e000-ffff "ISO10646-1"
+ − 374 ;; japanese-jisx0213-1 "JISX0213.2000-1"
+ − 375 ;; japanese-jisx0213-2 "JISX0213.2000-2"
+ − 376
+ − 377 ;;; Begin stuff from international/mule-conf.el.
+ − 378
+ − 379 ; ;;; Definitions of character sets.
+ − 380
+ − 381 ; ;; Basic (official) character sets. These character sets are treated
+ − 382 ; ;; efficiently with respect to buffer memory.
+ − 383
+ − 384 ; ;; Syntax:
+ − 385 ; ;; (define-charset CHARSET-ID CHARSET
+ − 386 ; ;; [ DIMENSION CHARS WIDTH DIRECTION ISO-FINAL-CHAR ISO-GRAPHIC-PLANE
+ − 387 ; ;; SHORT-NAME LONG-NAME DESCRIPTION ])
+ − 388 ; ;; ASCII charset is defined in src/charset.c as below.
+ − 389 ; ;; (define-charset 0 ascii
+ − 390 ; ;; [1 94 1 0 ?B 0 "ASCII" "ASCII" "ASCII (ISO646 IRV)"])
+ − 391
+ − 392 ; ;; 1-byte charsets. Valid range of CHARSET-ID is 128..143.
+ − 393
+ − 394 ; ;; CHARSET-ID 128 is not used.
+ − 395
+ − 396 ; ; An extra level of commenting means an official (done in C) charset.
+ − 397 ; ; (make-charset 'latin-iso8859-1
+ − 398 ; ; "Right-Hand Part of Latin Alphabet 1 (ISO/IEC 8859-1): ISO-IR-100"
+ − 399 ; ; '(dimension
+ − 400 ; ; 1
+ − 401 ; ; registry "ISO8859-1"
+ − 402 ; ; chars 96
+ − 403 ; ; columns 1
+ − 404 ; ; direction l2r
+ − 405 ; ; final ?A
+ − 406 ; ; graphic 1
+ − 407 ; ; short-name "RHP of Latin-1"
+ − 408 ; ; long-name "RHP of Latin-1 (ISO 8859-1): ISO-IR-100"
+ − 409 ; ; ))
+ − 410
+ − 411 ; ; (make-charset 'latin-iso8859-2
+ − 412 ; ; "Right-Hand Part of Latin Alphabet 2 (ISO/IEC 8859-2): ISO-IR-101"
+ − 413 ; ; '(dimension
+ − 414 ; ; 1
+ − 415 ; ; registry "ISO8859-2"
+ − 416 ; ; chars 96
+ − 417 ; ; columns 1
+ − 418 ; ; direction l2r
+ − 419 ; ; final ?B
+ − 420 ; ; graphic 1
+ − 421 ; ; short-name "RHP of Latin-2"
+ − 422 ; ; long-name "RHP of Latin-2 (ISO 8859-2): ISO-IR-101"
+ − 423 ; ; ))
+ − 424
+ − 425 ; ; (make-charset 'latin-iso8859-3
+ − 426 ; ; "Right-Hand Part of Latin Alphabet 3 (ISO/IEC 8859-3): ISO-IR-109"
+ − 427 ; ; '(dimension
+ − 428 ; ; 1
+ − 429 ; ; registry "ISO8859-3"
+ − 430 ; ; chars 96
+ − 431 ; ; columns 1
+ − 432 ; ; direction l2r
+ − 433 ; ; final ?C
+ − 434 ; ; graphic 1
+ − 435 ; ; short-name "RHP of Latin-3"
+ − 436 ; ; long-name "RHP of Latin-3 (ISO 8859-3): ISO-IR-109"
+ − 437 ; ; ))
+ − 438
+ − 439 ; ; (make-charset 'latin-iso8859-4
+ − 440 ; ; "Right-Hand Part of Latin Alphabet 4 (ISO/IEC 8859-4): ISO-IR-110"
+ − 441 ; ; '(dimension
+ − 442 ; ; 1
+ − 443 ; ; registry "ISO8859-4"
+ − 444 ; ; chars 96
+ − 445 ; ; columns 1
+ − 446 ; ; direction l2r
+ − 447 ; ; final ?D
+ − 448 ; ; graphic 1
+ − 449 ; ; short-name "RHP of Latin-4"
+ − 450 ; ; long-name "RHP of Latin-4 (ISO 8859-4): ISO-IR-110"
+ − 451 ; ; ))
+ − 452
+ − 453 ; ; (make-charset 'thai-tis620
+ − 454 ; ; "Right-Hand Part of TIS620.2533 (Thai): ISO-IR-166"
+ − 455 ; ; '(dimension
+ − 456 ; ; 1
+ − 457 ; ; registry "TIS620"
+ − 458 ; ; chars 96
+ − 459 ; ; columns 1
+ − 460 ; ; direction l2r
+ − 461 ; ; final ?T
+ − 462 ; ; graphic 1
+ − 463 ; ; short-name "RHP of TIS620"
+ − 464 ; ; long-name "RHP of Thai (TIS620): ISO-IR-166"
+ − 465 ; ; ))
+ − 466
+ − 467 ; ; (make-charset 'greek-iso8859-7
+ − 468 ; ; "Right-Hand Part of Latin/Greek Alphabet (ISO/IEC 8859-7): ISO-IR-126"
+ − 469 ; ; '(dimension
+ − 470 ; ; 1
+ − 471 ; ; registry "ISO8859-7"
+ − 472 ; ; chars 96
+ − 473 ; ; columns 1
+ − 474 ; ; direction l2r
+ − 475 ; ; final ?F
+ − 476 ; ; graphic 1
+ − 477 ; ; short-name "RHP of ISO8859/7"
+ − 478 ; ; long-name "RHP of Greek (ISO 8859-7): ISO-IR-126"
+ − 479 ; ; ))
+ − 480
+ − 481 ; ; (make-charset 'arabic-iso8859-6
+ − 482 ; ; "Right-Hand Part of Latin/Arabic Alphabet (ISO/IEC 8859-6): ISO-IR-127"
+ − 483 ; ; '(dimension
+ − 484 ; ; 1
+ − 485 ; ; registry "ISO8859-6"
+ − 486 ; ; chars 96
+ − 487 ; ; columns 1
+ − 488 ; ; direction r2l
+ − 489 ; ; final ?G
+ − 490 ; ; graphic 1
+ − 491 ; ; short-name "RHP of ISO8859/6"
+ − 492 ; ; long-name "RHP of Arabic (ISO 8859-6): ISO-IR-127"
+ − 493 ; ; ))
+ − 494
+ − 495 ; ; (make-charset 'hebrew-iso8859-8
+ − 496 ; ; "Right-Hand Part of Latin/Hebrew Alphabet (ISO/IEC 8859-8): ISO-IR-138"
+ − 497 ; ; '(dimension
+ − 498 ; ; 1
+ − 499 ; ; registry "ISO8859-8"
+ − 500 ; ; chars 96
+ − 501 ; ; columns 1
+ − 502 ; ; direction r2l
+ − 503 ; ; final ?H
+ − 504 ; ; graphic 1
+ − 505 ; ; short-name "RHP of ISO8859/8"
+ − 506 ; ; long-name "RHP of Hebrew (ISO 8859-8): ISO-IR-138"
+ − 507 ; ; ))
+ − 508
+ − 509 ; ; (make-charset 'katakana-jisx0201
+ − 510 ; ; "Katakana Part of JISX0201.1976"
+ − 511 ; ; '(dimension
+ − 512 ; ; 1
+ − 513 ; ; registry "JISX0201"
+ − 514 ; ; chars 94
+ − 515 ; ; columns 1
+ − 516 ; ; direction l2r
+ − 517 ; ; final ?I
+ − 518 ; ; graphic 1
+ − 519 ; ; short-name "JISX0201 Katakana"
+ − 520 ; ; long-name "Japanese Katakana (JISX0201.1976)"
+ − 521 ; ; ))
+ − 522
+ − 523 ; ; (make-charset 'latin-jisx0201
+ − 524 ; ; "Roman Part of JISX0201.1976"
+ − 525 ; ; '(dimension
+ − 526 ; ; 1
+ − 527 ; ; registry "JISX0201"
+ − 528 ; ; chars 94
+ − 529 ; ; columns 1
+ − 530 ; ; direction l2r
+ − 531 ; ; final ?J
+ − 532 ; ; graphic 0
+ − 533 ; ; short-name "JISX0201 Roman"
+ − 534 ; ; long-name "Japanese Roman (JISX0201.1976)"
+ − 535 ; ; ))
+ − 536
+ − 537
+ − 538 ; ;; CHARSET-ID is not used 139.
+ − 539
+ − 540 ; ; (make-charset 'cyrillic-iso8859-5
+ − 541 ; ; "Right-Hand Part of Latin/Cyrillic Alphabet (ISO/IEC 8859-5): ISO-IR-144"
+ − 542 ; ; '(dimension
+ − 543 ; ; 1
+ − 544 ; ; registry "ISO8859-5"
+ − 545 ; ; chars 96
+ − 546 ; ; columns 1
+ − 547 ; ; direction l2r
+ − 548 ; ; final ?L
+ − 549 ; ; graphic 1
+ − 550 ; ; short-name "RHP of ISO8859/5"
+ − 551 ; ; long-name "RHP of Cyrillic (ISO 8859-5): ISO-IR-144"
+ − 552 ; ; ))
+ − 553
+ − 554 ; ; (make-charset 'latin-iso8859-9
+ − 555 ; ; "Right-Hand Part of Latin Alphabet 5 (ISO/IEC 8859-9): ISO-IR-148"
+ − 556 ; ; '(dimension
+ − 557 ; ; 1
+ − 558 ; ; registry "ISO8859-9"
+ − 559 ; ; chars 96
+ − 560 ; ; columns 1
+ − 561 ; ; direction l2r
+ − 562 ; ; final ?M
+ − 563 ; ; graphic 1
+ − 564 ; ; short-name "RHP of Latin-5"
+ − 565 ; ; long-name "RHP of Latin-5 (ISO 8859-9): ISO-IR-148"
+ − 566 ; ; ))
+ − 567
+ − 568 ; ; (make-charset 'latin-iso8859-15
+ − 569 ; ; "Right-Hand Part of Latin Alphabet 9 (ISO/IEC 8859-15): ISO-IR-203"
+ − 570 ; ; '(dimension
+ − 571 ; ; 1
+ − 572 ; ; registry "ISO8859-15"
+ − 573 ; ; chars 96
+ − 574 ; ; columns 1
+ − 575 ; ; direction l2r
+ − 576 ; ; final ?b
+ − 577 ; ; graphic 1
+ − 578 ; ; short-name "RHP of Latin-9"
+ − 579 ; ; long-name "RHP of Latin-9 (ISO 8859-15): ISO-IR-203"
+ − 580 ; ; ))
+ − 581
+ − 582 ; (make-charset 'latin-iso8859-14
+ − 583 ; "Right-Hand Part of Latin Alphabet 8 (ISO/IEC 8859-14)"
+ − 584 ; '(dimension
+ − 585 ; 1
+ − 586 ; registry "ISO8859-14"
+ − 587 ; chars 96
+ − 588 ; columns 1
+ − 589 ; direction l2r
+ − 590 ; final ?_
+ − 591 ; graphic 1
+ − 592 ; short-name "RHP of Latin-8"
+ − 593 ; long-name "RHP of Latin-8 (ISO 8859-14)"
+ − 594 ; ))
+ − 595
+ − 596
+ − 597 ; ;; 2-byte charsets. Valid range of CHARSET-ID is 144..153.
+ − 598
+ − 599 ; ; (make-charset 'japanese-jisx0208-1978
+ − 600 ; ; "JISX0208.1978 Japanese Kanji (so called \"old JIS\"): ISO-IR-42"
+ − 601 ; ; '(dimension
+ − 602 ; ; 2
+ − 603 ; ; registry "JISX0208.1990"
+ − 604 ; ; registry "JISX0208.1978"
+ − 605 ; ; chars 94
+ − 606 ; ; columns 2
+ − 607 ; ; direction l2r
+ − 608 ; ; final ?@
+ − 609 ; ; graphic 0
+ − 610 ; ; short-name "JISX0208.1978"
+ − 611 ; ; long-name "JISX0208.1978 (Japanese): ISO-IR-42"
+ − 612 ; ; ))
+ − 613
+ − 614 ; ; (make-charset 'chinese-gb2312
+ − 615 ; ; "GB2312 Chinese simplified: ISO-IR-58"
+ − 616 ; ; '(dimension
+ − 617 ; ; 2
+ − 618 ; ; registry "GB2312.1980"
+ − 619 ; ; chars 94
+ − 620 ; ; columns 2
+ − 621 ; ; direction l2r
+ − 622 ; ; final ?A
+ − 623 ; ; graphic 0
+ − 624 ; ; short-name "GB2312"
+ − 625 ; ; long-name "GB2312: ISO-IR-58"
+ − 626 ; ; ))
+ − 627
+ − 628 ; ; (make-charset 'japanese-jisx0208
+ − 629 ; ; "JISX0208.1983/1990 Japanese Kanji: ISO-IR-87"
+ − 630 ; ; '(dimension
+ − 631 ; ; 2
+ − 632 ; ; chars 94
+ − 633 ; ; columns 2
+ − 634 ; ; direction l2r
+ − 635 ; ; final ?B
+ − 636 ; ; graphic 0
+ − 637 ; ; short-name "JISX0208"
+ − 638 ; ; long-name "JISX0208.1983/1990 (Japanese): ISO-IR-87"
+ − 639 ; ; ))
+ − 640
+ − 641 ; ; (make-charset 'korean-ksc5601
+ − 642 ; ; "KSC5601 Korean Hangul and Hanja: ISO-IR-149"
+ − 643 ; ; '(dimension
+ − 644 ; ; 2
+ − 645 ; ; registry "KSC5601.1989"
+ − 646 ; ; chars 94
+ − 647 ; ; columns 2
+ − 648 ; ; direction l2r
+ − 649 ; ; final ?C
+ − 650 ; ; graphic 0
+ − 651 ; ; short-name "KSC5601"
+ − 652 ; ; long-name "KSC5601 (Korean): ISO-IR-149"
+ − 653 ; ; ))
+ − 654
+ − 655 ; ; (make-charset 'japanese-jisx0212
+ − 656 ; ; "JISX0212 Japanese supplement: ISO-IR-159"
+ − 657 ; ; '(dimension
+ − 658 ; ; 2
+ − 659 ; ; registry "JISX0212"
+ − 660 ; ; chars 94
+ − 661 ; ; columns 2
+ − 662 ; ; direction l2r
+ − 663 ; ; final ?D
+ − 664 ; ; graphic 0
+ − 665 ; ; short-name "JISX0212"
+ − 666 ; ; long-name "JISX0212 (Japanese): ISO-IR-159"
+ − 667 ; ; ))
+ − 668
+ − 669 ; ; (make-charset 'chinese-cns11643-1
+ − 670 ; ; "CNS11643 Plane 1 Chinese traditional: ISO-IR-171"
+ − 671 ; ; '(dimension
+ − 672 ; ; 2
+ − 673 ; ; registry "CNS11643.1992-1"
+ − 674 ; ; chars 94
+ − 675 ; ; columns 2
+ − 676 ; ; direction l2r
+ − 677 ; ; final ?G
+ − 678 ; ; graphic 0
+ − 679 ; ; short-name "CNS11643-1"
+ − 680 ; ; long-name "CNS11643-1 (Chinese traditional): ISO-IR-171"
+ − 681 ; ; ))
+ − 682
+ − 683 ; ; (make-charset 'chinese-cns11643-2
+ − 684 ; ; "CNS11643 Plane 2 Chinese traditional: ISO-IR-172"
+ − 685 ; ; '(dimension
+ − 686 ; ; 2
+ − 687 ; ; registry "CNS11643.1992-2"
+ − 688 ; ; chars 94
+ − 689 ; ; columns 2
+ − 690 ; ; direction l2r
+ − 691 ; ; final ?H
+ − 692 ; ; graphic 0
+ − 693 ; ; short-name "CNS11643-2"
+ − 694 ; ; long-name "CNS11643-2 (Chinese traditional): ISO-IR-172"
+ − 695 ; ; ))
+ − 696
+ − 697 ; (make-charset 'japanese-jisx0213-1 "JISX0213 Plane 1 (Japanese)"
+ − 698 ; '(dimension
+ − 699 ; 2
+ − 700 ; registry "JISX0213.2000-1"
+ − 701 ; chars 94
+ − 702 ; columns 2
+ − 703 ; direction l2r
+ − 704 ; final ?O
+ − 705 ; graphic 0
+ − 706 ; short-name "JISX0213-1"
+ − 707 ; long-name "JISX0213-1"
+ − 708 ; ))
+ − 709
+ − 710 ; ; (make-charset 'chinese-big5-1
+ − 711 ; ; "Frequently used part (A141-C67F) of Big5 (Chinese traditional)"
+ − 712 ; ; '(dimension
+ − 713 ; ; 2
+ − 714 ; ; registry "Big5"
+ − 715 ; ; chars 94
+ − 716 ; ; columns 2
+ − 717 ; ; direction l2r
+ − 718 ; ; final ?0
+ − 719 ; ; graphic 0
+ − 720 ; ; short-name "Big5 (Level-1)"
+ − 721 ; ; long-name "Big5 (Level-1) A141-C67F"
+ − 722 ; ; ))
+ − 723
+ − 724 ; ; (make-charset 'chinese-big5-2
+ − 725 ; ; "Less frequently used part (C940-FEFE) of Big5 (Chinese traditional)"
+ − 726 ; ; '(dimension
+ − 727 ; ; 2
+ − 728 ; ; registry "Big5"
+ − 729 ; ; chars 94
+ − 730 ; ; columns 2
+ − 731 ; ; direction l2r
+ − 732 ; ; final ?1
+ − 733 ; ; graphic 0
+ − 734 ; ; short-name "Big5 (Level-2)"
+ − 735 ; ; long-name "Big5 (Level-2) C940-FEFE"
+ − 736 ; ; ))
+ − 737
+ − 738
+ − 739 ; ;; Additional (private) character sets. These character sets are
+ − 740 ; ;; treated less space-efficiently in the buffer.
+ − 741
+ − 742 ; ;; Syntax:
+ − 743 ; ;; (define-charset CHARSET-ID CHARSET
+ − 744 ; ;; [ DIMENSION CHARS WIDTH DIRECTION ISO-FINAL-CHAR ISO-GRAPHIC-PLANE
+ − 745 ; ;; SHORT-NAME LONG-NAME DESCRIPTION ])
+ − 746
+ − 747 ; ;; ISO-2022 allows a use of character sets not registered in ISO with
+ − 748 ; ;; final characters `0' (0x30) through `?' (0x3F). Among them, Emacs
+ − 749 ; ;; reserves `0' through `9' to support several private character sets.
+ − 750 ; ;; The remaining final characters `:' through `?' are for users.
+ − 751
+ − 752 ; ;; 1-byte 1-column charsets. Valid range of CHARSET-ID is 160..223.
+ − 753
+ − 754 ; (make-charset 'chinese-sisheng
+ − 755 ; "SiSheng characters for PinYin/ZhuYin"
+ − 756 ; '(dimension
+ − 757 ; 1
+ − 758 ; registry "sisheng_cwnn"
+ − 759 ; chars 94
+ − 760 ; columns 1
+ − 761 ; direction l2r
+ − 762 ; final ?0
+ − 763 ; graphic 0
+ − 764 ; short-name "SiSheng"
+ − 765 ; long-name "SiSheng (PinYin/ZhuYin)"
+ − 766 ; ))
+ − 767
+ − 768
+ − 769 ; ;; IPA characters for phonetic symbols.
+ − 770 ; (make-charset 'ipa "IPA (International Phonetic Association)"
+ − 771 ; '(dimension
+ − 772 ; 1
+ − 773 ; registry "MuleIPA"
+ − 774 ; chars 96
+ − 775 ; columns 1
+ − 776 ; direction l2r
+ − 777 ; final ?0
+ − 778 ; graphic 1
+ − 779 ; short-name "IPA"
+ − 780 ; long-name "IPA"
+ − 781 ; ))
+ − 782
+ − 783
+ − 784 ; ;; Vietnamese VISCII. VISCII is 1-byte character set which contains
+ − 785 ; ;; more than 96 characters. Since Emacs can't handle it as one
+ − 786 ; ;; character set, it is divided into two: lower case letters and upper
+ − 787 ; ;; case letters.
+ − 788 ; (make-charset 'vietnamese-viscii-lower "VISCII1.1 lower-case"
+ − 789 ; '(dimension
+ − 790 ; 1
+ − 791 ; registry "VISCII1.1"
+ − 792 ; chars 96
+ − 793 ; columns 1
+ − 794 ; direction l2r
+ − 795 ; final ?1
+ − 796 ; graphic 1
+ − 797 ; short-name "VISCII lower"
+ − 798 ; long-name "VISCII lower-case"
+ − 799 ; ))
+ − 800
+ − 801 ; (make-charset 'vietnamese-viscii-upper "VISCII1.1 upper-case"
+ − 802 ; '(dimension
+ − 803 ; 1
+ − 804 ; registry "VISCII1.1"
+ − 805 ; chars 96
+ − 806 ; columns 1
+ − 807 ; direction l2r
+ − 808 ; final ?2
+ − 809 ; graphic 1
+ − 810 ; short-name "VISCII upper"
+ − 811 ; long-name "VISCII upper-case"
+ − 812 ; ))
+ − 813
+ − 814
+ − 815 ; ;; For Arabic, we need three different types of character sets.
+ − 816 ; ;; Digits are of direction left-to-right and of width 1-column.
+ − 817 ; ;; Others are of direction right-to-left and of width 1-column or
+ − 818 ; ;; 2-column.
+ − 819 ; (make-charset 'arabic-digit "Arabic digit"
+ − 820 ; '(dimension
+ − 821 ; 1
+ − 822 ; registry "MuleArabic-0"
+ − 823 ; chars 94
+ − 824 ; columns 1
+ − 825 ; direction l2r
+ − 826 ; final ?2
+ − 827 ; graphic 0
+ − 828 ; short-name "Arabic digit"
+ − 829 ; long-name "Arabic digit"
+ − 830 ; ))
+ − 831
+ − 832 ; (make-charset 'arabic-1-column "Arabic 1-column"
+ − 833 ; '(dimension
+ − 834 ; 1
+ − 835 ; registry "MuleArabic-1"
+ − 836 ; chars 94
+ − 837 ; columns 1
+ − 838 ; direction r2l
+ − 839 ; final ?3
+ − 840 ; graphic 0
+ − 841 ; short-name "Arabic 1-col"
+ − 842 ; long-name "Arabic 1-column"
+ − 843 ; ))
+ − 844
+ − 845
+ − 846 ; ;; ASCII with right-to-left direction.
+ − 847 ; (make-charset 'ascii-right-to-left
+ − 848 ; "ASCII (left half of ISO 8859-1) with right-to-left direction"
+ − 849 ; '(dimension
+ − 850 ; 1
+ − 851 ; registry "ISO8859-1"
+ − 852 ; chars 94
+ − 853 ; columns 1
+ − 854 ; direction r2l
+ − 855 ; final ?B
+ − 856 ; graphic 0
+ − 857 ; short-name "rev ASCII"
+ − 858 ; long-name "ASCII with right-to-left direction"
+ − 859 ; ))
+ − 860
+ − 861
+ − 862 ; ;; Lao script.
+ − 863 ; ;; ISO10646's 0x0E80..0x0EDF are mapped to 0x20..0x7F.
+ − 864 ; (make-charset 'lao "Lao characters (ISO10646 0E80..0EDF)"
+ − 865 ; '(dimension
+ − 866 ; 1
+ − 867 ; registry "MuleLao-1"
+ − 868 ; chars 94
+ − 869 ; columns 1
+ − 870 ; direction l2r
+ − 871 ; final ?1
+ − 872 ; graphic 0
+ − 873 ; short-name "Lao"
+ − 874 ; long-name "Lao"
+ − 875 ; ))
+ − 876
+ − 877
+ − 878 ; ;; CHARSET-IDs 168..223 are not used.
+ − 879
+ − 880 ; ;; 1-byte 2-column charsets. Valid range of CHARSET-ID is 224..239.
+ − 881
+ − 882 ; (make-charset 'arabic-2-column "Arabic 2-column"
+ − 883 ; '(dimension
+ − 884 ; 1
+ − 885 ; registry "MuleArabic-2"
+ − 886 ; chars 94
+ − 887 ; columns 2
+ − 888 ; direction r2l
+ − 889 ; final ?4
+ − 890 ; graphic 0
+ − 891 ; short-name "Arabic 2-col"
+ − 892 ; long-name "Arabic 2-column"
+ − 893 ; ))
+ − 894
+ − 895
+ − 896 ; ;; Indian scripts. Symbolic charset for data exchange. Glyphs are
+ − 897 ; ;; not assigned. They are automatically converted to each Indian
+ − 898 ; ;; script which IS-13194 supports.
+ − 899
+ − 900 ; (make-charset 'indian-is13194
+ − 901 ; "Generic Indian charset for data exchange with IS 13194"
+ − 902 ; '(dimension
+ − 903 ; 1
+ − 904 ; registry "IS13194-Devanagari"
+ − 905 ; chars 94
+ − 906 ; columns 2
+ − 907 ; direction l2r
+ − 908 ; final ?5
+ − 909 ; graphic 1
+ − 910 ; short-name "IS 13194"
+ − 911 ; long-name "Indian IS 13194"
+ − 912 ; ))
+ − 913
+ − 914
+ − 915 ; ;; CHARSET-IDs 226..239 are not used.
+ − 916
+ − 917 ; ;; 2-byte 1-column charsets. Valid range of CHARSET-ID is 240..244.
+ − 918
+ − 919 ; ;; Actual Glyph for 1-column width.
+ − 920 ; (make-charset 'indian-1-column
+ − 921 ; "Indian charset for 2-column width glyphs"
+ − 922 ; '(dimension
+ − 923 ; 2
+ − 924 ; registry "MuleIndian-1"
+ − 925 ; chars 94
+ − 926 ; columns 1
+ − 927 ; direction l2r
+ − 928 ; final ?6
+ − 929 ; graphic 0
+ − 930 ; short-name "Indian 1-col"
+ − 931 ; long-name "Indian 1 Column"
+ − 932 ; ))
+ − 933
+ − 934
+ − 935 ; (make-charset 'tibetan-1-column "Tibetan 1 column glyph"
+ − 936 ; '(dimension
+ − 937 ; 2
+ − 938 ; registry "MuleTibetan-1"
+ − 939 ; chars 94
+ − 940 ; columns 1
+ − 941 ; direction l2r
+ − 942 ; final ?8
+ − 943 ; graphic 0
+ − 944 ; short-name "Tibetan 1-col"
+ − 945 ; long-name "Tibetan 1 column"
+ − 946 ; ))
+ − 947
+ − 948
+ − 949 ; ;; Subsets of Unicode.
+ − 950
+ − 951 ; (make-charset 'mule-unicode-2500-33ff
+ − 952 ; "Unicode characters of the range U+2500..U+33FF."
+ − 953 ; '(dimension
+ − 954 ; 2
+ − 955 ; registry "ISO10646-1"
+ − 956 ; chars 96
+ − 957 ; columns 1
+ − 958 ; direction l2r
+ − 959 ; final ?2
+ − 960 ; graphic 0
+ − 961 ; short-name "Unicode subset 2"
+ − 962 ; long-name "Unicode subset (U+2500..U+33FF)"
+ − 963 ; ))
+ − 964
+ − 965
+ − 966 ; (make-charset 'mule-unicode-e000-ffff
+ − 967 ; "Unicode characters of the range U+E000..U+FFFF."
+ − 968 ; '(dimension
+ − 969 ; 2
+ − 970 ; registry "ISO10646-1"
+ − 971 ; chars 96
+ − 972 ; columns 1
+ − 973 ; direction l2r
+ − 974 ; final ?3
+ − 975 ; graphic 0
+ − 976 ; short-name "Unicode subset 3"
+ − 977 ; long-name "Unicode subset (U+E000+FFFF)"
+ − 978 ; ))
+ − 979
+ − 980
+ − 981 ; (make-charset 'mule-unicode-0100-24ff
+ − 982 ; "Unicode characters of the range U+0100..U+24FF."
+ − 983 ; '(dimension
+ − 984 ; 2
+ − 985 ; registry "ISO10646-1"
+ − 986 ; chars 96
+ − 987 ; columns 1
+ − 988 ; direction l2r
+ − 989 ; final ?1
+ − 990 ; graphic 0
+ − 991 ; short-name "Unicode subset"
+ − 992 ; long-name "Unicode subset (U+0100..U+24FF)"
+ − 993 ; ))
+ − 994
+ − 995
+ − 996 ; ;; 2-byte 2-column charsets. Valid range of CHARSET-ID is 245..254.
+ − 997
+ − 998 ; ;; Ethiopic characters (Amahric and Tigrigna).
+ − 999 ; (make-charset 'ethiopic "Ethiopic characters"
+ − 1000 ; '(dimension
+ − 1001 ; 2
+ − 1002 ; registry "Ethiopic-Unicode"
+ − 1003 ; chars 94
+ − 1004 ; columns 2
+ − 1005 ; direction l2r
+ − 1006 ; final ?3
+ − 1007 ; graphic 0
+ − 1008 ; short-name "Ethiopic"
+ − 1009 ; long-name "Ethiopic characters"
+ − 1010 ; ))
+ − 1011
+ − 1012
+ − 1013 ; ;; Chinese CNS11643 Plane3 thru Plane7. Although these are official
+ − 1014 ; ;; character sets, the use is rare and don't have to be treated
+ − 1015 ; ;; space-efficiently in the buffer.
+ − 1016 ; (make-charset 'chinese-cns11643-3
+ − 1017 ; "CNS11643 Plane 3 Chinese Traditional: ISO-IR-183"
+ − 1018 ; '(dimension
+ − 1019 ; 2
+ − 1020 ; registry "CNS11643.1992-3"
+ − 1021 ; chars 94
+ − 1022 ; columns 2
+ − 1023 ; direction l2r
+ − 1024 ; final ?I
+ − 1025 ; graphic 0
+ − 1026 ; short-name "CNS11643-3"
+ − 1027 ; long-name "CNS11643-3 (Chinese traditional): ISO-IR-183"
+ − 1028 ; ))
+ − 1029
+ − 1030 ; (make-charset 'chinese-cns11643-4
+ − 1031 ; "CNS11643 Plane 4 Chinese Traditional: ISO-IR-184"
+ − 1032 ; '(dimension
+ − 1033 ; 2
+ − 1034 ; registry "CNS11643.1992-4"
+ − 1035 ; chars 94
+ − 1036 ; columns 2
+ − 1037 ; direction l2r
+ − 1038 ; final ?J
+ − 1039 ; graphic 0
+ − 1040 ; short-name "CNS11643-4"
+ − 1041 ; long-name "CNS11643-4 (Chinese traditional): ISO-IR-184"
+ − 1042 ; ))
+ − 1043
+ − 1044 ; (make-charset 'chinese-cns11643-5
+ − 1045 ; "CNS11643 Plane 5 Chinese Traditional: ISO-IR-185"
+ − 1046 ; '(dimension
+ − 1047 ; 2
+ − 1048 ; registry "CNS11643.1992-5"
+ − 1049 ; chars 94
+ − 1050 ; columns 2
+ − 1051 ; direction l2r
+ − 1052 ; final ?K
+ − 1053 ; graphic 0
+ − 1054 ; short-name "CNS11643-5"
+ − 1055 ; long-name "CNS11643-5 (Chinese traditional): ISO-IR-185"
+ − 1056 ; ))
+ − 1057
+ − 1058 ; (make-charset 'chinese-cns11643-6
+ − 1059 ; "CNS11643 Plane 6 Chinese Traditional: ISO-IR-186"
+ − 1060 ; '(dimension
+ − 1061 ; 2
+ − 1062 ; registry "CNS11643.1992-6"
+ − 1063 ; chars 94
+ − 1064 ; columns 2
+ − 1065 ; direction l2r
+ − 1066 ; final ?L
+ − 1067 ; graphic 0
+ − 1068 ; short-name "CNS11643-6"
+ − 1069 ; long-name "CNS11643-6 (Chinese traditional): ISO-IR-186"
+ − 1070 ; ))
+ − 1071
+ − 1072 ; (make-charset 'chinese-cns11643-7
+ − 1073 ; "CNS11643 Plane 7 Chinese Traditional: ISO-IR-187"
+ − 1074 ; '(dimension
+ − 1075 ; 2
+ − 1076 ; registry "CNS11643.1992-7"
+ − 1077 ; chars 94
+ − 1078 ; columns 2
+ − 1079 ; direction l2r
+ − 1080 ; final ?M
+ − 1081 ; graphic 0
+ − 1082 ; short-name "CNS11643-7"
+ − 1083 ; long-name "CNS11643-7 (Chinese traditional): ISO-IR-187"
+ − 1084 ; ))
+ − 1085
+ − 1086
+ − 1087 ; ;; Actual Glyph for 2-column width.
+ − 1088 ; (make-charset 'indian-2-column
+ − 1089 ; "Indian charset for 2-column width glyphs"
+ − 1090 ; '(dimension
+ − 1091 ; 2
+ − 1092 ; registry "MuleIndian-2"
+ − 1093 ; chars 94
+ − 1094 ; columns 2
+ − 1095 ; direction l2r
+ − 1096 ; final ?5
+ − 1097 ; graphic 0
+ − 1098 ; short-name "Indian 2-col"
+ − 1099 ; long-name "Indian 2 Column"
+ − 1100 ; ))
+ − 1101
+ − 1102
+ − 1103 ; ;; Tibetan script.
+ − 1104 ; (make-charset 'tibetan "Tibetan characters"
+ − 1105 ; '(dimension
+ − 1106 ; 2
+ − 1107 ; registry "MuleTibetan-2"
+ − 1108 ; chars 94
+ − 1109 ; columns 2
+ − 1110 ; direction l2r
+ − 1111 ; final ?7
+ − 1112 ; graphic 0
+ − 1113 ; short-name "Tibetan 2-col"
+ − 1114 ; long-name "Tibetan 2 column"
+ − 1115 ; ))
+ − 1116
+ − 1117
+ − 1118 ; ;; CHARSET-ID 253 is not used.
+ − 1119
+ − 1120 ; ;; JISX0213 Plane 2
+ − 1121 ; (make-charset 'japanese-jisx0213-2 "JISX0213 Plane 2 (Japanese)"
+ − 1122 ; '(dimension
+ − 1123 ; 2
+ − 1124 ; registry "JISX0213.2000-2"
+ − 1125 ; chars 94
+ − 1126 ; columns 2
+ − 1127 ; direction l2r
+ − 1128 ; final ?P
+ − 1129 ; graphic 0
+ − 1130 ; short-name "JISX0213-2"
+ − 1131 ; long-name "JISX0213-2"
+ − 1132 ; ))
+ − 1133
428
+ − 1134 ;;; mule-charset.el ends here
778
+ − 1135