Font handling Was: [poppler] Kpdf patches status
Albert Astals Cid
tsdgeos at yahoo.es
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
correctly.
Albert
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
http://correo.yahoo.es
More information about the poppler
mailing list