aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorEli Zaretskii2010-11-13 15:29:31 +0200
committerEli Zaretskii2010-11-13 15:29:31 +0200
commit0eb025fb55277c038c39e7325a556de46ecbd2e4 (patch)
tree677650021eae4915030d38baabe6c872eaa31845 /doc
parent6e060cee8186d9fe5ad5f8a783d45f80f9b1bbe3 (diff)
downloademacs-0eb025fb55277c038c39e7325a556de46ecbd2e4.tar.gz
emacs-0eb025fb55277c038c39e7325a556de46ecbd2e4.zip
Fix and document display of glyphless characters.
src/xdisp.c (set_cursor_from_row): Fix cursor positioning on zero-width characters. (syms_of_xdisp) <glyphless-char-display>: Doc fix. src/.gdbinit (pgx): Adapt to latest changes in `struct glyph'. src/w32term.c (x_draw_glyphless_glyph_string_foreground): Draw the box before drawing the glyphs inside it. src/dispextern.h (enum glyphless_display_method): Rename GLYPHLESS_DISPLAY_HEXA_CODE to GLYPHLESS_DISPLAY_HEX_CODE. All users changed. src/term.c (append_glyphless_glyph, produce_glyphless_glyph): Fix comments. (produce_glyphless_glyph): Enclose "U+nnnn" and "empty box" whitespace in "[]", to simulate a box. Don't use uninitialized variable `width'. lisp/international/characters.el (glyphless-char-display-control): Renamed from glyphless-char-control; all users changed. Doc fix. Signal an error if display method is not one of the recognized symbols. doc/emacs/rmail.texi (Rmail Coding): Characters with no fonts are not necessarily displayed as empty boxes. doc/emacs/mule.texi (Language Environments, Fontsets): Characters with no fonts are not necessarily displayed as empty boxes. doc/emacs/display.texi (Text Display): Document display of glyphless characters. doc/lispref/display.texi (Usual Display): Characters with no fonts are not necessarily displayed as empty boxes. etc/NEWS: Document display of glyphless characters.
Diffstat (limited to 'doc')
-rw-r--r--doc/emacs/ChangeLog11
-rw-r--r--doc/emacs/display.texi42
-rw-r--r--doc/emacs/mule.texi18
-rw-r--r--doc/emacs/rmail.texi3
-rw-r--r--doc/lispref/ChangeLog5
-rw-r--r--doc/lispref/display.texi6
6 files changed, 73 insertions, 12 deletions
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog
index e96846d7ea2..cb243825d5d 100644
--- a/doc/emacs/ChangeLog
+++ b/doc/emacs/ChangeLog
@@ -1,3 +1,14 @@
12010-11-13 Eli Zaretskii <eliz@gnu.org>
2
3 * rmail.texi (Rmail Coding): Characters with no fonts are not
4 necessarily displayed as empty boxes.
5
6 * mule.texi (Language Environments, Fontsets): Characters with no
7 fonts are not necessarily displayed as empty boxes.
8
9 * display.texi (Text Display): Document display of glyphless
10 characters.
11
12010-11-13 Glenn Morris <rgm@gnu.org> 122010-11-13 Glenn Morris <rgm@gnu.org>
2 13
3 * basic.texi (Position Info): Add M-x count-words-region. 14 * basic.texi (Position Info): Add M-x count-words-region.
diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi
index 3b5e7b0b955..cd08a524f50 100644
--- a/doc/emacs/display.texi
+++ b/doc/emacs/display.texi
@@ -1136,6 +1136,48 @@ prefix these characters with an escape character.
1136by means of a display table. @xref{Display Tables,, Display Tables, 1136by means of a display table. @xref{Display Tables,, Display Tables,
1137elisp, The Emacs Lisp Reference Manual}. 1137elisp, The Emacs Lisp Reference Manual}.
1138 1138
1139@cindex glyphless characters
1140@cindex characters with no font glyphs
1141 On graphics displays, some characters could have no glyphs in any of
1142the fonts available to Emacs. On text terminals, some characters
1143could be impossible to encode with the terminal coding system
1144(@pxref{Terminal Coding}). Emacs can display such @dfn{glyphless}
1145characters using one of the following methods:
1146
1147@table @code
1148@item zero-width
1149Don't display the character.
1150
1151@item thin-space
1152Display a thin space, 1-pixel wide on graphics displays or 1-character
1153wide on text terminals.
1154
1155@item empty-box
1156Display an empty box.
1157
1158@item acronym
1159Display the acronym of the character's name (such as @sc{zwnj} or
1160@sc{rlm}) in a box.
1161
1162@item hex-code
1163Display the Unicode codepoint of the character in hexadecimal
1164notation, in a box.
1165@end table
1166
1167@noindent
1168@cindex @code{glyphless-char} face
1169With the exception of @code{zero-width}, all other methods draw these
1170characters in a special face @code{glyphless-char}, which you can
1171customize.
1172
1173@vindex glyphless-char-display-control
1174@vindex char-acronym-table
1175To control what glyphless characters are displayed using which method,
1176customize the variable @code{glyphless-char-display-control}; see its
1177doc string for the details. For even finer control, set the elements
1178of 2 char-tables: @code{glyphless-char-display} and
1179@code{char-acronym-table}.
1180
1139@node Cursor Display 1181@node Cursor Display
1140@section Displaying the Cursor 1182@section Displaying the Cursor
1141 1183
diff --git a/doc/emacs/mule.texi b/doc/emacs/mule.texi
index 9fdef175826..79dbf78f292 100644
--- a/doc/emacs/mule.texi
+++ b/doc/emacs/mule.texi
@@ -351,10 +351,11 @@ which prefers Cyrillic characters and files encoded in Windows-1255).
351@cindex Intlfonts package, installation 351@cindex Intlfonts package, installation
352 To display the script(s) used by your language environment on a 352 To display the script(s) used by your language environment on a
353graphical display, you need to have a suitable font. If some of the 353graphical display, you need to have a suitable font. If some of the
354characters appear as empty boxes, you should install the GNU Intlfonts 354characters appear as empty boxes or hex codes, you should install the
355package, which includes fonts for most supported scripts.@footnote{If 355GNU Intlfonts package, which includes fonts for most supported
356you run Emacs on X, you need to inform the X server about the location 356scripts.@footnote{If you run Emacs on X, you need to inform the X
357of the newly installed fonts with the following commands: 357server about the location of the newly installed fonts with the
358following commands:
358 359
359@example 360@example
360 xset fp+ /usr/local/share/emacs/fonts 361 xset fp+ /usr/local/share/emacs/fonts
@@ -1314,10 +1315,11 @@ characters the font does not cover. The standard fontset is only used if
1314explicitly requested, despite its name. 1315explicitly requested, despite its name.
1315 1316
1316 A fontset does not necessarily specify a font for every character 1317 A fontset does not necessarily specify a font for every character
1317code. If a fontset specifies no font for a certain character, or if it 1318code. If a fontset specifies no font for a certain character, or if
1318specifies a font that does not exist on your system, then it cannot 1319it specifies a font that does not exist on your system, then it cannot
1319display that character properly. It will display that character as an 1320display that character properly. It will display that character as a
1320empty box instead. 1321hex code or thin space or an empty box instead. (@xref{Text Display,
1322glyphless characters}, for details.)
1321 1323
1322@node Defining Fontsets 1324@node Defining Fontsets
1323@section Defining fontsets 1325@section Defining fontsets
diff --git a/doc/emacs/rmail.texi b/doc/emacs/rmail.texi
index d477ca73c46..ddf68e62bbf 100644
--- a/doc/emacs/rmail.texi
+++ b/doc/emacs/rmail.texi
@@ -1192,7 +1192,8 @@ specification, or because the specification was inaccurate. For
1192example, a misconfigured mailer could send a message with a 1192example, a misconfigured mailer could send a message with a
1193@samp{charset=iso-8859-1} header when the message is actually encoded 1193@samp{charset=iso-8859-1} header when the message is actually encoded
1194in @code{koi8-r}. When you see the message text garbled, or some of 1194in @code{koi8-r}. When you see the message text garbled, or some of
1195its characters displayed as empty boxes, this may have happened. 1195its characters displayed as hex codes or empty boxes, this may have
1196happened.
1196 1197
1197@findex rmail-redecode-body 1198@findex rmail-redecode-body
1198 You can correct the problem by decoding the message again using the 1199 You can correct the problem by decoding the message again using the
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index 5607d179aad..d6853e0066d 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,8 @@
12010-11-13 Eli Zaretskii <eliz@gnu.org>
2
3 * display.texi (Usual Display): Characters with no fonts are not
4 necessarily displayed as empty boxes.
5
12010-10-31 Glenn Morris <rgm@gnu.org> 62010-10-31 Glenn Morris <rgm@gnu.org>
2 7
3 * maps.texi (Standard Keymaps): Update File menu description. 8 * maps.texi (Standard Keymaps): Update File menu description.
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi
index 92f96d302d9..6e872ad4233 100644
--- a/doc/lispref/display.texi
+++ b/doc/lispref/display.texi
@@ -5579,9 +5579,9 @@ digit characters representing the character code in octal. (A display
5579table can specify a glyph to use instead of @samp{\}.) 5579table can specify a glyph to use instead of @samp{\}.)
5580 5580
5581@item 5581@item
5582Multibyte character codes above 256 are displayed as themselves, or as a 5582Multibyte character codes above 256 are displayed as themselves, or as
5583question mark or empty box if the terminal cannot display that 5583a question mark or a hex code or an empty box if the terminal cannot
5584character. 5584display that character.
5585@end itemize 5585@end itemize
5586 5586
5587 The usual display conventions apply even when there is a display 5587 The usual display conventions apply even when there is a display