导入字体

Kanzi 中的默认字体系列是 Fira Sans Regular。字体文件存储在 <KanziInstallation>/Studio/Asset Library/Fonts。 当您想使用自己的字体时,将其导入到您的 Kanzi Studio 项目中。

您可以在 Kanzi 应用程序中使用这些字体类型:

  • TrueType 和 OpenType 字体 (ttf 和 otf 文件)

  • iType 链接字体(ltt 文件)。请参阅 iType 关联字体。

  • 位图字体(fnt 文件)。请参阅 使用位图字体。

确保将您在 Kanzi 应用程序中要包含的文本的所有字形包含在使用的字体中。

将字体导入到 Kanzi Studio 项目中

要将字体导入到您的工程中:

  1. 选择 File > Import > Import Fonts。

    Import Fonts 窗口打开。

    ../../_images/file-import-fonts.png
  2. 在 Fonts 列中选择您要导入的字体,并在 Typefaces 列中双击您要选择导入的字型。

    当您打开 Import Fonts 窗口时,Kanzi Studio 显示系统字体。要从其他位置导入字体,请单击 Browse 并选择您要从中导入字体的目录。

    ../../_images/import-fonts.png
  3. 选择完要导入的字型之后,请点击 Import。

  4. 您可以在 Library > Font Families 中查看所有导入的字体。

    ../../_images/font-families-in-library.png ../../_images/font-family-properties.png

iType 关联字体

使用 iType 链接字体链接多个 TrueType 或 OpenType 字体,并通过引用一个字体文件使用所有链接字体中的字形。例如,您可以链接一个带有拉丁字形的字体和一个带有中文字形的字体,以便在您的 Kanzi 应用程序中渲染两种语言中使用的字形。

要求

要创建 iType 链接字体文件,您需要 Monotype iType FontLinking Kit 6.1.0.1。使用此版本的 FontLinking Kit 创建的链接字体文件与 iType 5.3.3 兼容。

要使用 iType 链接字体文件,您需要 Kanzi Engine 插件,该插件将 iType 字体引擎添加到 Kanzi。通过 support.rightware.com 提交对 Kanzi iType 字体引擎的请求。

为 Kanzi Studio 安装 iType 字体引擎。

要为 Kanzi Studio 安装 iType 字体引擎:

  1. 解压包含 iType 字体引擎 Kanzi Engine 插件的 zip 文件。

  2. 将每个构建配置的 dll 文件复制到 <KanziInstallation>/Studio/Bin/EnginePlugins 目录。

    例如,将 GL_vs<Version>_Release/kzitypeplugin.dll 复制到 <KanziInstallation>/Studio/Bin/EnginePlugins/GL_vs<Version>_Release 目录。

为 Android 安装 iType 字体引擎

要为 Android 安装 iType 字体引擎:

  1. 下载由 Rightware 支持提供的 Kanzi-<Version>-android-freetype-itype.zip 文件。该文件包含 iType 字体引擎 Kanzi Engine 插件。

  2. 将 zip 文件解压到 <KanziWorkspace>/Engine 目录。当解压存档时,您可以跳过已存在的文件。

使用 iType 链接字体

要使用 iType 链接字体,请执行以下操作:

  1. 在文件资源管理器中,将您要链接的 ttf 或 otf 字体文件复制到 <ProjectName>/Application/bin 目录。

  2. 要创建 ltt 链接字体文件:

    1. 在 iType FontLinking Kit 中打开 FontLinker 工具。

    2. 在 Edit 菜单中选择 Modify。

      ../../_images/modify-linked-font.png
    3. 在 Font Link 窗口中,点击 Add Font 并选择您复制到 Application/bin 目录的字体文件。

      ../../_images/add-font.png ../../_images/added-fonts.png
    4. 在您在上一步导入的每个字体文件的 Font Link 窗口中,选中复选框并单击 Apply。添加完所有要链接的字体后,单击 OK。

      ../../_images/font-checkbox.png ../../_images/click-apply.png
    5. 在 File 菜单中选择 Save,并将链接的字体保存为 ltt 文件。

      ../../_images/save-font.png
  3. 要在 Kanzi Studio 中使用链接字体:

    1. 在 Kanzi Studio 中导入您在上一步中保存的 ltt 字体。请参阅 将字体导入到 Kanzi Studio 项目中。

      在 Kanzi Studio 中,您可以在 Library > Font Families 中看到链接的字体文件。

      Fonts 目录中链接的字体文件指的是位于 <ProjectName>/Application/bin 目录中的字体文件。

      ../../_images/linked-font-file-in-library.png
    2. 在 Node Tree 中,选择一个 Text Block 或 Text Box 节点,在您要使用链接字体的位置,并在 Properties 中将 Font Family 属性设置为该字体。

      在该 Text Block 或 Text Box 节点中,您现在可以使用您在 ltt 链接字体文件中链接的所有字体文件中的字形。

      ../../_images/select-text-block.png ../../_images/set-font-property.png ../../_images/linked-font-in-preview.png

在 Android 上使用 iType 链接字体

要在 Android 上使用 iType 链接字体:

  1. 为 Android 安装 iType 字体引擎。请参阅 为 Android 安装 iType 字体引擎。

  2. 确保将您要使用的字体数据嵌入到 ltt 链接字体文件中。请参阅 使用 iType 链接字体。

  3. 要设置您的应用程序在启动时加载 iType 字体引擎,请在 application.cfg 中添加:

    FontEngine = IType
    

    请参阅 FontEngine。

  4. 要配置 Gradle 构建以链接到 iType 字体引擎 Kanzi Engine 插件 dll,请在 <ProjectName>/Application/configs/platforms/android_gradle/app/build.gradle 文件中替换

    externalNativeBuild {
        cmake {
            arguments "-DKANZI_LINK_FREETYPE=ON"
            arguments "-DKANZI_LINK_ITYPE=OFF"
        }
    }
    

    通过

    externalNativeBuild {
        cmake {
            arguments "-DKANZI_LINK_FREETYPE=OFF"
            arguments "-DKANZI_LINK_ITYPE=ON"
        }
    }
    

使用位图字体

当您想使用固定像素大小的文本并希望使用更少的资源来渲染文本时,请使用位图字体。位图字体的优点是渲染位图字体所需的资源比 TrueType 或链接的 iType 字体所需的资源更少。位图字体的缺点是,当您缩放位图字体时,渲染结果的质量可能较低。

Kanzi 支持 fnt 位图字体格式,您可以使用 AngelCode’s Bitmap Font Generator 从 TrueType 字体创建该格式。一个位图字体由一个 fnt 文件和一个或多个图像文件组成。

要使用位图字体:

  1. 在 AngelCode’s Bitmap Font Generator 中,从 TrueType 字体创建位图字体文件:

    1. 在 Options 菜单中选择 Font settings,并在 Font Settings 窗口中选择您要使用的 TrueType 字体和字形光栅化设置来创建位图字体。

      ../../_images/bmp-fnt-gen-font-settings.png
    2. 在主应用程序窗口中,选择您要为其创建位图字体的单个字符或字符组。

      为了使位图字体的大小尽可能小,仅选择您要在 Kanzi 应用程序中使用的字符。

      ../../_images/bmp-fnt-gen-char-select.png
    3. 在 Options 菜单中设置 Export options。

      例如,设置:

      • Width 和 Height 设置为字体纹理的尺寸,以便它足够大以容纳您选择的所有字形,但不要过大。如果您正在导出大量无法放入单个纹理的字形,该工具将创建额外的纹理。确保不要创建过多的纹理,因为这可能会降低您的 Kanzi 应用程序的性能。

      • 位深度 设置为 8

      • Preset 为 White text with alpha

      • 文件格式 > 字体描述符 设置为 文本

      ../../_images/bmp-fnt-gen-export-options.png
    4. 在 Options 菜单中选择 Save bitmap font as…,然后选择位图字体的目录和文件名。

      当您保存位图字体时,应用程序会创建一个 fnt 文件,并将所选字形导出到一个或多个图像中。这取决于导出设置以及您为该位图字体选择的字形数量。

  2. 在 Kanzi Studio 项目中使用位图字体:

    1. 在 Kanzi Studio 主菜单中选择 File > Import > Import Fonts,在 Import Fonts 对话框中点击 Browse,选择包含位图字体的目录,并导入字体。请参阅 将字体导入到 Kanzi Studio 项目中。

      在 Library > Font Families 中,您可以看到位图字体;在 Library > Resource Files > Fonts 中,您可以看到包含此位图字体的光栅化字形的一个或多个图像的字体文件。

      对于字体图像,Kanzi Studio 会自动将 sRGB Content 属性设置为禁用。Kanzi 使用此设置在 Kanzi Studio 项目的 Color Workflow 设置为 Linear 时正确显示位图字体。请参阅 颜色工作流程。

      ../../_images/file-import-fonts.png ../../_images/bitmap-font-file-in-library.png ../../_images/bitmap-font-file-image-properties.png
    2. 在 Node Tree 中,选择一个您要使用位图字体的 Text Block 或 Text Box 节点,并在 Properties 中添加和设置:

      • 将 Font Family 到您导入的位图字体。

      • 将 Font Size 调整为您在 Font Settings 中的 Bitmap Font Generator 中设置的大小。

      ../../_images/select-text-block.png ../../_images/properties-text-block.png

另请参阅

使用 Text Block 节点

使用 Text Box 节点

本地化 (Localization)