Php font lib
A library to read, parse, export and make subsets of different types of font files.
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.
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.
