Font::TTF::GrFeat(3) User Contributed Perl Documentation Font::TTF::GrFeat(3)

# [NAME](#NAME)

Font::TTF::GrFeat - Graphite Font Features

# [DESCRIPTION](#DESCRIPTION)

# [INSTANCE VARIABLES](#INSTANCE_VARIABLES)

[version](#version)

[features](#features)

An array of hashes of the following form

[feature](#feature)

feature id number

[name](#name)

name index in name table

[exclusive](#exclusive)

exclusive flag

[default](#default)

the default setting number

[settings](#settings)

hash of setting number against name string index

# [METHODS](#METHODS)

## [$t-&gt;read](#$t)

Reads the features from the TTF file into memory

## [$t-&gt;out($fh)](#$t~2)

Writes the features to a TTF file

## [$t-&gt;**minsize()**](#$t~3)

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-&gt;print($fh)](#$t~4)

Prints a human-readable representation of the table

## $t-&gt;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-&gt;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](#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](#AUTHOR)

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

# [LICENSING](#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.

2026-09-25 perl v5.44.0

---

Document: Font::TTF::GrFeat(3pm) from perl-font-ttf 1.06-r0 (Chainguard OS)
