Mercurial > emacs
changeset 29669:50fecf68aa38
(woman-man-buffer): Fix bold and underlined CJK
characters, which use series of two ^H characters instead of one.
author | Eli Zaretskii <eliz@gnu.org> |
---|---|
date | Thu, 15 Jun 2000 12:31:55 +0000 |
parents | 1e6eeead2f1d |
children | 38eb119ab17b |
files | lisp/woman.el |
diffstat | 1 files changed, 15 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/woman.el Thu Jun 15 12:20:34 2000 +0000 +++ b/lisp/woman.el Thu Jun 15 12:31:55 2000 +0000 @@ -1619,9 +1619,23 @@ (while (re-search-forward "^[ \t]*\n\\([ \t]*\n\\)+" nil t) (replace-match "\n" t t)) + ;; CJK characters are underlined by double-sized "__". + ;; (Code lifted from man.el, with trivial changes.) + (if (< (buffer-size) (position-bytes (point-max))) + ;; Multibyte characters exist. + (progn + (goto-char (point-min)) + (while (search-forward "__\b\b" nil t) + (backward-delete-char 4) + (woman-set-face (point) (1+ (point)) 'woman-italic-face)) + (goto-char (point-min)) + (while (search-forward "\b\b__" nil t) + (backward-delete-char 4) + (woman-set-face (1- (point)) (point) 'woman-italic-face)))) + ;; Interpret overprinting to indicate bold face: (goto-char (point-min)) - (while (re-search-forward "\\(.\\)\\(\\(\\1\\)+\\)" nil t) + (while (re-search-forward "\\(.\\)\\(\\(+\\1\\)+\\)" nil t) (woman-delete-match 2) (woman-set-face (1- (point)) (point) 'woman-bold-face))