Hallo,
Ich nutze zum Teil Sonderzeichen von Fonts wie "└" "┘". Unter Win7 sind die alle vorhanden. Aber bei älteren Betriebssystemen wie WinXP, wenn da nicht der Asia-Font installiert ist, sind die nicht im Font.
Wie kann ich herausfinden ob im Font das Zeichen vorhanden ist oder ob da nur ein Kasten dargestellt wird?
Grüße Markus
Herausfinden ob Zeichen im Font enthalten ist?
-
MmVisual
- Beiträge: 1639
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 4.4 FPC 3.2.2)
- CPU-Target: 32/64Bit
Herausfinden ob Zeichen im Font enthalten ist?
EleLa - Elektronik Lagerverwaltung - www.elela.de
-
Scotty
- Beiträge: 768
- Registriert: Mo 4. Mai 2009, 13:24
- OS, Lazarus, FPC: Arch Linux, Lazarus 1.3 r44426M FPC 2.6.4
- CPU-Target: x86_64-linux-qt/gtk2
- Kontaktdaten:
Re: Herausfinden ob Zeichen im Font enthalten ist?
Interessante Frage, aber ich glaube nicht, dass das geht. Man kann ja auch mit etwas Aufwand einen Zeichensatz selbst basteln, der nichts standardisiertes enthält. Deshalb geht hier nur OCR. Frag doch einfach, ob es dafür eine "Komponente" gibt. 
-
MmVisual
- Beiträge: 1639
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 4.4 FPC 3.2.2)
- CPU-Target: 32/64Bit
Re: Herausfinden ob Zeichen im Font enthalten ist?
Na dann frage ich mal.
Gibt es dafür eine "Komponente"

Gibt es dafür eine "Komponente"
EleLa - Elektronik Lagerverwaltung - www.elela.de
Re: Herausfinden ob Zeichen im Font enthalten ist?
http://www.lazarusforum.de/viewtopic.ph ... =tesseract" onclick="window.open(this.href);return false;
Aber wie gesagt für dein Vorhaben totaler Murks.
Unter Linux (jed. bei mir) auch überflüssig, weil automatisch ein Ersatzfont genommen wird, wenn der gewählte Font das Zeichen nicht darstellen kann.
Aber wie gesagt für dein Vorhaben totaler Murks.
Unter Linux (jed. bei mir) auch überflüssig, weil automatisch ein Ersatzfont genommen wird, wenn der gewählte Font das Zeichen nicht darstellen kann.
-
Bora4d
- Beiträge: 290
- Registriert: Mo 24. Dez 2007, 13:14
- OS, Lazarus, FPC: WinXP-Pro-Sp3, Xubuntu 12.04, (Laz 1.1-SVN Mai2012, FPC 2.6.1 / 2.6.0-Linux)
- CPU-Target: AMD64X2
Re: Herausfinden ob Zeichen im Font enthalten ist?
Diese Zeichen sind immer in Terminal-Schriftart enthalten.
Ansonsten kannst du temporär dein eigenes Schriftart verwenden. Such dir eine freie Schriftsatz aus Internet.
Ansonsten kannst du temporär dein eigenes Schriftart verwenden. Such dir eine freie Schriftsatz aus Internet.
-
Socke
- Lazarusforum e. V.
- Beiträge: 3188
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Herausfinden ob Zeichen im Font enthalten ist?
Du schmeißt hier die Zeichen (auch Glyphen) und deren Kodierung im verwendeten Zeichensatz ein wenig durcheinander. Prinzipiell kann der Schriftautor auf jeden Code Point (Position eines Zeichens im Zeichensatz) eine beliebige Glyphe legen. An der Position, an der üblicherweise ein A abgelegt ist, kann auch ein Stern oder etwas ganz anderes stehen. Bekannte Vertreter dieser Technik sind die Web- und Wingdings oder auch die Zapf Dingbats, die mit Windows mitgeliefert werden (wenn ich mich nicht irre).Scotty hat geschrieben:Interessante Frage, aber ich glaube nicht, dass das geht. Man kann ja auch mit etwas Aufwand einen Zeichensatz selbst basteln, der nichts standardisiertes enthält.
Auf der anderen Seite muss eine Schriftart nicht alle Zeichen eines Zeichensatzes abdecken. Die DejaVu-Schriftart-Familie versucht möglichst viele Unicode-Zeichen darzustellen.
Das ist auch unter Windows der Fall. In älteren Versionen waren Schriften mit den asiatischen Zeichen in der Regel nicht installiert. Als Ersatzzeichen kam dann ein Rechteck heraus.theo hat geschrieben:Unter Linux (jed. bei mir) auch überflüssig, weil automatisch ein Ersatzfont genommen wird, wenn der gewählte Font das Zeichen nicht darstellen kann.
Die sicherste Methode wäre, sich auf eine Schriftart festzulegen und diese mitzuliefern. Du kannst beim Start des Programms überprüfen, ob die Schriftart installiert ist oder nicht.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Re: Herausfinden ob Zeichen im Font enthalten ist?
Hallo,
ich weiß nicht, ob die Info für dich hilfreich ist oder nicht. Aber ich hatte vor einigen Jahren mal ein kleines Progrämmchen geschrieben, dass mir nur installierte Truetype-Schriften herausfiltert, die bestimmte chinesische "Charsets" wie z.B. CHINESEBIG5_CHARSET und GB2312_CHARSET enthielten. Dies ging mit dem Befehl Windows API Befehl "EnumFontFamiliesEx". Wenn du also sagst, dass dieses Zeichen nur in asiatischen TrueType-Schriften vorkommt, könntest du ja alle TrueType-Schriften testen, die die beiden angebenen Charsets oder weitere charsets enthalten.
Achja, und es soll laut Gerüchten zu Folge einen weiteren Ansatz mit Windows API "GetGlyphIndicesW" geben, es hat leider für mein Vorhaben nie so richtig funktioniert, obwohl es laut Beschreibung recht vielversprechend aussah. Sag bitte mir bescheid, falls du es mit diesem Befehl hinkriegst.
Lg,
jus
ich weiß nicht, ob die Info für dich hilfreich ist oder nicht. Aber ich hatte vor einigen Jahren mal ein kleines Progrämmchen geschrieben, dass mir nur installierte Truetype-Schriften herausfiltert, die bestimmte chinesische "Charsets" wie z.B. CHINESEBIG5_CHARSET und GB2312_CHARSET enthielten. Dies ging mit dem Befehl Windows API Befehl "EnumFontFamiliesEx". Wenn du also sagst, dass dieses Zeichen nur in asiatischen TrueType-Schriften vorkommt, könntest du ja alle TrueType-Schriften testen, die die beiden angebenen Charsets oder weitere charsets enthalten.
Achja, und es soll laut Gerüchten zu Folge einen weiteren Ansatz mit Windows API "GetGlyphIndicesW" geben, es hat leider für mein Vorhaben nie so richtig funktioniert, obwohl es laut Beschreibung recht vielversprechend aussah. Sag bitte mir bescheid, falls du es mit diesem Befehl hinkriegst.
Lg,
jus