Я пишу приложение с Delphi XE 10.2, которое использует Direct2D canvas и Font Awesome icons .Холст GDI отображается правильно, тогда как холст Direct2d отображает буквенно-цифровые символы, но не значки (Hexcode> = $ f000).На их месте отображается классический прямоугольник.Может кто-нибудь сказать мне причину?Спасибо, Энцо
Это мой код:
procedure TForm1.Button2Click(Sender: TObject);
var
D2DCanvas: TDirect2DCanvas;
Ch: Char;
begin
Ch := Char($F4BA);
Canvas.Font.Assign(Self.Font);
Canvas.Font.Name := 'Font Awesome 5 Free Solid';
Canvas.Font.Color := clHotLight;
D2DCanvas := TDirect2DCanvas.Create(Canvas, Rect(0, 0, Width, Height));
try
D2DCanvas.Font.Assign(Self.Font);
D2DCanvas.Font.Name := 'Font Awesome 5 Free Solid';
D2DCanvas.Font.Color := clHotLight;
D2DCanvas.BeginDraw;
try
D2DCanvas.TextOut(10, 50, '(Direct2D): ' + Ch);
finally
D2DCanvas.EndDraw;
end;
finally
D2DCanvas.Free;
end;
Canvas.TextOut(10, 150, '(GDI): ' + Ch);
end;