diff options
| author | Eli Zaretskii | 2010-11-13 15:29:31 +0200 |
|---|---|---|
| committer | Eli Zaretskii | 2010-11-13 15:29:31 +0200 |
| commit | 0eb025fb55277c038c39e7325a556de46ecbd2e4 (patch) | |
| tree | 677650021eae4915030d38baabe6c872eaa31845 /doc | |
| parent | 6e060cee8186d9fe5ad5f8a783d45f80f9b1bbe3 (diff) | |
| download | emacs-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/ChangeLog | 11 | ||||
| -rw-r--r-- | doc/emacs/display.texi | 42 | ||||
| -rw-r--r-- | doc/emacs/mule.texi | 18 | ||||
| -rw-r--r-- | doc/emacs/rmail.texi | 3 | ||||
| -rw-r--r-- | doc/lispref/ChangeLog | 5 | ||||
| -rw-r--r-- | doc/lispref/display.texi | 6 |
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 @@ | |||
| 1 | 2010-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 | |||
| 1 | 2010-11-13 Glenn Morris <rgm@gnu.org> | 12 | 2010-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. | |||
| 1136 | by means of a display table. @xref{Display Tables,, Display Tables, | 1136 | by means of a display table. @xref{Display Tables,, Display Tables, |
| 1137 | elisp, The Emacs Lisp Reference Manual}. | 1137 | elisp, 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 | ||
| 1142 | the fonts available to Emacs. On text terminals, some characters | ||
| 1143 | could be impossible to encode with the terminal coding system | ||
| 1144 | (@pxref{Terminal Coding}). Emacs can display such @dfn{glyphless} | ||
| 1145 | characters using one of the following methods: | ||
| 1146 | |||
| 1147 | @table @code | ||
| 1148 | @item zero-width | ||
| 1149 | Don't display the character. | ||
| 1150 | |||
| 1151 | @item thin-space | ||
| 1152 | Display a thin space, 1-pixel wide on graphics displays or 1-character | ||
| 1153 | wide on text terminals. | ||
| 1154 | |||
| 1155 | @item empty-box | ||
| 1156 | Display an empty box. | ||
| 1157 | |||
| 1158 | @item acronym | ||
| 1159 | Display the acronym of the character's name (such as @sc{zwnj} or | ||
| 1160 | @sc{rlm}) in a box. | ||
| 1161 | |||
| 1162 | @item hex-code | ||
| 1163 | Display the Unicode codepoint of the character in hexadecimal | ||
| 1164 | notation, in a box. | ||
| 1165 | @end table | ||
| 1166 | |||
| 1167 | @noindent | ||
| 1168 | @cindex @code{glyphless-char} face | ||
| 1169 | With the exception of @code{zero-width}, all other methods draw these | ||
| 1170 | characters in a special face @code{glyphless-char}, which you can | ||
| 1171 | customize. | ||
| 1172 | |||
| 1173 | @vindex glyphless-char-display-control | ||
| 1174 | @vindex char-acronym-table | ||
| 1175 | To control what glyphless characters are displayed using which method, | ||
| 1176 | customize the variable @code{glyphless-char-display-control}; see its | ||
| 1177 | doc string for the details. For even finer control, set the elements | ||
| 1178 | of 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 |
| 353 | graphical display, you need to have a suitable font. If some of the | 353 | graphical display, you need to have a suitable font. If some of the |
| 354 | characters appear as empty boxes, you should install the GNU Intlfonts | 354 | characters appear as empty boxes or hex codes, you should install the |
| 355 | package, which includes fonts for most supported scripts.@footnote{If | 355 | GNU Intlfonts package, which includes fonts for most supported |
| 356 | you run Emacs on X, you need to inform the X server about the location | 356 | scripts.@footnote{If you run Emacs on X, you need to inform the X |
| 357 | of the newly installed fonts with the following commands: | 357 | server about the location of the newly installed fonts with the |
| 358 | following 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 | |||
| 1314 | explicitly requested, despite its name. | 1315 | explicitly 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 |
| 1317 | code. If a fontset specifies no font for a certain character, or if it | 1318 | code. If a fontset specifies no font for a certain character, or if |
| 1318 | specifies a font that does not exist on your system, then it cannot | 1319 | it specifies a font that does not exist on your system, then it cannot |
| 1319 | display that character properly. It will display that character as an | 1320 | display that character properly. It will display that character as a |
| 1320 | empty box instead. | 1321 | hex code or thin space or an empty box instead. (@xref{Text Display, |
| 1322 | glyphless 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 | |||
| 1192 | example, a misconfigured mailer could send a message with a | 1192 | example, 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 |
| 1194 | in @code{koi8-r}. When you see the message text garbled, or some of | 1194 | in @code{koi8-r}. When you see the message text garbled, or some of |
| 1195 | its characters displayed as empty boxes, this may have happened. | 1195 | its characters displayed as hex codes or empty boxes, this may have |
| 1196 | happened. | ||
| 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 @@ | |||
| 1 | 2010-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 | |||
| 1 | 2010-10-31 Glenn Morris <rgm@gnu.org> | 6 | 2010-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 | |||
| 5579 | table can specify a glyph to use instead of @samp{\}.) | 5579 | table can specify a glyph to use instead of @samp{\}.) |
| 5580 | 5580 | ||
| 5581 | @item | 5581 | @item |
| 5582 | Multibyte character codes above 256 are displayed as themselves, or as a | 5582 | Multibyte character codes above 256 are displayed as themselves, or as |
| 5583 | question mark or empty box if the terminal cannot display that | 5583 | a question mark or a hex code or an empty box if the terminal cannot |
| 5584 | character. | 5584 | display 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 |