SystemFont

继承: Font < Resource < RefCounted < Object

从系统字体加载的字体。如果未在主机操作系统上实现,则回退到默认主题字体。

描述

SystemFont从系统字体加载与font_names中的第一个匹配名称的字体。

它将尝试匹配字体样式,但不能保证。

返回的字体可能是字体集合的一部分,也可能是设置了OpenType“重量”、“宽度”和/或“斜体字”功能的可变字体。

您可以创建系统字体的FontVariation以精确控制其功能。

注意:此类在iOS、Linux、macOS和Windows上实现,在其他平台上会回退到默认主题字体。

属性


属性说明

bool allow_system_fallback = true 🔗

  • void set_allow_system_fallback(value: bool)

  • bool is_allow_system_fallback()

如果设置为true,系统字体可以自动用作后备。


FontAntialiasing antialiasing = 1 🔗

字体防混淆现象模式。


bool disable_embedded_bitmaps = true 🔗

  • void set_disable_embedded_bitmaps(value: bool)

  • bool get_disable_embedded_bitmaps()

如果设置为true,则禁用嵌入字体位图加载(仅位图和彩色字体忽略此属性)。


bool font_italic = false 🔗

  • void set_font_italic(value: bool)

  • bool get_font_italic()

如果设置为true,则首选斜体字或斜体字。


PackedStringArray font_names = PackedStringArray() 🔗

要搜索的字体系列名称数组,首先使用找到的匹配字体。

注意: 返回的数组是副本,对其进行的任何修改都不会更新原始属性值。有关更多详细信息,请参阅 PackedStringArray .


int font_stretch = 100 🔗

  • void set_font_stretch(value: int)

  • int get_font_stretch()

与正常宽度相比,首选字体拉伸量。50%200%之间的百分比值。


int font_weight = 400 🔗

  • void set_font_weight(value: int)

  • int get_font_weight()

字体的首选权重(粗体)。100…999范围内的值,正常字体权重为400,粗体字体权重为700


bool force_autohinter = false 🔗

  • void set_force_autohinter(value: bool)

  • bool is_force_autohinter()

如果设置为true,则支持自动提示,并且优先于字体内置提示。


bool generate_mipmaps = false 🔗

  • void set_generate_mipmaps(value: bool)

  • bool get_generate_mipmaps()

如果设置为true,则为字体纹理生成mipmap。


Hinting hinting = 1 🔗

字体提示模式。


bool keep_rounding_remainders = true 🔗

  • void set_keep_rounding_remainders(value: bool)

  • bool get_keep_rounding_remainders()

如果设置为true,则在将字形与像素边界对齐时,会累积舍入余数以确保字形分布更均匀。如果启用子像素定位,此设置无效。


int msdf_pixel_range = 16 🔗

  • void set_msdf_pixel_range(value: int)

  • int get_msdf_pixel_range()

形状周围最小和最大可表示符号距离之间的范围的宽度。如果使用字体轮廓,msdf_pixel_range必须设置为最大字体轮廓大小的至少两倍16的默认msdf_pixel_range值允许最大8的轮廓大小看起来正确。


int msdf_size = 48 🔗

  • void set_msdf_size(value: int)

  • int get_msdf_size()

用于生成MSDF纹理的源字体大小。较高的值允许更高的精度,但渲染速度较慢,需要更多内存。只有在您注意到字形渲染明显缺乏精度时才会增加此值。


bool multichannel_signed_distance_field = false 🔗

  • void set_multichannel_signed_distance_field(value: bool)

  • bool is_multichannel_signed_distance_field()

如果设置为true,则使用从动态字体矢量数据生成的单个多通道有符号距离字段渲染所有大小的字形。


float oversampling = 0.0 🔗

  • void set_oversampling(value: float)

  • float get_oversampling()

字体过采样因子,如果设置为0.0则使用全局过采样因子。


SubpixelPositioning subpixel_positioning = 1 🔗

字体字形亚像素定位模式。亚像素定位为较小的字体大小提供整形文本和更好的字距调整,代价是内存使用和字体光栅化速度。使用TextServer.SUBPIXEL_POSITIONING_AUTO根据字体大小自动启用它。