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

Re: XIM 表示の問題



In article <drpscapm31.wl%Taiji.Can@xxxxxxxxxxxxxxxx>, Taiji.Can@xxxxxxxxxxxxxxxx writes:

> > 10/21 に以下のパッチを commit しましたが、これのせいでしょう
> > か。試しにこのパッチをキャンセル (patch -R) してみていただけ
> > ませんか?

>   当たりでした。patchを外してxfns.cをコンパイルし直すと問題なく
>   表示されました。

うーん、じゃあ、以下のパッチを CVS 版にあててみて下さい。これ
で解決するようなら commit します。

---
半田@AIST

*** xfns.c	21 Oct 2006 10:55:08 +0900	1.678
--- xfns.c	30 Oct 2006 21:53:01 +0900	
***************
*** 2134,2160 ****
    if (!xfs)
      {
        char *fontsetname = xic_create_fontsetname (base_fontname, False);
-       char *p0 = fontsetname, *p1;
  
        /* New fontset.  */
!       /* FONTSETNAME contains a list of font names (specific fonts
! 	 first, general fonts last), but giving that to XCreateFontSet
! 	 at once occasionally fails (bug of X?).  So, we try to call
! 	 XCreateFontSet for each fontname.  */
! 
!       while (p0)
  	{
! 	  p1 = strchr (p0, ',');
! 	  if (p1)
! 	    *p1 = '\0';
! 	  xfs = XCreateFontSet (FRAME_X_DISPLAY (f),
! 				p0, &missing_list,
! 				&missing_count, &def_string);
! 	  if (missing_list)
! 	    XFreeStringList (missing_list);
! 	  if (xfs)
! 	    break;
! 	  p0 = p1 ? p1 + 1 : NULL;
  	}
        xfree (fontsetname);
      }
--- 2134,2168 ----
    if (!xfs)
      {
        char *fontsetname = xic_create_fontsetname (base_fontname, False);
  
        /* New fontset.  */
!       xfs = XCreateFontSet (FRAME_X_DISPLAY (f),
! 			    fontsetname, &missing_list,
! 			    &missing_count, &def_string);
!       if (missing_list)
! 	XFreeStringList (missing_list);
!       if (! xfs)
  	{
! 	  /* FONTSETNAME contains a list of font names (specific fonts
! 	     first, general fonts last), but giving that to
! 	     XCreateFontSet at once occasionally fails (bug of X?).
! 	     So, we try to call XCreateFontSet for each fontname.  */
! 	  char *p0 = fontsetname, *p1;
! 
! 	  while (p0)
! 	    {
! 	      p1 = strchr (p0, ',');
! 	      if (p1)
! 		*p1 = '\0';
! 	      xfs = XCreateFontSet (FRAME_X_DISPLAY (f),
! 				    p0, &missing_list,
! 				    &missing_count, &def_string);
! 	      if (missing_list)
! 		XFreeStringList (missing_list);
! 	      if (xfs)
! 		break;
! 	      p0 = p1 ? p1 + 1 : NULL;
! 	    }
  	}
        xfree (fontsetname);
      }