ucd

package
v3.0.0+incompatible Latest Latest
Warning

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

Go to latest
Published: Jan 29, 2019 License: MIT, BSD-3-Clause Imports: 8 Imported by: 0

Documentation

Overview

Package ucd provides a parser for Unicode Character Database files, the format of which is defined in http://www.unicode.org/reports/tr44/. See http://www.unicode.org/Public/UCD/latest/ucd/ for example files.

It currently does not support substitutions of missing fields.

Index

Constants

View Source
const (
	CodePoint = iota
	Name
	GeneralCategory
	CanonicalCombiningClass
	BidiClass
	DecompMapping
	DecimalValue
	DigitValue
	NumericValue
	BidiMirrored
	Unicode1Name
	ISOComment
	SimpleUppercaseMapping
	SimpleLowercaseMapping
	SimpleTitlecaseMapping
)

UnicodeData.txt fields.

Variables

This section is empty.

Functions

func Parse

func Parse(r io.ReadCloser, f func(p *Parser))

Parse calls f for each entry in the given reader of a UCD file. It will close the reader upon return. It will call log.Fatal if any error occurred.

This implements the most common usage pattern of using Parser.

Types

type Option

type Option func(p *Parser)

An Option is used to configure a Parser.

var (
	// KeepRanges prevents the expansion of ranges. The raw ranges can be
	// obtained by calling Range(0) on the parser.
	KeepRanges Option = keepRanges
)

func CommentHandler

func CommentHandler(f func(s string)) Option

The CommentHandler option passes comments that are on a line by itself to a given handler.

func Part

func Part(f func(p *Parser)) Option

The Part option register a handler for lines starting with a '@'. The text after a '@' is available as the first field. Comments are handled as usual.

type Parser

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

A Parser parses Unicode Character Database (UCD) files.

func New

func New(r io.Reader, o ...Option) *Parser

New returns a Parser for the given Reader.

func (*Parser) Bool

func (p *Parser) Bool(i int) bool

Bool parses and returns field i as a boolean value.

func (*Parser) Comment

func (p *Parser) Comment() string

Comment returns the comments for the current line.

func (*Parser) Enum

func (p *Parser) Enum(i int, enum ...string) string

Enum interprets and returns field i as a value that must be one of the values in enum.

func (*Parser) Err

func (p *Parser) Err() error

Err returns a non-nil error if any error occurred during parsing.

func (*Parser) Float

func (p *Parser) Float(i int) float64

Float parses and returns field i as a decimal value.

func (*Parser) Int

func (p *Parser) Int(i int) int

Int parses and returns field i as an integer value.

func (*Parser) Next

func (p *Parser) Next() bool

Next parses the next line in the file. It returns true if a line was parsed and false if it reached the end of the file.

func (*Parser) Range

func (p *Parser) Range(i int) (first, last rune)

Range parses and returns field i as a rune range. A range is inclusive at both ends. If the field only has one rune, first and last will be identical. It supports the legacy format for ranges used in UnicodeData.txt.

func (*Parser) Rune

func (p *Parser) Rune(i int) rune

Rune parses and returns field i as a rune.

func (*Parser) Runes

func (p *Parser) Runes(i int) (runes []rune)

Runes interprets and returns field i as a sequence of runes.

func (*Parser) String

func (p *Parser) String(i int) string

String parses and returns field i as a string value.

func (*Parser) Strings

func (p *Parser) Strings(i int) []string

Strings parses and returns field i as a space-separated list of strings.

func (*Parser) Uint

func (p *Parser) Uint(i int) uint

Uint parses and returns field i as an unsigned integer value.

Jump to

Keyboard shortcuts

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