Android - 将多种字体样式组合成一种字体(字体)



我有几种不同样式的字体,比如说:"MyFont_default.otf"、"MyFont_italic.otf"、"MyFont_bold.otf"

通常,我会像这样设置文本视图的字体:

Typeface tf=Typeface.createFromAsset(context.getAssets(), "MyFont_italic.otf");
textView.setTypeface(tf);

我的问题是:是否可以将所有这些字体组合成一种字体,例如"MyFont",并根据XML布局文件中定义的TextView样式(斜体,粗体),以适当的字体显示TextView?

我没有

适当的声誉来评论,但我可以确认,这种方法有效。使用 FontForge(适用于 Windows 的二进制文件):

  1. 使用FontForge打开您的多个.otf文件(常规,粗体,斜体)。
  2. 确保选择显示字体"常规"版本的窗口
  3. 使用文件>从该窗口保存 ttc
  4. 看到保存对话框中确实列出了其他子字体(粗体,斜体)
  5. 在安卓中保存并使用此 ttc 文件

我用文本视图中显示的 html 文本对其进行了测试: <b>Test</b> Test <i>Test</i> ->"测试测试测试"以前在Android 2.3.7中不起作用,并且使用此ttc字体,所有三个版本的文本都可以完美显示。

正如我所说,导出时选择常规字体很重要,因为这是 Android 用作"默认"的字体(我首先从粗体版本导出,它都是粗体)。

使用某种字体编辑器将字体组合成一个文件。许多字体在单个文件中具有多种样式,这是在这种情况下所需要的。

相关内容

最新更新