Create FontProvider interface with CoreFontProvider and TrueTypeFontProvider.
Create a default FontResolver that accepts FontProvider[]|FontProviderList and resolves family+style+weight
to a concrete Font instance.
TrueTypeFontProvider scans a configured directory.
Integrate into PdfWriter: setFont() uses FontResolver when family isn't a core font.
Tests: resolve core font, resolve TTF font, fallback on missing font.
Create FontProvider interface with CoreFontProvider and TrueTypeFontProvider.
Create a default FontResolver that accepts FontProvider[]|FontProviderList and resolves family+style+weight
to a concrete Font instance.
TrueTypeFontProvider scans a configured directory.
Integrate into PdfWriter: setFont() uses FontResolver when family isn't a core font.
Tests: resolve core font, resolve TTF font, fallback on missing font.