Comment 3 for bug 2004188

Revision history for this message
Pavel Kopylov (pkopylov) wrote :

Here is the second part of the investigation.

I found the XML-block in the sources of ImageMagick, it is a static character pointer in the "type.c" file. Its name is TypeMap:

-------------- type.c fragment ------------------

/*
  Declare type map.
*/
static const char
  *TypeMap = (const char *)
    "<?xml version=\"1.0\"?>"
    "<typemap>"
    " <type stealth=\"True\" name=\"fixed\" family=\"helvetica\"/>"
    " <type stealth=\"True\" name=\"helvetica\" family=\"helvetica\"/>"
    "</typemap>";
-------------------------------------------------

This block is used as a default source block to be loaded into a font cache. However, this loading is performed unless the font cache contains something at that moment. This logic is located in the AcquireTypeCache() function. So, two things could happen before and prevent the default block to be loaded. The first one is loading fonts from "/etc/ImageMagick-6/type.xml" and the second one is loading fonts selected by the environment variable "MAGICK_FONT_PATH". In my case, both of these things didn't happen and the default block was loaded.

There aren't any files mentioned by "/etc/ImageMagick-6/type-ghostscript.xml" included by "/etc/ImageMagick-6/type.xml" on my system. That is why the default block was loaded there for me. Things could be completely different on your system.

So, could you please display "/etc/ImageMagick-6/type.xml" and other files included by themselves, and check if these font files are really present on your system?