字体不会随
而变化GlobalUseDirect2D := false;
所有这些都是'Segoe UI'。
我可以做些什么,可以使用GDI +自定义字体?
Delphi XE4,Firemonkey HD表格。
答案 0 :(得分:0)
谢谢,我修好了。还有一次关于这个问题:我关闭了GlobalUseDirect2D并且所有文本都将FontFamily作为'Tahoma',即使它是'Comic Sans MS',例如。
UPD这不是完全修复。字体随机播放。
UPD2现在正确修复。
FMX.Canvas.GDIP.pas中的修复程序:
procedure TTextLayoutGDIPlus.DoRenderLayout;
var
i: Integer;
LRegion: TRegion;
begin
if not Assigned(FStringFormat) or not Assigned(FGraphics) then
Exit;
FreeAndNil(FGPFont);
if Assigned(LayoutCanvas) then
begin
//FIX BEGIN
TCanvasGdiPlus(LayoutCanvas).Font.Assign(Font);
//FIX END
if not TCanvasGdiPlus(LayoutCanvas).FGPFamily.IsStyleAvailable(vgStyleToGPStyle(Font.Style)) then
begin
FGPFont := TGPFont.Create(TCanvasGdiPlus(LayoutCanvas).FGPFamily,
Font.Size * 0.75 * TCanvasGdiPlus(LayoutCanvas).FFontScale, 0);
if not Assigned(FGPFont) then
FGPFont := TGPFont.Create(TCanvasGdiPlus(LayoutCanvas).FGPFamily,
Font.Size * 0.75 * TCanvasGdiPlus(LayoutCanvas).FFontScale,
vgStyleToGPStyle(Font.Style));
end
else
FGPFont := TGPFont.Create(TCanvasGdiPlus(LayoutCanvas).FGPFamily,
Font.Size * 0.75 * TCanvasGdiPlus(LayoutCanvas).FFontScale,
vgStyleToGPStyle(Font.Style),
UnitPoint);
end