Nigel Tao
e3b4bc4c1f
freetype/truetype: function call opcodes.
...
R=bsiegert
CC=golang-dev
https://codereview.appspot.com/11983043
2013-07-30 19:20:31 +10:00
Nigel Tao
28cc5fbc5d
freetype: move the scaling from FUnits to pixels from package freetype
...
to package truetype.
R=bsiegert
CC=golang-dev
http://codereview.appspot.com/6427062
2012-07-25 22:10:25 +10:00
Nigel Tao
f2517f3940
freetype/truetype: odd/even opcodes.
...
Also re-arrange some of the switch cases to be in opcode order.
R=bsiegert
CC=golang-dev
http://codereview.appspot.com/6352097
2012-07-12 20:49:12 +10:00
Nigel Tao
20ce6ab4df
freetype/truetype: variable sized bytecode interpreter stack/store.
...
R=bsiegert
CC=golang-dev
http://codereview.appspot.com/6343091
2012-07-11 21:49:03 +10:00
Nigel Tao
2bf22ccf6b
freetype/truetype: vector set/gets, store ops, roll/max/min ops.
...
R=bsiegert
CC=golang-dev
http://codereview.appspot.com/6354080
2012-07-09 23:18:25 +10:00
Nigel Tao
9e927de79b
freetype/truetype: rounding opcodes.
...
R=bsiegert
CC=golang-dev
http://codereview.appspot.com/6348079
2012-07-06 17:34:39 +10:00
Nigel Tao
e843d5cf7c
freetype/truetype: jump opcodes.
...
R=gri, bsiegert
CC=golang-dev
http://codereview.appspot.com/6344079
2012-07-05 20:29:35 +10:00
Nigel Tao
523d04e0a7
freetype/truetype: if/else opcodes.
...
R=gri
CC=golang-dev
http://codereview.appspot.com/6354067
2012-07-04 21:28:44 +10:00
Nigel Tao
8ed9e9345e
freetype/truetype: first cut of a bytecode interpreter.
...
R=gri, bsiegert
CC=golang-dev
http://codereview.appspot.com/6347057
2012-07-03 20:46:16 +10:00
Nigel Tao
6baa5f0a46
freetype: optimize []byte to uint16/uint32 conversions.
...
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
2012-06-16 12:19:07 +10:00
Nigel Tao
e1ef029a43
freetype: make freetype clean wrt "go vet".
...
R=dsymonds
CC=golang-dev
http://codereview.appspot.com/6202052
2012-05-07 22:52:01 +10:00
Nigel Tao
25c2d648d0
freetype: update an old comment for Go 1.
...
R=bradfitz
CC=golang-dev
http://codereview.appspot.com/6202051
2012-05-07 21:07:08 +10:00
Nigel Tao
a16d1037a1
freetype: re-organize the freetype/truetype package into smaller files.
...
No code changes, just a copy/paste.
R=bradfitz
CC=golang-dev
http://codereview.appspot.com/6201052
2012-05-07 12:04:52 +10:00
Nigel Tao
eaa4846c62
freetype: support TrueType Collection files (.TTC files, as opposed to
...
.TTF files)
R=bradfitz
CC=golang-dev
http://codereview.appspot.com/6194050
2012-05-07 11:42:35 +10:00
Nigel Tao
9a8fb30c20
freetype: remove arbitrary 1<<24 limit on ttf file size.
...
I'm not sure why I put that limit in in the first place. I can't find
that limit in either the C Freetype code or the TTF spec.
R=bradfitz
CC=golang-dev
http://codereview.appspot.com/6201043
2012-05-07 09:37:34 +10:00
Nigel Tao
d32ba0b88b
freetype: fix overflow when converting from a uint16 glyph index to a
...
file offset.
R=bradfitz
CC=golang-dev
http://codereview.appspot.com/6198043
2012-05-04 15:42:29 +10:00
Nigel Tao
1dee26bbb2
freetype: delete Makefiles.
...
R=rsc, dave
CC=golang-dev
http://codereview.appspot.com/5629046
2012-02-04 09:32:01 +11:00
Nigel Tao
97fe2fb9c1
freetype: import path gofixes.
...
Also update freetype/truetype for s/int/rune/.
R=rsc, bradfitz
CC=golang-dev
http://codereview.appspot.com/5505067
2011-12-23 10:55:36 +11:00
Nigel Tao
97ddbbf4d0
freetype: gofix errors.
...
R=rsc, r
CC=golang-dev
http://codereview.appspot.com/5339048
2011-11-08 10:38:49 +11:00
Nigel Tao
7b867fea2e
freetype: image/color gofix.
...
R=r, rsc
CC=golang-dev
http://codereview.appspot.com/5166052
2011-10-06 13:55:02 +11:00
Nigel Tao
4188558878
freetype: update for image.NewXxx change.
...
R=rsc
CC=golang-dev
http://codereview.appspot.com/4996046
2011-09-14 22:02:41 +10:00
Nigel Tao
006c241eaa
freetype: update for image.Pix changes (again).
...
R=r
CC=golang-dev
http://codereview.appspot.com/4702041
2011-07-12 16:41:03 +10:00
Nigel Tao
43d4d89685
freetype: update for image.Pix changes.
...
R=r
CC=golang-dev
http://codereview.appspot.com/4675071
2011-07-10 15:05:40 +10:00
Nigel Tao
fdfcd83e81
freetype: rename exp/draw to image/draw.
...
R=r
CC=golang-dev
http://codereview.appspot.com/4517137
2011-06-05 14:47:45 +10:00
Nigel Tao
380b6363b2
freetype: s/float/float64/.
...
R=adg, r2
CC=golang-dev
http://codereview.appspot.com/4040045
2011-01-21 12:27:50 +11:00
Nigel Tao
220b691d5c
freetype: add NewAlpha{Src,Over}Painter constructor function for
...
consistency with existing NewFooPainter functions.
Unbreak build from ColorImage change in the core image package.
R=adg
CC=golang-dev
http://codereview.appspot.com/2450041
2010-10-12 16:55:01 +11:00
Nigel Tao
5792b75123
freetype: implement stroke for quadratic segments.
...
Fix bug where the String representation of a Fix32 representing minus
one quarter was "0:064" instead of "-0:064".
R=r, rsc, rog, nigeltao_gnome
CC=golang-dev
http://codereview.appspot.com/2275043
2010-10-03 13:53:04 +11:00
Nigel Tao
ad78f67dc2
freetype: Fix panic when drawing a span to the right of the
...
bounding rect.
This does for Alpha{Over,Src}Painter what revision 7329234544
did for RGBAPainter.
R=r
CC=golang-dev
http://codereview.appspot.com/2210041
2010-09-15 16:05:32 +10:00
Nigel Tao
eda48ef1c3
freetype: make the point an argument to DrawString, not part of the
...
context state. Also rename DrawText to DrawString.
R=r
CC=golang-dev
http://codereview.appspot.com/2208041
2010-09-15 14:35:22 +10:00
Nigel Tao
06369b10f7
freetype: add a clip rectangle.
...
R=r
CC=golang-dev
http://codereview.appspot.com/2171045
2010-09-13 18:20:47 +10:00
Nigel Tao
570e8c24b9
freetype: Split AlphaPainter into two separate types depending on the
...
Porter-Duff composition operator used. This saves a malloc when passing
an AlphaSrcPainter as a value of Painter interface type.
R=r
CC=golang-dev
http://codereview.appspot.com/2149044
2010-09-10 12:06:50 +10:00
Nigel Tao
84097fa410
freetype: cache glyphs during DrawText.
...
A freetype.Context now has dst and src image setters and the notion of
a current point, instead of having to pass a painter and pt to DrawText.
R=r, rsc
CC=golang-dev
http://codereview.appspot.com/2169041
2010-09-09 19:22:48 +10:00
Nigel Tao
c92eed8b0c
freetype: fix doc comment typo.
...
R=r
CC=golang-dev
http://codereview.appspot.com/2116046
2010-09-08 20:21:29 +10:00
Nigel Tao
b8ed0a9c12
freetype-go: change freetype.DrawText's point to be at the baseline
...
instead of at 1em above the baseline.
R=r
CC=golang-dev
http://codereview.appspot.com/2042041
2010-08-27 15:49:35 +10:00
Nigel Tao
29c473cb3e
freetype-go: Fix panic when drawing a span to the right of the
...
bounding rect.
This bug was introduced when an image.RGBA's representation went from
slice of slices to one linear buffer.
R=r
CC=golang-dev
http://codereview.appspot.com/2020044
2010-08-27 10:51:14 +10:00
Nigel Tao
acecb39ad9
freetype-go: fix Makefiles.
...
R=rsc
CC=golang-dev
http://codereview.appspot.com/1989044
2010-08-26 09:47:25 +10:00
Nigel Tao
3657abe884
freetype: update for image representation change (1849041).
...
R=r, adg
CC=golang-dev
http://codereview.appspot.com/1850041
2010-08-10 17:39:32 +10:00
Nigel Tao
2af394dab9
freetype: clarify that the GPL licence is "version 2 or later", not
...
just version 2. The FTL (Freetype Licence) is still available. This
matches the original Freetype library (written in C).
This only expands and does not further restrict the licensing options
available to users of the freetype-go library.
R=adg
CC=golang-dev
http://codereview.appspot.com/1731049
2010-08-03 11:07:23 +10:00
Nigel Tao
88b1bd09f8
freetype/raster: make cap and join functions instead of enums.
...
R=adg
CC=golang-dev, rog
http://codereview.appspot.com/1711048
2010-07-07 21:54:10 +10:00
Nigel Tao
3e38a96419
freetype/raster: Rename Fixed and Fixed64 to Fix32 and Fix64.
...
R=rsc
CC=golang-dev, rog
http://codereview.appspot.com/1686048
2010-07-01 09:42:43 +10:00
Nigel Tao
4d90648d2c
freetype/raster: Implement round joins.
...
R=r, rsc
CC=golang-dev, rog
http://codereview.appspot.com/1746043
2010-06-30 15:10:17 +10:00
Nigel Tao
c95fb230fe
freetype/raster: improve the stroking algorithm.
...
It still isn't perfect (e.g. it doesn't join), but it's getting closer.
Also fix the bug where RotateCW and RotateCCW was mixed up, since the
Y-axis grows down in a computer graphics co-ordinate system, not up as
in classical mathematics.
R=r, rsc, rog
CC=golang-dev
http://codereview.appspot.com/1736043
2010-06-29 10:46:59 +10:00
Nigel Tao
2316e5355d
freetype/raster: new Path and Stroke API.
...
The stroking algorithm is a placeholder. A proper one will land in a
future change once the API is agreed upon.
R=r, rsc
CC=golang-dev, rog
http://codereview.appspot.com/1708045
2010-06-23 17:38:35 +10:00
Roger Peppe
bfc68b0d61
Fix raster.Point.String() for new Printf semantics
...
R=nigeltao_golang, r2
CC=golang-dev
http://codereview.appspot.com/1728041
Committer: Nigel Tao <nigeltao@golang.org>
2010-06-18 11:19:04 +10:00
Nigel Tao
638bb958f7
Freetype-Go: image.Color.RGBA now returns 16 bit color instead of
...
32 bit.
R=rsc
CC=golang-dev
http://codereview.appspot.com/1389041
2010-05-28 12:59:38 -07:00
Nigel Tao
5836d0e202
Freetype-Go: take the RGBAPainter out of a RGBAContext. Instead,
...
a Context can now take any Painter during DrawText.
R=r
CC=rog, golang-dev
http://codereview.appspot.com/1341041
2010-05-27 22:22:49 -07:00
Nigel Tao
0c4b93bdc3
Freetype-Go: move the pixel offset from the painter to the rasterizer.
...
R=rsc, r
CC=rog, golang-dev
http://codereview.appspot.com/1332041
2010-05-26 13:23:24 -07:00
Nigel Tao
8552c06628
Freetype-Go: Paint now takes an explicit done bool instead of using a
...
magic zero value to indicate end of painting.
This means that Painter implementations can assume thant the Spans' Y
values are monotonic.
R=rsc
CC=golang-dev, rog
http://codereview.appspot.com/1261043
2010-05-21 15:09:13 -07:00
Nigel Tao
7707aeaf6a
Freetype-Go: support compound glyphs.
...
R=r
CC=golang-dev
http://codereview.appspot.com/1196045
2010-05-20 05:30:00 -07:00
Nigel Tao
9c4da76964
Freetype-Go: gamma is now a float instead of a float64.
...
R=r
CC=golang-dev
http://codereview.appspot.com/1236042
2010-05-19 17:37:01 -07:00
Nigel Tao
25c38cfec1
Freetype-Go: new freetype package to provide a convenience API to
...
draw text onto an image.
This is a simple API that doesn't handle line breaking, ligatures,
right-to-left or vertical scripts, and other fancy features.
R=r, rsc
CC=golang-dev
http://codereview.appspot.com/1121045
2010-05-14 13:29:53 +10:00
Nigel Tao
7b02573579
Freetype-Go: fast-path vertical lines in the rasterizer.
...
This follows ftgrays.c in the C Freetype code.
http://www.google.com/codesearch/p?hl=en#Z2JqmT2tnYQ/Amaya/Distribution/amaya-lib-src-9.54.tgz%7CcsdX8RtClJ4/freetype/src/smooth/ftgrays.c&l=653
R=rsc
CC=golang-dev
http://codereview.appspot.com/1155041
2010-05-10 10:46:39 +10:00
Nigel Tao
f6caa104ec
Freetype-Go: truetype parser initial check-in.
...
Parsing a malformed TTF may result in an index out-of-bounds panic,
rather than guaranteeing to return an error. This may be tightened
in the future.
R=r, rsc
CC=golang-dev
http://codereview.appspot.com/940044
2010-05-04 09:54:43 +10:00
Nigel Tao
4aa7375072
Freetype-Go: batch Spans when painting.
...
Introduce MonochromePainter and GammaCorrectionPainter.
R=r, rsc
CC=golang-dev
http://codereview.appspot.com/904041
2010-04-13 22:26:10 +10:00
Nigel Tao
593a182c4e
Freetype-Go: Implement cubic splines; rename MoveN to AddN.
...
R=rsc
CC=golang-dev, r
http://codereview.appspot.com/894041
2010-04-06 21:25:48 +10:00
Nigel Tao
14f2df1aef
Freetype-Go: Initial code check-in.
...
R=r, rsc
CC=golang-dev
http://codereview.appspot.com/841042
2010-04-02 10:07:24 +11:00