[Image-SIG] PIL ImageFont segfault mystery

Donn donn.ingle at gmail.com
Thu Dec 20 15:09:20 CET 2007


Hello,
 Here's the story:

* python-imaging Version: 1.1.6-1
* Python 2.4 and 2.5
* Kubuntu Gnu/Linux 7.10

This is the code snippet that causes a segfault:

font = ImageFont.truetype("path/to/Anatevka Caps.ttf", points, index=0) 
print "getname:", font.getname() # <- App dies here.

To reproduce:
It does not happen often, but there are some oddball fonts from my deep murky 
past that I have kept around for testing and they kill it quick. I don't know 
if I can attach items to this list, so will await interest.

I cannot really narrow this down much more. It looks like the family name is 
missing (see info at end), which might be the bug. 

When I try [font = ImageFont.truetype(paf, points,index=0, encoding="armn") ] 
or any of the other encodings (which I can't really find a good list of) the 
effect is still the same.

Naturally, having an segfault means there ain't no way to catch it within 
Python! 

Regards,
\d

Font info:
crashme2:$ ftinfo -la Anatevka\ Caps.ttf
Anatevka Caps.ttf: 0 face
Anatevka Caps.ttf: 0: 0 charmap: Apple, Unicode defaut semantics
Anatevka Caps.ttf: 0: 1 charmap: Macintosh, Roman
Anatevka Caps.ttf: 0: 2 charmap: Microsoft, Unicode
Anatevka Caps.ttf: 0: header: HASH(0x8350614)
Anatevka Caps.ttf: 0: horizontal: HASH(0x8350740)
Anatevka Caps.ttf: 0: max_Contours: 11
Anatevka Caps.ttf: 0: max_Points: 117
Anatevka Caps.ttf: 0: num_Faces: 1
Anatevka Caps.ttf: 0: num_Glyphs: 251
Anatevka Caps.ttf: 0: os2: HASH(0x8350824)
Anatevka Caps.ttf: 0: postscript: HASH(0x83509bc)
Anatevka Caps.ttf: 0: header: CheckSum_Adjust: -1410471583
Anatevka Caps.ttf: 0: header: Created: ARRAY(0x8350668)
Anatevka Caps.ttf: 0: header: Flags: 0
Anatevka Caps.ttf: 0: header: Font_Direction: 2
Anatevka Caps.ttf: 0: header: Font_Revision: 65536
Anatevka Caps.ttf: 0: header: Glyph_Data_Format: 0
Anatevka Caps.ttf: 0: header: Index_To_Loc_Format: 1
Anatevka Caps.ttf: 0: header: Lowest_Rec_PPEM: 3
Anatevka Caps.ttf: 0: header: Mac_Style: 0
Anatevka Caps.ttf: 0: header: Magic_Number: 1594834165
Anatevka Caps.ttf: 0: header: Modified: ARRAY(0x8350698)
Anatevka Caps.ttf: 0: header: Table_Version: 65536
Anatevka Caps.ttf: 0: header: Units_Per_EM: 4096
Anatevka Caps.ttf: 0: header: xMax: 3424
Anatevka Caps.ttf: 0: header: xMin: -574
Anatevka Caps.ttf: 0: header: yMax: 2693
Anatevka Caps.ttf: 0: header: yMin: -573
Anatevka Caps.ttf: 0: horizontal: Ascender: 2693
Anatevka Caps.ttf: 0: horizontal: Descender: -573
Anatevka Caps.ttf: 0: horizontal: Line_Gap: 300
Anatevka Caps.ttf: 0: horizontal: Reserved0: 0
Anatevka Caps.ttf: 0: horizontal: Reserved1: 0
Anatevka Caps.ttf: 0: horizontal: Reserved2: 0
Anatevka Caps.ttf: 0: horizontal: Reserved3: 0
Anatevka Caps.ttf: 0: horizontal: Reserved4: 0
Anatevka Caps.ttf: 0: horizontal: Version: 65536
Anatevka Caps.ttf: 0: horizontal: advance_Width_Max: 3809
Anatevka Caps.ttf: 0: horizontal: caret_Slope_Rise: 1
Anatevka Caps.ttf: 0: horizontal: caret_Slope_Run: 0
Anatevka Caps.ttf: 0: horizontal: metric_Data_Format: 0
Anatevka Caps.ttf: 0: horizontal: min_Left_Side_Bearing: -574
Anatevka Caps.ttf: 0: horizontal: min_Right_Side_Bearing: -971
Anatevka Caps.ttf: 0: horizontal: number_Of_HMetrics: 248
Anatevka Caps.ttf: 0: horizontal: xMax_Extent: 3424
Anatevka Caps.ttf: 0: 0 name: Apple, Unicode defaut semantics, unknown 0, 
Copyright 
notice: ............................................................
Anatevka Caps.ttf: 0: 1 name: Apple, Unicode defaut semantics, unknown 0, Font 
Family name: ............
Anatevka Caps.ttf: 0: 2 name: Apple, Unicode defaut semantics, unknown 0, Font 
Subfamily name:
Anatevka Caps.ttf: 0: 3 name: Apple, Unicode defaut semantics, unknown 0, 
Unique font identifier: ................
Anatevka Caps.ttf: 0: 4 name: Apple, Unicode defaut semantics, unknown 0, Full 
font name: ............
Anatevka Caps.ttf: 0: 5 name: Apple, Unicode defaut semantics, unknown 0, 
Version string: ............
Anatevka Caps.ttf: 0: 6 name: Apple, Unicode defaut semantics, unknown 0, 
Postscript name for the font: ............
Anatevka Caps.ttf: 0: 7 name: Apple, Unicode defaut semantics, unknown 0, 
Trademark: ..........
Anatevka Caps.ttf: 0: 8 name: Macintosh, Roman, English, Copyright notice: 
Copyright 1999 DATA BECKER GmbH & Co. KG. All Rights Reserved
Anatevka Caps.ttf: 0: 9 name: Macintosh, Roman, English, Font Family name: 
Anatevka Caps
Anatevka Caps.ttf: 0: 10 name: Macintosh, Roman, English, Font Subfamily name:
Anatevka Caps.ttf: 0: 11 name: Macintosh, Roman, English, Unique font 
identifier: PAW-Anatevka Caps
Anatevka Caps.ttf: 0: 12 name: Macintosh, Roman, English, Full font name: 
Anatevka Caps
Anatevka Caps.ttf: 0: 13 name: Macintosh, Roman, English, Version string: 
Version 1.50
Anatevka Caps.ttf: 0: 14 name: Macintosh, Roman, English, Postscript name for 
the font: Anatevka Caps
Anatevka Caps.ttf: 0: 15 name: Macintosh, Roman, English, Trademark: DATA 
BECKER
Anatevka Caps.ttf: 0: 16 name: Microsoft, Unicode, English - United States, 
Copyright notice: Copyright 1999 DATA BECKER GmbH & Co. KG. All Rights 
Reserved
Anatevka Caps.ttf: 0: 17 name: Microsoft, Unicode, English - United States, 
Font Family name: Anatevka Caps
Anatevka Caps.ttf: 0: 18 name: Microsoft, Unicode, English - United States, 
Font Subfamily name:
Anatevka Caps.ttf: 0: 19 name: Microsoft, Unicode, English - United States, 
Unique font identifier: PAW-Anatevka Caps
Anatevka Caps.ttf: 0: 20 name: Microsoft, Unicode, English - United States, 
Full font name: Anatevka Caps
Anatevka Caps.ttf: 0: 21 name: Microsoft, Unicode, English - United States, 
Version string: Version 1.50
Anatevka Caps.ttf: 0: 22 name: Microsoft, Unicode, English - United States, 
Postscript name for the font: Anatevka Caps
Anatevka Caps.ttf: 0: 23 name: Microsoft, Unicode, English - United States, 
Trademark: DATA BECKER
Anatevka Caps.ttf: 0: os2: code page range:
Anatevka Caps.ttf: 0: os2: unicode range:
Anatevka Caps.ttf: 0: os2: xAvgCharWidth = 1369
Anatevka Caps.ttf: 0: os2: usWeightClass: Normal (Regular)
Anatevka Caps.ttf: 0: os2: usWidthClass : Medium (normal)
Anatevka Caps.ttf: 0: os2: fsSelection : REGULAR
Anatevka Caps.ttf: 0: os2: achVendID: Alts
Anatevka Caps.ttf: 0: os2: fsSelection: 64
Anatevka Caps.ttf: 0: os2: fsType: 1
Anatevka Caps.ttf: 0: os2: panose: 0x00 0x00 0x04 0x00 0x00 0x00 0x00 0x00 
0x00 0x00
Anatevka Caps.ttf: 0: os2: sFamilyClass: 0
Anatevka Caps.ttf: 0: os2: sTypoAscender: 2307
Anatevka Caps.ttf: 0: os2: sTypoDescender: -1789
Anatevka Caps.ttf: 0: os2: sTypoLineGap: 300
Anatevka Caps.ttf: 0: os2: ulCodePageRange1: 0
Anatevka Caps.ttf: 0: os2: ulCodePageRange2: 0
Anatevka Caps.ttf: 0: os2: ulUnicodeRange1: 0
Anatevka Caps.ttf: 0: os2: ulUnicodeRange2: 0
Anatevka Caps.ttf: 0: os2: ulUnicodeRange3: 0
Anatevka Caps.ttf: 0: os2: ulUnicodeRange4: 0
Anatevka Caps.ttf: 0: os2: usFirstCharIndex: 32
Anatevka Caps.ttf: 0: os2: usLastCharIndex: 64258
Anatevka Caps.ttf: 0: os2: usWeightClass: 400
Anatevka Caps.ttf: 0: os2: usWidthClass: 5
Anatevka Caps.ttf: 0: os2: usWinAscent: 2693
Anatevka Caps.ttf: 0: os2: usWinDescent: 573
Anatevka Caps.ttf: 0: os2: version: 0
Anatevka Caps.ttf: 0: os2: xAvgCharWidth: 1369
Anatevka Caps.ttf: 0: os2: yStrikeoutPosition: 1120
Anatevka Caps.ttf: 0: os2: yStrikeoutSize: 204
Anatevka Caps.ttf: 0: os2: ySubscriptXOffset: 0
Anatevka Caps.ttf: 0: os2: ySubscriptXSize: 512
Anatevka Caps.ttf: 0: os2: ySubscriptYOffset: 586
Anatevka Caps.ttf: 0: os2: ySubscriptYSize: 512
Anatevka Caps.ttf: 0: os2: ySuperscriptXOffset: 0
Anatevka Caps.ttf: 0: os2: ySuperscriptXSize: 512
Anatevka Caps.ttf: 0: os2: ySuperscriptYOffset: 2300
Anatevka Caps.ttf: 0: os2: ySuperscriptYSize: 512
Anatevka Caps.ttf: 0: postscript: FormatType: 131072
Anatevka Caps.ttf: 0: postscript: isFixedPitch: 0
Anatevka Caps.ttf: 0: postscript: italicAngle: 0
Anatevka Caps.ttf: 0: postscript: maxMemType1: 0
Anatevka Caps.ttf: 0: postscript: maxMemType42: 0
Anatevka Caps.ttf: 0: postscript: minMemType1: 0
Anatevka Caps.ttf: 0: postscript: minMemType42: 0
Anatevka Caps.ttf: 0: postscript: underlinePosition: -400
Anatevka Caps.ttf: 0: postscript: underlineThickness: 160



More information about the Image-SIG mailing list