请帮我分析下jasperreport的字体加载逻辑
JasperReport 的字体加载逻辑如下:
-
JasperReport 首先检查系统环境中是否存在指定的字体,如果存在,则直接使用。
-
如果系统环境中不存在指定的字体,则 JasperReport 将尝试从 classpath 中查找字体文件。
-
如果在 classpath 中找到了字体文件,则 JasperReport 将加载该字体文件并使用它。
-
如果在 classpath 中没有找到字体文件,则 JasperReport 将尝试从操作系统中安装的字体库中查找字体。
-
如果在操作系统中安装的字体库中找到了指定字体,则 JasperReport 将使用该字体。
-
如果在以上步骤中都没有找到指定的字体,则 JasperReport 将使用默认字体。
需要注意的是,如果在 classpath 中找到了字体文件,但是该字体文件不能被加载或者解析,JasperReport 将会忽略该字体文件并使用默认字体。同样,如果在操作系统中安装的字体库中找到了指定字体,但是该字体无法被加载或者解析,JasperReport 也会使用默认字体。
原文地址: https://www.cveoy.top/t/topic/eKkV 著作权归作者所有。请勿转载和采集!