The Dink Network

Reply to Re: Dink and the search for the missing TTF

If you don't have an account, just leave the password field blank.
Antispam: Enter Dink Smallwood's last name (surname) below.
Formatting: :) :( ;( :P ;) :D >( : :s :O evil cat blood
Bold font Italic font hyperlink Code tags
January 29th, 07:57 AM
Peasant They/Them Australia
Of the three major Dinks, only <=1.08 and Freedink actually support initfont in any capacity, as Seth appears to use the RTFONT loader that is part of ProtonSDK. After briefly searching the 1.07 source and looking past the commented-out references to Comic Sans MS, it appears to use CreateFontIndirect which will search for system-installed fonts and may substitute one from the same family if what's specified can't be located.

Freedink on the other hand, searches for typefaces in multiple ways. On Windows, it will search through the system fonts path and append .ttf to your initfont invocation without performing the substitution that CreateFontIndirect might, so as to directly find an exact matching TTF path. Otherwise, on other operating systems, it uses Fontconfig which will scan through its font cache of system-installed fonts and find the closest matching typeface, and will perform substitution or pick a random one if you specify a font family in your invocation, not dissimilar to CreateFontIndirect in its lenience. Beuc had Fontconfig switched off for Windows builds, but even with it on, it appears to be set to never trigger on Windows, with specific system path searching the only thing available there.

Anyway, after looking at all of this I will make the next release of yeoldedink enable Fontconfig lookups on Windows as well as look alongside map.dat etc for ttf files, as that's always how I assumed it should be implemented, rather than trying to get users to install TTFs. A failed initfont invocation just won't do anything and will leave everything as it is.