Commit Graph

55 Commits

Author SHA1 Message Date
Hamcha cbc74ad845
Everything should be working decently now! 2018-11-16 10:58:44 +01:00
Hamcha b32820410d
Mini refactor though everything is still broken 2018-11-15 18:20:46 +01:00
Hamcha 591c93aefb
More WIP emoji work 2018-11-15 17:57:41 +01:00
Hamcha 752f9e4be4
Start work on emoji (mostly to be scrapped tho) 2018-11-14 18:08:36 +01:00
Hamcha 1d07a50459
Change import paths 2018-11-14 10:38:19 +01: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