freetype

package
v0.0.0-...-cfb10e2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 28, 2014 License: Freetype Imports: 5 Imported by: 9

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

Constants

View Source
const (
	// NoHinting means to not perform any hinting.
	NoHinting = Hinting(truetype.NoHinting)
	// FullHinting means to use the font's hinting instructions.
	FullHinting = Hinting(truetype.FullHinting)
)

Variables

This section is empty.

Functions

func ParseFont

func ParseFont(b []byte) (*truetype.Font, error)

ParseFont just calls the Parse function from the freetype/truetype package. It is provided here so that code that imports this package doesn't need to also include the freetype/truetype package.

func Pixel

func Pixel(r raster.Fix32) int

Pixel converts from raster.Fix32 units to pixels.

func Pt

func Pt(x, y int) raster.Point

Pt converts from a co-ordinate pair measured in pixels to a raster.Point co-ordinate pair measured in raster.Fix32 units.

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 NewContext

func NewContext() *Context

NewContext creates a new Context.

func (*Context) DrawString

func (c *Context) DrawString(s string, p raster.Point) (raster.Point, error)

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 raster.Point and can therefore represent sub-pixel positions.

func (*Context) MeasureString

func (c *Context) MeasureString(s string) (raster.Fix32, raster.Fix32, error)

MeasureString returns the width and height of the string in s, in terms of raster.Fix32 units.

BUG(burntsushi): I don't think negative x-coordinates are handled at all, so that the bounding box could be smaller than what it actually is. (i.e., the first letter is an italic 'J'.)

func (*Context) PointToFix32

func (c *Context) PointToFix32(x float64) raster.Fix32

PointToFix32 converts the given number of points (as in “a 12 point font”) into fixed point units.

func (*Context) SetClip

func (c *Context) SetClip(clip image.Rectangle)

SetClip sets the clip rectangle for drawing.

func (*Context) SetDPI

func (c *Context) SetDPI(dpi float64)

SetDPI sets the screen resolution in dots per inch.

func (*Context) SetDst

func (c *Context) SetDst(dst draw.Image)

SetDst sets the destination image for draw operations.

func (*Context) SetFont

func (c *Context) SetFont(font *truetype.Font)

SetFont sets the font used to draw text.

func (*Context) SetFontSize

func (c *Context) SetFontSize(fontSize float64)

SetFontSize sets the font size in points (as in “a 12 point font”).

func (*Context) SetHinting

func (c *Context) SetHinting(hinting Hinting)

SetHinting sets the hinting policy.

func (*Context) SetSrc

func (c *Context) SetSrc(src image.Image)

SetSrc sets the source image for draw operations. This is typically an image.Uniform.

type Hinting

type Hinting int32

Hinting is the policy for snapping a glyph's contours to pixel boundaries.

Notes

Bugs

  • I don't think negative x-coordinates are handled at all, so that the bounding box could be smaller than what it actually is. (i.e., the first letter is an italic 'J'.)

Directories

Path Synopsis
The raster package provides an anti-aliasing 2-D rasterizer.
The raster package provides an anti-aliasing 2-D rasterizer.
Package truetype provides a parser for the TTF and TTC file formats.
Package truetype provides a parser for the TTF and TTC file formats.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL