#c# #.net-5
#c# #.net-5
Вопрос:
С помощью функции Win32 API EnumFontFamiliesExA
или EnumFontFamiliesExW
мы можем получить тип шрифта из обратного вызова lpProc:
int CALLBACK EnumFontFamExProc(
const LOGFONT *lpelfe,
const TEXTMETRIC *lpntme,
DWORD FontType,
LPARAM lParam
);
В .NET 5 мы можем получить все установленные шрифты с InstalledFontCollection
помощью класса.
Однако я не могу найти ни одного свойства, указывающего, является ли объект FontFamily векторным или растровым шрифтом.
Возможно ли получить тип шрифта без вызова Win32 API в .NET 5?
Комментарии:
1. TextMetrics. Свойство PitchAndFamily. => GetOutlineTextMetrics() -> OUTLINETEXTMETRIC -> TEXTMETRIC ->
tmPitchAndFamily
member.2. Метрики шрифта предполагают контекст устройства, в котором выбран шрифт. Вместо этого TextMetrics указывает метрики физического шрифта выбранного шрифта. См.: VisualStyleRenderer. GetTextMetrics() и глифы , GlyphRun -> GlyphTypeface …
3. …связанный с GetGlyphOutline