comparison lisp/unicode.el @ 780:578cb2932d72

[xemacs-hg @ 2002-03-18 10:07:30 by ben] config.inc.samp, xemacs.mak: Deal with never-ending perl quoting problems. README: Include a long, long description of the suggested directory layout for developing XEmacs. This should probably go as part of a larger document, a "Getting Started with Developing XEmacs". #### Does such a document exist? etc\unicode\mule-ucs\*: New directory, containing translation files for the remaining charsets that are not in unicode\unicode-consortium but are in mule-ucs. etc\unicode\other\*: New directory, containing translation files made up on an ad-hoc basis. etc\unicode\README: Update. * Some ChangeLog entries from stuff that got applied long ago never got checked in, due to the nasty SCCS "oops, i forgot again ..." bug. mule\lao.el: Convert stuff to XEmacs-style. mule\thai-xtis.el: Move thai-xtis-chars.el stuff to here, since we can now handle encountering characters of a charset before the charset is defined. mule\thai-xtis-chars.el: Removed, moved into thai-xtis.el. mule\mule-msw-init.el: Move some stuff into mule-msw-init-late.el, which references charsets and thus needs to be delayed until after all charsets have been created. mule\mule-msw-init-late.el: New file, some stuff from mule-msw-init.el. dumped-lisp.el: Load the remaining languages -- lao, indian, devanagari, tibetan. Load new file mule-msw-init-late. unicode.el: Load the new tables for Ethiopic, Vietnamese, and other languages extracted from mule-ucs. mule\lao.el: Convert stuff to XEmacs-style. mule\thai-xtis.el: Move thai-xtis-chars.el stuff to here, since we can now handle encountering characters of a charset before the charset is defined. mule\thai-xtis-chars.el: Removed, moved into thai-xtis.el. mule\mule-msw-init.el: Move some stuff into mule-msw-init-late.el, which references charsets and thus needs to be delayed until after all charsets have been created. mule\mule-msw-init-late.el: New file, some stuff from mule-msw-init.el. mule\lao.el: Convert stuff to XEmacs-style. mule\thai-xtis.el: Move thai-xtis-chars.el stuff to here, since we can now handle encountering characters of a charset before the charset is defined. mule\thai-xtis-chars.el: Removed, moved into thai-xtis.el. mule\mule-msw-init.el: Move some stuff into mule-msw-init-late.el, which references charsets and thus needs to be delayed until after all charsets have been created. mule\mule-msw-init-late.el: New file, some stuff from mule-msw-init.el. dumped-lisp.el: Load the remaining languages -- lao, indian, devanagari, tibetan. Load new file mule-msw-init-late. unicode.el: Load the new tables for Ethiopic, Vietnamese, and other languages extracted from mule-ucs. mule\lao.el: Convert stuff to XEmacs-style. mule\thai-xtis.el: Move thai-xtis-chars.el stuff to here, since we can now handle encountering characters of a charset before the charset is defined. mule\thai-xtis-chars.el: Removed, moved into thai-xtis.el. mule\mule-msw-init.el: Move some stuff into mule-msw-init-late.el, which references charsets and thus needs to be delayed until after all charsets have been created. mule\mule-msw-init-late.el: New file, some stuff from mule-msw-init.el. fns.c, lread.c: Add variable require-prints-loading-message to cause loading messages to get printed when a file is loading during a `require', which normally doesn't happen. This can be set using env var XEMACSDEBUG to debug problems with non-interactive compilation. Modify load-internal so it prints "Requiring: ..." instead of "Loading: ..." when appropriate.
author ben
date Mon, 18 Mar 2002 10:07:39 +0000
parents 2923009caf47
children e54d47b2d736
comparison
equal deleted inserted replaced
779:a29c4eef8f00 780:578cb2932d72
78 78
79 ;; NOTE: This takes only a fraction of a second on my Pentium III 79 ;; NOTE: This takes only a fraction of a second on my Pentium III
80 ;; 700Mhz even with a totally optimization-disabled XEmacs. 80 ;; 700Mhz even with a totally optimization-disabled XEmacs.
81 (defun load-unicode-tables () 81 (defun load-unicode-tables ()
82 "Initialize the Unicode translation tables for all standard charsets." 82 "Initialize the Unicode translation tables for all standard charsets."
83 (let ((undir (expand-file-name "unicode/unicode-consortium" data-directory)) 83 (let ((parse-args
84 (parse-args 84 '(("unicode/unicode-consortium"
85 '(("8859-1.TXT" latin-iso8859-1 #xA0 #xFF #x-80) 85 ("8859-1.TXT" latin-iso8859-1 #xA0 #xFF #x-80)
86 ;; "8859-10.TXT" 86 ;; "8859-10.TXT"
87 ;; "8859-13.TXT" 87 ;; "8859-13.TXT"
88 ;; "8859-14.TXT" 88 ;; "8859-14.TXT"
89 ;; "8859-15.TXT" 89 ("8859-14.TXT" latin-iso8859-14 #xA0 #xFF #x-80)
90 ("8859-2.TXT" latin-iso8859-2 #xA0 #xFF #x-80) 90 ("8859-15.TXT" latin-iso8859-15 #xA0 #xFF #x-80)
91 ("8859-3.TXT" latin-iso8859-3 #xA0 #xFF #x-80) 91 ("8859-2.TXT" latin-iso8859-2 #xA0 #xFF #x-80)
92 ("8859-4.TXT" latin-iso8859-4 #xA0 #xFF #x-80) 92 ("8859-3.TXT" latin-iso8859-3 #xA0 #xFF #x-80)
93 ("8859-5.TXT" cyrillic-iso8859-5 #xA0 #xFF #x-80) 93 ("8859-4.TXT" latin-iso8859-4 #xA0 #xFF #x-80)
94 ("8859-6.TXT" arabic-iso8859-6 #xA0 #xFF #x-80) 94 ("8859-5.TXT" cyrillic-iso8859-5 #xA0 #xFF #x-80)
95 ("8859-7.TXT" greek-iso8859-7 #xA0 #xFF #x-80) 95 ("8859-6.TXT" arabic-iso8859-6 #xA0 #xFF #x-80)
96 ("8859-8.TXT" hebrew-iso8859-8 #xA0 #xFF #x-80) 96 ("8859-7.TXT" greek-iso8859-7 #xA0 #xFF #x-80)
97 ("8859-9.TXT" latin-iso8859-9 #xA0 #xFF #x-80) 97 ("8859-8.TXT" hebrew-iso8859-8 #xA0 #xFF #x-80)
98 ;; charset for Big5 does not matter; specifying `big5' will 98 ("8859-9.TXT" latin-iso8859-9 #xA0 #xFF #x-80)
99 ;; automatically make the right thing happen 99 ;; charset for Big5 does not matter; specifying `big5' will
100 ("BIG5.TXT" chinese-big5-1 nil nil nil big5) 100 ;; automatically make the right thing happen
101 ("CNS11643.TXT" chinese-cns11643-1 #x10000 #x1FFFF #x-10000) 101 ("BIG5.TXT" chinese-big5-1 nil nil nil big5)
102 ("CNS11643.TXT" chinese-cns11643-2 #x20000 #x2FFFF #x-20000) 102 ("CNS11643.TXT" chinese-cns11643-1 #x10000 #x1FFFF #x-10000)
103 ;; "CP1250.TXT" 103 ("CNS11643.TXT" chinese-cns11643-2 #x20000 #x2FFFF #x-20000)
104 ;; "CP1251.TXT" 104 ;; "CP1250.TXT"
105 ;; "CP1252.TXT" 105 ;; "CP1251.TXT"
106 ;; "CP1253.TXT" 106 ;; "CP1252.TXT"
107 ;; "CP1254.TXT" 107 ;; "CP1253.TXT"
108 ;; "CP1255.TXT" 108 ;; "CP1254.TXT"
109 ;; "CP1256.TXT" 109 ;; "CP1255.TXT"
110 ;; "CP1257.TXT" 110 ;; "CP1256.TXT"
111 ;; "CP1258.TXT" 111 ;; "CP1257.TXT"
112 ;; "CP874.TXT" 112 ;; "CP1258.TXT"
113 ;; "CP932.TXT" 113 ;; "CP874.TXT"
114 ;; "CP936.TXT" 114 ;; "CP932.TXT"
115 ;; "CP949.TXT" 115 ;; "CP936.TXT"
116 ;; "CP950.TXT" 116 ;; "CP949.TXT"
117 ;; "GB12345.TXT" 117 ;; "CP950.TXT"
118 ("GB2312.TXT" chinese-gb2312) 118 ;; "GB12345.TXT"
119 ;; "HANGUL.TXT" 119 ("GB2312.TXT" chinese-gb2312)
120 ("JIS0201.TXT" latin-jisx0201 #x21 #x80) 120 ;; "HANGUL.TXT"
121 ("JIS0201.TXT" katakana-jisx0201 #xA0 #xFF #x-80) 121 ("JIS0201.TXT" latin-jisx0201 #x21 #x80)
122 ("JIS0208.TXT" japanese-jisx0208 nil nil nil ignore-first-column) 122 ("JIS0201.TXT" katakana-jisx0201 #xA0 #xFF #x-80)
123 ("JIS0212.TXT" japanese-jisx0212) 123 ("JIS0208.TXT" japanese-jisx0208 nil nil nil ignore-first-column)
124 ;; "JOHAB.TXT" 124 ("JIS0212.TXT" japanese-jisx0212)
125 ;; "KOI8-R.TXT" 125 ;; "JOHAB.TXT"
126 ;; "KSC5601.TXT" 126 ;; "KOI8-R.TXT"
127 ;; note that KSC5601.TXT as currently distributed is NOT what 127 ;; "KSC5601.TXT"
128 ;; it claims to be! see comments in KSX1001.TXT. 128 ;; note that KSC5601.TXT as currently distributed is NOT what
129 ("KSX1001.TXT" korean-ksc5601) 129 ;; it claims to be! see comments in KSX1001.TXT.
130 ;; "OLD5601.TXT" 130 ("KSX1001.TXT" korean-ksc5601)
131 ;; "SHIFTJIS.TXT" 131 ;; "OLD5601.TXT"
132 ;; "SHIFTJIS.TXT"
133 )
134 ("unicode/mule-ucs"
135 ;; use these instead of the above ones once we support surrogates
136 ;;("chinese-cns11643-1.txt" chinese-cns11643-1)
137 ;;("chinese-cns11643-2.txt" chinese-cns11643-2)
138 ;;("chinese-cns11643-3.txt" chinese-cns11643-3)
139 ;;("chinese-cns11643-4.txt" chinese-cns11643-4)
140 ;;("chinese-cns11643-5.txt" chinese-cns11643-5)
141 ;;("chinese-cns11643-6.txt" chinese-cns11643-6)
142 ;;("chinese-cns11643-7.txt" chinese-cns11643-7)
143 ("chinese-sisheng.txt" chinese-sisheng)
144 ("ethiopic.txt" ethiopic)
145 ("indian-is13194.txt" indian-is13194)
146 ("ipa.txt" ipa)
147 ("thai-tis620.txt" thai-tis620)
148 ("tibetan.txt" tibetan)
149 ("vietnamese-viscii-lower.txt" vietnamese-viscii-lower)
150 ("vietnamese-viscii-upper.txt" vietnamese-viscii-upper)
151 )
152 ("unicode/other"
153 ("lao.txt" lao)
154 )
132 ))) 155 )))
133 (mapcar #'(lambda (args) 156 (mapcar #'(lambda (tables)
134 (apply 'parse-unicode-translation-table 157 (let ((undir
135 (expand-file-name (car args) undir) 158 (expand-file-name (car tables) data-directory)))
136 (cdr args))) 159 (mapcar #'(lambda (args)
160 (apply 'parse-unicode-translation-table
161 (expand-file-name (car args) undir)
162 (cdr args)))
163 (cdr tables))))
137 parse-args))) 164 parse-args)))
138 165
139 (defun init-unicode-at-startup () 166 (defun init-unicode-at-startup ()
140 (load-unicode-tables)) 167 (load-unicode-tables))
141 168