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))