aboutsummaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorKenichi Handa2007-11-05 12:48:41 +0000
committerKenichi Handa2007-11-05 12:48:41 +0000
commitc5bb82f677c3e405ce4190bae34ae310e3346b35 (patch)
treeb567b22d93705c5345e88d8b43ab644ee9b83c67 /etc
parent0d5a1b051d88491ed3f35f1a74c53f7d1068fdaf (diff)
downloademacs-c5bb82f677c3e405ce4190bae34ae310e3346b35.tar.gz
emacs-c5bb82f677c3e405ce4190bae34ae310e3346b35.zip
*** empty log message ***
Diffstat (limited to 'etc')
-rw-r--r--etc/NEWS.unicode221
1 files changed, 191 insertions, 30 deletions
diff --git a/etc/NEWS.unicode b/etc/NEWS.unicode
index a1a137dc000..bdeb76b9974 100644
--- a/etc/NEWS.unicode
+++ b/etc/NEWS.unicode
@@ -1,7 +1,9 @@
1GNU Emacs NEWS -- history of user-visible changes. 1GNU Emacs NEWS -- history of user-visible changes.
2 2
3Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 3Copyright (C) 2007 Free Software Foundation, Inc.
4 Free Software Foundation, Inc. 4Copyright (C) 2007
5 National Institute of Advanced Industrial Science and Technology (AIST)
6 Registration Number H14PRO021
5See the end of the file for license conditions. 7See the end of the file for license conditions.
6 8
7Please send Emacs bug reports to bug-gnu-emacs@gnu.org. 9Please send Emacs bug reports to bug-gnu-emacs@gnu.org.
@@ -9,10 +11,8 @@ If possible, use M-x report-emacs-bug.
9 11
10This file is about changes in the Emacs "unicode" branch. 12This file is about changes in the Emacs "unicode" branch.
11 13
12Fixme: The notes about Emacs 23 are quite incomplete.
13
14 14
15* Changes in Emacs 23.1 15* Changes in Emacs Unicode
16 16
17** The Emacs character set is now a superset of Unicode. 17** The Emacs character set is now a superset of Unicode.
18(It has about four times the code space, which should be plenty). 18(It has about four times the code space, which should be plenty).
@@ -23,10 +23,6 @@ compatible with the UTF-8 encoding of Unicode. The `emacs-mule'
23coding system can still read and write data in the old internal 23coding system can still read and write data in the old internal
24encoding. 24encoding.
25 25
26There are still charsets which contain disjoint sets of characters
27where this is necessary or useful, especially for various Far Eastern
28sets which are problematic with Unicode.
29
30Since the internal encoding is also used by default for byte-compiled 26Since the internal encoding is also used by default for byte-compiled
31files -- i.e. the normal coding system for byte-compiled Lisp files is 27files -- i.e. the normal coding system for byte-compiled Lisp files is
32now utf-8-Emacs -- Lisp containing non-ASCII characters which is 28now utf-8-Emacs -- Lisp containing non-ASCII characters which is
@@ -47,44 +43,209 @@ as tables of unicodes.
47The dimension of a charset is now 0, 1, 2, or 3, and the size of each 43The dimension of a charset is now 0, 1, 2, or 3, and the size of each
48dimension is no longer limited to 94 or 96. 44dimension is no longer limited to 94 or 96.
49 45
50Generic characters no longer exist.
51
52A dynamic charset priority list is used to infer the charset of 46A dynamic charset priority list is used to infer the charset of
53unicodes for display &c. 47characters for display.
48
49** New minor mode Auto Composition Mode composes characters automatically
50when they are displayed. This mode is globally on by default.
51
52** Emacs now supports local fonts (fonts installed in the same machine
53as Emacs is running) by freetype and fontconfig libraries. On X, they
54are drived via Xft library with antialias support. Fontconfig-like
55font names (e.g. monospace-12) are also accepted.
56
57** New language environments Chinese-GBK, Chinese-GB18030, and
58TaiViet.
54 59
55** The following facilities are obsolete: 60** The following facilities are obsolete:
56 61
57Minor modes: unify-8859-on-encoding-mode, unify-8859-on-decoding-mode 62Minor modes: unify-8859-on-encoding-mode, unify-8859-on-decoding-mode
58 63
59 64
60* Lisp changes in Emacs 23.1 65* Lisp changes in Emacs Unicode
66
67** Character code, representation, and charset changes.
68
69Now character code space is 0x0..0x3FFFFF with no gap. Among them,
70characters of code 0x0..0x10FFFF are Unicode characters of the same
71code points. Characters of code 0x3FFF80..0x3FFFFF are raw 8-bit
72bytes.
73
74Generic characters no longer exist.
75
76In buffer and string, characters are represented by UTF-8 byte
77sequence in a multibyte buffer/string.
78
79The concept of charset is changed. A single character may belong to
80multiple charset (e.g. a-grave (U+00E0) belongs to charsets unicode,
81iso-8859-1, iso-8859-3, and etc).
82
83*** The new function `characterp' returns t if and only if the argument
84is a character.
85
86*** The new function `max-char' returns the maximum character code
87(currently it is #x3FFFFF).
88
89*** The function `encode-char' and `decode-char' now accepts any
90character sets.
91
92*** The function `define-charset' now accepts completely different
93form of argments (old-style arguments still works).
94
95*** The new function `define-charset-alias' defines an alias of a
96charset.
97
98*** The value of the function `char-charset' depends of the current
99priorities of charsets.
100
101*** The new function `charset-priority-list' returns the list of
102charsets ordered by priority.
103
104*** The new function `set-charset-priority' sets pliorities of
105charsets.
106
107*** The new function `unibyte-charset' returns the current unibyte
108charset. The unibyte charset determins how unibyte/multibyte
109conversion is done.
110
111*** The new function `set-unibyte-charset' sets the unibyte charset.
112
113*** The new function `unibyte-string' make a unibyte string from
114bytes.
115
116** Code conversion changes
117
118*** The new function `define-coding-system' should be used to define a
119coding system instead of `make-coding-system' (which is obsolete now).
120
121*** The functions `encode-coding-region' and `decode-coding-region'
122have the optional 4th argument to specify where the result of
123conversion should go.
124
125*** The functions `encode-coding-string' and `decode-coding-string'
126have the optional 4th argument specifying a buffer to store the result
127of conversion.
128
129*** The new fuction `with-coding-priority' executs the body part with
130the specified coding system priority order.
131
132*** The new function `check-coding-systems-region' checks if the text
133in the region is encodable by the specified coding systems.
134
135*** The new function `coding-system-aliases' returns a list of aliases
136of a coding system.
137
138*** The new function `coding-system-charset-list' returns a list of
139charsets supported by a coding system.
140
141*** The new funciton `coding-system-priority-list' returns a list of
142coding systems ordered by their priorities.
143
144*** Thew new function `set-coding-system-priority' sets priorities of
145coding systems.
146
147** Composition changes
148
149*** New functions and variables `auto-composition-mode' and
150`global-auto-composition-mode' toggles the new minor mode Auto
151Composition Mode locally and globally.
152
153*** New variable `auto-composition-function' is a function used in
154Auto Composition Mode to compose characters. The default value is the
155function `auto-compose-chars'.
156
157*** New variable `auto-compose-current-font' is set to the current
158font-object while characters are being composed in Auto Composition
159Mode.
160
161** Font Backend changes.
162
163*** New frame parameter `font-backend' specifies a list of
164font-backends supported by the frame's graphic device. On X, they are
165currently `x' and `xft'.
166
167*** New function `fontp' checks if the argument is a font-spec
168or font-entity.
169
170*** New function `font-spec' creates a new font-spec object.
171
172*** New function `font-get' returns a font property value.
173
174*** New function `font-put' sets a font property value.
175
176*** New function `list-fonts' returns a list of font-entities matching
177with the give specificaiton.
178
179*** New function `list-families' returns a list family names of
180available fonts.
181
182*** New function `font-font' returns a font-entity best matching with
183the given specification.
184
185*** New function `font-xlfd-name' returns an XLFD name of a give font
186(font-spec, font-entity, or font-object).
187
188*** New function `clear-font-cache' clears all font caches.
189
190** The function get-char-code-property now accepts many Unicode base
191character properties. They are `name', `general-category',
192`canonical-combining-class', `bidi-class', `decomposition',
193`decimal-digit-value', `digit-value', `numeric-value', `mirrord',
194`old-name', `iso-10646-comment', `uppercase', `lowercase', and
195`titlecase'.
196
197** Thew new function `define-char-code-property' defines a character
198code property.
199
200** The new function `char-code-property-description' returns the
201description string of a cahracter code property.
202
203*** The new variable `find-word-boundary-function-table' is a
204char-table of functions to search for a word boundary.
205
206*** The new variable `char-script-table' is a char-table of script
207names.
208
209*** The new variable `char-width-table' is a char-table of character
210widths.
211
212*** The new variable `print-charset-text-property' controls how to
213handle `charset' text property on printing a string.
214
215*** Thew new variable `printable-chars' is a char-table defining if a
216character is printable or not.
217
218*** The new function `robin-define-package' defines a Robin package
219which is an input method system different from Quail.
220
221*** The new function `robin-modify-package' modifies an existing Robin
222package.
61 223
62map-char-table's behaviour has changed. 224*** The new function `robin-use-package' start using a Robin package
225as an input method.
63 226
64New functions: characterp, max-char, map-charset-chars, 227** The functions `modify-syntax-entry' and `modify-category-entry' now
65define-charset-alias, primary-charset, set-primary-charset, 228accepts a cons of characters as the first argument, and modify all
66unify-charset, clear-charset-maps, charset-priority-list, 229entries in that range of characters.
67set-charset-priority, define-coding-system,
68define-coding-system-alias, coding-system-aliases, langinfo,
69string-to-multibyte.
70 230
71Changed functions: copy-sequence, decode-char, encode-char, 231** The function `set-fontset-font' now accepts a script name as the
72set-fontset-font, new-fontset, modify-syntax-entry, define-charset, 232second argument, and has the optional 5th argument to control how to
73modify-category-entry 233set the font.
74 234
75Obsoleted: char-bytes, chars-in-region, set-coding-priority, 235** The functions `char-bytes', `chars-in-region', `set-coding-priority',
76char-valid-p 236, `make-coding-system', and `char-valid-p' are now obsolete.
77 237
78 238
79* Incompatible Lisp changes 239* Incompatible Lisp changes
80 240
81Deleted functions: make-coding-system, register-char-codings, 241** The behavior of map-char-table has changed. It may call the
82coding-system-spec 242specified function with a cons (FROM . TO) as a key if characters in
243that range has the same value.
83 244
84** The character codes for characters from the 245** The value of the function `charset-id' is now always 0.
85eight-bit-control/eight-bit-graphic charsets aren't now in the range
86128-255.
87 246
247** The functions `register-char-codings' and `coding-system-spec' are
248deleted.
88 249
89 250
90---------------------------------------------------------------------- 251----------------------------------------------------------------------