Einzelnen Beitrag anzeigen

Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

Re: CharSet (Single-Byte / Multi-Byte) eines Fonts ermitteln

  Alt 17. Nov 2005, 22:07
IsDBCSLeadByteEx hat nichts mit einem Font zu tun sondern nur mit der angegebenen Codepage.

1. MSDN-Library durchsuchenGetTextMetricW liefert dir eine TEXTMETRICW-Struktur (weiß jetzt nicht wie die in Delphi heißt), da stehen u.a. die Felder
Zitat von MSDN:
tmFirstChar
Specifies the value of the first character defined in the font.
tmLastChar
Specifies the value of the last character defined in the font.
tmDefaultChar
Specifies the value of the character to be substituted for characters not in the font.
tmBreakChar
Specifies the value of the character that will be used to define word breaks for text justification.
2. MSDN-Library durchsuchenGetFontUnicodeRanges liefert dir die in der Schrift definierten Zeichen.

3. Du könntest MSDN-Library durchsuchenGetGlyphIndicesW mit einem String von TEXTMETRICW.tmFirstChar bis TEXTMETRICW.tmLastChar und Parameter GGI_MARK_NONEXISTING_GLYPHS aufrufen und dann im Ergebnisarray überprüfen, welche Zeichen es wirklich gibt.

Alle Funktionen erwarten einen HDC (-> TCanvas.Handle), in den die betreffende Schrift selektiert ist.
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat