![]() |
Unicode-Symbole
Liste der Anhänge anzeigen (Anzahl: 1)
Ich bastle an selbst gemalten Controls.
Für die Checkbox und Combobox habe ich mir ![]() Geschrieben wird mit
Delphi-Quellcode:
.
aBitmap.Canvas.TextOut()
Bei mir unter Win10 sieht das ganz gut aus. Auf meinen dienstlichen Rechner unter Win7 dagegen nicht. Das ist für mich überraschend, weil ich dachte, Unicode-Zeichen wären einheitlich auf allen Rechnern!? Was muss ich beachten, damit das überall gleich aussieht. Sollte ich vielleicht besser Grafiken verwenden? Grundsätzlich bin ich recht flexibel, da ich ohnehin alles selbst zeichne. Die Unicodezeichen erschienen mir nur als einfache Lösung. |
AW: Unicode-Symbole
Wieso ist das zwingend ein Unicode-Problem? Könnte doch auch ein fehlender Font sein, oder?
|
AW: Unicode-Symbole
Ich weiß halt nicht, wo das Problem liegt.
Einen Font habe ich nicht umgestellt. Augenscheinlich ist die Schrift auch identisch. Ehe ich planlos suche wollte ich hier erst mal fragen, ob jemand einen Tipp hat. |
AW: Unicode-Symbole
Ich weiß über dein Programm ja noch weniger als du, daher kann ich auch nur raten und bin erstmal auf das Nächstliegende gekommen: Sind die Fonts, die du in deiner Anwendung verwendest, auf beiden Systemen identisch? Anders kann ich mir dieses Phänomen erstmal nicht erklären als mit einer neueren Version eines Fonts (z.B. Tahoma) der auf dem neueren BS eben einen veränderten Haken zeigt. Du könntest zu Testzwecken auf dem alten System mal die Fonts, die du in deiner Anwendung verwendest, löschen (vorher aber bitte sichern) und durch die entsprechenden Fonts aus dem neueren Betriebssystem ersetzen, dann wüßtest du zumindest, ob's daran liegt und müßtest dich nicht auf den unzuverlässigen Augenschein (deshalb heißt der ja auch Schein, ähnlich wie beim Geldschein, das scheint nämlich nur Geld zu sein, oder beim Scheinheiligen) stützen.
Ein weiterer Hinweis wäre die Registry, die irgendwo (genau weiß ich's nicht, müßte sich aber in den Weiten des Forums recherchieren lassen) verzeichnet, welche Fonts zur Standardbeschriftung (z.B. Menüs, Icons usw.) herangezogen werden. |
AW: Unicode-Symbole
In Unicode ist definiert welches Zeichen an welchen Codepoint liegt.
Es ist nicht definiert wie dieses Zeichen vom gewählten Font darstellt wird. Dein Kästchen beim DropDown ist (unter Windows) fast immer das Zeichen dafür das an dieser Position kein Zeichen im Font vorhanden ist und auch über Fontlinking kein andere Font zum Zeichnen verwendet wird. Aber solche Sachen zeichnet man entweder selbst oder nimmt das Theming/Skinning von neueren Delphi-Versionen. Sich auf die Darstellung eines Fonts unter einer bestimmten OS-Version zu verlassen ist wie man sieht sehr problematisch. |
AW: Unicode-Symbole
Ok, danke.
Dann war meine Vorstellung von Unicode komplett falsch. Ich dachte, das wäre quasi ein Font mit x-tausend Zeichen. :oops: Dann werde ich das wohl auf Grafiken umstellen. |
AW: Unicode-Symbole
In Windows 7 fehlen in den ganzen Schriftarten teilweise leider noch die elementarsten Zeichen wie das
![]() |
AW: Unicode-Symbole
Dann wäre mein Lösungsvorschlag also angebracht: Kopieren der benötigten Font-Dateien vom neuen auf das alte BS.
|
AW: Unicode-Symbole
Na ja, dann kann ich aber nicht sicher stellen, dass die GUI auf allen System vernünftig aussieht.
Insofern werde ich lieber Grafiken verwenden (oder direkt selbst zeichnen). |
AW: Unicode-Symbole
Zitat:
Privat mag das eine Lösung sein. Im "normalen" Firmenumfeld nicht. |
AW: Unicode-Symbole
Zitat:
Zitat:
|
AW: Unicode-Symbole
Ich suche schon eine allgemein zulässige und funktionsfähige Lösung.
Es geht auch nicht speziell nur um meinen dienstlichen PC. Für mich ist die Frage abschließend beantwortet. Ich dachte, Unicode-Zeichen sind "immer und überall" gleich und verfügbar. Da dem nicht so ist, wähle ich einen anderen (allgemein funktionsfähigen) Weg. |
AW: Unicode-Symbole
Du kannst dir UNICODE wie eine Tabelle vorstellen, welche bestimmten Bits ein ganz bestimmtes Zeichen zuordnet.
Diese Tabelle nennt man dann Zeichensatzcodierungen. Die zwei bekanntesten Vertreter sind wahrscheinlich ASCII und UNICODE. ASCII ist leider auf 7 Bit begrenzt, was 128 Zeichen zulässt. Das sind natürlich viel zu wenig, weshalb man ASCII irgendwann erweitert hat und es auch Zeichensätze mit mehr Bits gibt, wie z.B. UNICODE. UNICODE beschreibt somit lediglich die Kodierung. Wie diese Zeichen dann auf deinem Monitor angezeigt werden, wird durch die Schriftart definiert. Diese hat quasi für jeden Tabelleneintrag ein passendes Bild für das Zeichen. Ich würde generell auch davon abraten Schriftarten zu kopieren oder sich auf bestimmte Schriftarten festzulegen. Schriftarten ändern sich auch über die Jahre und so wird Segoe UI sicher in 10 Jahren anders aussehen als heute (oder auch nicht :-) ). Grüße Headbucket |
AW: Unicode-Symbole
Du könntest auch Marlett zum Zeichnen nehmen:
![]() |
AW: Unicode-Symbole
Alternativ kannst Du dir auch eine eigene Schriftart 'erstellen'.
Hierzu benötigte Tools findest Du im Internet. Diese Schriftart kannst Du dann bei Programmstart dynamisch für deine App installieren und verwenden. Da es sich hierbei um DEINE Schrift handelt, hat Du sogar das Urheberrecht auf deiner Seite ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz