GitPedia

Php font lib

A library to read, parse, export and make subsets of different types of font files.

From dompdf·Updated June 22, 2026·View on GitHub·

This library can be used to: * Read TrueType, OpenType (with TrueType glyphs), WOFF font files * Extract basic info (name, style, etc) * Extract advanced info (horizontal metrics, glyph names, glyph shapes, etc) * Make an Adobe Font Metrics (AFM) file from a font The project is written primarily in PHP, distributed under the GNU Lesser General Public License v2.1 license, first published in 2012. It has gained significant community traction with 1,799 stars and 254 forks on GitHub. Key topics include: extract, font, font-files, php, truetype.

Latest release: 1.0.2
January 20, 2026View Changelog →

PHPUnit tests

PHP Font Lib

This library can be used to:

  • Read TrueType, OpenType (with TrueType glyphs), WOFF font files
  • Extract basic info (name, style, etc)
  • Extract advanced info (horizontal metrics, glyph names, glyph shapes, etc)
  • Make an Adobe Font Metrics (AFM) file from a font

This project was initiated by the need to read font files in the DOMPDF project.

Usage Example

Base font information

php
$font = \FontLib\Font::load('fontfile.ttf'); $font->parse(); // for getFontWeight() to work this call must be done first! echo $font->getFontName() .'<br>'; echo $font->getFontSubfamily() .'<br>'; echo $font->getFontSubfamilyID() .'<br>'; echo $font->getFontFullName() .'<br>'; echo $font->getFontVersion() .'<br>'; echo $font->getFontWeight() .'<br>'; echo $font->getFontPostscriptName() .'<br>'; $font->close();

Font Metrics Generation

php
$font = FontLib\Font::load('fontfile.ttf'); $font->parse(); $font->saveAdobeFontMetrics('fontfile.ufm');

Create a font subset

php
$font = FontLib\Font::load('fontfile.ttf'); $font->parse(); $font->setSubset("abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ.:,;' (!?)+-*/== 1234567890"); // characters to include $font->reduce(); touch('fontfile.subset.ttf'); $font->open('fontfile.subset.ttf', FontLib\BinaryStream::modeReadWrite); $font->encode(array("OS/2")); $font->close();

Contributors

Showing top 12 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from dompdf/php-font-lib via the GitHub API.Last fetched: 6/23/2026