在 javafx 程序上,我有一个标签,比如:
<Label style="-fx-font: 25px 'Tahoma';" text="Hello World!!" />
设计师要求我更改字体系列,很容易(我想):
<Label style="-fx-font: 25px 'Algerian';" text="Hello World!!" />
问题是屏幕上显示的新字体具有奇怪的偏移量,使文本看起来有点高,从而弄乱了设计。
这是两个标签并排的输出示例,左侧标签具有 Tahoma 字体并且看起来不错,而右侧标签具有“HelveticaNeue”字体并且远高于基线。
我已经部分解决了这个问题,使用 Text 组件将 Label 组件替换为 boundsType 属性设置为“VISUAL”而不是默认的“LOGICAL”。
<Text boundsType="VISUAL" style="-fx-font-family: 'Algerian'; -fx-font-size: 25px;" text="Hellow World!!" />
但是将整个系统的 Label 更改为 Text 组件并不好,并且在按钮和其他组件中存在相同问题并且难以替代的标签。
这些字体有问题吗?有些字体可以正常工作(Arial、Lucida Sans、MS Sans Serif),而其他字体则表现出这种行为(Algerian、Helvetica)。我在操作系统上安装了这些字体,甚至可以在 MS Word 中使用它们而不显示这些偏移量。
Label 组件上是否有与 Text 组件的 boundsType 属性相同的选项?
希望有人知道发生了什么,在此先感谢。