freetype
[Top][All Lists]
Advanced

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

Re: [ft] Compressing CJK Fonts effectively


From: suzuki toshiya
Subject: Re: [ft] Compressing CJK Fonts effectively
Date: Wed, 08 Sep 2010 03:47:12 +0900
User-agent: Thunderbird 2.0.0.6 (Windows/20070728)

Ah, I slipped to mention about the font program size and
the expected resolution. Michiel, thank you for reminding
it.

In CJK Ideographs, apparently, the number of control points
to draw Bezier/Spline curve is greater than Latin script.
The number of the operator to connect the control points
is also great. For the pattern repeating control points
declaration and drawing operators (like Zig-Zag lines),
CFF can reduce the number of drawing operators in comparison
with PostScript Type1 font formats.

In the earlier days of CJK TrueType, the lo-end font for
CJK market used 256x256 matrix to define the control points
(the hi-end PostScript font used 1000x1000 matrix). The
number of control points were also reduced, so if the glyphs
are rasterized at higher resolution, the glyph shape designed
on 256x256 looked poor. I guess if your embedding system
has no feature to generate a printing data (like PDF), such
approach (reducing the number of control point, simplification
from Bezier/Spline curve to straight line) won't be harmful.

Regards,
mpsuzuki

Michiel Kamermans wrote (2010/09/08 2:27):
Matthew Tippett wrote:
I am working on an embedded project which requires CJK truetype fonts. Since it is an embedded system, I want to save as much disk space as possible. The fonts we are using seem to compress to about 70% of their original size - which could save around 13 MB on the ROM image. I noticed the post in 2002 from David Turner when he completed the gzip support talking about not wanting to encourage stupid choices (like gzip-compressed truetype fonts). What is the current best practice for managing large CJK fonts in a storage efficient manner?

First check if those fonts exist as OpenType with PostScript Type 2 outlines (CFF). If so, done: use those, that's about as small as the font's going to get, because CFF glyphs are defined in terms of both normal vector instructions as well as glyph subroutines, so shared features between glyphs (and in CJK fonts that can be tens of thousands of features) can be stored as subroutines and remove a bucketload of bytes from the filesize.

If they don't exist as OT(CFF), then you can try to run your font through Adobe's "tx" tool, which is freely available as part of the Font Developer Kit (http://www.adobe.com/devnet/opentype/afdko/). You will lose any hinting that's in the truetype font, but the FDK also comes with autohinter that is pretty much as good as hinting's going to get. Of course, this may also be illegal for the font you're using, so make sure you have the right to create derivatives before you go down that road.

- Mike "Pomax" Kamermans
nihongoresources.com




------------------------------------------------------------------------

_______________________________________________
Freetype mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/freetype




reply via email to

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