如何使用字体的“其他版本”?

Posted

技术标签:

【中文标题】如何使用字体的“其他版本”?【英文标题】:How to use the "others versions" of a Font? 【发布时间】:2018-11-04 07:24:40 【问题描述】:

Calibre 字体有 Light、Light Italic、Italic、Regular、Bold 和 Bold Italic 版本。

使用示例:Font font = new Font("Calibre", type, 48);

要使用 Calibri Italic,我必须使用 type = Font.ITALIC

要使用 Calibri Bold,我必须使用 type = Font.BOLD

要使用 Calibri Regular 我必须使用 type = Font.TRUETYPE_FONT

但是如何使用 Light、Light Italic 和 Bold Italic 版本?

【问题讨论】:

【参考方案1】:

我想你可以只使用 Calibri Light 字体:

Font font = new Font("Calibre Light", Font.ITALIC, 48);

或者你可以加载字体,下面会加载Calibri Light Italic

Font font = Font.createFont(Font.TRUETYPE_FONT, new FileInputStream(
            new File("calibrili.ttf"))).deriveFont(Font.PLAIN, 48);

上面的代码行当然需要包含在 try/catch 块中,因为异常 FileNotFoundExceptionFontFormatException 和 IOException 可能会被抛出。

Calibri是微软字体,它封装了6个字体文件,分别是:

calibri.ttf       The Standard Calibri font
calibrib.ttf      Calibri Bold
calibrii.ttf      Calibri Italic
calibril.ttf      Calibri Light
calibrili.ttf     Calibri Light Italic
calibriz.ttf      Calibri Bold Italic

您会注意到,使用 Font.ITALIC 字体类型实际上没有任何作用,因为 Calibri Light Italic 是一种斜体字体。但是 Font.BOLD 会将斜体文本加粗

【讨论】:

【参考方案2】:

这是android studio中的自定义字体。这是类似的问题。它应该适合你code for custom font in android studio

【讨论】:

以上是关于如何使用字体的“其他版本”?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Mac 下的 LaTeX 中使用中文字体

如何在 HexaPDF 中使用多种字体,即复合字体

如何知道锚元素使用啥字体系列[重复]

如何导入字体?

如何使用 C# 安装 Windows 字体

如何在HTML中使用WOFF条码网页字体