自訂字型列表
字型結構定義
在 Univer 中,字型使用 IFontConfig 介面進行定義:
| 屬性 | 類型 | 說明 |
|---|---|---|
value | string | 字型的唯一識別碼,通常也是 CSS font-family 的首選值。 |
label | string | 用於國際化的翻譯鍵,如果在 Univer 實例建立時沒有指定該鍵值時,則直接顯示傳入值。 |
category | 'sans-serif' | 'serif' | 'monospace' | 'display' | 'handwriting' | 字型類別,用於 UI 分組(可選)。 |
Univer 不會阻止使用者選擇未安裝的字型,如果客戶端沒有安裝某個字型,瀏覽器會直接使用預設字型進行替代顯示。
使用自訂字型
你可以透過配置 UniverUIPlugin 的 customFontFamily 參數來定義字型下拉選單中的選項。
TypeScript
univer.registerPlugin(UniverUIPlugin, { container: 'app', customFontFamily: { list: [ { value: 'PingFang SC', label: '苹方(简)', category: 'sans-serif', }, { value: 'Helvetica Neue', label: 'Helvetica Neue', category: 'sans-serif', }, ], // 是否覆蓋預設字型列表,預設為 false override: true, },})Facade API
除了在初始化時配置,你還可以透過 Facade API 在執行時動態註冊新的字型。這在需要非同步載入字型資源的場景下非常有用。
TypeScript
univerAPI.addFonts([{ value: 'PingFang SC', label: 'PingFang SC', category: 'sans-serif',}, { value: 'Helvetica Neue', label: 'Helvetica Neue', category: 'sans-serif',}])你覺得這篇文檔如何?