Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi (https://www.delphipraxis.net/196768-anzeige-farbiger-emoji-unicode-zeichen-mit-segoe-ui-emoji-schrift-delphi.html)

Ghostwalker 19. Jun 2018 05:37

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: MSDN


Außerdem brauchst du den Font Segoe UI Emoji. Dieser wird aber erst ab 8.1 mitgeliefert.

Ergo: Win 7 is nich :)

Der schöne Günther 19. Jun 2018 06:28

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 👍

Sherlock 19. Jun 2018 06:54

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
Delphi-Quellcode:
Form299
Ich liebe es, wenn die Meister mit ähnlichem Wasser kochen wie ich. :mrgreen:

Sherlock

TiGü 19. Jun 2018 08:37

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
Das es am Ende einfach nur das Flag
Code:
D2D1_DRAW_TEXT_OPTIONS_ENABLE_COLOR_FONT = 0x00000004
ist. :shock:

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.

HolgerX 19. Jun 2018 08:42

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:

https://support.microsoft.com/de-de/...in-windows-ser

Habs nicht ausprobiert..

Uwe Raabe 19. Jun 2018 08:51

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

TiGü 19. Jun 2018 09:04

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.

Uwe Raabe 19. Jun 2018 09:13

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
Zitat:

Zitat von TiGü (Beitrag 1405191)
Die Schrift ist egal, es kommt darauf an, ob die zu zeichnende API Color Fonts unterstützt.

Das ist richtig! Auch mit den Emoji Fonts funktioniert es auf Windows 7 nicht.

Leider wird auch kein Fallback ausgeführt, so daß der Parameter 4 in diesem Fall zu einer falschen Ausgabe (eben gar keiner) führt.

KodeZwerg 19. Jun 2018 09:28

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.

himitsu 19. Jun 2018 09:29

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
Zitat:

Zitat von Redeemer (Beitrag 1405133)
Ein einfarbiger Font? Bitte beim Thema bleiben.

ein farbiger Font, mit Leerzeichen :zwinker:


Zitat:

Zitat von Uwe Raabe (Beitrag 1405188)
Man muss den Font offenbar gar nicht explizit auswählen.

Stimmt, denn Windows hat ersmal eine Ersatztabelle (in Registry irgendwo), wo man Fonts/Chars registrieren kann, dass sie aus einem anderen Font kommen, wenn der zu zeichnende Font dieses Zeichen nicht besitzt
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.

MaBuSE 19. Jun 2018 10:15

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1405150)
Zitat:

Zitat von MaBuSE (Beitrag 1405116)
Aber ich hatte ja die Hoffnung, das das Delphi schon kann und man es nur einschalten muss.

So ganz aus dem Stand noch nicht, aber wenn man die
Delphi-Quellcode:
TDirect2DCanvas
ableitet und
Delphi-Quellcode:
TextOut
geringfügig modifiziert:

WOW,
danke für das Beispiel. Funktioniert gut. 👍🏻👍🏻👍🏻 🤘🏻

Der einzige Unterschied zwischen deiner TextOut und der von Embarcadero is ja nur der Parameter:

Code:
D2D1_DRAW_TEXT_OPTIONS_ENABLE_COLOR_FONT             = 0x00000004
Aus
Delphi-Quellcode:
RenderTarget.DrawTextLayout(D2D1PointF(x-0.5, y-0.5), TextLayout,
    FFont.FBrush.Handle, D2D1_DRAW_TEXT_OPTIONS_NONE);
wird
Delphi-Quellcode:
  RenderTarget.DrawTextLayout(D2D1PointF(x-0.5, y-0.5), TextLayout,
    Font.Brush.Handle, 4);
Geht das nur mit Direct2D oder könnte man das auch generell in der VLC für alle Controls anschalten. (z.B. via ClassHelper oder ähnliches)

Viele Grüße
MaBuSE

Uwe Raabe 19. Jun 2018 10:32

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
Zitat:

Zitat von MaBuSE (Beitrag 1405202)
Der einzige Unterschied zwischen deiner TextOut und der von Embarcadero is ja nur der Parameter:

Faktisch ja. Durch das Überschreiben mussten noch ein paar Zugriffe von private fields auf public properties umgeleitet werden. Ich würde das aber auch lieber als Option im Originalcode unterbringen. Leider funktioniert es wohl nur ab Anniversary Update bzw. einer bestimmten Direct2D Version. Ich weiß nur noch nicht, wie man das am besten erkennen kann, denn dann würde ich einen entsprechenden Feature-Request ins QP einstellen.

Zitat:

Zitat von MaBuSE (Beitrag 1405202)
Geht das nur mit Direct2D oder könnte man das auch generell in der VLC für alle Controls anschalten. (z.B. via ClassHelper oder ähnliches)

Vermutlich nicht. Die Controls basieren in der Regel auf GDI und wenn es hoch kommt auf GDI+. Soweit ich weiß ist dieses Feature dort aber nicht implementiert.

MaBuSE 19. Jun 2018 10:38

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1405205)
Soweit ich weiß ist dieses Feature dort aber nicht implementiert.

Schade 😒

Vielen Dank für die Infos. 👍🏻👍🏻👍🏻 🤘🏻

TiGü 19. Jun 2018 16:23

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1405205)
Faktisch ja. Durch das Überschreiben mussten noch ein paar Zugriffe von private fields auf public properties umgeleitet werden. Ich würde das aber auch lieber als Option im Originalcode unterbringen. Leider funktioniert es wohl nur ab Anniversary Update bzw. einer bestimmten Direct2D Version. Ich weiß nur noch nicht, wie man das am besten erkennen kann, denn dann würde ich einen entsprechenden Feature-Request ins QP einstellen.
.

Man müsste meiner Meinung nach nur prüfen, ob die D2D1-Factory das Interface ID2D1Factory4 unterstützt.

Redeemer 19. Jun 2018 18:23

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
Zitat:

Zitat von himitsu (Beitrag 1405195)
Zitat:

Zitat von Redeemer (Beitrag 1405133)
Ein einfarbiger Font? Bitte beim Thema bleiben.

ein farbiger Font, mit Leerzeichen :zwinker:

Auf dem Bild, auf das ich mich bezog, war ein einfarbiger Font.

Zitat:

Zitat von himitsu (Beitrag 1405195)
Zitat:

Zitat von Uwe Raabe (Beitrag 1405188)
Man muss den Font offenbar gar nicht explizit auswählen.

Stimmt, denn Windows hat ersmal eine Ersatztabelle (in Registry irgendwo), wo man Fonts/Chars registrieren kann, dass sie aus einem anderen Font kommen, wenn der zu zeichnende Font dieses Zeichen nicht besitzt
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.

Automatisch geht das seit Vista. Browser und beispielsweise Qt haben eigene Algorithmen, die etwas Vergleichbares tun.

EWeiss 19. Jun 2018 20:41

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
Zitat:

Auf dem Bild, auf das ich mich bezog, war ein einfarbiger Font.
Nun dann hast du es auf den Augen.

1. Es ist überhaupt kein Farbiger Font.
2. Es sind 2 geobats.ttf, celeb_faces.ttf und keiner ist auch nur im entferntesten Farbig wenn man von Schwarz, weiß absieht.
3. USA aus geobats habe ich so eingefärbt ARGB(225,RGB(65,128,32)), Obama ARGB(255, RGB(92,48,6)), HalleB ARGB(255, RGB(255,192,32))

4. Wenn man davon ausgehen würde dann wäre es schon ein 2 Farbiger nämlich Obama ARGB(255, RGB(92,48,6)) HalleB ARGB(255, RGB(255,192,32)) weil beide aus dem gleichen Font celeb_faces.ttf aber selber eingefärbt.

Wie schon gesagt ich kann die Fonts selbst einfärben dafür brauche ich kein W10.
So kann man sich täuschen.

gruss

Sherlock 20. Jun 2018 07:34

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
Emil, melde Dich nochmal, wenn Du es schaffst in einem Schriftzeichen mindestens zwei verschiedene Farben unterzubringen. ;)
Denn darum geht es hier. Die dargestellten Emoji haben zB rote Lippen, weiße Augen, gelbe Gesichter und schwarze Konturen. Flächig gefärbte Schriftzeichen kann in der Tat jeder mindestens seit WfW(*).

Sherlock

(*) Windows for Workgroups

EWeiss 20. Jun 2018 09:43

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
Zitat:

Zitat von Sherlock (Beitrag 1405258)
Emil, melde Dich nochmal, wenn Du es schaffst in einem Schriftzeichen mindestens zwei verschiedene Farben unterzubringen. ;)
Denn darum geht es hier. Die dargestellten Emoji haben zB rote Lippen, weiße Augen, gelbe Gesichter und schwarze Konturen. Flächig gefärbte Schriftzeichen kann in der Tat jeder mindestens seit WfW(*).

Sherlock

(*) Windows for Workgroups

Mache ich kein Problem. :)
Werde mich mal drangeben reicht ein Gradient oder muss es mehr sein?

gruss

KodeZwerg 20. Jun 2018 10:01

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
ot
Für non-W10 gibt es ja auch noch die Möglichkeit mit Bitmap-Fonts zu arbeiten, 16,7mio Farben sollten da wohl ausreichen.

TiGü 20. Jun 2018 10:20

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
Der Thread nimmt eine nicht-konstruktive Wendung. :(

mkinzler 20. Jun 2018 10:26

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
Bitte entweder zum Thema zurückkommen oder wir machen den Thread dicht!

MaBuSE 20. Jun 2018 11:11

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von EWeiss (Beitrag 1405274)
Mache ich kein Problem. :)
Werde mich mal drangeben reicht ein Gradient oder muss es mehr sein?

Nein ein Gradient reicht in diesem Falle nicht.

Ich vermute Du möchtest es nicht verstehen.
Ich erklär es trotzdem noch mal:

Es geht um die bunten Zeichen, die man auch vom Smartphone her kennt.

z.B.:😍
Das ist ein Zeichen (Unicode U+1F60D) und beinhaltet die Farben: schwarz, gelb, rot und weiß

Ich vermute, der Browser zeigt das unter Win7 nicht in Farbe an, deswegen hänge ich ein Screenshot dran.

Hier noch weitere Beispiele: (Das sind keine Grafiken, das sind mehrfarbige Unicode Zeichen)
😱 🤡 👨 👩 🙈 🙉 🙊 🌈 💘 💖 🔞 🇩🇪 👍 🤘

Daniel 20. Jun 2018 11:13

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
Zitat:

Zitat von MaBuSE (Beitrag 1405300)
Ich vermute, der Browser zeigt das unter Win7 nicht in Farbe an, deswegen hänge ich ein Screenshot dran.

Guter Hinweis.

MaBuSE 20. Jun 2018 11:19

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
Zitat:

Zitat von Daniel (Beitrag 1405301)
Guter Hinweis.

Danke 😍

Eine gute Quelle um die Unterschiede der verschiedenen Smartphones / Betriebsysteme zu sehen ist auch:

https://emojipedia.org/smiling-face-...t-shaped-eyes/

Wir reden hier von dem Bild was unter Microsoft abgebildet ist ;)

Wenn ich mit meinem iPhone die delphipraxis ansehe, sehe ich natürlich die Apple Emoji.

KodeZwerg 20. Jun 2018 11:20

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
Zitat:

Zitat von Daniel (Beitrag 1405301)
Zitat:

Zitat von MaBuSE (Beitrag 1405300)
Ich vermute, der Browser zeigt das unter Win7 nicht in Farbe an, deswegen hänge ich ein Screenshot dran.

Guter Hinweis.

Unter Windows 7 im Browser Opera werden leider nur Leere Kästchen dargestellt, also :thumb: für diesen Mehrwert!

Klaus01 20. Jun 2018 11:30

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
Zitat:

Zitat von KodeZwerg (Beitrag 1405306)
Zitat:

Zitat von Daniel (Beitrag 1405301)
Zitat:

Zitat von MaBuSE (Beitrag 1405300)
Ich vermute, der Browser zeigt das unter Win7 nicht in Farbe an, deswegen hänge ich ein Screenshot dran.

Guter Hinweis.

Unter Windows 7 im Browser Opera werden leider nur Leere Kästchen dargestellt, also :thumb: für diesen Mehrwert!

Mit Windows 7 und Firefox sehe ich alle Icons (mehrfarbig)

Grüße
Klaus

mkinzler 20. Jun 2018 11:44

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
Da Firefox für mehrere Plattformen verfügbar ist, wird man hier nicht auf Funktionen von Windows setzen.

EWeiss 20. Jun 2018 11:46

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
Zitat:

Ich vermute Du möchtest es nicht verstehen.
Ich erklär es trotzdem noch mal:

Es geht um die bunten Zeichen, die man auch vom Smartphone her kennt.

z.B.:��
Das ist ein Zeichen (Unicode U+1F60D) und beinhaltet die Farben: schwarz, gelb, rot und weiß
Nein ich vermute ihr wollt mich nicht verstehen.
Oder wir reden aneinander vorbei.

Ich lade deinen Font welches Zeichen sollte egal sein.
Jetzt habe ich dein ��
Dieses Zeichen wird von Text zu einem Bitmap konvertiert die Funktion dafür habe ich schon fertig.
Delphi-Quellcode:
GD_CreateBitmapFromText('h', TTFCaption, PWidechar(FontCaption), -320, gSprCtrl.GD_ColorARGB(255, RGB(255,192,32)), 0);


TTFCaption pointer zum Font
FontCaption PWideChar FontName
Fontsize -320 (abs) Negativer wert.. damit schalte ich den Rechteckigen Hintergrundbereich aus.

So!
Was hindert mich nun daran dieses Zeichen einzufärben so wie ich es will.
Über ein vordefiniertes Array mit Outline, Path, GetPixel und was es nicht noch gibt um die Konturen zu ermitteln damit ich weis was\wo dementsprechend eingefärbt werden soll.

Ich behaupte immer noch das es möglich ist wenn auch nicht gerade mit wenig aufwand.
Aber wenn die Funktion einmal steht kann ich sie für alle Privaten Fonts verwenden.

gruss

Daniel 20. Jun 2018 11:58

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
Zitat:

Zitat von EWeiss (Beitrag 1405311)
Was hindert mich nun daran dieses Zeichen einzufärben so wie ich es will.

Klar kannst Du eine Grafik einfärben, wie immer Du das möchtest.
Aber er will doch die fertigen Emojis nutzen - mit den Farben, wie sie vom jeweiligen System eben dargestellt werden.

EWeiss 20. Jun 2018 12:02

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
Zitat:

Zitat von Daniel (Beitrag 1405314)
Zitat:

Zitat von EWeiss (Beitrag 1405311)
Was hindert mich nun daran dieses Zeichen einzufärben so wie ich es will.

Klar kannst Du eine Grafik einfärben, wie immer Du das möchtest.
Aber er will doch die fertigen Emojis nutzen - mit den Farben, wie sie vom jeweiligen System eben dargestellt werden.

Ja Daniel das habe ich verstanden und wollte nur belegen das es theoretisch möglich ist.

Weil es scheinbar einige Leute gibt die mich für verrückt halten.
Ok habe meinen Standpunkt klar gemacht und verstehe um was es eigentlich in diesem Thread geht.
Deshalb halte ich mich nun etwas zurück werde aber an einer Lösung dafür arbeiten.

gruss

Uwe Raabe 20. Jun 2018 12:24

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
So, nun dazu auch der passende Feature-Request: Add support for colored fonts in TDirect2DCanvas

Der schöne Günther 20. Jun 2018 12:36

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
Was ich jetzt noch nicht ganz verstanden habe: Es wäre weiterhin natürlich einiges an Aufwand (falls überhaupt realistisch) das in die Komponenten wie
Delphi-Quellcode:
TEdit
oder
Delphi-Quellcode:
TMemo
zu packen denn diese nutzen überhaupt erstmal gar kein Direct2D.

Uwe Raabe 20. Jun 2018 12:42

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1405326)
Was ich jetzt noch nicht ganz verstanden habe: Es wäre weiterhin natürlich einiges an Aufwand (falls überhaupt realistisch) das in die Komponenten wie
Delphi-Quellcode:
TEdit
oder
Delphi-Quellcode:
TMemo
zu packen denn diese nutzen überhaupt erstmal gar kein Direct2D.

Ja, das könnte schon ein gehöriger Aufwand sein, insbesondere wenn für TEdit und TMemo die Standard-Controls verwendet werden, bei denen ja gar keine Paint-Routine vorliegt, die man eventuell anpassen könnte. Dann wäre man eh auf eine passende Implementierung in der CommCtrl.dll seitens Microsoft angewiesen.

Ich könnte mir allenfalls vorstellen, daß sowas mit einem speziellen VCL-Style realisierbar wäre.

EWeiss 20. Jun 2018 12:49

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
Zitat:

Ich könnte mir allenfalls vorstellen, daß sowas mit einem speziellen VCL-Style realisierbar wäre.
Nun da wären wir bei meinem Punkt und genau das versuche ich umzusetzen nicht für VCL aber NonVcl.
TEdit und TMemo werden ja Ownerdrawn mit dem VCL-Styles von daher denke ich das es möglich wäre auch ohne Anpassung der CommCtrl

gruss

MaBuSE 20. Jun 2018 13:58

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
Zitat:

Zitat von EWeiss (Beitrag 1405316)
Ja Daniel das habe ich verstanden und wollte nur belegen das es theoretisch möglich ist.

Weil es scheinbar einige Leute gibt die mich für verrückt halten.
Ok habe meinen Standpunkt klar gemacht und verstehe um was es eigentlich in diesem Thread geht.
Deshalb halte ich mich nun etwas zurück werde aber an einer Lösung dafür arbeiten.

Das das technisch möglich ist, bestreitet ja niemand. Wahrscheinlich auch unter Win7.
Nur macht es wenig Sinn das Rad neu zu erfinden, wenn es schon erfunden wurde.
(Es seiden als Hobby zum Spaß, wenn man zu viel Zeit hat ;) )

Meines Wissens gibt es 4 gebräuchliche verschiedene MultiFont Systeme.
  1. Das von Microsoft (un das es hier geht). Das ist ein normaler TrueType-basierten OpenType-Font mit einfarbigen, vektorbasierten Symboldarstellungen. Zusätzlich sind dort aber noch weitere Tabellen mit den Informationen der mehrfarbigen Zeichen hinterlegt. In COLR sind zu den Zeichen einzelne Layer verfügbar, deren Farben in CPAL hinterlegt sind.
    https://www.typografie.info/3/upload...1372406887.png
    Bild Quelle: https://www.typografie.info/3/artike...dows-81-emoji/
  2. Das von Adobe und Mozilla (SVGinOT). Hier werden komplette SVG Grafiken inkl Farben (und sogar Animationen) in die OpenType bzw Open Font Format Schriften integriert.
  3. Das von Google. Ist wohl auch SVG basiert. ( https://www.google.com/get/noto/#emoji-zsye-color )
  4. Das von Apple. Eigenes Format auf dem Mac bzw iPhone, iPad, ...

Es gibt mehrere mehrfarbige Fonts z.B.:
https://github.com/eosrei/emojione-color-font
https://github.com/eosrei/twemoji-color-font
https://www.google.com/get/noto/#emoji-zsye-color
https://support.microsoft.com/de-de/...in-windows-ser

Wenn man wissen will welche Zeichen es so alles gibt, kann man hier nachschauen:
https://emojipedia.org/

Bzw. hier im Unicode, wo sie definiert sind. Erfahrungsgemäß werden die hier definierten Emoji auch von den Herstellern "einheitlich" Implementiert. So ist sichergestellt, wenn ein Benutzer auf dem iPhone einen "😍" verwendet, das es auch auf dem Android Handy richtig erscheint.
https://unicode.org/emoji/charts/full-emoji-list.html

Mir geht es in dieser Diskussion darum, auch diese Unicode Zeichen welche ich von einem Smartphone erhalte unter Windows in den eigenen Anwendungen "richtig" (ihn bunt) darzustellen.
Das ist alles :stupid:

@EWeiss: Wenn Du dich da wirklich reinlesen willst schau Dir mal die Spezifikation von MS an:
https://docs.microsoft.com/de-de/typ...file#otttables

Wer weiß, vielleicht schaffst Du es ja tatsächlich ein TColorFontMemo zu schreiben. :thumb::thumb::thumb:

EWeiss 20. Jun 2018 14:16

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
Zitat:

Mir geht es in dieser Diskussion darum, auch diese Unicode Zeichen welche ich von einem Smartphone erhalte unter Windows in den eigenen Anwendungen "richtig" (ihn bunt) darzustellen.
Das ist alles
Danke für deine Ausführung und ja das habe ich schon verstanden um was es dir geht.
Ich mache ich einen neuen Thread dafür auf.

gruss

MaBuSE 20. Jun 2018 14:22

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
Liste der Anhänge anzeigen (Anzahl: 2)
Auf Wunsch hier ein Beispiel Programm.
Grundlage ist der Code von Uwe weiter oben ;)

Ich verwende Delphi 10 Seattle und Windows 10

EWeiss 20. Jun 2018 14:23

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
Zitat:

Zitat von MaBuSE (Beitrag 1405339)
Auf Wunsch hier ein Beispiel Programm.
Grundlage ist der Code von Uwe weiter oben ;)

Ich verwende Delphi 10 Seattle und Windows 10

Danke ;)
Zum reinschauen ist es schon mal gut und ja ich weiß das es unter Windows 7 nicht funktioniert.
Was ich damit sagen will hab kein W10 und auch kein Seattle ;)

gruss

HolgerX 20. Jun 2018 15:12

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
Hmm..

ich hatte ja mal auf diesen Link hingewiesen:

Zitat:

Zitat von HolgerX (Beitrag 1405187)
Hmm..

Ich glaube für die Emoji Fonts gibt es für W7 ein MS-Update:

https://support.microsoft.com/de-de/...in-windows-ser

Habs nicht ausprobiert..


Zitat:

Dieses Update fügt Unterstützung für Emoji-Zeichen und einige Steuerungsglyphen hinzu, die in Windows 8 und Windows Server 2012 enthalten sind.
Hat dass mal jemand ausprobiert?

Habe hier nur Win8.1 und kann es somit nicht testen...

EWeiss 20. Jun 2018 15:13

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
Ja habe ich versucht das bringt gar nichts nur in Verbindung mit Office :) also ein fix dafür.
Ich habe den Fix installiert.

EDIT:
Zitat:

denn diese nutzen überhaupt erstmal gar kein Direct2D.
Ich habe zumindest unter Windows 7 (keine Farbigen) festgestellt das es auch ohne Direct2D geht pures GDI+

gruss


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:20 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz