Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Segoe UI Emoji Schrift darstellen (https://www.delphipraxis.net/196796-segoe-ui-emoji-schrift-darstellen.html)

EWeiss 20. Jun 2018 14:32

Segoe UI Emoji Schrift darstellen
 
Ok sorry mache einen neuen Thread weil mich das Interessiert und ich eine vergleichbare wenn auch nicht 100% Kompatible variante entwickeln möchte.

Mein Problem ist das ich überhaupt keine Emotion anzeigen kann aus der Schrift (Schwarz/weiß) farbig ist erst mal egal da es sowie im anderen Thread schon besprochen (auf normalem Wege) nicht funktioniert.

Nehme ich einen "normalen" Font bsp. celeb_faces.ttf dann kann ich auf diese weise Halle Berry anzeigen.
Delphi-Quellcode:
hBmp[2] := gSprCtrl.GD_CreateBitmapFromText('h', TTFCaption, PWidechar(FontCaption), -320, gSprCtrl.GD_ColorARGB(255, RGB(255, 0, 0)), 0);


Jetzt habe ich ein Bitmap aus diesen Font erstellt der mir Halle anzeigt.
Nun wie muss ich vorgehen das ich nun ein Emotion anzeigen kann?

So in etwa funktioniert leider nicht es wird kein Emotion angezeigt.
Delphi-Quellcode:
graphics.DrawString(UnicodeString('1F60D'),-1, Font, pointF, solidBrush);


Liegt es an Direct2D das dies so nicht möglich ist?
Es wäre kein Problem die Engine mit einem Flag umzuschalten also von GDI+ wenn es wirklich daran liegen sollte.

Meine frage bezieht sich also auf die Übergabe des Strings den ich übergeben muss. (siehe 'h' beim celeb_faces Font)
Wie sieht dieser aus?

Es geht im speziellen um Windows 7 alles andere ist uninteressant.

gruss

TiGü 20. Jun 2018 14:42

AW: Segoe UI Emoji Schrift darstellen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Button1.Caption := '😍😀😊😜☹😐😅😎❤😘😂😃💋💖😋😭😇🙄💩🙈🙉🙊🔞';
end;
Delphi XE (also eine Version nach deiner) kann die Zeichen im Editor darstellen.
Müsste also in 2010 auch gehen.

Sollte nach dem Kopieren des obigen Quelltextes nur Kästchen oder andere Platzhalter zu sehen sein, kannst du dein Projekt gleich wieder aufgeben.

mkinzler 20. Jun 2018 14:49

AW: Segoe UI Emoji Schrift darstellen
 
Der Editor zeigt diese zwar an, aber nicht mehrfarbig.

EWeiss 20. Jun 2018 14:56

AW: Segoe UI Emoji Schrift darstellen
 
Zitat:

Sollte nach dem Kopieren des obigen Quelltextes nur Kästchen oder andere Platzhalter zu sehen sein, kannst du dein Projekt gleich wieder aufgeben.
Aufgeben gibt es nicht.. es gibt auch noch andere Fonts aus denen ich Emotion anzeigen lassen könnte.
Und ja es ist wie du sagst in der IDE werden Kästchen angezeigt.

Man schaue Größe 320!
Den Rahmen könnte ich jetzt schwarz machen und den Inhalt der weiß ist Orange schon kommen wir dem näher.
Zitat:

Der Editor zeigt diese zwar an, aber nicht mehrfarbig.
Es geht mir im Moment nicht um die Farbe das kommt später. Einfarbig ist es ja schon eingefärbt ROT halt ;)

gruss

himitsu 20. Jun 2018 15:19

AW: Segoe UI Emoji Schrift darstellen
 
Kästchen in der IDE sind OK, denn dass heißt ja nur, dass "sie" es nicht darstellen kann, was aber nicht heißt, dass es im Programm nicht doch gehn könnte. (der nötige Font installiert und ausgewählt als Voraussetzung)

??? in der IDE/Editor ... nach dem Speichern und neu Laden:
Da muß die Unit auf Unicode oder UTF-8 umgestellt werden, welche noch als ANSI gespeichert wurde ... siehe Kontext-Menü des Codeeditors.

EWeiss 20. Jun 2018 15:22

AW: Segoe UI Emoji Schrift darstellen
 
Zitat:

Zitat von himitsu (Beitrag 1405352)
Kästchen in der IDE sind OK, denn dass heißt ja nur, dass "sie" es nicht darstellen kann, was aber nicht heißt, dass es im Programm nicht doch gehn könnte.

??? in der IDE/Editor ... nach dem Speichern und neu Laden:
Da muß die Unit auf Unicode oder UTF-8 umgestellt werden, welche noch als ANSI gespeichert wurde ... siehe Kontext-Menü des Codeeditors.

Werde es mal versuchen Danke.
Zitat:

(der nötige Font installiert und ausgewählt als Voraussetzung)
Den installiere ich nicht lade ihn zur Laufzeit.

Zitat:

Da muß die Unit auf Unicode oder UTF-8 umgestellt werden
Finde keinen Punkt wo man das könnte.

gruss

himitsu 20. Jun 2018 15:36

AW: Segoe UI Emoji Schrift darstellen
 
Hab nur XE zur Hand, aber im D7 war das glaub ich schon genauso.
Rechtsklick in den Codeeditor und da gibt es recht weit oben den Menüpunkt "Dateiformat" mit Untermenüs.

Im Kontextmenü des Form-Designer gibt es nur "Text-DFM", aber im "Ansicht als Text" (Alt+F12) findet sich dann auch das "Dateiformat" für Unicode in der DFM.
Die binäre DFM sorgt selbst dafür und nutzt bei Unicode-Properties abhängig vom Stringinhalt einen passenden Speichertyp mit ANSI oder UTF-8. (siehe Delphi-Referenz durchsuchenTWriter.WriteString)

EWeiss 20. Jun 2018 15:38

AW: Segoe UI Emoji Schrift darstellen
 
Zitat:

Zitat von himitsu (Beitrag 1405354)
Hab nur XE zur Hand, aber im D7 war das glaub ich schon genauso.
Rechtsklick in den Codeeditor und da gibt es recht weit oben den Menüpunkt "Dateiformat" mit Untermenüs.

Ja du hast recht war blind.. Danke.

EDIT:
Zitat:

Im Kontextmenü des Form-Designer gibt es nur "Text-DFM", aber im "Ansicht als Text" (Alt+F12) findet sich dann auch das "Dateiformat" für Unicode in der DFM.
Das mag zutreffend sein wenn man mit der VCL arbeitet ;)
Bei mir gibt es keine *.dfm

gruss

mkinzler 20. Jun 2018 15:45

AW: Segoe UI Emoji Schrift darstellen
 
Segoe UI Emoji enthält die Emoji als Vektorgrafik. Hier würde ich ansetzen.

Bibliotheken wie Skia oder Cairo unterstützen die mehrfarbige Anzeige. (Cairo wird auch von Mozilla verwendet.)

Leider ist der Skia-Wrapper für Delphi nicht vollständig.

EWeiss 20. Jun 2018 15:52

AW: Segoe UI Emoji Schrift darstellen
 
Zitat:

Zitat von mkinzler (Beitrag 1405356)
Segoe UI Emoji enthält die Emoji als Vektorgrafik. Hier würde ich ansetzen.

Bibliotheken wie Skia oder Cairo unterstützen die mehrfarbige Anzeige. (Cairo wird auch von Mozilla verwendet.)

Leider ist der Skia-Wrapper für Delphi nicht vollständig.

Ich habe die Emoji (Emotion) mein Problem jetzt ist nur das sie in der IDE nicht angezeigt werden das ist überaus schlecht.
Trotz allem das ich meine Unit umgeschaltet, gespeichert und Projekt neu gestartet habe.

UND!
Ich verwende kein D2D1 reines GDI+

gruss


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:54 Uhr.
Seite 1 von 2  1 2      

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