AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
Thema durchsuchen
Ansicht
Themen-Optionen

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

Ein Thema von MaBuSE · begonnen am 18. Jun 2018 · letzter Beitrag vom 4. Jun 2024
Antwort Antwort
Seite 1 von 2  1 2      
EWeiss
(Gast)

n/a Beiträge
 
#1

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

  Alt 20. Jun 2018, 11:46
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.
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
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#2

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

  Alt 20. Jun 2018, 11:58
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.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

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

  Alt 20. Jun 2018, 12:02
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

Geändert von EWeiss (20. Jun 2018 um 12:07 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.757 Beiträge
 
Delphi 12 Athens
 
#4

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

  Alt 20. Jun 2018, 12:24
So, nun dazu auch der passende Feature-Request: Add support for colored fonts in TDirect2DCanvas
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.212 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

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

  Alt 20. Jun 2018, 12:36
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 TEdit oder TMemo zu packen denn diese nutzen überhaupt erstmal gar kein Direct2D.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.757 Beiträge
 
Delphi 12 Athens
 
#6

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

  Alt 20. Jun 2018, 12:42
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 TEdit oder 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.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#7

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

  Alt 20. Jun 2018, 12:49
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
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.840 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

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

  Alt 20. Jun 2018, 13:58
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

@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.
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#9

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

  Alt 20. Jun 2018, 14:16
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
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.840 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

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

  Alt 20. Jun 2018, 14:22
Auf Wunsch hier ein Beispiel Programm.
Grundlage ist der Code von Uwe weiter oben

Ich verwende Delphi 10 Seattle und Windows 10
Angehängte Grafiken
Dateityp: png Screenshot.png (52,2 KB, 45x aufgerufen)
Angehängte Dateien
Dateityp: 7z Multicolor Font.7z (51,3 KB, 17x aufgerufen)
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:03 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