Class FontLoader
java.lang.Object
org.ofdrw.converter.FontLoader
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionaddAliasMapping(String fontName, String alias) 添加字体映射addAliasMapping(String familyName, String fontName, String aliasFamilyName, String aliasFontName) Deprecated.addSimilarFontReplaceRegexMapping(String fontNameRegex, String fontName) 追加相似字体正则匹配规则addSimilarFontReplaceRegexMapping(String familyNameRegex, String fontNameRegex, String aliasFamilyName, String aliasFontName) addSystemFontMapping(String fontName, String fontFilePath) 增加字体映射addSystemFontMapping(String familyName, String fontName, String fontFilePath) Deprecated.static FontLoaderDeprecated.static void修复了字体默认字体解析模式获取默认字体文件路径getFontAlias(org.ofdrw.core.text.font.CT_Font ctFont) 获取字体别名static FontLoader获取字体加载器实例并加载程序com.itextpdf.io.font.TrueTypeFont默认字体iText格式getReplaceSimilarFontPath(String familyName, String fontName) 获取配置的 相似字体 对应的字体路径getSystemFontPath(String familyName, String fontName) 从操作系统字体目下获取字体路径voidinit()static booleanloadAsDefaultFont(String path) 尝试加载为默认字体加载默认字体loadExternalFont(String absPath) Deprecated.loadExternalFont(String absPath, String familyName, String fontName) 加载外部字体void加载字体到映射中void加载字体到映射中loadFont(ResourceLocator rl, org.ofdrw.core.text.font.CT_Font ctFont) 加载字体loadFontSimilar(ResourceLocator rl, org.ofdrw.core.text.font.CT_Font ctFont) 加载字体loadFontSimilarStream(ResourceLocator rl, org.ofdrw.core.text.font.CT_Font ctFont) 加载相近字体流FontWrapper<com.itextpdf.kernel.font.PdfFont> loadPDFFontSimilar(ResourceLocator rl, org.ofdrw.core.text.font.CT_Font ctFont, boolean isNoGlyphs) 尽可能的加载字体loadSystemFont(String familyName, String fontName) 尝试从系统字体目录中加载字体static FontLoaderPreload()预加载字体voidscanFontDir(File dir) 扫描目录下所有字体并加兹安voidscanFontDir(Path dirPath) 扫描目录下所有字体并加兹安static FontLoadersetSimilarFontReplace(boolean enable) 设置是否开启相近字体替换
-
Field Details
-
DEBUG
public static boolean DEBUG
-
-
Method Details
-
enableSimilarFontReplace
Deprecated.是否开启 字体替换,替换规则 similarFontReplaceRegexMapping- Returns:
- 实例
-
setSimilarFontReplace
设置是否开启相近字体替换该方法用于在字体无法识别的情况下采用默认的字体进行替换 防止渲染时字体内容缺失。
- Parameters:
enable- true - 开启(默认); false - 关闭- Returns:
- 实例
-
getInstance
-
Preload
-
init
public void init() -
loadAsDefaultFont
尝试加载为默认字体- Parameters:
path- 字体路径- Returns:
- true - 加载成功;false - 加载失败
-
addAliasMapping
@Deprecated public FontLoader addAliasMapping(String familyName, String fontName, String aliasFamilyName, String aliasFontName) Deprecated.追加字体映射- Parameters:
familyName- 字族名fontName- 字体名aliasFamilyName- 字族别名aliasFontName- 字体别名- Returns:
- this
-
addAliasMapping
添加字体映射- Parameters:
fontName- 字体名称alias- 字体别名- Returns:
- this
-
addSimilarFontReplaceRegexMapping
@Deprecated public FontLoader addSimilarFontReplaceRegexMapping(String familyNameRegex, String fontNameRegex, String aliasFamilyName, String aliasFontName) 追加相似字体正则匹配规则- Parameters:
familyNameRegex- 字族名匹配规则fontNameRegex- 字体名匹配规则aliasFamilyName- 字族别名aliasFontName- 字体别名- Returns:
- this
-
addSimilarFontReplaceRegexMapping
追加相似字体正则匹配规则- Parameters:
fontNameRegex- 字体名匹配规则fontName- 相近替换字体名- Returns:
- this
-
addSystemFontMapping
@Deprecated public FontLoader addSystemFontMapping(String familyName, String fontName, String fontFilePath) Deprecated.增加字体映射用于解决部分字体不存在时的替代
- Parameters:
familyName- 字族名fontName- 字体名fontFilePath- 字体位置- Returns:
- this
-
addSystemFontMapping
增加字体映射用于解决部分字体不存在时的替代
- Parameters:
fontName- 字体名fontFilePath- 字体位置- Returns:
- this
-
getSystemFontPath
-
getReplaceSimilarFontPath
-
loadSystemFont
尝试从系统字体目录中加载字体- Parameters:
familyName- 字族名fontName- 字体名- Returns:
- 字体或null
-
loadExternalFont
Deprecated.加载外部字体- Parameters:
absPath- 绝对路径- Returns:
- null或外部字体
-
loadExternalFont
加载外部字体- Parameters:
absPath- 字体操作系统绝对路径familyName- 字族名,因为是可选参数忽略fontName- 字体名- Returns:
- 字体
-
loadFont
加载字体兼容性保留
- Parameters:
rl- 资源加载器,用于从虚拟容器中取出文件ctFont- 字体对象- Returns:
- 字体或null
-
loadFontSimilar
public FontWrapper<TrueTypeFont> loadFontSimilar(ResourceLocator rl, org.ofdrw.core.text.font.CT_Font ctFont) 加载字体- Parameters:
rl- 资源加载器,用于从虚拟容器中取出文件ctFont- 字体对象- Returns:
- 字体或null
-
loadFontSimilarStream
public InputStream loadFontSimilarStream(ResourceLocator rl, org.ofdrw.core.text.font.CT_Font ctFont) 加载相近字体流- Parameters:
rl- 资源加载器,用于从虚拟容器中取出文件ctFont- 字体对象- Returns:
- 字体流
-
getFontAlias
获取字体别名- Parameters:
ctFont- 字体对象- Returns:
-
loadPDFFontSimilar
public FontWrapper<com.itextpdf.kernel.font.PdfFont> loadPDFFontSimilar(ResourceLocator rl, org.ofdrw.core.text.font.CT_Font ctFont, boolean isNoGlyphs) 尽可能的加载字体如果字体无法加载时使用相近字体替换
- Parameters:
rl- 资源加载器,用于从虚拟容器中取出文件ctFont- 字体对象isNoGlyphs- 是否不存在字符索引- Returns:
- 字体 或 null
-
loadDefaultFont
-
scanFontDir
-
scanFontDir
-
loadFont
-
loadFont
-
FixOS2
修复了字体小写os/2导致无法读取的问题
- Parameters:
src- 待修复字体文件路径- Throws:
IOException- 文件读写IO异常
-
getDefaultFont
-
getITextDefaultFont
public com.itextpdf.io.font.TrueTypeFont getITextDefaultFont()默认字体iText格式- Returns:
- 字体
-
getDefaultFontPath
-
addAliasMapping(String, String)