/[emacs]/emacs/lisp/international/latin1-disp.el
ViewVC logotype

Diff of /emacs/lisp/international/latin1-disp.el

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.14 by miles, Mon Sep 1 15:45:28 2003 UTC revision 1.15 by fx, Mon Sep 1 18:46:41 2003 UTC
# Line 106  a Unicode font with which to display the Line 106  a Unicode font with which to display the
106    (if sets    (if sets
107        (progn        (progn
108          (mapc #'latin1-display-setup sets)          (mapc #'latin1-display-setup sets)
109          (unless (latin1-char-displayable-p          (unless (char-displayable-p
110                   (make-char 'mule-unicode-0100-24ff 32 33))                   (make-char 'mule-unicode-0100-24ff 32 33))
111            ;; It doesn't look as though we have a Unicode font.            ;; It doesn't look as though we have a Unicode font.
112            (map-char-table            (map-char-table
# Line 221  character set: `latin-2', `hebrew' etc." Line 221  character set: `latin-2', `hebrew' etc."
221        (setq language 'cyrillic-iso))        (setq language 'cyrillic-iso))
222    (let* ((info (get-language-info language 'charset))    (let* ((info (get-language-info language 'charset))
223           (char (and info (make-char (car (remq 'ascii info)) ?\ ))))           (char (and info (make-char (car (remq 'ascii info)) ?\ ))))
224      (and char (latin1-char-displayable-p char))))      (and char (char-displayable-p char))))
225    
226  ;; This should be moved into mule-utils or somewhere after 21.1.  ;; Backwards compatibility.
227  (defun latin1-char-displayable-p (char)  (defalias 'latin1-char-displayable-p 'char-displayable-p)
228    "Return non-nil if we should be able to display CHAR.  (make-obsolete 'latin1-char-displayable-p 'char-displayable-p "21.5")
 On a multi-font display, the test is only whether there is an  
 appropriate font from the selected frame's fontset to display CHAR's  
 charset in general.  Since fonts may be specified on a per-character  
 basis, this may not be accurate."  
   (cond ((< char 256)  
          ;; Single byte characters are always displayable.  
          t)  
         ((display-multi-font-p)  
          ;; On a window system, a character is displayable if we have  
          ;; a font for that character in the default face of the  
          ;; currently selected frame.  
          (let ((fontset (frame-parameter (selected-frame) 'font))  
                font-pattern)  
            (if (query-fontset fontset)  
                (setq font-pattern (fontset-font fontset char)))  
            (or font-pattern  
                (setq font-pattern (fontset-font "fontset-default" char)))  
            (if font-pattern  
                (progn  
                  ;; Now FONT-PATTERN is a string or a cons of family  
                  ;; field pattern and registry field pattern.  
                  (or (stringp font-pattern)  
                      (setq font-pattern (concat "-"  
                                                 (or (car font-pattern) "*")  
                                                 "-*-"  
                                                 (cdr font-pattern))))  
                  (x-list-fonts font-pattern 'default (selected-frame) 1)))))  
         (t  
          (let ((coding (terminal-coding-system)))  
            (if coding  
                (let ((safe-chars (coding-system-get coding 'safe-chars))  
                      (safe-charsets (coding-system-get coding 'safe-charsets)))  
                  (or (and safe-chars  
                           (aref safe-chars char))  
                      (and safe-charsets  
                           (memq (char-charset char) safe-charsets)))))))))  
229    
230  (defun latin1-display-setup (set &optional force)  (defun latin1-display-setup (set &optional force)
231    "Set up Latin-1 display for characters in the given SET.    "Set up Latin-1 display for characters in the given SET.
# Line 826  turn it off and display Unicode characte Line 790  turn it off and display Unicode characte
790  is't changed if the display can render Unicode characters."  is't changed if the display can render Unicode characters."
791    (interactive "p")    (interactive "p")
792    (if (> arg 0)    (if (> arg 0)
793        (unless (latin1-char-displayable-p        (unless (char-displayable-p
794                 (make-char 'mule-unicode-0100-24ff 32 33))                 (make-char 'mule-unicode-0100-24ff 32 33))
795          ;; It doesn't look as though we have a Unicode font.          ;; It doesn't look as though we have a Unicode font.
796          (let ((latin1-display-format "%s"))          (let ((latin1-display-format "%s"))
# Line 3245  is't changed if the display can render U Line 3209  is't changed if the display can render U
3209               (?\$,3sc(B "\"")               (?\$,3sc(B "\"")
3210               (?\$,3sd(B ",")               (?\$,3sd(B ",")
3211               ;; Not from Lynx               ;; Not from Lynx
3212               (?$,3r_(B . "")               (?$,3r_(B "")
3213               (?$,3u=(B . "?")))))               (?$,3u=(B "?")))))
3214      (aset standard-display-table      (aset standard-display-table
3215            (make-char 'mule-unicode-0100-24ff) nil)            (make-char 'mule-unicode-0100-24ff) nil)
3216      (aset standard-display-table      (aset standard-display-table

Legend:
Removed from v.1.14  
changed lines
  Added in v.1.15

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26