Ahmed Martens <NG_A.M...@GMX.de> schrieb im Beitrag
<1xpj7sqhfe3ao.x412drwe0f0q$.
d...@40tude.net>...
> Nun benötige ich auch noch die Möglichkeit, aus dem FontFamily.Namen die
> dazugehörige Schriftartendatei zu ermitteln.
>
> Beispiel: FontFamily.Name = Arial
> Fontdatei = c:\windows\fonts\arial.tff
>
> Oder ist es immer so, dass der Familyname = Dateiname ist?
Nein, keineswegs. Genaugenommen hat der Schriftdatei-Name überhaupt nichts
mit dem Schriftfamilien-Namen zu tun, er wird lediglich von den meisten
Schriftentwicklern zumindest einigermaßen gleichlautend gewählt - aber auch
das gilt meist nur für den Schriftstil "Normal"/"Regular". Bei
Schriftstilen wie "Fett" oder "Kursiv" fügt der eine ein Suffix (z.B. "B",
"I") an den Dateinamen an, der andere hängt die Zeichenfolge "Bold" bzw.
"Italic" daran. Es gab zwar mal Versuche, Schriftdatei-Namen in gewissem
Umfang zu vereinheitlichen, das ist aber schon länger her.
Der Schriftdatei-Name läßt sich nicht direkt mit API-Methoden ermitteln;
stattdessen muß er entweder aus der Registry gelesen werden, oder die
Binärdaten der Schrift müssen ausgelesen (GetFontData()) und interpretiert
werden.
--
Thorsten Albers
gudea at
gmx.de