Mehdi, TrueType collections are supported! On 19.01.2011 10:17:11 mehdi houshmand wrote: > 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 Ristic > >> >> > > >> >> > > >> >> > >> >> > >> >> > >> >> -- > >> >> Ivan Ristic > >> > > >> > > >> > >> > >> > >> -- > >> Ivan Ristic > > > >
Jeremias Maerki