emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/fontset.c [emacs-unicode-2]


From: Kenichi Handa
Subject: [Emacs-diffs] Changes to emacs/src/fontset.c [emacs-unicode-2]
Date: Fri, 22 Oct 2004 21:40:47 -0400

Index: emacs/src/fontset.c
diff -c emacs/src/fontset.c:1.77.4.21 emacs/src/fontset.c:1.77.4.22
*** emacs/src/fontset.c:1.77.4.21       Fri Oct 22 10:13:34 2004
--- emacs/src/fontset.c Sat Oct 23 01:35:24 2004
***************
*** 262,268 ****
  static Lisp_Object fontset_pattern_regexp P_ ((Lisp_Object));
  static void accumulate_script_ranges P_ ((Lisp_Object, Lisp_Object,
                                          Lisp_Object));
! static Lisp_Object find_font_encoding P_ ((char *));
  
  static void set_fontset_font P_ ((Lisp_Object, Lisp_Object));
  
--- 262,268 ----
  static Lisp_Object fontset_pattern_regexp P_ ((Lisp_Object));
  static void accumulate_script_ranges P_ ((Lisp_Object, Lisp_Object,
                                          Lisp_Object));
! static Lisp_Object find_font_encoding P_ ((Lisp_Object));
  
  static void set_fontset_font P_ ((Lisp_Object, Lisp_Object));
  
***************
*** 973,978 ****
--- 973,979 ----
       int charset;
  {
    struct font_info *fontp;
+   Lisp_Object fullname;
  
    if (!fontname)
      /* No way to get fontname.  */
***************
*** 983,994 ****
      return fontp;
  
    fontname = fontp->full_name;
  
    if (charset < 0)
      {
        Lisp_Object charset_symbol;
  
!       charset_symbol = find_font_encoding (fontname);
        if (CONSP (charset_symbol))
        charset_symbol = XCAR (charset_symbol);
        charset = XINT (CHARSET_SYMBOL_ID (charset_symbol));
--- 984,996 ----
      return fontp;
  
    fontname = fontp->full_name;
+   fullname = build_string (fontp->full_name);
  
    if (charset < 0)
      {
        Lisp_Object charset_symbol;
  
!       charset_symbol = find_font_encoding (fullname);
        if (CONSP (charset_symbol))
        charset_symbol = XCAR (charset_symbol);
        charset = XINT (CHARSET_SYMBOL_ID (charset_symbol));
***************
*** 1001,1008 ****
      {
        fontp->vertical_centering
        = (STRINGP (Vvertical_centering_font_regexp)
!          && (fast_c_string_match_ignore_case
!              (Vvertical_centering_font_regexp, fontname) >= 0));
  
        if (find_ccl_program_func)
        (*find_ccl_program_func) (fontp);
--- 1003,1010 ----
      {
        fontp->vertical_centering
        = (STRINGP (Vvertical_centering_font_regexp)
!          && (fast_string_match_ignore_case
!              (Vvertical_centering_font_regexp, fullname) >= 0));
  
        if (find_ccl_program_func)
        (*find_ccl_program_func) (fontp);
***************
*** 1023,1029 ****
  
  static Lisp_Object
  find_font_encoding (fontname)
!      char *fontname;
  {
    Lisp_Object tail, elt;
  
--- 1025,1031 ----
  
  static Lisp_Object
  find_font_encoding (fontname)
!      Lisp_Object fontname;
  {
    Lisp_Object tail, elt;
  
***************
*** 1032,1038 ****
        elt = XCAR (tail);
        if (CONSP (elt)
          && STRINGP (XCAR (elt))
!         && fast_c_string_match_ignore_case (XCAR (elt), fontname) >= 0
          && (SYMBOLP (XCDR (elt))
              ? CHARSETP (XCDR (elt))
              : CONSP (XCDR (elt)) && CHARSETP (XCAR (XCDR (elt)))))
--- 1034,1040 ----
        elt = XCAR (tail);
        if (CONSP (elt)
          && STRINGP (XCAR (elt))
!         && fast_string_match_ignore_case (XCAR (elt), fontname) >= 0
          && (SYMBOLP (XCDR (elt))
              ? CHARSETP (XCDR (elt))
              : CONSP (XCDR (elt)) && CHARSETP (XCAR (XCDR (elt)))))
***************
*** 1444,1452 ****
      }
  
    if (STRINGP (font_spec))
!     encoding = find_font_encoding ((char *) SDATA (font_spec));
    else
!     encoding = find_font_encoding ((char *) SDATA (registry));
    if (SYMBOLP (encoding))
      {
        CHECK_CHARSET (encoding);
--- 1446,1454 ----
      }
  
    if (STRINGP (font_spec))
!     encoding = find_font_encoding (font_spec);
    else
!     encoding = find_font_encoding (registry);
    if (SYMBOLP (encoding))
      {
        CHECK_CHARSET (encoding);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]