Delphi 为什么压缩字体不能在FireMonkey中正确显示?
(我能做些什么呢?) 如果我在VCL中创建两个标签,并将其中一个设置为使用Arial,另一个设置为使用Arial,我将看到预期的结果 如果我在Firemonkey中也这样做,那么第二个标签不会显示在Arial窄框中。它甚至没有用Arial字体显示(i上的点是圆形的,'s'的形状完全错误等等) 有人知道为什么FM(我用Delphi XE4测试)不能正确显示字体吗?我能做些什么吗 VCL表格的来源:Delphi 为什么压缩字体不能在FireMonkey中正确显示?,delphi,fonts,firemonkey,Delphi,Fonts,Firemonkey,(我能做些什么呢?) 如果我在VCL中创建两个标签,并将其中一个设置为使用Arial,另一个设置为使用Arial,我将看到预期的结果 如果我在Firemonkey中也这样做,那么第二个标签不会显示在Arial窄框中。它甚至没有用Arial字体显示(i上的点是圆形的,'s'的形状完全错误等等) 有人知道为什么FM(我用Delphi XE4测试)不能正确显示字体吗?我能做些什么吗 VCL表格的来源: object Form3: TForm3 Left = 0 Top = 0 Capt
object Form3: TForm3
Left = 0
Top = 0
Caption = 'Form3'
ClientHeight = 198
ClientWidth = 475
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object Label1: TLabel
Left = 24
Top = 32
Width = 134
Height = 14
Caption = 'This label is using Arial @11'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Arial'
Font.Style = []
ParentFont = False
end
object Label2: TLabel
Left = 24
Top = 52
Width = 152
Height = 15
Caption = 'This label is using Arial Narrow @11'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Arial Narrow'
Font.Style = []
ParentFont = False
end
object Label3: TLabel
Left = 24
Top = 98
Width = 398
Height = 36
Caption = 'This label is using Arial @32'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -32
Font.Name = 'Arial'
Font.Style = []
ParentFont = False
end
object Label4: TLabel
Left = 24
Top = 140
Width = 429
Height = 37
Caption = 'This label is using Arial Narrow @32'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -32
Font.Name = 'Arial Narrow'
Font.Style = []
ParentFont = False
end
end
FM表格的来源:
object Form4: TForm4
Left = 0
Top = 0
Caption = 'Form4'
ClientHeight = 207
ClientWidth = 558
FormFactor.Width = 320
FormFactor.Height = 480
FormFactor.Devices = [dkDesktop, dkiPhone, dkiPad]
DesignerMobile = False
DesignerWidth = 0
DesignerHeight = 0
DesignerDeviceName = ''
DesignerOrientation = 0
object Label1: TLabel
Font.Family = 'Arial'
StyledSettings = [ssSize, ssStyle, ssFontColor]
Height = 17.000000000000000000
Position.X = 16.000000000000000000
Position.Y = 32.000000000000000000
Text = 'This label is using Arial @11'
Width = 225.000000000000000000
end
object Label2: TLabel
Font.Family = 'Arial Narrow'
StyledSettings = [ssSize, ssStyle, ssFontColor]
Height = 17.000000000000000000
Position.X = 16.000000000000000000
Position.Y = 48.000000000000000000
Text = 'This label is using Arial Narrow @11'
Width = 225.000000000000000000
end
object Label3: TLabel
Font.Family = 'Arial'
Font.Size = 32.000000000000000000
StyledSettings = [ssStyle, ssFontColor]
Height = 41.000000000000000000
Position.X = 16.000000000000000000
Position.Y = 104.000000000000000000
Text = 'This label is using Arial @32'
Width = 433.000000000000000000
end
object Label4: TLabel
Font.Family = 'Arial Narrow'
Font.Size = 32.000000000000000000
StyledSettings = [ssStyle, ssFontColor]
Height = 65.000000000000000000
Position.X = 16.000000000000000000
Position.Y = 128.000000000000000000
Text = 'This label is using Arial Narrow @32'
Width = 545.000000000000000000
end
end
这似乎只会影响族中的字体-如果字体不存在于其自己的族名称下的字体文件夹中。例如,Arial窄字体是“Arial”字体文件中的一种字体(它存在于一个族中,本身不是一个族) 通常,字体系列仅包括四种样式 Arial(天真地包含)
- Arial正则
- Arial粗体
- Arial斜体
- Arial粗体斜体
- Arial正则
- Arial粗体
- Arial斜体
- Arial粗体斜体
- Arial狭窄
- Arial狭义粗体
- Arial窄斜体
- Arial窄加粗斜体
- Arial黑色
Scale
属性设置为X=0.82
——这并不完美,但它非常接近Arial
这可能是一个错误,应该进行质量控制。您对“正确”的定义是什么?为什么你断言VCL是正确的,而FMX不是?Arial窄字体不是默认的Windows字体。它是通过Windows Office套件安装的。您是否尝试通过其他字体复制此问题?您是否尝试在另一台计算机上复制此问题?对于windows,很多因素都会影响字体的呈现方式。@DavidHeffernan:因为,正如我所指出的,FM表示显然不是Arial系列的字体。我会在所有已安装的字体中尝试这种方法,然后比较VCL和FMX,然后列出失败的字体。也许其中有一个模式。可能是trueType还是OpenType?我也注意到了这一点,在VCL中,如果您在对象检查器中键入例如Segoe UI semibold,它是Segoe UI的子字体,它将正确显示它。但是在Firemonkey中执行同样的操作将不会产生正确的字体。@J。。。我已经衍生了我自己的压缩字体,并在没有任何子字体系列的新名称下安装了它。我曾尝试在FMX中使用此字体,但未被识别,因此被Segoe UI取代。在写字板中,我的字体工作正常。所以这个问题不仅会影响到族中的字体。@slotomo-font-building可能很棘手,我很想看看这种字体。我想很可能是严格标准的某些方面没有得到遵守。当然,FMX对瘦字体的偏见毫无意义。关于这个字体问题,quality.embarcadero.com已经有报道了吗?如果没有,gabr应该创建一个,以便Embarcadero正式知道这一点。如果事后我们被告知报告编号,我们可以跟踪它,如果我们发现新的细节,我们可以为报告作出贡献。