związanych z wcześniejszych postów, to wydaje się być niezawodny sposób:
1) Czytaj zarejestrowaną listę czcionek Windows z HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows NT \ CurrentVersion \ Fonts \ Tutaj uzyskasz nazwy plików i alternatywne ścieżki plików. Nazwy czcionek są nieprzydatne, ponieważ mogą zmieniać się w ustawieniach regionalnych użytkownika.
2) Załaduj pliki TrueType (.ttf, .ttc, .otf): Użyj FreeType https://www.freetype.org/). Po prostu zainicjuj bibliotekę freetype i wczytaj twarz za pomocą FT_New_Face (biblioteka, ścieżka, 0, & twarz).
3) Uzyskaj nazwę rodziny czcionek za pomocą FreeType. Użyj FT_Get_Sfnt_Name_Count() i FT_Get_Sfnt_Name(), aby uzyskać tabelę ciągów. Należy sprawdzić, czy kodowanie to Ansi, UTF16 lub inne, ponieważ niektóre ciągi będą w wielu różnych językach i kodowaniach.
4) Uzyskaj właściwości TrueType OS2. Użyj (TT_OS2 *) FT_Get_Sfnt_Table (twarz, ft_sfnt_os2), aby uzyskać strukturę OS2. Interpretuj strukturę przy użyciu dokumentów takich, jak: https://www.microsoft.com/typography/otspec/os2.htm#fc
5) Teraz masz ścieżkę pliku czcionki, nazwę rodziny, właściwości stylu i inne informacje. Zbuduj listę tych i funkcji, aby wyszukać plik na podstawie rodziny i stylu czcionki.
Jeśli posiadasz uchwyt czcionki HFONT, możesz wypróbować moje [proponowane rozwiązanie] (http://stackoverflow.com/questions/16769758/get-a-font-filename-based-on-the-font- handle-hfont). Nie chciałem dodawać tutaj odpowiedzi, ponieważ pytanie nie jest jasne, czy masz uchwyt czcionki, czy nie. –