Initializes a new instance of the SystemFontResolver class over the given directories, keeping what it reads of them in an index file so a later process reads no font file twice.
public SystemFontResolver(IEnumerable<string> directories, string? indexPath)
The directories, searched recursively, earlier ones first; missing ones are skipped.
The index file, created (with its directory) after the first font asked for and rewritten whenever more font files have been
read; null keeps nothing and writes nothing.
The index records each font file read with its length and last write time; a file added, removed or changed since is read again, so the index never changes what is found, only how many font files are opened. An index that cannot be read (of another version, other directories, damaged) is ignored and replaced; one that cannot be written is skipped. Never throws for either.