Documentation ¶
Overview ¶
Package opentype provides the low level routines required to read Opentype font files, including collections.
This package is designed to provide an efficient, lazy, reading API.
For the parsing of the various tables, see package [tables]. For an higher level API, see the packages [XXX] TODO:
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // TrueType is the first four bytes of an OpenType file containing a TrueType font TrueType = Tag(0x00010000) // AppleTrueType is the first four bytes of an OpenType file containing a TrueType font // (specifically one designed for Apple products, it's recommended to use TrueType instead) AppleTrueType = MustNewTag("true") // PostScript1 is the first four bytes of an OpenType file containing a PostScript 1 font PostScript1 = MustNewTag("typ1") // OpenType is the first four bytes of an OpenType file containing a PostScript Type 2 font // as specified by OpenType OpenType = MustNewTag("OTTO") )
Functions ¶
This section is empty.
Types ¶
type Loader ¶
type Loader struct { // Type represents the kind of this font being loaded. // It is one of TrueType, TrueTypeApple, PostScript1, OpenType Type Tag // contains filtered or unexported fields }
Loader is the low level font reader, providing full control over table loading.
func NewLoader ¶
NewLoader reads the `file` header and returns a new lazy loader. `file` will be used to parse tables, and should not be close.
func NewLoaders ¶
NewLoaders is the same as `NewLoader`, but supports collections.
type Resource ¶
type Resource interface { Read([]byte) (int, error) ReadAt([]byte, int64) (int, error) Seek(int64, int) (int64, error) }
Resource is a combination of io.Reader, io.Seeker and io.ReaderAt. This interface is satisfied by most things that you'd want to parse, for example *os.File, io.SectionReader or *bytes.Reader.
type Tag ¶
type Tag uint32
Tag represents an open-type name. These are technically uint32's, but are usually displayed in ASCII as they are all acronyms. See https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6.html#Overview
func MustNewTag ¶
MustNewTag gives you the Tag corresponding to the acronym. This function will panic if the string passed in is not 4 bytes long.