# 在 Python（通过 Java）中为演示文稿指定回退字体

> 掌握 Aspose.Slides for Python via Java，设置 PPT、PPTX 和 ODP 文件的回退字体，确保在任何设备或操作系统上文本显示一致。

Source: https://docs.aspose.com/slides/zh/python-java/create-fallback-font/
Updated: 2026-09-14

## **概述**

Aspose.Slides 允许您为演示文稿的渲染和导出操作指定回退字体。当主字体不包含特定字符的字形时，会使用回退字体。

回退行为通过回退规则进行配置。每条规则将 Unicode 范围与一个或多个可能包含所需字形的字体关联。您可以为不同字符范围定义规则、在现有规则中添加或移除回退字体，并在回退字体规则集合中组织多个规则。

回退规则是运行时渲染设置。它们不会修改演示文稿文件本身，也不会存储在 PPTX 文件中。

## **回退规则**

Aspose.Slides 提供了 [FontFallBackRule](https://reference.aspose.com/slides/zh/python-java/aspose.slides/fontfallbackrule/) 类，用于指定应用回退字体的规则。此类表示用于搜索缺失字形的 Unicode 范围与可能包含所需字形的字体列表之间的关联：

```python
import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import FontFallBackRule

start_unicode_index = 0x0B80
end_unicode_index = 0x0BFF

first_rule = FontFallBackRule(start_unicode_index, end_unicode_index, "Vijaya")
second_rule = FontFallBackRule(0x3040, 0x309F, "MS Mincho, MS Gothic")

# 使用多种方式指定字体列表。
font_names = jpype.JArray(jpype.JString)(["Segoe UI Emoji, Segoe UI Symbol", "Arial"])

third_rule = FontFallBackRule(0x1F300, 0x1F64F, font_names)
```

您还可以在现有的 [FontFallBackRule](https://reference.aspose.com/slides/zh/python-java/aspose.slides/fontfallbackrule/) 对象中使用 [remove](https://reference.aspose.com/slides/zh/python-java/aspose.slides/fontfallbackrule/#remove) 删除回退字体，或使用 [addFallBackFonts](https://reference.aspose.com/slides/zh/python-java/aspose.slides/fontfallbackrule/#addFallBackFonts) 添加回退字体。

[FontFallBackRulesCollection](https://reference.aspose.com/slides/zh/python-java/aspose.slides/fontfallbackrulescollection/) 可在需要为多个 Unicode 范围指定回退字体替换规则时组织 [FontFallBackRule](https://reference.aspose.com/slides/zh/python-java/aspose.slides/fontfallbackrule/) 对象的列表。

{{% alert color="info" title="See also" %}} 
- [创建回退字体集合](/slides/zh/python-java/create-fallback-fonts-collection/)
{{% /alert %}}

## **常见问题**

**回退字体、字体替换和字体嵌入之间有什么区别？**

回退字体仅在主字体缺少字符时使用。[字体替换](/slides/zh/python-java/font-substitution/) 将指定的整个字体替换为另一个字体。[字体嵌入](/slides/zh/python-java/embedded-font/) 将字体打包到输出文件中，以便接收者能够按预期查看文本。

**回退字体是在导出为 PDF、PNG 或 SVG 时应用，还是仅在屏幕渲染时应用？**

是的。回退会影响所有需要绘制字符但源字体中缺少这些字符的 [渲染和导出操作](/slides/zh/python-java/convert-presentation/)。

**配置回退会更改演示文稿文件本身吗？此设置在以后打开时会保持吗？**

不会。回退规则是您代码中的运行时渲染设置；它们不会存储在 .pptx 中，也不会出现在 PowerPoint 中。

**操作系统 (Windows/Linux/macOS) 和字体目录集合会影响回退选择吗？**

会。引擎会从可用的系统文件夹以及您提供的任何 [附加路径](/slides/zh/python-java/custom-font/) 中解析字体。如果某个字体在物理上不可用，则引用该字体的规则将无法生效。

**回退是否适用于 WordArt、SmartArt 和图表？**

会。当这些对象包含文本时，同样的字形替换机制会用于渲染缺失字符。
