The logic is a little clunky, but as before, let's get it right first,
then get it clean once we have a full battery of tests.
R=bsiegert
CC=golang-codereviews
https://codereview.appspot.com/50910043
The very subtle pp1x versus phantomPoints[0].X distinction is pretty
ugly code, but let's get all the tests passing first, so that we can
refactor with confidence.
R=bsiegert
CC=golang-dev, remyoudompheng
https://codereview.appspot.com/35850043
Also make phantom point delta-X adjustment.
Also make print-glyph-points require Freetype version >= 2.5, which is
the latest version, at the time of writing.
R=bsiegert
CC=golang-dev, remyoudompheng
https://codereview.appspot.com/18370043
Also increase the maximum recursion depth from 4 to 8, since some
x-deja-vu-sans-oblique glyphs are actually depth 4. It's an arbitrary
limit. The C Freetype code doesn't seem to limit recursion (below
whatever the font says it needs), but it seems safer to have a limit.
R=bsiegert
CC=golang-dev
https://codereview.appspot.com/14494062
Also add a test that freetype-go derives the same glyph points as
the C freetype implementation.
R=bsiegert
CC=golang-dev
https://codereview.appspot.com/12670046
These new opcodes aren't unit-tested per se, but they will be
exercised by an end-to-end hinting test of the Luxi fonts.
R=bsiegert
CC=golang-dev
https://codereview.appspot.com/12100043
Thanks to Jeff R. Allen <jra@nella.org> for the conversation that
led to this change.
benchmark old ns/op new ns/op delta
BenchmarkDrawString 21168440 20143860 -4.84%
The number of mallocs per iteration is unchanged.
R=rsc, r
CC=golang-dev, jra
http://codereview.appspot.com/6304077