freetype-devel
[Top][All Lists]
Advanced

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

[ft-devel] change the glyph loading path [Was: rounding bug in MS TT ras


From: b90201047
Subject: [ft-devel] change the glyph loading path [Was: rounding bug in MS TT rasterizer]
Date: Sun, 16 Apr 2006 10:55:17 +0800
User-agent: Internet Messaging Program (IMP) 4.1-cvs

Hi,

Quoting David Turner <address@hidden>:
that's fabulous news. I've investigated the issue, and storing the original font unit coordinates is not too trivial at the moment. I hope to hack the fix after the 2.2
release, which I'm currently preparing by fixing the documentation comments,
plus other things I'll talk about later.
I am always thinking making driver->load_glyph to only load the raw glyph data and hints from the font. That is, glyphs are loaded as if FT_LOAD_NO_SCALE is set and hints are loaded but not parsed. These raw data are then passed to the respective hinting module, be it pshint, autofit, or, to be ported, tthint, where scaling and hinting happens.

This is pretty much like what the autofit is doing. By extending the idea to other hinting modules,

* code can be shared. There are some data structures used by all these hinting modules. Also, driver->load_glyph does not need to handle load_flags or do recursive loading anymore. * glyphs can always be hinted. Some TrueType CJK fonts does not have hints. Currently, when the TT interpreter is enabled, the glyphs of such fonts are not hinted. That is, it does not fallback to autofit. * FT_Outline_Get_Orientation works more reliably since it can work on the unhinted glyph. This is especially important for "bad glyph" detection, where the ratio of false positive can be largely reduced (see the commented-out ft_outline_get_orientation in ftoutln.c).

Under this glyph loading path, tt interpreter has access to the unscaled coordinates naturally.

This is a long-term goal, since moving to this path involves huge amount of work. Any comment?

(I am serving the (mandatory) military service here and don't have access to the computer until Saturday. Sorry in advance that I cannot respond quickly, if someone would like to discuss this.)




reply via email to

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