Back to godoc.org
gioui.org/text

package text

v0.0.0 (278e9bc)
Latest Go to latest
Published: Jun 3, 2020 | Licenses: MIT, Unlicense | Module: gioui.org

Index

type Alignment

type Alignment uint8
const (
	Start Alignment = iota
	End
	Middle
)

func (Alignment) String

func (a Alignment) String() string

type Face

type Face interface {
	Layout(ppem fixed.Int26_6, maxWidth int, txt io.Reader) ([]Line, error)
	Shape(ppem fixed.Int26_6, str []Glyph) op.CallOp
	Metrics(ppem fixed.Int26_6) font.Metrics
}

Face implements text layout and shaping for a particular font.

type Font

type Font struct {
	Typeface Typeface
	Variant  Variant
	Style    Style
	// Weight is the text weight. If zero, Normal is used instead.
	Weight Weight
}

Font specify a particular typeface variant, style and weight.

type FontRegistry

type FontRegistry struct {
	// contains filtered or unexported fields
}

FontRegistry implements layout and shaping of text from a set of registered fonts.

If a font matches no registered shape, FontRegistry falls back to the first registered face.

The LayoutString and ShapeString results are cached and re-used if possible.

func (*FontRegistry) Layout

func (s *FontRegistry) Layout(font Font, size fixed.Int26_6, maxWidth int, txt io.Reader) ([]Line, error)

func (*FontRegistry) LayoutString

func (s *FontRegistry) LayoutString(font Font, size fixed.Int26_6, maxWidth int, str string) []Line

func (*FontRegistry) Metrics

func (s *FontRegistry) Metrics(font Font, size fixed.Int26_6) font.Metrics

func (*FontRegistry) Register

func (s *FontRegistry) Register(font Font, tf Face)

func (*FontRegistry) Shape

func (s *FontRegistry) Shape(font Font, size fixed.Int26_6, layout []Glyph) op.CallOp

func (*FontRegistry) ShapeString

func (s *FontRegistry) ShapeString(font Font, size fixed.Int26_6, str string, layout []Glyph) op.CallOp

type Glyph

type Glyph struct {
	Rune    rune
	Advance fixed.Int26_6
}

type Line

type Line struct {
	Layout []Glyph
	// Len is the length in UTF8 bytes of the line.
	Len int
	// Width is the width of the line.
	Width fixed.Int26_6
	// Ascent is the height above the baseline.
	Ascent fixed.Int26_6
	// Descent is the height below the baseline, including
	// the line gap.
	Descent fixed.Int26_6
	// Bounds is the visible bounds of the line.
	Bounds fixed.Rectangle26_6
}

A Line contains the measurements of a line of text.

type Shaper

type Shaper interface {
	// Layout a text according to a set of options.
	Layout(font Font, size fixed.Int26_6, maxWidth int, txt io.Reader) ([]Line, error)
	// Shape a line of text and return a clipping operation for its outline.
	Shape(font Font, size fixed.Int26_6, layout []Glyph) op.CallOp

	// LayoutString is like Layout, but for strings..
	LayoutString(font Font, size fixed.Int26_6, maxWidth int, str string) []Line
	// ShapeString is like Shape for lines previously laid out by LayoutString.
	ShapeString(font Font, size fixed.Int26_6, str string, layout []Glyph) op.CallOp

	// Metrics returns the font metrics for font.
	Metrics(font Font, size fixed.Int26_6) font.Metrics
}

Shaper implements layout and shaping of text.

type Style

type Style int

Style is the font style.

const (
	Regular Style = iota
	Italic
)

type Typeface

type Typeface string

Typeface identifies a particular typeface design. The empty string denotes the default typeface.

type Variant

type Variant string

Variant denotes a typeface variant such as "Mono" or "Smallcaps".

type Weight

type Weight int

Weight is a font weight, in CSS units.

const (
	Normal Weight = 400
	Medium Weight = 500
	Bold   Weight = 600
)
Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
f or F : Jump to identifier