[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [ft-devel] various questions about implementing ttf
From: |
Jan Bruns |
Subject: |
Re: [ft-devel] various questions about implementing ttf |
Date: |
Tue, 6 Dec 2016 18:12:59 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Icedove/38.4.0 |
Am 06.12.2016 um 06:58 schrieb Werner LEMBERG:
>>>> What about zone0 init?
>>> Missing in the spec, but it is always reset and re-initialized in
>>> the MS implementation before a glyph gets rendered, IIRC.
>> Hmn, ok, but there are fragments of memo in my brain that I might
>> have read exactly the opposite somewhere, something like: let the
>> prep govern the storage AND CVT values for the glyph progs. Buut I
>> can't find it back, maybe the memo-fragment is wrong.
> ??? What has zone 0 to do with storage and CVT?
True.
>> So does it probably have to anything to do with these old
>> angle-related commands that are already obsolete?
>
> No, they *are* used in those commands. I recommend to check the
> FreeType implementation. For example, there is the following comment
> for GC and MD:
>
> XXX: UNDOCUMENTED: Measures from the original glyph must be taken
> along the dual projection vector!
Hmn, I found some hints in the OT specs (in the SDPVTL section).
So there are a few commands, that effectively temporarily
use dv as pv. Some of these 5 commands have a "org-coords" flag,
so I assume the dv will only be used with this flag. Some
more of these 5 commands don't have this flag, so they probably
should always use dv (if that "exists").
And dv should normally be set to the same value as pv,
whenever pv is set, I guess.
The specs often appear much worse than they are. Many things
one might expect to be clearly defined but that aren't probably
are more or less just a matter of taste, if you think about it
a bit more. For example, my question about program state
initialization... well, if the specs are unspecific, the fonts
probably shouldn't rely on specific behaviour.
My code btw starts making sense for me. For some fonts,
things get worse with gridfit enabled, may it be through
deformed glyphs or probably just rendering-related.
But for some fonts, it gives a much cleaner result, already:
http://abnuto.de/jan/code/DejaVuSans_12_noinst.png
http://abnuto.de/jan/code/DejaVuSans_12.png
http://abnuto.de/jan/code/LiberationSans-Bold_12_noinst.png
http://abnuto.de/jan/code/LiberationSans-Bold_12.png
Some others probably don't have well designed code, or may
not be prepared for the specific usage (I'm currently still
forcing monchrome).
Gruss
Jan Bruns