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      
Der schöne Günther

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

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

  Alt 18. Jun 2018, 15:52
Die Windows-Schriftarten enthalten zwar die entsprechenden Farben und alles, aber ich sehe nicht einmal bei WPF Support dafür. UWPs klar, aber wenn dafür selbst in WPF Zusatz-Komponenten bemühen muss...
  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
 
#2

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

  Alt 18. Jun 2018, 15:59
Die Windows-Schriftarten enthalten zwar die entsprechenden Farben und alles, aber ich sehe nicht einmal bei WPF Support dafür. UWPs klar, aber wenn dafür selbst in WPF Zusatz-Komponenten bemühen muss...
Word 2016 kann sie auch nur einfarbig anzeigen, das neue Word 365 kann es auch farbig.
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.079 Beiträge
 
Delphi 10.4 Sydney
 
#3

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

  Alt 18. Jun 2018, 16:15
Die meisten Programme nutzen dafür wahrscheinlich sowas wie die Windows-Funktion ExtTextOut.
Dann wird das halt schwarz/weiß. So als wenn du du in Delphi ein Canvas.TextOut benutzt.
Der Microsoft Browser Edge und neue Word-Versionen werden vermutlich während der Anzeige das ersetzen/übermalen mit fertigen ClipArts/SVGs.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#4

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

  Alt 18. Jun 2018, 16:20
Wegen Windows 7 sehe ich leider keine emoji, was passiert denn bei "Font.Color := WasAnderes;" ?
Gruß vom KodeZwerg
  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
 
#5

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

  Alt 18. Jun 2018, 16:23
Wegen Windows 7 sehe ich leider keine emoji, was passiert denn bei "Font.Color := WasAnderes;" ?
Mit Font.Color := clRed; kannst Du fest legen, das die ganze Schrift in Rot dargestellt wird.
Die Emoji sind aber ein Zeichen, das mit mehreren verschiedenen Farben gezeichnet wird.

Und die Schrift "Segoe UI Emoji" wird ab Win8.1 mitgeliefert.
Bzw. die Emoji Unterstützung.
Wenn ich es richtig verstanden habe, wird automatisch das Emoji aus der Segoe UI Emoj Schrift angezeigt, wenn die ausgewählte Schrift keine eigenen Emoji hat.
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)

Geändert von MaBuSE (18. Jun 2018 um 16:26 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#6

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

  Alt 18. Jun 2018, 16:29
sorry will das mal testen wo kann man den laden ?
Den farbigen Font!

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
 
#7

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

  Alt 18. Jun 2018, 16:30
sorry will das mal testen wo kann man den laden ?
Den farbigen Font!

gruss
Der ist ab Windows 8.1 Bestandteil von Windows

Auf die Frage, wie gebe ich denn die Zeichen unter Windows 10 ein:

Rechtsklick auf die Taskbar, dann "Bildschirmtastatur anzeigen (Schaltfläche)" klicken und dann erscheint neben der Uhr eine kleine Tastatur (Icon)
Klick darauf und es geht die Bildschirmtastatur auf.
Links neben der Leertaste ist ein Smiley. -> Draufklicken

Oder einfach per Copy & Paste. Ist ja normaler Text
Angehängte Grafiken
Dateityp: png 2018-06-18 17_31_29-.png (19,8 KB, 20x aufgerufen)
Dateityp: png 2018-06-18 17_35_18-.png (60,6 KB, 36x aufgerufen)
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)

Geändert von MaBuSE (18. Jun 2018 um 16:37 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#8

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

  Alt 18. Jun 2018, 16:42
Vielleicht kann ein Umweg über ein Bild da helfen?
using fonts as images in delphi 7
Zitat:
Delphi-Quellcode:
const
   CHESS_WHITE_QUEEN = #$2654;
   CHESS_WHITE_KING = #$2655;
   CHESS_WHITE_ROOK = #$2656;
   CHESS_WHITE_BISHOP = #$2657;
   CHESS_WHITE_KNIGHT = #$2658;
   CHESS_WHITE_PAWN = #$2659;

   CHESS_BLACK_QUEEN = #$265A;
   CHESS_BLACK_KING = #$265B;
   CHESS_BLACK_ROOK = #$265C;
   CHESS_BLACK_BISHOP = #$265D;
   CHESS_BLACK_KNIGHT = #$265E;
   CHESS_BLACK_PAWN = #$265F;

function CharToBitmap(sFontName: String; c: WideChar; cBackColor, cFontColor, cOutlineColor: TColor;
  OutlineSize: Integer; bmp: TBitmap): Boolean;
var
  r: TRect;
  OtmSize: Integer;
  pTm: POutlineTextMetric;
  LogFont: TLogFont;
begin
  Result := False;

  //destination rect
  r := Rect(0, 0, bmp.Width, bmp.Height);

  //set new font
  bmp.Canvas.Font.Name := sFontName;
  bmp.Canvas.Font.Style := [fsBold];
  bmp.Canvas.Font.Size := 10;

  //fill background
  bmp.Canvas.Brush.color := cBackColor;
  bmp.Canvas.FillRect(r);

  //get font metrics
  OtmSize := GetOutlineTextMetrics(bmp.Canvas.Handle, SizeOf(TOutlineTextMetric), nil);
  if OtmSize > 0 then
  begin
    //reserve memory
    GetMem(pTm, OtmSize);
    try
      pTm^.otmSize := OtmSize; //set size

      if GetOutlineTextMetrics(bmp.Canvas.Handle, OtmSize, pTm) <> 0 then
      begin
        //fill whole height
        bmp.Canvas.Font.Height := - bmp.Height;

        BeginPath(bmp.Canvas.handle);

        SetBKMode(bmp.Canvas.Handle, TRANSPARENT);

        DrawTextW(bmp.canvas.handle, @c, 1, r, DT_SINGLELINE or
          DT_CENTER or DT_VCENTER);

        EndPath(bmp.Canvas.handle);
        bmp.Canvas.Brush.color := cFontColor;
        bmp.Canvas.pen.color := cOutlineColor;
        bmp.Canvas.pen.width := OutlineSize;
        StrokeAndFillPath(bmp.Canvas.Handle);

        Result := True;
      end;
    finally
      FreeMem(pTm);
    end;
  end;
end;

procedure TForm1.Button4Click(Sender: TObject);
var
  bmp: TBitmap;
begin
  bmp := TBitmap.create;
  try
    bmp.width := 100;
    bmp.height := 100;
    //white piece
    CharToBitmap('Chess Merida Unicode', CHESS_WHITE_BISHOP,
      clGreen,
      clBlack,
      clWhite,
      bmp.height div 80,
      bmp);
  Image1.Picture.Assign(bmp);

    //black piece
    CharToBitmap('Chess Merida Unicode', CHESS_BLACK_KING,
      clGreen,
      clBlack,
      clWhite,
      bmp.height div 80,
      bmp);

    Image2.Picture.Assign(bmp);
  finally
    bmp.Free;
  end;
end;
Links I look:
https://support.microsoft.com/en-us/...size-of-a-font
http://www.fontcubes.com/Chess-7.font
http://mip.noekeon.org/HTMLTTChess/c...a_unicode.html
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.557 Beiträge
 
Delphi 12 Athens
 
#9

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

  Alt 18. Jun 2018, 16:54
TStaticText kann das auch nicht?

Das ist das "echte" Text-Control von Windows, was Delphi-TLabel "optimaler" und auch Transparent darstellen soll. (über DrawText/TextOut auf dem Canvas des Parents)



Und TWebBrowser ist auch nur ein leicht abgespeckter Internet Explorer.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.134 Beiträge
 
Delphi 2009 Professional
 
#10

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

  Alt 18. Jun 2018, 18:37
Du brauchst andere APIs, um solche Fonts zu zeichnen.
DrawText/TextOut des GDI+ scheint nicht zu reichen.
https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx

Versuch es mal mit FireMonkey
Wenn du das sagst..
Was glaubst was das hier ist?
Ein einfarbiger Font? Bitte beim Thema bleiben.

sorry will das mal testen wo kann man den laden ?
Den farbigen Font!
"Das MS Paint von Windows 10 ist ziemlich cool. Ich wollte das auf meinem Windows-95-Rechner verwenden und habe mspaint.exe kopiert, aber das geht nicht. Wieso???"
Janni
2005 PE, 2009 PA, XE2 PA
  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 23:44 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