Loading font files
Start with the location of the font. Load a known path directly, or ask
FontFinder to select the closest file for a family and style request.
Load a known file
<?php
use Alto\Font\Font;
$font = Font::fromFile(__DIR__.'/fonts/Inter-Regular.ttf');ALTO Font detects the container from its signature instead of trusting the
file extension. A TTC or OTC file can contain several faces; pass a zero-based
faceIndex to select one.
Read Formats for supported containers, outlines, collections, and optional WOFF2 requirements.
Find a matching font
<?php
use Alto\Font\FontFinder;
use Alto\Font\FontQuery;
$finder = FontFinder::fromDirectories(__DIR__.'/fonts');
$font = $finder->get(
FontQuery::family('Inter')->weight(700)->italic(),
);The finder can search application directories, system fonts, or paths supplied
by a custom locator. It returns the best matching Font; it does not expose a
public catalog of every discovered file.
Read Discovery for matching rules, absence policies, system fonts, and custom locators.
Read the loaded face
Once a file or collection face is loaded, continue with Metadata, Glyph metrics, or Variable fonts. Use the Font API reference to look up an exact signature or return type.
When a font will not load
Check the path and read permissions, then the supported formats.
An .otf extension does not identify its outlines: CFF/CFF2 outlines and WOFF2
collections are unsupported. Renaming a file does not make it compatible.
InvalidFontException indicates malformed data or an invalid collection face
index. UnsupportedFontException indicates an unsupported feature. Select an
existing face or use a supported source font, according to the exception.