NAME

Font::TTF::GrFeat - Graphite Font Features

DESCRIPTION

INSTANCE VARIABLES

version
features

An array of hashes of the following form

feature

feature id number

name

name index in name table

exclusive

exclusive flag

default

the default setting number

settings

hash of setting number against name string index

METHODS

$t->read

Reads the features from the TTF file into memory

$t->out($fh)

Writes the features to a TTF file

$t->minsize()

Returns the minimum size this table can be. If it is smaller than this, then the table must be bad and should be deleted or whatever.

$t->print($fh)

Prints a human-readable representation of the table

$t->tag_to_num ($feat_str)

Convert an alphanumeric feature id tag (string) to a number (32-bit). Tags are normally 4 chars. Graphite ignores space padding if it is present, so we do the same here.

$t->num_to_tag ($feat_num)

Convert a feature id number (32-bit) back to a tag (string). Trailing space or null padding is removed. Feature id numbers that do not represent alphanumeric tags are returned unchanged.

BUGS

The version 1 Feat table ends with a feature (id 1) named NoName with zero settings but with an offset to the last entry in the setting array. This last setting has id 0 and an invalid name id. This last feature is changed to have one setting.

AUTHOR

Alan Ward (derived from Jonathan Kew's Feat.pm).

LICENSING

Copyright (c) 1998-2016, SIL International (http://www.sil.org)

This module is released under the terms of the Artistic License 2.0. For details, see the full text of the license in the file LICENSE.