README
¶
The Freetype font rasterizer in the Go programming language. To download and install from source: $ go get github.com/golang/freetype It is an incomplete port: * It only supports TrueType fonts, and not Type 1 fonts nor bitmap fonts. * It only supports the Unicode encoding. There are also some implementation differences: * It uses a 26.6 fixed point co-ordinate system everywhere internally, as opposed to the original Freetype's mix of 26.6 (or 10.6 for 16-bit systems) in some places, and 24.8 in the "smooth" rasterizer. Freetype-Go is derived from Freetype, which is written in C. Freetype is copyright 1996-2010 David Turner, Robert Wilhelm, and Werner Lemberg. Freetype-Go is copyright The Freetype-Go Authors, who are listed in the AUTHORS file. Unless otherwise noted, the Freetype-Go source files are distributed under the BSD-style license found in the LICENSE file.
Documentation
¶
Overview ¶
The freetype package provides a convenient API to draw text onto an image. Use the freetype/raster and freetype/truetype packages for lower level control over rasterization and TrueType parsing.
Index ¶
- func ParseFont(b []byte) (*truetype.Font, error)
- func Pt(x, y int) fixed.Point26_6
- type Context
- func (c *Context) DrawString(s string, p fixed.Point26_6) (fixed.Point26_6, error)
- func (c *Context) PointToFixed(x float64) fixed.Int26_6
- func (c *Context) SetClip(clip image.Rectangle)
- func (c *Context) SetDPI(dpi float64)
- func (c *Context) SetDst(dst draw.Image)
- func (c *Context) SetFont(f *truetype.Font)
- func (c *Context) SetFontSize(fontSize float64)
- func (c *Context) SetHinting(hinting font.Hinting)
- func (c *Context) SetSrc(src image.Image)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Context ¶
type Context struct {
// contains filtered or unexported fields
}
A Context holds the state for drawing text in a given font and size.
func (*Context) DrawString ¶
DrawString draws s at p and returns p advanced by the text extent. The text is placed so that the left edge of the em square of the first character of s and the baseline intersect at p. The majority of the affected pixels will be above and to the right of the point, but some may be below or to the left. For example, drawing a string that starts with a 'J' in an italic font may affect pixels below and left of the point.
p is a fixed.Point26_6 and can therefore represent sub-pixel positions.
func (*Context) PointToFixed ¶
PointToFixed converts the given number of points (as in "a 12 point font") into a 26.6 fixed point number of pixels.
func (*Context) SetFontSize ¶
SetFontSize sets the font size in points (as in "a 12 point font").
func (*Context) SetHinting ¶
SetHinting sets the hinting policy.