![]() |
AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
Erklörbör:
Uwe's code basiert auf Direct2d. Dies unterstütz ColorFonts ab Windows 10 Anniversary Update (hier nach zu lesen: ![]() Außerdem brauchst du den Font Segoe UI Emoji. Dieser wird aber erst ab 8.1 mitgeliefert. Ergo: Win 7 is nich :) |
AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
Oh, einfach nur so, und dann noch so.
Von wem hätte die Lösung sonst kommen sollen 👍 |
AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
Delphi-Quellcode:
Ich liebe es, wenn die Meister mit ähnlichem Wasser kochen wie ich. :mrgreen:
Form299
Sherlock |
AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
Das es am Ende einfach nur das Flag
Code:
ist. :shock:
D2D1_DRAW_TEXT_OPTIONS_ENABLE_COLOR_FONT = 0x00000004
Das erklärt auch das unterschiedliche Verhalten von Microsoft-Anwendungen. Endweder nutzen sie noch alte GDI/GDI+-Schnittstellen oder verwenden nicht D2D1_DRAW_TEXT_OPTIONS_ENABLE_COLOR_FONT in den IRenderTarget.DrawText...-Methoden. Neuere Anwendungen wie Edge und Word unterstützen dann natürlich die neueren Möglichkeiten der Schnittstelle. |
AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
Hmm..
Ich glaube für die Emoji Fonts gibt es für W7 ein MS-Update: ![]() Habs nicht ausprobiert.. |
AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
Man muss den Font offenbar gar nicht explizit auswählen. Hier der Vollständigkeit halber noch die DFM-Datei des Forms. Ich habe lediglich die Form.Color auf weiß gesetzt. Vermutlich kann man aber wohl auch einfach den D2DCanvas.Brush.Style auf bsClear setzen.
Delphi-Quellcode:
object Form299: TForm299
Left = 0 Top = 0 Caption = 'Form299' ClientHeight = 299 ClientWidth = 635 Color = clWindow Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'Tahoma' Font.Style = [] OldCreateOrder = False OnPaint = FormPaint PixelsPerInch = 96 TextHeight = 13 end |
AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
Ich verstehe das so:
Die Schrift ist egal, es kommt darauf an, ob die zu zeichnende API Color Fonts unterstützt. Ghostwalker hat weiter oben ja schon den passenden MSDN-Eintrag dazu verlinkt. |
AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
Zitat:
Leider wird auch kein Fallback ausgeführt, so daß der Parameter 4 in diesem Fall zu einer falschen Ausgabe (eben gar keiner) führt. |
AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
Danke für diese Erklärungen was Windows 7 inkompatibilität angeht. Das Color-Fonts nicht arbeiten das war mir ja schon irgendwie bewusst, das nun gar nichts hinten rauskommt mit Windows 7, also auch wenn ich nur Text eingebe, das war mir unbegreiflich.
|
AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
Zitat:
Zitat:
und auch von selber macht das Windows schon seit langem, z.B. kannst du fast mit jedem Font chinesisch schreiben, auch wenn fast kein Font dafür die Zeichen besitzt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:58 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