The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.


Font::TTF::Dumper - Debug dump of a font datastructure, avoiding recursion on ' PARENT'


    use Font::TTF::Dumper;
    # Print a table from the font structure:
    print ttfdump($font->{$tag});
    # Print font table with name
    print ttfdump($font->{'head'}, 'head');
    # Print font table with name and other options
    print ttfdump($font->{'head'}, 'head', %opts);

    # Print one glyph's data:
    print ttfdump($font->{'loca'}->read->{'glyphs'}[$gid], "glyph_$gid");


Font::TTF data structures are trees created from hashes and arrays. When trying to figure out how the structures work, sometimes it is helpful to use Data::Dumper on them. However, many of the object structures have ' PARENT' links that refer back to the object's parent, which means that Data::Dumper ends up dumping the whole font no matter what.

The main purpose of this module is to invoke Data::Dumper with a filter that skips over the ' PARENT' element of any hash.

To reduce output further, this module also skips over ' CACHE' elements and any hash element whose value is a Font::TTF::Glyph or Font::TTF::Font object. (Really should make this configurable.)

If $opts{'d'}, then set Deepcopy mode to minimize use of crossreferencing.


Bob Hallissy


Copyright (c) 1998-2016, SIL International (

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.