freetype

package module
v0.0.0-...-05b1ac2 Latest Latest
Warning

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

Go to latest
Published: Dec 20, 2024 License: Freetype Imports: 8 Imported by: 0

README

The Freetype font rasterizer in the Go programming language.

To download and install from source:
$ go get github.com/WavePakawut/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

Constants

This section is empty.

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 Pt

func Pt(x, y int) fixed.Point26_6

Pt converts from a co-ordinate pair measured in pixels to a fixed.Point26_6 co-ordinate pair measured in fixed.Int26_6 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 fixed.Point26_6) (fixed.Point26_6, error)

func (*Context) PointToFixed

func (c *Context) PointToFixed(x float64) fixed.Int26_6

PointToFixed converts the given number of points (as in "a 12 point font") into a 26.6 fixed point number of pixels.

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(f *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 font.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.

Directories

Path Synopsis
Package raster provides an anti-aliasing 2-D rasterizer.
Package raster 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