freetype-devel
[Top][All Lists]
Advanced

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

Re: [ft-devel] CFF subfont matrix problem


From: Werner LEMBERG
Subject: Re: [ft-devel] CFF subfont matrix problem
Date: Fri, 09 May 2008 06:36:41 +0200 (CEST)

> > the PS language reference manual the following for CID-keyed PS
> > fonts:
> >
> >   At glyph rendering time, the glyph coordinate system is defined
> >   by the concatenation of the FontMatrix entry in the selected
> >   FDArray dictionary with the FontMatrix entry in the CIDFont
> >   dictionary.
> >
> > Is this true for (pure) CFF also?  Technical note #5176 (The
> > Compact Font Format Specification) doesn't say a word.
>
> When I was playing with this I never got anything to work but having
> all sub-fonts have the same [ 0.001 0 0 0.001 0 0 ] FontMatrix and
> omitting the FontMatrix at the top level.
>
> Everything else seemed to yield unexpected results on my printer.

Hmm.  Please have a look at this thread:

  http://lists.gnu.org/archive/html/freetype-devel/2005-04/msg00059.html

and look at the 2048.cff font which is attached to it.  This is a font
which converts 2048 to 1000 font units in the subfont, but it lacks a
top-dict font matrix.

On the other hand, Ding Li's test font from

  http://lists.gnu.org/archive/html/freetype-devel/2008-03/msg00017.html

has a both a top-level and subfont font matrix; the former is the
standard [0.001 0 0 0.001], while the latter is [1 0 0 1]; with other
words, it only gives decent results if you concatenate the matrices.

Assuming that both those fonts have been extracted from documents
which correctly work with Acroread (Ding Li, Dirck, please confirm) I
assume that it has some heuristic code to either select [1 0 0 1] or
[0.001 0 0 0.001] as the top-level matrix.

I've also asked this question on the opentype mailing list.

BTW, as reported earlier, fontforge 10-Apr-2008 doesn't like Ding Li's
F10.ttf test font -- it appears to allocate a huuuuge chunk of memory
far too big for my 1GByte RAM + 1GByte Swap.


    Werner




reply via email to

[Prev in Thread] Current Thread [Next in Thread]