Die Funktion enummeriert alle Schriften und zu jeder Schrift wir die Callback Funktion EnumProc aufgerufen. Im Parameter EnumLogFontEx von EnumProc stehen, dann in einem Record die Informationen zu betreffenden Schrift drin.
Setz doch mal einen Breakpunkt auf die erste Zeile nach dem Schlüsselwort Begin von der FunktionEnumProc und guck, ob du dahin kommst.
Anscheinend haben die Characterset Konstanten. Eventuell haben sich diese Werte unter Windows 7 geändert. Zu beachten ist weiter hin, dass es davon eine
Unicode und eine
Ansi Version gibt. Wenn deine Delphi Version standardmäßig
Unicode verwendet könnte es Probleme geben, das der Code aus dem SwissDelphiCenter bestimmt schon so halt ist, dass er noch kein
Unicode berücksichtigt. Ich habe leider keine
Unicode Delphi Version und kann das leider auch nicht testen. Aber du kannst mal S explizit als AnsiString deklarieren und EnumFontFamiliesExA aufrufen.