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

[debian-users:14098] Bug#JP/843: pdnetscape font causes segmentation fault



Package: pd-ttfonts
Version: 1-2

pdnetscapeフォントをfontsetの一部としてロードしようとするとセグメンテーション
フォールトが発生する場合があります.

使用しているXサーバは以下の通りです.

 - Package: xserver-xtt-mach64
 - Version: 3.3.2.3a-11.xtt.5

 - Package: xserver-common
 - Version: 3.3.2.3a-11

フォントパスは以下のようになっています.

Section "Files"
   RgbPath    "/usr/X11R6/lib/X11/rgb"
   FontPath   "/usr/X11R6/lib/X11/fonts/misc:unscaled"
   FontPath   "/usr/X11R6/lib/X11/fonts/75dpi:unscaled"
   FontPath   "/usr/X11R6/lib/X11/fonts/100dpi:unscaled"
   FontPath   "/usr/X11R6/lib/X11/fonts/Type1"
   FontPath   "/usr/X11R6/lib/X11/fonts/Speedo"
   FontPath   "/usr/X11R6/lib/X11/fonts/misc"
   FontPath   "/usr/X11R6/lib/X11/fonts/75dpi"
   FontPath   "/usr/X11R6/lib/X11/fonts/100dpi"
    FontPath "/usr/X11R6/lib/X11/fonts/TTfonts/"
    FontPath "/usr/X11R6/lib/X11/fonts/X-TT/"
EndSection


最後に添付したプログラムで動作を確認したところ, pdnetscapeでフォントの
全ての属性を設定するとセグメンテーションフォールトが発生しました.
1つでも*にすると発生しません.
しかし*を指定した場合, 実際に開かれるフォントは全体を指定した場合と
同じものでした.
また, pdnetscapeはpdomainのエイリアスですが, pdomainを指定したときは上記の
問題は発生しませんでした.
pdnetscape以外のフォントではTrueTypeフォントを含めてこのような現象は
起きていません.

=================
#include <X11/Xlib.h>
#include <X11/Xlocale.h>

int main (int argc, char *argv[])
{
  Display *dpy;
  XFontSet fontset;
  char **missing_charsets;
  int num_missing_charsets;
  char *default_string;
  const char *fontpattern = 
    "-pdnetscape-blackchancery-medium-r-normal--15-140-75-75-p-0-iso8859-1,*";

  setlocale (LC_ALL, "");
  dpy = XOpenDisplay(NULL);
  fontset = XCreateFontSet (dpy, fontpattern,
			    &missing_charsets, &num_missing_charsets,
			    &default_string);

  if (fontset) {
    XFontStruct **fonts;
    char **names;
    int i, num;
    
    num = XFontsOfFontSet (fontset, &fonts, &names);
    for (i=0; i<num; i++)
      printf ("%s\n", names[i]);
  }

  return 0;
}