49 |
|
|
50 |
@itemize @bullet |
@itemize @bullet |
51 |
@item |
@item |
52 |
You can visit files with non-ASCII characters, save non-ASCII text, and |
You can visit files with non-@acronym{ASCII} characters, save non-@acronym{ASCII} text, and |
53 |
pass non-ASCII text between Emacs and programs it invokes (such as |
pass non-@acronym{ASCII} text between Emacs and programs it invokes (such as |
54 |
compilers, spell-checkers, and mailers). Setting your language |
compilers, spell-checkers, and mailers). Setting your language |
55 |
environment (@pxref{Language Environments}) takes care of setting up the |
environment (@pxref{Language Environments}) takes care of setting up the |
56 |
coding systems and other options for a specific language or culture. |
coding systems and other options for a specific language or culture. |
58 |
for each command; see @ref{Specify Coding}. |
for each command; see @ref{Specify Coding}. |
59 |
|
|
60 |
@item |
@item |
61 |
You can display non-ASCII characters encoded by the various scripts. |
You can display non-@acronym{ASCII} characters encoded by the various scripts. |
62 |
This works by using appropriate fonts on X and similar graphics |
This works by using appropriate fonts on X and similar graphics |
63 |
displays (@pxref{Defining Fontsets}), and by sending special codes to |
displays (@pxref{Defining Fontsets}), and by sending special codes to |
64 |
text-only displays (@pxref{Specify Coding}). If some characters are |
text-only displays (@pxref{Specify Coding}). If some characters are |
66 |
describes possible problems and explains how to solve them. |
describes possible problems and explains how to solve them. |
67 |
|
|
68 |
@item |
@item |
69 |
You can insert non-ASCII characters or search for them. To do that, |
You can insert non-@acronym{ASCII} characters or search for them. To do that, |
70 |
you can specify an input method (@pxref{Select Input Method}) suitable |
you can specify an input method (@pxref{Select Input Method}) suitable |
71 |
for your language, or use the default input method set up when you set |
for your language, or use the default input method set up when you set |
72 |
your language environment. (Emacs input methods are part of the Leim |
your language environment. (Emacs input methods are part of the Leim |
73 |
package, which must be installed for you to be able to use them.) If |
package, which must be installed for you to be able to use them.) If |
74 |
your keyboard can produce non-ASCII characters, you can select an |
your keyboard can produce non-@acronym{ASCII} characters, you can select an |
75 |
appropriate keyboard coding system (@pxref{Specify Coding}), and Emacs |
appropriate keyboard coding system (@pxref{Specify Coding}), and Emacs |
76 |
will accept those characters. Latin-1 characters can also be input by |
will accept those characters. Latin-1 characters can also be input by |
77 |
using the @kbd{C-x 8} prefix, see @ref{Single-Byte Character Support, |
using the @kbd{C-x 8} prefix, see @ref{Single-Byte Character Support, |
110 |
many more-or-less standard coding systems for storing files. Emacs |
many more-or-less standard coding systems for storing files. Emacs |
111 |
internally uses a single multibyte character encoding, so that it can |
internally uses a single multibyte character encoding, so that it can |
112 |
intermix characters from all these scripts in a single buffer or string. |
intermix characters from all these scripts in a single buffer or string. |
113 |
This encoding represents each non-ASCII character as a sequence of bytes |
This encoding represents each non-@acronym{ASCII} character as a sequence of bytes |
114 |
in the range 0200 through 0377. Emacs translates between the multibyte |
in the range 0200 through 0377. Emacs translates between the multibyte |
115 |
character encoding and various other coding systems when reading and |
character encoding and various other coding systems when reading and |
116 |
writing files, when exchanging data with subprocesses, and (in some |
writing files, when exchanging data with subprocesses, and (in some |
187 |
@cindex Lisp files, and multibyte operation |
@cindex Lisp files, and multibyte operation |
188 |
@cindex multibyte operation, and Lisp files |
@cindex multibyte operation, and Lisp files |
189 |
@cindex unibyte operation, and Lisp files |
@cindex unibyte operation, and Lisp files |
190 |
@cindex init file, and non-ASCII characters |
@cindex init file, and non-@acronym{ASCII} characters |
191 |
@cindex environment variables, and non-ASCII characters |
@cindex environment variables, and non-@acronym{ASCII} characters |
192 |
With @samp{--unibyte}, multibyte strings are not created during |
With @samp{--unibyte}, multibyte strings are not created during |
193 |
initialization from the values of environment variables, |
initialization from the values of environment variables, |
194 |
@file{/etc/passwd} entries etc.@: that contain non-ASCII 8-bit |
@file{/etc/passwd} entries etc.@: that contain non-@acronym{ASCII} 8-bit |
195 |
characters. |
characters. |
196 |
|
|
197 |
Emacs normally loads Lisp files as multibyte, regardless of whether |
Emacs normally loads Lisp files as multibyte, regardless of whether |
282 |
(The former variable overrides the latter.) It also adjusts the display |
(The former variable overrides the latter.) It also adjusts the display |
283 |
table and terminal coding system, the locale coding system, the |
table and terminal coding system, the locale coding system, the |
284 |
preferred coding system as needed for the locale, and---last but not |
preferred coding system as needed for the locale, and---last but not |
285 |
least---the way Emacs decodes non-ASCII characters sent by your keyboard. |
least---the way Emacs decodes non-@acronym{ASCII} characters sent by your keyboard. |
286 |
|
|
287 |
If you modify the @env{LC_ALL}, @env{LC_CTYPE}, or @env{LANG} |
If you modify the @env{LC_ALL}, @env{LC_CTYPE}, or @env{LANG} |
288 |
environment variables while running Emacs, you may want to invoke the |
environment variables while running Emacs, you may want to invoke the |
346 |
characters can share one input method. A few languages support several |
characters can share one input method. A few languages support several |
347 |
input methods. |
input methods. |
348 |
|
|
349 |
The simplest kind of input method works by mapping ASCII letters |
The simplest kind of input method works by mapping @acronym{ASCII} letters |
350 |
into another alphabet; this allows you to use one other alphabet |
into another alphabet; this allows you to use one other alphabet |
351 |
instead of ASCII. The Greek and Russian input methods |
instead of @acronym{ASCII}. The Greek and Russian input methods |
352 |
work this way. |
work this way. |
353 |
|
|
354 |
A more powerful technique is composition: converting sequences of |
A more powerful technique is composition: converting sequences of |
355 |
characters into one letter. Many European input methods use composition |
characters into one letter. Many European input methods use composition |
356 |
to produce a single non-ASCII letter from a sequence that consists of a |
to produce a single non-@acronym{ASCII} letter from a sequence that consists of a |
357 |
letter followed by accent characters (or vice versa). For example, some |
letter followed by accent characters (or vice versa). For example, some |
358 |
methods convert the sequence @kbd{a'} into a single accented letter. |
methods convert the sequence @kbd{a'} into a single accented letter. |
359 |
These input methods have no special commands of their own; all they do |
These input methods have no special commands of their own; all they do |
480 |
|
|
481 |
@findex toggle-input-method |
@findex toggle-input-method |
482 |
@kindex C-\ |
@kindex C-\ |
483 |
Input methods use various sequences of ASCII characters to stand for |
Input methods use various sequences of @acronym{ASCII} characters to stand for |
484 |
non-ASCII characters. Sometimes it is useful to turn off the input |
non-@acronym{ASCII} characters. Sometimes it is useful to turn off the input |
485 |
method temporarily. To do this, type @kbd{C-\} |
method temporarily. To do this, type @kbd{C-\} |
486 |
(@code{toggle-input-method}). To reenable the input method, type |
(@code{toggle-input-method}). To reenable the input method, type |
487 |
@kbd{C-\} again. |
@kbd{C-\} again. |
534 |
method, including the string that stands for it in the mode line. |
method, including the string that stands for it in the mode line. |
535 |
|
|
536 |
@node Multibyte Conversion |
@node Multibyte Conversion |
537 |
@section Unibyte and Multibyte Non-ASCII characters |
@section Unibyte and Multibyte Non-@acronym{ASCII} characters |
538 |
|
|
539 |
When multibyte characters are enabled, character codes 0240 (octal) |
When multibyte characters are enabled, character codes 0240 (octal) |
540 |
through 0377 (octal) are not really legitimate in the buffer. The valid |
through 0377 (octal) are not really legitimate in the buffer. The valid |
541 |
non-ASCII printing characters have codes that start from 0400. |
non-@acronym{ASCII} printing characters have codes that start from 0400. |
542 |
|
|
543 |
If you type a self-inserting character in the range 0240 through |
If you type a self-inserting character in the range 0240 through |
544 |
0377, or if you use @kbd{C-q} to insert one, Emacs assumes you |
0377, or if you use @kbd{C-q} to insert one, Emacs assumes you |
590 |
850, type @kbd{C-x @key{RET} c cp850 @key{RET} C-x C-f @var{filename} |
850, type @kbd{C-x @key{RET} c cp850 @key{RET} C-x C-f @var{filename} |
591 |
@key{RET}}. |
@key{RET}}. |
592 |
|
|
593 |
In addition to converting various representations of non-ASCII |
In addition to converting various representations of non-@acronym{ASCII} |
594 |
characters, a coding system can perform end-of-line conversion. Emacs |
characters, a coding system can perform end-of-line conversion. Emacs |
595 |
handles three different conventions for how to separate lines in a file: |
handles three different conventions for how to separate lines in a file: |
596 |
newline, carriage-return linefeed, and just carriage-return. |
newline, carriage-return linefeed, and just carriage-return. |
661 |
@code{iso-latin-1-mac}. |
@code{iso-latin-1-mac}. |
662 |
|
|
663 |
The coding system @code{raw-text} is good for a file which is mainly |
The coding system @code{raw-text} is good for a file which is mainly |
664 |
ASCII text, but may contain byte values above 127 which are not meant to |
@acronym{ASCII} text, but may contain byte values above 127 which are not meant to |
665 |
encode non-ASCII characters. With @code{raw-text}, Emacs copies those |
encode non-@acronym{ASCII} characters. With @code{raw-text}, Emacs copies those |
666 |
byte values unchanged, and sets @code{enable-multibyte-characters} to |
byte values unchanged, and sets @code{enable-multibyte-characters} to |
667 |
@code{nil} in the current buffer so that they will be interpreted |
@code{nil} in the current buffer so that they will be interpreted |
668 |
properly. @code{raw-text} handles end-of-line conversion in the usual |
properly. @code{raw-text} handles end-of-line conversion in the usual |
670 |
specify the kind of end-of-line conversion to use. |
specify the kind of end-of-line conversion to use. |
671 |
|
|
672 |
In contrast, the coding system @code{no-conversion} specifies no |
In contrast, the coding system @code{no-conversion} specifies no |
673 |
character code conversion at all---none for non-ASCII byte values and |
character code conversion at all---none for non-@acronym{ASCII} byte values and |
674 |
none for end of line. This is useful for reading or writing binary |
none for end of line. This is useful for reading or writing binary |
675 |
files, tar files, and other files that must be examined verbatim. It, |
files, tar files, and other files that must be examined verbatim. It, |
676 |
too, sets @code{enable-multibyte-characters} to @code{nil}. |
too, sets @code{enable-multibyte-characters} to @code{nil}. |
681 |
might convert the file contents before you see them. @xref{Visiting}. |
might convert the file contents before you see them. @xref{Visiting}. |
682 |
|
|
683 |
The coding system @code{emacs-mule} means that the file contains |
The coding system @code{emacs-mule} means that the file contains |
684 |
non-ASCII characters stored with the internal Emacs encoding. It |
non-@acronym{ASCII} characters stored with the internal Emacs encoding. It |
685 |
handles end-of-line conversion based on the data encountered, and has |
handles end-of-line conversion based on the data encountered, and has |
686 |
the usual three variants to specify the kind of end-of-line conversion. |
the usual three variants to specify the kind of end-of-line conversion. |
687 |
|
|
774 |
The default value of @code{inhibit-iso-escape-detection} is |
The default value of @code{inhibit-iso-escape-detection} is |
775 |
@code{nil}. We recommend that you not change it permanently, only for |
@code{nil}. We recommend that you not change it permanently, only for |
776 |
one specific operation. That's because many Emacs Lisp source files |
one specific operation. That's because many Emacs Lisp source files |
777 |
in the Emacs distribution contain non-ASCII characters encoded in the |
in the Emacs distribution contain non-@acronym{ASCII} characters encoded in the |
778 |
coding system @code{iso-2022-7bit}, and they won't be |
coding system @code{iso-2022-7bit}, and they won't be |
779 |
decoded correctly when you visit those files if you suppress the |
decoded correctly when you visit those files if you suppress the |
780 |
escape sequence detection. |
escape sequence detection. |
817 |
@findex unify-8859-on-decoding-mode |
@findex unify-8859-on-decoding-mode |
818 |
The command @code{unify-8859-on-decoding-mode} enables a mode that |
The command @code{unify-8859-on-decoding-mode} enables a mode that |
819 |
``unifies'' the Latin alphabets when decoding text. This works by |
``unifies'' the Latin alphabets when decoding text. This works by |
820 |
converting all non-ASCII Latin-@var{n} characters to either Latin-1 or |
converting all non-@acronym{ASCII} Latin-@var{n} characters to either Latin-1 or |
821 |
Unicode characters. This way it is easier to use various |
Unicode characters. This way it is easier to use various |
822 |
Latin-@var{n} alphabets together. In a future Emacs version we hope |
Latin-@var{n} alphabets together. In a future Emacs version we hope |
823 |
to move towards full Unicode support and complete unification of |
to move towards full Unicode support and complete unification of |
837 |
most coding systems can only handle some of the possible characters. |
most coding systems can only handle some of the possible characters. |
838 |
This means that it is possible for you to insert characters that |
This means that it is possible for you to insert characters that |
839 |
cannot be encoded with the coding system that will be used to save the |
cannot be encoded with the coding system that will be used to save the |
840 |
buffer. For example, you could start with an ASCII file and insert a |
buffer. For example, you could start with an @acronym{ASCII} file and insert a |
841 |
few Latin-1 characters into it, or you could edit a text file in |
few Latin-1 characters into it, or you could edit a text file in |
842 |
Polish encoded in @code{iso-8859-2} and add some Russian words to it. |
Polish encoded in @code{iso-8859-2} and add some Russian words to it. |
843 |
When you save the buffer, Emacs cannot use the current value of |
When you save the buffer, Emacs cannot use the current value of |
993 |
or the Custom option @code{keyboard-coding-system} |
or the Custom option @code{keyboard-coding-system} |
994 |
specifies the coding system for keyboard input. Character-code |
specifies the coding system for keyboard input. Character-code |
995 |
translation of keyboard input is useful for terminals with keys that |
translation of keyboard input is useful for terminals with keys that |
996 |
send non-ASCII graphic characters---for example, some terminals designed |
send non-@acronym{ASCII} graphic characters---for example, some terminals designed |
997 |
for ISO Latin-1 or subsets of it. |
for ISO Latin-1 or subsets of it. |
998 |
|
|
999 |
By default, keyboard input is translated based on your system locale |
By default, keyboard input is translated based on your system locale |
1000 |
setting. If your terminal does not really support the encoding |
setting. If your terminal does not really support the encoding |
1001 |
implied by your locale (for example, if you find it inserts a |
implied by your locale (for example, if you find it inserts a |
1002 |
non-ASCII character if you type @kbd{M-i}), you will need to set |
non-@acronym{ASCII} character if you type @kbd{M-i}), you will need to set |
1003 |
@code{keyboard-coding-system} to @code{nil} to turn off encoding. |
@code{keyboard-coding-system} to @code{nil} to turn off encoding. |
1004 |
You can do this by putting |
You can do this by putting |
1005 |
|
|
1014 |
keyboard input, and using an input method: both define sequences of |
keyboard input, and using an input method: both define sequences of |
1015 |
keyboard input that translate into single characters. However, input |
keyboard input that translate into single characters. However, input |
1016 |
methods are designed to be convenient for interactive use by humans, and |
methods are designed to be convenient for interactive use by humans, and |
1017 |
the sequences that are translated are typically sequences of ASCII |
the sequences that are translated are typically sequences of @acronym{ASCII} |
1018 |
printing characters. Coding systems typically translate sequences of |
printing characters. Coding systems typically translate sequences of |
1019 |
non-graphic characters. |
non-graphic characters. |
1020 |
|
|
1043 |
current language environment. |
current language environment. |
1044 |
|
|
1045 |
@vindex file-name-coding-system |
@vindex file-name-coding-system |
1046 |
@cindex file names with non-ASCII characters |
@cindex file names with non-@acronym{ASCII} characters |
1047 |
The variable @code{file-name-coding-system} specifies a coding system |
The variable @code{file-name-coding-system} specifies a coding system |
1048 |
to use for encoding file names. If you set the variable to a coding |
to use for encoding file names. If you set the variable to a coding |
1049 |
system name (as a Lisp symbol or a string), Emacs encodes file names |
system name (as a Lisp symbol or a string), Emacs encodes file names |
1050 |
using that coding system for all file operations. This makes it |
using that coding system for all file operations. This makes it |
1051 |
possible to use non-ASCII characters in file names---or, at least, those |
possible to use non-@acronym{ASCII} characters in file names---or, at least, those |
1052 |
non-ASCII characters which the specified coding system can encode. |
non-@acronym{ASCII} characters which the specified coding system can encode. |
1053 |
|
|
1054 |
If @code{file-name-coding-system} is @code{nil}, Emacs uses a default |
If @code{file-name-coding-system} is @code{nil}, Emacs uses a default |
1055 |
coding system determined by the selected language environment. In the |
coding system determined by the selected language environment. In the |
1056 |
default language environment, any non-ASCII characters in file names are |
default language environment, any non-@acronym{ASCII} characters in file names are |
1057 |
not encoded specially; they appear in the file system using the internal |
not encoded specially; they appear in the file system using the internal |
1058 |
Emacs representation. |
Emacs representation. |
1059 |
|
|
1067 |
C-w} to specify a new file name for that buffer. |
C-w} to specify a new file name for that buffer. |
1068 |
|
|
1069 |
@vindex locale-coding-system |
@vindex locale-coding-system |
1070 |
@cindex decoding non-ASCII keyboard input on X |
@cindex decoding non-@acronym{ASCII} keyboard input on X |
1071 |
The variable @code{locale-coding-system} specifies a coding system |
The variable @code{locale-coding-system} specifies a coding system |
1072 |
to use when encoding and decoding system strings such as system error |
to use when encoding and decoding system strings such as system error |
1073 |
messages and @code{format-time-string} formats and time stamps. That |
messages and @code{format-time-string} formats and time stamps. That |
1074 |
coding system is also used for decoding non-ASCII keyboard input on X |
coding system is also used for decoding non-@acronym{ASCII} keyboard input on X |
1075 |
Window systems. You should choose a coding system that is compatible |
Window systems. You should choose a coding system that is compatible |
1076 |
with the underlying system's text representation, which is normally |
with the underlying system's text representation, which is normally |
1077 |
specified by one of the environment variables @env{LC_ALL}, |
specified by one of the environment variables @env{LC_ALL}, |
1101 |
|
|
1102 |
Emacs creates two fontsets automatically: the @dfn{standard fontset} |
Emacs creates two fontsets automatically: the @dfn{standard fontset} |
1103 |
and the @dfn{startup fontset}. The standard fontset is most likely to |
and the @dfn{startup fontset}. The standard fontset is most likely to |
1104 |
have fonts for a wide variety of non-ASCII characters; however, this is |
have fonts for a wide variety of non-@acronym{ASCII} characters; however, this is |
1105 |
not the default for Emacs to use. (By default, Emacs tries to find a |
not the default for Emacs to use. (By default, Emacs tries to find a |
1106 |
font that has bold and italic variants.) You can specify use of the |
font that has bold and italic variants.) You can specify use of the |
1107 |
standard fontset with the @samp{-fn} option, or with the @samp{Font} X |
standard fontset with the @samp{-fn} option, or with the @samp{Font} X |
1137 |
@samp{medium}, or @samp{i} instead of @samp{r}, or both. |
@samp{medium}, or @samp{i} instead of @samp{r}, or both. |
1138 |
|
|
1139 |
@cindex startup fontset |
@cindex startup fontset |
1140 |
If you specify a default ASCII font with the @samp{Font} resource or |
If you specify a default @acronym{ASCII} font with the @samp{Font} resource or |
1141 |
the @samp{-fn} argument, Emacs generates a fontset from it |
the @samp{-fn} argument, Emacs generates a fontset from it |
1142 |
automatically. This is the @dfn{startup fontset} and its name is |
automatically. This is the @dfn{startup fontset} and its name is |
1143 |
@code{fontset-startup}. It does this by replacing the @var{foundry}, |
@code{fontset-startup}. It does this by replacing the @var{foundry}, |
1191 |
|
|
1192 |
For the other character sets, Emacs chooses a font based on |
For the other character sets, Emacs chooses a font based on |
1193 |
@var{fontpattern}. It replaces @samp{fontset-@var{alias}} with values |
@var{fontpattern}. It replaces @samp{fontset-@var{alias}} with values |
1194 |
that describe the character set. For the ASCII character font, |
that describe the character set. For the @acronym{ASCII} character font, |
1195 |
@samp{fontset-@var{alias}} is replaced with @samp{ISO8859-1}. |
@samp{fontset-@var{alias}} is replaced with @samp{ISO8859-1}. |
1196 |
|
|
1197 |
In addition, when several consecutive fields are wildcards, Emacs |
In addition, when several consecutive fields are wildcards, Emacs |
1208 |
@end example |
@end example |
1209 |
|
|
1210 |
@noindent |
@noindent |
1211 |
the font specification for ASCII characters would be this: |
the font specification for @acronym{ASCII} characters would be this: |
1212 |
|
|
1213 |
@example |
@example |
1214 |
-*-fixed-medium-r-normal-*-24-*-ISO8859-1 |
-*-fixed-medium-r-normal-*-24-*-ISO8859-1 |
1247 |
@node Undisplayable Characters |
@node Undisplayable Characters |
1248 |
@section Undisplayable Characters |
@section Undisplayable Characters |
1249 |
|
|
1250 |
There may be a some non-ASCII characters that your terminal cannot |
There may be a some non-@acronym{ASCII} characters that your terminal cannot |
1251 |
display. Most non-windowing terminals support just a single character |
display. Most non-windowing terminals support just a single character |
1252 |
set (use the variable @code{default-terminal-coding-system} |
set (use the variable @code{default-terminal-coding-system} |
1253 |
(@pxref{Specify Coding}) to tell Emacs which one); characters which |
(@pxref{Specify Coding}) to tell Emacs which one); characters which |
1259 |
no font appear as a hollow box. |
no font appear as a hollow box. |
1260 |
|
|
1261 |
If you use Latin-1 characters but your terminal can't display |
If you use Latin-1 characters but your terminal can't display |
1262 |
Latin-1, you can arrange to display mnemonic ASCII sequences |
Latin-1, you can arrange to display mnemonic @acronym{ASCII} sequences |
1263 |
instead, e.g.@: @samp{"o} for o-umlaut. Load the library |
instead, e.g.@: @samp{"o} for o-umlaut. Load the library |
1264 |
@file{iso-ascii} to do this. |
@file{iso-ascii} to do this. |
1265 |
|
|
1266 |
@vindex latin1-display |
@vindex latin1-display |
1267 |
If your terminal can display Latin-1, you can display characters |
If your terminal can display Latin-1, you can display characters |
1268 |
from other European character sets using a mixture of equivalent |
from other European character sets using a mixture of equivalent |
1269 |
Latin-1 characters and ASCII mnemonics. Use the Custom option |
Latin-1 characters and @acronym{ASCII} mnemonics. Use the Custom option |
1270 |
@code{latin1-display} to enable this. The mnemonic ASCII |
@code{latin1-display} to enable this. The mnemonic @acronym{ASCII} |
1271 |
sequences mostly correspond to those of the prefix input methods. |
sequences mostly correspond to those of the prefix input methods. |
1272 |
|
|
1273 |
@node Single-Byte Character Support |
@node Single-Byte Character Support |
1288 |
|
|
1289 |
For more information about unibyte operation, see @ref{Enabling |
For more information about unibyte operation, see @ref{Enabling |
1290 |
Multibyte}. Note particularly that you probably want to ensure that |
Multibyte}. Note particularly that you probably want to ensure that |
1291 |
your initialization files are read as unibyte if they contain non-ASCII |
your initialization files are read as unibyte if they contain non-@acronym{ASCII} |
1292 |
characters. |
characters. |
1293 |
|
|
1294 |
@vindex unibyte-display-via-language-environment |
@vindex unibyte-display-via-language-environment |
1302 |
|
|
1303 |
@cindex @code{iso-ascii} library |
@cindex @code{iso-ascii} library |
1304 |
If your terminal does not support display of the Latin-1 character |
If your terminal does not support display of the Latin-1 character |
1305 |
set, Emacs can display these characters as ASCII sequences which at |
set, Emacs can display these characters as @acronym{ASCII} sequences which at |
1306 |
least give you a clear idea of what the characters are. To do this, |
least give you a clear idea of what the characters are. To do this, |
1307 |
load the library @code{iso-ascii}. Similar libraries for other |
load the library @code{iso-ascii}. Similar libraries for other |
1308 |
Latin-@var{n} character sets could be implemented, but we don't have |
Latin-@var{n} character sets could be implemented, but we don't have |
1315 |
non-standard ``extended'' versions of ISO-8859 character sets by using the |
non-standard ``extended'' versions of ISO-8859 character sets by using the |
1316 |
function @code{standard-display-8bit} in the @code{disp-table} library. |
function @code{standard-display-8bit} in the @code{disp-table} library. |
1317 |
|
|
1318 |
There are several ways you can input single-byte non-ASCII |
There are several ways you can input single-byte non-@acronym{ASCII} |
1319 |
characters: |
characters: |
1320 |
|
|
1321 |
@itemize @bullet |
@itemize @bullet |
1322 |
@cindex 8-bit input |
@cindex 8-bit input |
1323 |
@item |
@item |
1324 |
If your keyboard can generate character codes 128 (decimal) and up, |
If your keyboard can generate character codes 128 (decimal) and up, |
1325 |
representing non-ASCII characters, you can type those character codes |
representing non-@acronym{ASCII} characters, you can type those character codes |
1326 |
directly. |
directly. |
1327 |
|
|
1328 |
On a windowing terminal, you should not need to do anything special to |
On a windowing terminal, you should not need to do anything special to |
1339 |
@item |
@item |
1340 |
You can use an input method for the selected language environment. |
You can use an input method for the selected language environment. |
1341 |
@xref{Input Methods}. When you use an input method in a unibyte buffer, |
@xref{Input Methods}. When you use an input method in a unibyte buffer, |
1342 |
the non-ASCII character you specify with it is converted to unibyte. |
the non-@acronym{ASCII} character you specify with it is converted to unibyte. |
1343 |
|
|
1344 |
@kindex C-x 8 |
@kindex C-x 8 |
1345 |
@cindex @code{iso-transl} library |
@cindex @code{iso-transl} library |
1348 |
@item |
@item |
1349 |
For Latin-1 only, you can use the |
For Latin-1 only, you can use the |
1350 |
key @kbd{C-x 8} as a ``compose character'' prefix for entry of |
key @kbd{C-x 8} as a ``compose character'' prefix for entry of |
1351 |
non-ASCII Latin-1 printing characters. @kbd{C-x 8} is good for |
non-@acronym{ASCII} Latin-1 printing characters. @kbd{C-x 8} is good for |
1352 |
insertion (in the minibuffer as well as other buffers), for searching, |
insertion (in the minibuffer as well as other buffers), for searching, |
1353 |
and in any other context where a key sequence is allowed. |
and in any other context where a key sequence is allowed. |
1354 |
|
|
1380 |
Emacs groups all supported characters into disjoint @dfn{charsets}. |
Emacs groups all supported characters into disjoint @dfn{charsets}. |
1381 |
Each character code belongs to one and only one charset. For |
Each character code belongs to one and only one charset. For |
1382 |
historical reasons, Emacs typically divides an 8-bit character code |
historical reasons, Emacs typically divides an 8-bit character code |
1383 |
for an extended version of ASCII into two charsets: ASCII, which |
for an extended version of @acronym{ASCII} into two charsets: @acronym{ASCII}, which |
1384 |
covers the codes 0 through 127, plus another charset which covers the |
covers the codes 0 through 127, plus another charset which covers the |
1385 |
``right-hand part'' (the codes 128 and up). For instance, the |
``right-hand part'' (the codes 128 and up). For instance, the |
1386 |
characters of Latin-1 include the Emacs charset @code{ascii} plus the |
characters of Latin-1 include the Emacs charset @code{ascii} plus the |