freetype-devel
[Top][All Lists]
Advanced

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

Re: [Devel] PFR/OpenDoc driver now available


From: David Turner
Subject: Re: [Devel] PFR/OpenDoc driver now available
Date: Thu, 25 Oct 2001 14:20:11 +0200

Hello Jon,

"Jon M. Taylor" a écrit :
> 
>         I have written a simple PFR/OpenDoc font driver module for
> Freetype 2.  It handles basic glyph outlines, simple and compound glyphs,
> and scaling.  It does not yet handle blue values, secondary strokes/edges
> or kerning.  Autohinted characters are rendered at 2x size for some
> reason, probably a simple bug.
> 
>         A compressed diff against a vanilla 2.0.5 tree is available from:
> 
> http://gaia.ecs.csus.edu/~taylorj/freetype.diff.bz2
>
>         Please give it a whirl if you can.  Feedback is appreciated, and
> in particular if anyone can point me to a freely available PFR which
> contains kerning tables so I can implement kerning, that would be quite
> useful as I cannot find one.
> 
> Jon
> 
> P.S. This is commercially sponsored by my employer, Pioneer Electronics.
>
Just to be certain, under which license do you release this source code ?
It seems that it's under the FreeType license but we need to be 100%
sure about that !!

And now, some information regarding PFR/TrueDoc:

  - it's a "compressed" font format developed by Bitstream; it is
    also fully covered by patent 5,099,435 though I could be wrong
    (but doubting it). The "compression" is lossy, with
    auto-generated hints, but the font files are really small.


  - the only tools that produce these fonts are converters sold
    or licensed by BitStream so it's not like they're widely
    available (well, to be fair, it seems that a few applications
    have licensed the Bitstream converters too, but you hardly hear
    about these..). You should be able to get a few ones at the
    www.truedoc.com site (look at the HTML for <embed> tags and
    start downloading for testing purposes..).


  - Bitstream has suceeded in pushing their format as a standard for
    a number of embedded specifications, especially in the field of
    digital television. As a consequence, they have published the
    specification for these publicly. For example, see annex A of
    this PDF document: ftp://ftp.davic.org/Davic/Pub/Spec1_4/14p09ml.pdf

    note that this is only the specification of the 'PFR0' format,
    since there are fonts in 'PFR1' format that are not covered
    by this specification. Apparently, Bitstream calls these
    "compressed PFRs" so they're supposedly smaller. No idea of
    what there is inside..


  - _Implementors_ of these specifications are generally given a
    royalty-free or RAND license. Yes, that's the Reasonable And
    Non-Discriminatory) that have been talked about so much
    recently regarding the W3, don't get me started on this ;-)

    Notice that you must be an official member of DAVIC, DVB or any
    other such standardisation commitee to be eligible for this
    license. Otherwise, normal patent law applies, and Bitstream is
    able to charge wathever they want for it, or simply prevent you
    from using it..


  - Interestingly, comparing the public PFR specification with the
    Speedo font driver in XFree86 shows that PFR/TrueDoc really is
    a derivative of the Speedo format.. (But I don't think that anyone
    is interested in writing a Speedo module for FreeType, isn't it ;-)

    a single PFR font contains one or more "physical fonts", each one
    of them containing "master outlines". Then "logical fonts" can
    be generated by applying emboldening, stroking or affine transformation
    (i.e. obliquing) with parameters contained within the logical font
    descriptor.

    this also means that you need a path stroker/emboldener in order to
    fully implement the specification (However, I don't really think
    there is a need for this within a font driver, and it's clearly
    not top-priority..)



  - I have written a PFR font driver for a proprietary prototype of
    FT2 in 1998 (when working for Canal+) and getting all things to
    work correctly has been _hell_. The specification was unclear
    or missed key information on many points, especially regarding
    hinting. I even remember that the example PFR font provided by
    BitStream to the DAVIC commitee included embedded bitmaps that
    just looked _real_ crap. It took me some time to realize that
    there was nothing wrong with my code !!

    For example, I noticed that your code has a problem determining
    the exact glyph count in a font and that you hard-coded it to
    97 !! this just rings a bell or two :o)


The conclusion of all of this, for now, is that I'm still unsure
if we'll distribute the sources of a PFR module within the FreeType 2
distributions.

If we do, the code will most certainly be disabled by macro definitions
in order to avoid patent issues (ain't the software world funny ;-).

If not, we could distribute it as a separate module either from the
FreeType site or an alternative download location..

Until this question is unanswered (and I'm asking for comments), I
will not commit the PFR module to the HEAD branch. I'll probably
create a new branch soon, however, if there are no license
restrictions..


Any comments welcomed :-)

- David



reply via email to

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