Class OdfFontResolver
Provides the OdfFontResolver API. 提供 ODF 文件的字型解析與內嵌功能。
public static class OdfFontResolver
- Inheritance
-
OdfFontResolver
- Inherited Members
Methods
EmbedFontSubsets(OdfPackage, OdfNode, OdfNode)
Performs embed font subsets. 若已註冊字型子集化實作,掃描文件中的 PUA 自造字並將對應子集字型嵌入封裝。
public static void EmbedFontSubsets(OdfPackage package, OdfNode contentRoot, OdfNode stylesRoot)
Parameters
packageOdfPackageODF 套件
contentRootOdfNode內容 XML 的根節點
stylesRootOdfNode樣式 XML 的根節點
EmbedFonts(OdfPackage, OdfNode, OdfNode)
Performs embed fonts. 掃描並將文件中定義的所有字型內嵌至套件中。
public static void EmbedFonts(OdfPackage package, OdfNode contentRoot, OdfNode stylesRoot)
Parameters
packageOdfPackageODF 套件
contentRootOdfNode內容 XML 的根節點
stylesRootOdfNode樣式 XML 的根節點
GetFontFallbackCandidates(string)
Gets font fallback candidates. 取得指定字型的解析候選序列,依序包含原始名稱、使用者註冊替代字型與內建跨平台替代字型。
public static IReadOnlyList<string> GetFontFallbackCandidates(string fontName)
Parameters
fontNamestring字型名稱
Returns
- IReadOnlyList<string>
依優先順序排列且已去除重複項目的字型候選序列
IsTrueTypeCollection(string)
Returns whether this instance is true type collection. 檢查指定字型檔案是否為 TrueType Collection(.ttc)格式。PDFsharp 等部分渲染後端不支援直接讀取
public static bool IsTrueTypeCollection(string filePath)
Parameters
filePathstring字型檔案路徑
Returns
MapFont(string)
Maps font. 取得指定字型的實質替代字型名稱。若無替代規則則傳回原名稱。
public static string MapFont(string fontName)
Parameters
fontNamestring字型名稱
Returns
- string
替代後或原字型名稱
RegisterFallback(string, string)
Registers fallback. 註冊字型替代對照規則(例如在無微軟字型之 Linux/Docker 上將 "MS YaHei" 對照至 "Noto Sans CJK TC")。
public static void RegisterFallback(string targetFont, string replacementFont)
Parameters
Exceptions
- ArgumentNullException
當參數為空時拋出
RegisterFont(string, string)
Registers font. 顯式註冊字型對應。
public static void RegisterFont(string fontName, string filePath)
Parameters
Exceptions
- ArgumentNullException
當
fontName或filePath為 null 時拋出- FileNotFoundException
當找不到指定的字型檔案時拋出
RegisterFontDirectory(string)
Registers font directory. 註冊用於搜尋字型檔案的目錄。
public static void RegisterFontDirectory(string directoryPath)
Parameters
directoryPathstring字型目錄的路徑
Exceptions
- ArgumentNullException
當
directoryPath為 null 時拋出- DirectoryNotFoundException
當找不到指定的字型目錄時拋出
RegisterFontSubsetter(IFontSubsetter)
Registers font subsetter. 註冊字型子集化擴充實作。
public static IDisposable RegisterFontSubsetter(IFontSubsetter subsetter)
Parameters
subsetterIFontSubsetter字型子集化實作
Returns
- IDisposable
可用於還原先前註冊狀態的資源控制代碼
Exceptions
- ArgumentNullException
當
subsetter為 null 時擲出
ResolveFontFallback(string, Func<string, bool>)
Resolves font fallback. 依指定可用性探針解析第一個可使用的字型候選名稱。
public static string? ResolveFontFallback(string fontName, Func<string, bool> isAvailable)
Parameters
Returns
- string
第一個可使用的候選字型名稱,若沒有候選符合則為 null
Exceptions
- ArgumentNullException
當
isAvailable為 null 時擲出
ResolveFontPath(string)
Resolves font path. 依字型家族名稱解析字型的絕對路徑。
public static string? ResolveFontPath(string fontName)
Parameters
fontNamestring字型名稱
Returns
- string
字型檔案的絕對路徑,若無法解析則為 null
WarnIfUnresolvable(string, string)
Performs warn if unresolvable. 檢查指定字型名稱是否能成功解析出實際字型檔案;若找不到則發出一次性警告(同一名稱不重複記錄),
public static bool WarnIfUnresolvable(string fontName, string context)