Autor Beitrag
k-weddige
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 49

Win Vista Business
C# (VS 2008 Professional)
BeitragVerfasst: Sa 22.11.08 15:56 
Moin,

ich verwende in meinem Programm die Zeichen ♂ und ♀, die leider nicht von jeder Schriftart dargestellt werden. Konkret bedeutet das, dass unter XP die Zeichen nicht angezeigt werden, wärend es unter Vista keine Probleme gibt. (Jeweils die Standardeinstellung des OS betrachtet)

Jetzt suche ich eine Möglichkeit einen Alternativtext einzublenden, heißt herauszufinden, ob die eingestellte Font die beiden Zeichen unterstützt.

Geht das irgendwie?

TIA
Konstantin

_________________
Meine Programme sind perfekt, der Computer versteht sie bloß nicht.
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4799
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Mo 24.11.08 12:08 
Dies ist nicht so einfach zu ermitteln. M.E. gibt es (leider) keine Funktino, welche das direkt erledigt...
Aber als Ausgangspunkt würde ich die WinAPI-Funktion 'GetFontUnicodeRanges' verwenden. Du müßtest dann die zurückgegebene Struktur GLYPHSET überprüfen, ob das entsprechende Zeichen innerhalb der angegebenen Unicode-Ranges sich befindet.
(Das einfachste wird sein, dies direkt in C bzw. C++ zu schreiben und dann per P/Invoke auf die DLL zuzugreifen).

Wobei anzumerken ist, daß du nicht unbedingt die richtigen Zeichen dargestellt bekommst (falls in einem anderen Font für den gleichen Unicode ein anderes Zeichen enthalten ist).

P.S: Als Alternative kann ich dir den Font "Arial Unicode MS" empfehlen (dieser ist auch unter XP standardmäßig verfügbar). Dieser enthält schon einen großen Bereich an Zeichen, auch die beiden Geschlechtersymbole (U+2640 und U+2642).