A PHP library for improving your web typography:
- Hyphenation — over 50 languages supported
- Space control, including:
- widow protection
- gluing values to units
- forced internal wrapping of long URLs & email addresses
- Intelligent character replacement, including smart handling of:
- quote marks (‘single’, “double”)
- dashes ( – )
- ellipses (…)
- trademarks, copyright & service marks (™ ©)
- math symbols (5×5×5=53)
- fractions (1⁄16)
- ordinal suffixes (1st, 2nd)
- CSS hooks for styling:
- ampersands,
- uppercase words,
- numbers,
- initial quotes & guillemets.
- PHP 7.4.0 or above
- The
mbstring
extension
The best way to use this package is through Composer:
$ composer require mundschenk-at/php-typography
$ vendor/bin/update-iana.php
- Create a
Settings
object and enable the fixes you want. - Create a
PHP_Typography
instance and use it to process HTML fragments (or whole documents) using your defined settings.
$settings = new \PHP_Typography\Settings();
$settings->set_hyphenation( true );
$settings->set_hyphenation_language( 'en-US' );
$typo = new \PHP_Typography\PHP_Typography();
$hyphenated_html = $typo->process( $html_snippet, $settings );
Please have a look at ROADMAP file for upcoming releases.
PHP-Typography is licensed under the GNU General Public License 2 or later - see the LICENSE file for details.