字体概念字体概念
原文: https://docs.oracle.com/javase/tutorial/2d/text/fontconcepts.html
本节向您介绍 Font 类,它支持详细的字体信息的规范和复杂的排版功能的使用。
Font 对象表示系统中可用字体面集合的字体实例。常见字体面的示例包括 Helvetica Bold 和 Courier Bold Italic。三个名称与 Font 对象关联:其逻辑名称,姓氏和字体名称:
Font 对象的逻辑名称是映射到物理字体的名称,该字体是系统上可用的特定字体之一。在 Java 中指定 Font 时,请使用字体名称而不是逻辑名称。您可以通过调用 getName 方法从Font获取逻辑名称。要获取映射到系统上可用特定字体的逻辑名称列表,请调用 java.awt.GraphicsEnvironment.getAvailableFontFamilyNames 方法。
有关详细信息,请参阅 物理和逻辑字体 。
Font 对象的系列名称是字体系列的名称,用于确定跨多个面的排版设计,例如 Helvetica。通过 getFamily 方法检索系列名称。
Font 对象的字体名称是指系统上安装的实际字体。这是指定字体时应使用的名称。它通常被称为字体名称。通过调用 getFontName 检索字体名称。要确定系统上可用的字体,请调用 java.awt.GraphicsEnvironment.getAllFonts 方法。
您可以通过 getAttributes 方法访问 Font 的相关信息。 Font 对象的属性包括其名称,大小,变换和字体功能,如重量和姿势。
LineMetrics 对象封装与 Font 相关的测量信息,例如其上升,下降和前导:
Ascent 是从基线到上升线的距离。此距离表示大写字母的典型高度,但某些字符可能会延伸到上升线之上。_ 下降*是从基线到下降线的距离。大多数字符的最低点将落在下降范围内,但某些字符可能会延伸到下降线以下。_ 前导*是从下行线底部到下一行顶部的建议距离。
下图显示了上升线,基线和下降线的位置:
此信息用于沿一条线正确定位字符,以及相对于彼此定位线。您可以通过 getAscent , getDescent 和 getLeading 方法访问这些线路指标。您还可以通过LineMetrics类访问有关 Font 对象的高度,基线以及下划线和删除线特征的信息。