text

package
v0.0.0-...-d956aad Latest Latest
Warning

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

Go to latest
Published: Feb 2, 2020 License: Unlicense Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

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, str string, opts LayoutOptions) *Layout
	Shape(ppem fixed.Int26_6, str String) 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
	Size     unit.Value
	Style    Style
	// Weight is the text weight. If zero, Normal is used instead.
	Weight Weight
}

Font specify a particular typeface, style and size.

type Layout

type Layout struct {
	Lines []Line
}

A Layout contains the measurements of a body of text as a list of Lines.

type LayoutOptions

type LayoutOptions struct {
	// MaxWidth is the available width of the layout.
	MaxWidth int
}

LayoutOptions specify the constraints of a text layout.

type Line

type Line struct {
	Text String
	// 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 struct {
	// contains filtered or unexported fields
}

Shaper implements layout and shaping of text and a cache of computed results.

Specify the default and fallback font by calling Register with the empty Font.

func (*Shaper) Layout

func (s *Shaper) Layout(c unit.Converter, font Font, str string, opts LayoutOptions) *Layout

func (*Shaper) Metrics

func (s *Shaper) Metrics(c unit.Converter, font Font) font.Metrics

func (*Shaper) Register

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

func (*Shaper) Shape

func (s *Shaper) Shape(c unit.Converter, font Font, str String) op.CallOp

type String

type String struct {
	String string
	// Advances contain the advance of each rune in String.
	Advances []fixed.Int26_6
}

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
)

Jump to

Keyboard shortcuts

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