Font handling Was: [poppler] Kpdf patches status

Albert Astals Cid tsdgeos at
Mon May 2 15:22:18 PDT 2005

I don't agree, the font name is VERY important in some cases like wingdings 
where the font has a "wrong" encoding (i.e it has · in place of Ÿ), if you 
don't try to find the exact font called winddings the pdf will not render 


A Dilluns 02 Maig 2005 03:04, Jeff Muizelaar va escriure:
> On Mon, May 02, 2005 at 12:25:34AM +0200, Albert Astals Cid wrote:
> > A Dilluns 02 Maig 2005 00:12, v?reu escriure:
> > > The fontconfig patch is also probably ok to commit but we should really
> > > be doing font matching using font descriptors (I don't know whether
> > > they are manditory...)
> >
> > Font descriptors? I think i'm lost here
> So here is my take on the font matching situation.
> Currently I believe poppler uses the /BaseFont entry in the font
> dictionary object to do all the font matching. The pdf spec describes
> this for Type 1 fonts as the PostScript name of the font. For TrueType
> fonts it is: The PostScript name for the value of BaseFont is determined
> in one of two ways:
> · Use the PostScript name that is an optional entry in the "name" tabl
>   of the TrueType font.
> · In the absence of such an entry in the "name" table, derive  PostScript
>   name from the name by which the font is known in the host operating
>   system. On a Windows system, the name is based on the lfFaceName field
>   in a LOGFONT structure; in the Mac OS, it is based on the name of the
>   FOND resource. If the name contains any spaces, the spaces are
>   removed.
> In addtion TrueType fonts can have either Bold, Italic or BoldItalic
> appended to the font name after a comma to describe styles that must be
> syntesized.
> Neither of descriptions of /BaseFont particularily good things to be
> passing to fontconfig as FC_FAMILY and afaik fontconfig does not have a
> way to match against the postscript name of a font.
> Each font also needs to have a FontDescriptor table which contains
> a whole bunch of information that should be passed to fontconfig for
> font matching.
> Ideally poppler should just use the information in the FontDescriptor
> table to pick a font ignoring the /BaseFont entry completely.
> Unfortunately, these tables do not always contain as much information as
> we would like. So it looks like we may often need to use some heuristics
> to pick information out of the /BaseFont entry. These heuristics should
> be different depending on whether or not the font is TrueType or Type1.
> -Jeff
Renovamos el Correo Yahoo!: ¡250 MB GRATIS! 
Nuevos servicios, más seguridad

More information about the poppler mailing list