Hi Ivan,

I've been looking quite a bit at the fonts packages recently, and you
are correct neither CFF nor True Type collections are currently
supported. They both need to be implemented. In terms of how long it
would take, that's a very speculative question and not quite as simple
to answer as it may seem. Mostly because it depends what you mean by
supported? Which output format? Full font embedding or subset
embedding? If you mean full font embedding, I don't think it would
take very long assuming the person was familiar with the fonts
packages, the FOP renderers and probably more importantly the
PDF/PostScript and CFF specs.

If you're not familiar with the terms I've used, full font embedding
is fairly simple, it involves streaming the font byte for byte to the
PDF document. In PostScript, it's a little more involved because you
have to stream the font as an ASCII hexadecimal stream and break the
string up (maximum size is 65535 chars) at table or glyph boundaries.
Subset font embedding involves remembering which glyphs were actually
used in the document and creating a subset of the font that include
only those glyphs used and embedding the subset. The implications are
that if you have a document with large fonts in, or a lot of different
fonts, then full font embedding will bloat the file size, this may be
so big that some printers (especially older ones with small memory
sizes) may crash. Subset embedding does mean that you have smaller
file sizes, but may cause issues if you have a print manager that
holds fonts in memory for future use.

I should prefix the above by saying I've only just peeked at CFF but
luckily if you want full font embedding, you probably don't need to do
much poking around in the CFF spec (only to get a feel of the format
and what each table does), you'll need to spend more time in the
PS/PDF spec. The Temp_TrueTypeInPostScript branch, has a patch
associated with it, that I've been working on to support Full font and
subset font embedding in the PostScript output format for TrueType
fonts only, but the new architecture should make it much simpler to
extend font support. So, if you mean supporting full font embedding of
CFF in PostScript/PDF it shouldn't take too long. However, if you're
looking for subset font embedding, this could take a bit longer (I
wouldn't want to speculate on how long having not looked at the CFF
spec in great detail).

Time wise, most of it is going to be testing since if someone was to
implement support for any font features, I'd very strongly suggest
JUnit testing as a starting point. The reason being that fonts are
quite complicated and introducing bugs is both easy to do and
difficult to root out by simply looking at the final PDF/Postscript
file. The next issue is having a testbed in order to test regression
and ensure that changing a method doesn't break some feature for
another font format. This may sound simple, but that means creating
the FOs with foreign glyphs, CJK for example, is quite laborious. If
you take a look at my patch
(https://issues.apache.org/bugzilla/show_bug.cgi?id=50483), I've added
JUnit tests for quite a few of the classes in the fonts package so
that might help you get started. Time wise, most of it is going to be
testing since if someone was to implement support for any font
features, I'd very strongly suggest JUnit testing as a starting point.
The reason being that fonts are quite complicated and introducing bugs
is both easy to do and difficult to root out by simply looking at the
final PDF/Postscript file. The next issue is having a testbed in order
to test regression and ensure that changing a method doesn't break
some feature for another font format. This may sound simple, but that
means creating the FOs with foreign glyphs, CJK for example, is quite
laborious. If you take a look at my patch
(https://issues.apache.org/bugzilla/show_bug.cgi?id=50483), I've added
JUnit tests for quite a few of the classes in the fonts package so
that might help you get started.

If you do start implementing this feature, don't hesitate to get in
contact and I can try and share some of my knowledge and/or test-suite
as an when you require it.

Sorry for the verbosity of the email, as you'll find, fonts are not to
be underestimated.

Mehdi


On 18 January 2011 23:11, Glenn Adams <gl...@skynav.com> wrote:
> That is a better question, but one I cannot answer, as I have not looked
> into the CFF support issue. Perhaps another DEV would care to respond.
> G.
>
> On Tue, Jan 18, 2011 at 4:03 PM, Ivan Ristic <ivan.ris...@gmail.com> wrote:
>>
>> On Tue, Jan 18, 2011 at 10:51 PM, Glenn Adams <gl...@skynav.com> wrote:
>> > Ivan,
>> > This type of question is best put to the FOP User
>> > <fop-us...@xmlgraphics.apache.org> email list rather than the developer
>> > list.
>>
>> Actually, I was offering (or considering) to give back some of the
>> money FOP saved me (when I self-published my book). I don't think
>> sending my offer to the users' list would be very useful.
>>
>>
>> > In any case, nothing is required of FOP for you to be able to make use
>> > of Garamond Pro and other Adobe fonts, though certain advanced
>> > typographic
>> > features may not be supported. However, if you are not familiar with
>> > those
>> > advanced features, then that will likely not affect you. For typical
>> > western
>> > writing systems, you should have no problem with existing off the shelf
>> > Truetype and Opentype fonts.
>>
>> Hoping you'd be right, I tried to use Adobe Garamond Pro right now and
>> FOP 1.0 responded to me with "OpenType fonts with CFF data are not
>> supported [...]". That leads me to believe that they are indeed not
>> supported. A search on Google did not yield anything useful. If, on
>> the other hand, you are saying that my problem can be resolved on the
>> users' mailing list, I will be happy to give it a try.
>>
>> Or maybe I should instead ask, how much work is to support OpenType
>> fonts with CFF data?
>>
>>
>> > Regards,
>> > Glenn
>> >
>> > On Tue, Jan 18, 2011 at 3:41 PM, Ivan Ristic <ivan.ris...@gmail.com>
>> > wrote:
>> >>
>> >> Glenn,
>> >>
>> >> Thanks for your quick response. I don't know what those things mean,
>> >> so I am afraid I can't be more specific. I was talking purely from a
>> >> end-user perspective, say, being able to purchase Garamond Pro from
>> >> Adobe and plug it in with no trouble.
>> >>
>> >> [BTW, I appreciate the re-send, but I have subscribed to the list and
>> >> will stay subscribed for the duration of this email thread.]
>> >>
>> >>
>> >> On Tue, Jan 18, 2011 at 9:27 PM, Glenn Adams <gl...@skynav.com> wrote:
>> >> > What do you mean by "fully"? If you are referring to the OpenType
>> >> > GDEF,
>> >> > GSUB, GPOS support, then work is already underway to add that
>> >> > functionality.
>> >> > See the following for further info:
>> >> > http://people.apache.org/~spepping/
>> >> > http://wiki.apache.org/xmlgraphics-fop/ComplexScripts
>> >> > Regards,
>> >> > Glenn
>> >> >
>> >> > On Tue, Jan 18, 2011 at 2:08 PM, Ivan Ristic <ivan.ris...@gmail.com>
>> >> > wrote:
>> >> >>
>> >> >> Hi FOP developers,
>> >> >>
>> >> >> Could someone in the know possibly give me an estimate about how
>> >> >> much
>> >> >> work is needed to get FOP to fully support OpenType fonts? I
>> >> >> understand that estimates can be tough to work out (and that are
>> >> >> often
>> >> >> unreliable), but even having an idea about the needed amount would
>> >> >> help me a great deal.
>> >> >>
>> >> >> If someone came along to sponsor (fund) such development, would that
>> >> >> be acceptable to the group?
>> >> >>
>> >> >> Thanks.
>> >> >>
>> >> >> --
>> >> >> Ivan Ristić
>> >> >
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >> Ivan Ristić
>> >
>> >
>>
>>
>>
>> --
>> Ivan Ristić
>
>

Reply via email to