comparison man/mule.texi @ 33745:78ec4a7ba765

(Undisplayable Characters): New node. Tweaks elsewhere.
author Dave Love <fx@gnu.org>
date Wed, 22 Nov 2000 14:04:22 +0000
parents d65f9772ee72
children a80251dea213
comparison
equal deleted inserted replaced
33744:67204e92850a 33745:78ec4a7ba765
54 * Recognize Coding:: How Emacs figures out which conversion to use. 54 * Recognize Coding:: How Emacs figures out which conversion to use.
55 * Specify Coding:: Various ways to choose which conversion to use. 55 * Specify Coding:: Various ways to choose which conversion to use.
56 * Fontsets:: Fontsets are collections of fonts 56 * Fontsets:: Fontsets are collections of fonts
57 that cover the whole spectrum of characters. 57 that cover the whole spectrum of characters.
58 * Defining Fontsets:: Defining a new fontset. 58 * Defining Fontsets:: Defining a new fontset.
59 * Undisplayable Characters:: When characters don't display.
59 * Single-Byte Character Support:: 60 * Single-Byte Character Support::
60 You can pick one European character set 61 You can pick one European character set
61 to use without multibyte characters. 62 to use without multibyte characters.
62 @end menu 63 @end menu
63 64
78 @findex view-hello-file 79 @findex view-hello-file
79 The command @kbd{C-h h} (@code{view-hello-file}) displays the file 80 The command @kbd{C-h h} (@code{view-hello-file}) displays the file
80 @file{etc/HELLO}, which shows how to say ``hello'' in many languages. 81 @file{etc/HELLO}, which shows how to say ``hello'' in many languages.
81 This illustrates various scripts. If the font you're using doesn't have 82 This illustrates various scripts. If the font you're using doesn't have
82 characters for all those different languages, you will see some hollow 83 characters for all those different languages, you will see some hollow
83 boxes instead of characters; see @ref{Fontsets}. 84 boxes instead of characters; see @ref{Fontsets}. On non-windowing
85 displays, @samp{?} is displayed in place of the hollow box.
84 86
85 @findex list-charset-chars 87 @findex list-charset-chars
86 @cindex characters in a certain charset 88 @cindex characters in a certain charset
87 The command @kbd{M-x list-charset-chars} prompts for a name of a 89 The command @kbd{M-x list-charset-chars} prompts for a name of a
88 character set, and displays all the characters in that character set. 90 character set, and displays all the characters in that character set.
185 @code{current-language-environment} or use the command @kbd{M-x 187 @code{current-language-environment} or use the command @kbd{M-x
186 set-language-environment}. It makes no difference which buffer is 188 set-language-environment}. It makes no difference which buffer is
187 current when you use this command, because the effects apply globally to 189 current when you use this command, because the effects apply globally to
188 the Emacs session. The supported language environments include: 190 the Emacs session. The supported language environments include:
189 191
190 @cindex euro sign 192 @cindex Euro sign
191 @quotation 193 @quotation
192 Chinese-BIG5, Chinese-CNS, Chinese-GB, Cyrillic-ALT, Cyrillic-ISO, 194 Chinese-BIG5, Chinese-CNS, Chinese-GB, Cyrillic-ALT, Cyrillic-ISO,
193 Cyrillic-KOI8, Czech, Devanagari, English, Ethiopic, German, Greek, 195 Cyrillic-KOI8, Czech, Devanagari, English, Ethiopic, German, Greek,
194 Hebrew, IPA, Japanese, Korean, Lao, Latin-1, Latin-2, Latin-3, Latin-4, 196 Hebrew, IPA, Japanese, Korean, Lao, Latin-1, Latin-2, Latin-3, Latin-4,
195 Latin-5, Latin-8 (Celtic), Latin-9 (updated Latin-1, with the Euro 197 Latin-5, Latin-8 (Celtic), Latin-9 (updated Latin-1, with the Euro
206 fonts. 208 fonts.
207 209
208 @findex set-locale-environment 210 @findex set-locale-environment
209 @vindex locale-language-names 211 @vindex locale-language-names
210 @vindex locale-charset-language-names 212 @vindex locale-charset-language-names
213 @cindex locales
211 Some operating systems let you specify the language you are using by 214 Some operating systems let you specify the language you are using by
212 setting the locale environment variables @env{LC_ALL}, @env{LC_CTYPE}, 215 setting the locale environment variables @env{LC_ALL}, @env{LC_CTYPE},
213 and @env{LANG}; the first of these which is nonempty specifies your 216 and @env{LANG}; the first of these which is nonempty specifies your
214 locale. Emacs handles this during startup by invoking the 217 locale. Emacs handles this during startup by invoking the
215 @code{set-locale-environment} function, which matches your locale 218 @code{set-locale-environment} function, which matches your locale
431 434
432 When multibyte characters are enabled, character codes 0240 (octal) 435 When multibyte characters are enabled, character codes 0240 (octal)
433 through 0377 (octal) are not really legitimate in the buffer. The valid 436 through 0377 (octal) are not really legitimate in the buffer. The valid
434 non-ASCII printing characters have codes that start from 0400. 437 non-ASCII printing characters have codes that start from 0400.
435 438
436 If you type a self-inserting character in the invalid range 0240 439 If you type a self-inserting character in the range 0240
437 through 0377, Emacs assumes you intended to use one of the ISO 440 through 0377, Emacs assumes you intended to use one of the ISO
438 Latin-@var{n} character sets, and converts it to the Emacs code 441 Latin-@var{n} character sets, and converts it to the Emacs code
439 representing that Latin-@var{n} character. You select @emph{which} ISO 442 representing that Latin-@var{n} character. You select @emph{which} ISO
440 Latin character set to use through your choice of language environment 443 Latin character set to use through your choice of language environment
441 @iftex 444 @iftex
445 (@pxref{Language Environments}). 448 (@pxref{Language Environments}).
446 @end ifinfo 449 @end ifinfo
447 If you do not specify a choice, the default is Latin-1. 450 If you do not specify a choice, the default is Latin-1.
448 451
449 The same thing happens when you use @kbd{C-q} to enter an octal code 452 The same thing happens when you use @kbd{C-q} to enter an octal code
450 in this range. 453 in this range. If you enter a code in the range 0200 through 0237,
454 which forms the @code{eight-bit-control} character set, it is inserted
455 literally. You should normally avoid doing this since buffers
456 containing such characters have to be written out in either the
457 @code{emacs-mule} or @code{raw-text} coding system, which is usually not
458 what you want.
451 459
452 @node Coding Systems 460 @node Coding Systems
453 @section Coding Systems 461 @section Coding Systems
454 @cindex coding systems 462 @cindex coding systems
455 463
828 terminals that support one of the ISO Latin character sets. You need to 836 terminals that support one of the ISO Latin character sets. You need to
829 specify the terminal coding system when using multibyte text, so that 837 specify the terminal coding system when using multibyte text, so that
830 Emacs knows which characters the terminal can actually handle. 838 Emacs knows which characters the terminal can actually handle.
831 839
832 By default, output to the terminal is not translated at all, unless 840 By default, output to the terminal is not translated at all, unless
833 Emacs can deduce the proper coding system from your terminal type. 841 Emacs can deduce the proper coding system from your terminal type or
842 your locale specification (@pxref{Language Environments}).
834 843
835 @kindex C-x RET k 844 @kindex C-x RET k
836 @findex set-keyboard-coding-system 845 @findex set-keyboard-coding-system
837 The command @kbd{C-x @key{RET} k} (@code{set-keyboard-coding-system}) 846 The command @kbd{C-x @key{RET} k} (@code{set-keyboard-coding-system})
838 specifies the coding system for keyboard input. Character-code 847 specifies the coding system for keyboard input. Character-code
921 itself. Once you have defined a fontset, you can use it within Emacs by 930 itself. Once you have defined a fontset, you can use it within Emacs by
922 specifying its name, anywhere that you could use a single font. Of 931 specifying its name, anywhere that you could use a single font. Of
923 course, Emacs fontsets can use only the fonts that the X server 932 course, Emacs fontsets can use only the fonts that the X server
924 supports; if certain characters appear on the screen as hollow boxes, 933 supports; if certain characters appear on the screen as hollow boxes,
925 this means that the fontset in use for them has no font for those 934 this means that the fontset in use for them has no font for those
926 characters. 935 characters.@footnote{The installation instructions have information on
936 additional font support.}
927 937
928 Emacs creates two fontsets automatically: the @dfn{standard fontset} 938 Emacs creates two fontsets automatically: the @dfn{standard fontset}
929 and the @dfn{startup fontset}. The standard fontset is most likely to 939 and the @dfn{startup fontset}. The standard fontset is most likely to
930 have fonts for a wide variety of non-ASCII characters; however, this is 940 have fonts for a wide variety of non-ASCII characters; however, this is
931 not the default for Emacs to use. (By default, Emacs tries to find a 941 not the default for Emacs to use. (By default, Emacs tries to find a
1074 The function that processes the fontset resource value to create the 1084 The function that processes the fontset resource value to create the
1075 fontset is called @code{create-fontset-from-fontset-spec}. You can also 1085 fontset is called @code{create-fontset-from-fontset-spec}. You can also
1076 call this function explicitly to create a fontset. 1086 call this function explicitly to create a fontset.
1077 1087
1078 @xref{Font X}, for more information about font naming in X. 1088 @xref{Font X}, for more information about font naming in X.
1089
1090 @node Undisplayable Characters
1091 @section Undisplayable Characters
1092
1093 Your terminal may not be able to display some non-@sc{ascii} characters.
1094 Most non-windowing terminals can only use a single character set,
1095 specified by the variable @code{default-terminal-coding-system}
1096 (@pxref{Specify Coding}) and characters which can't be encoded in it are
1097 displayed as @samp{?} by default. Windowing terminals may not have the
1098 necessary font available to display a given character and display a
1099 hollow box instead. You can change the default behavior.
1100
1101 If you use Latin-1 characters but your terminal can't display Latin-1,
1102 you can arrange to display mnemonic @sc{ascii} sequences instead, e.g.@:
1103 @samp{"o} for o-umlaut. Load the library @file{iso-ascii} to do this.
1104
1105 If your terminal can display Latin-1, you can display characters from
1106 other European character sets using a mixture of equivalent Latin-1
1107 characters and @sc{ascii} mnemonics. Use the Custom option
1108 @code{latin1-display} to enable this. The mnemonic @sc{ascii} sequences
1109 mostly correspond to those of the prefix input methods.
1079 1110
1080 @node Single-Byte Character Support 1111 @node Single-Byte Character Support
1081 @section Single-byte Character Set Support 1112 @section Single-byte Character Set Support
1082 1113
1083 @cindex European character sets 1114 @cindex European character sets