Taco de Wolff
8fc268f712
Replace import paths
2017-05-17 00:09:51 +02:00
Taco de Wolff
d70502db33
Add stroke functionality
2017-05-17 00:07:36 +02:00
Nigel Tao
38b4c392ad
Add the genbasicfont program.
2016-06-26 16:51:47 +10:00
Nigel Tao
c67e4d98d2
Use an "example" build tag instead of "ignore".
...
The golang-dev discussion is at
https://groups.google.com/d/topic/golang-dev/qKpxZiNABcY/discussion
2016-04-10 15:05:36 +10:00
Nigel Tao
f9531a3606
Add a face.Metrics method, and parse hhea ascent and descent.
...
A recent change added a Metrics method to the font.Face interface.
2016-03-24 11:05:48 +11:00
Nigel Tao
9ce4eec92a
Add an example/capjoin program.
2016-02-21 22:25:27 +11:00
Nigel Tao
41fa49aa5b
Update x/exp/shiny/font to x/image/font.
2015-09-01 15:49:46 +10:00
Nigel Tao
3ba1c0f728
Rename Point and End slices to Points and Ends.
...
The slice Foos is plural; it refers to multiple elements. The element Foos[i]
is the i'th Foo.
2015-08-30 22:27:18 +10:00
Nigel Tao
3cc748686b
Use fixed.Rectangle26_6 instead of truetype.Bounds.
...
The previous "the endpoints are inclusive" comment seems confusing. It's true
that the bounding box's max X equals the right-most coordinate, which suggests
<= instead of <, but that node's coordinate is itself exclusive. Consider the
solid 1-pixel square: (0, 0), (64, 0), (64, 64), (0, 64) in fixed.Point26_6
coordinates. The right-most coordinate is 64, and the bounding box's max X
equals 64, but rasterizing that square only affects sub-pixels up to but not
including 64.
Instead, it seems accurate to follow the fixed.Rectangle26_6 description, in
that the max values are exclusive.
2015-08-30 22:06:37 +10:00
Nigel Tao
7a598da6de
Delete the truetype.NewGlyphBuf function.
...
The zero value of a GlyphBuf is already perfectly usable.
2015-08-30 21:35:58 +10:00
Nigel Tao
62e59645ee
Quantize sub-pixel glyph rendering.
...
This is in anticipation of caching glyph images. Quantization means that cache
hits are more likely.
Also make NewFace take an *Options instead of an Options.
2015-08-25 22:34:31 +10:00
Nigel Tao
a021a5f23e
Rename Kerning to Kern.
2015-08-24 16:17:16 +10:00
Nigel Tao
24265d1c91
Implement GlyphBounds and GlyphAdvance.
2015-08-24 15:51:50 +10:00
Nigel Tao
6deea24143
Add a truetype.Face type.
...
Its implementation is mostly a copy/paste of the freetype.Context type.
Follow-up commits will make it more efficient.
Also add an example that uses a truetype.Face and the
golang.org/x/exp/shiny/font package to draw text.
2015-08-22 14:46:12 +10:00
Nigel Tao
f42630ca7a
Use the common golang.org/x/exp/shiny/font.Hinting type.
2015-08-20 16:07:51 +10:00
Nigel Tao
e8121e3c7d
Don't use backtick quotes in the comments.
2015-08-18 16:33:14 +10:00
Nigel Tao
2a5cbfd47e
Use the fixed.Int26_6 type in package truetype.
2015-08-18 16:30:37 +10:00
Nigel Tao
a9554eda48
Fix example/freetype for the s/Fix32/fixed.Int26_6/ change.
2015-08-18 16:08:44 +10:00
Nigel Tao
856a70c395
Use the fixed.Int26_6 and fixed.Point26_6 types.
2015-08-17 10:26:09 +10:00
Nigel Tao
d91c1d6844
Remove Point methods other than Add, Sub, Mul.
...
This is in anticipation of removing the Point type entirely. Instead, we will
use the fixed.Point26_6 type from golang.org/x/image/math/fixed.
2015-08-13 21:17:25 +10:00
Nigel Tao
84ba7fbd7a
Add "+build ignore" tags to the examples.
2015-08-12 14:41:46 +10:00
Nigel Tao
bf25f8ce0e
Move files up one level.
2015-08-12 14:30:01 +10:00
Nigel Tao
49fa4a4de0
freetype: add a Hinting enum in the top-level freetype package, and
...
hide the Hinter implementation in the freetype/truetype package.
LGTM=bsiegert
R=bsiegert
CC=golang-codereviews
https://codereview.appspot.com/58940043
2014-02-01 14:12:48 +11:00
Nigel Tao
b968fb0953
freeetype: move the test fonts from the luxi-fonts/ directory to
...
testdata/, in anticipation of having other test data.
R=dsymonds
CC=bsiegert, golang-dev
https://codereview.appspot.com/14361044
2013-10-04 17:03:59 +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
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
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
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
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
03e93b9a66
freetype: update for image/draw changes.
...
R=r
CC=golang-dev
http://codereview.appspot.com/4620044
2011-06-16 12:25:21 +10:00
Nigel Tao
21635f71f4
freetype: update for os.Open changes.
...
R=adg, r2
CC=golang-dev
http://codereview.appspot.com/4386048
2011-04-11 10:48:00 +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
18fe7866b3
freetype: update log to s/Stderr/Println/.
...
R=r, nigeltao_gnome, adg
CC=golang-dev
http://codereview.appspot.com/2527041
2010-10-15 14:02:11 +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
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
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
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
6a75ac002d
freetype-go: update examples for draw.Rect being renamed to image.Rect.
...
R=r
CC=golang-dev
http://codereview.appspot.com/1961046
2010-08-27 10:47:48 +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
2e8bf4f4fa
freetype: Update examples to use explicit colors.
...
R=rsc
CC=golang-dev
http://codereview.appspot.com/1848055
2010-08-04 18:49:10 +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
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
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
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
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