<Offtopic>
Tja, die RTF-Entwickler hätten es damals \ffontfamily nennen sollen und nicht \fcharset.
</Offtopic>
Delphi kümmert sich nur insofern um das Feld
PitchAndFamily, als dass dort VARIABLE_PITCH oder FIXED_PITCH gesetzt wird. Die Schriftfamilie wird ignoriert - und da das Feld bei CreateFontIndirect nicht gefüllt ist, liefert die Abfrage immer den gleichen Wert zurück (0). Dies kannst du in der
Unit Graphics nachlesen (Methode
TFont.GetHandle).
Du könntest dir mit der Funktion
EnumFontFamiliesEx eine interne Liste mit den Schriftfamilien aller installierten Schriften machen (z.B. in einer TStringList) - schau dir mal in der
Unit Forms in der Methode
TScreen.GetFonts an wie Delphi das macht. In der TLogFont-Struktur, die du in der Callback-Routine
EnumFontsProc vom System übergeben bekommst, sollte das Feld PitchAndFamily gefüllt sein.