@ betteroffice/ fonts (日语)
打开字体和一个懒惰的加载器,用于BetterOffice布局引擎:与标准兼容的替代品
微软核心字体,常见的演示家族,以及希伯来语和阿拉伯语的覆盖. 国防部
引擎装入它们 configureDefaultFonts; 对于 PPTX 编辑器 fonts 螺丝管,
loadBundledFontBytes 返回任何捆绑面孔的字节。 CJK的脸
单独进舰 @betteroffice/fonts-cjk。 。 。 .
替代物共享卡利布里、坎布里亚、阿里亚尔、时代新罗马和库里尔的先行宽度 新的,所以换行和Pagination匹配Word. 横跨813个真实世界的文件, 配置这个 软件包将准确的页数协议从46.5%提高到61.9%.
安装
bun add @betteroffice/fonts
# for Chinese, Japanese or Korean text:
bun add @betteroffice/fonts-cjk
使用量
在任何编辑器挂载前配置一次 DOCX 引擎 :
import { configureDefaultFonts } from '@betteroffice/docx/layout';
import * as fonts from '@betteroffice/fonts';
configureDefaultFonts({ fonts });
要保持包 在自己的块,通过 load 相反:
configureDefaultFonts({ load: () => import('@betteroffice/fonts') });
configureDefaultFonts 是全过程的。 模块初始化时称它; 用于平面编辑或
每个租户的 URL,通过一个提供者 DocxEditor 作为 measurementFontProvider 换句话说.
导入软件包不会获取或注册任何东西 。 每张相片第一次被取出 因此,从软件包的自有资产(同源)中,Vite等捆绑者将文件放出旁边 模块.
从CDN取出面相
这个 @betteroffice/fonts/cdn 条目将字体二进制和 CJK 添加从您的捆绑中保存出来。 这个
从 jsDelivr URL 从已安装的软件包版本获取面孔 :
import { configureDefaultFonts } from '@betteroffice/docx/layout';
configureDefaultFonts({ load: () => import('@betteroffice/fonts/cdn') });
使用自己的CDN,创建一个提供者并传递给 DocxEditor 作为 measurementFontProvider数字 :
import { createFontProvider } from '@betteroffice/fonts/cdn';
const measurementFontProvider = createFontProvider({
baseUrl: 'https://cdn.example.com/fonts/latin/',
cjkBaseUrl: 'https://cdn.example.com/fonts/cjk/',
});
或者保留捆绑的条目,只移动二进制:
import { configureDefaultFonts } from '@betteroffice/docx/layout';
import * as fonts from '@betteroffice/fonts';
configureDefaultFonts({ fonts, baseUrl: 'https://cdn.example.com/betteroffice-fonts/' });
- 服务原始文件名
assets/目录, 启用 CORS 和 源码允许在您的connect-src政策. - 单人
baseUrl,每个面孔,包括CJK, 来自目录的负载。 复制assets/中两个包;文件名不相撞. - 一个亲戚
baseUrl解决当前页面; 浏览器外必须绝对. - 每一次下载都会对照清单的字节长度进行检查,该字节长度可以检测出短音,但不能 篡改,所以使用一个你信任的来源。 CDN 可以看到文档要求的所在 .
- 处理文件
br或者说gzip编码 面相是原始的TTF/OTF,因为浏览器和 webAssembly 引擎必须测量相同的字节;压缩将 65 面从 14,527 KB 带到 7,156克贝.
炸弹
随着卷起、 Esbuild 或 Vite 构建, 将软件包内嵌, 将字体包标为外部
因此它们的资产 URL 存活下来,或者配置一个 baseUrl数字 :
esbuild app.js --bundle --external:@betteroffice/fonts --external:@betteroffice/fonts-cjk
// rollup.config.js
export default {
external: ['@betteroffice/fonts', '@betteroffice/fonts-cjk'],
};
被捆住的脸
| 受困家庭 | 与量子兼容 | 别名也解决了 | 许可证 | 版本 |
|---|---|---|---|---|
| 卡丽托 | 卡利布里语Name | 无 | 资产管制处1.1 | 1.104 联合国 |
| 塞拉维克 | Segoe UI, 光, 半光, 半粗体 | 无 | 资产管制处1.1 | |
| 卡拉迪亚 | 坎布里亚 | 无 | 资产管制处1.1 | 1.001 (韩语) |
| 桑斯解放组织 | 参数 | 螺旋桨 | 资产管制处1.1 | 2.1.5 |
| 塞里夫解放组织 | 新罗马时代 | 时间 | 资产管制处1.1 | 2.1.5 |
| 莫诺解放组织 | 库里尔New | 库里尔 | 资产管制处1.1 | 2.1.5 |
Gelasio 1.008与佐治亚州和Comic Relief 1.200与Comic Sans MS(两者都是OFL)相匹配 1.1) 介绍家庭 Inter, Roboto, Source Sans 3 (Source Sans Pro), DM Sans, DM Serif 显示、开放桑斯、蒙特塞拉特、波平斯、奥斯瓦尔德和希波是字体本身。 未知的家庭 与相通的单相相接相接相接相接相接 塞拉维克号定期轮船、粗体轮船、轻体轮船、半光轮船 和直立的面相, 斜体 Segoe UI 请求保留最后一回的链条,其斜体是 真正的斜体表情.
| 受困家庭 | 覆盖范围 | 脚本桶 | 许可证 | 版本 |
|---|---|---|---|---|
| 诺托·桑斯希伯来语 | 希伯来语报道 | hebrew | 资产管制处1.1 | 3.001 (中文(简体) ) |
| 诺托·桑斯阿拉伯语 | 阿拉伯语报道 | arabic | 资产管制处1.1 | 2.013 (中文(简体) ) |
| 诺托·纳什克阿拉伯语 | 阿拉伯脸 | arabic | 资产管制处1.1 | 2.021 (英语) |
测量从不查询安装在机器上的字体: 嵌入式文档字体先来, 然后 捆绑的替代品,然后是最后的一张相, 所以一个文档测量 各地相同.
API 密码
大多数主机只需要 configureDefaultFonts。软件包还导出自定义字节的部件
来源和其他消费者:
| 导出 | 说明 |
|---|---|
createFontProvider({ baseUrl? }) | 测量引擎消耗的供应商. |
BUNDLED_FONTS | 面相显相. |
resolveMetricCompatFamily, (中文(简体) ), resolveMetricCompatFace | 将 Word 家族( 和样式) 映射到其捆绑的替代品 . |
resolveBundledFamilyFace | 为了一个家庭 和风格,或 undefined; 缺少斜体使用浏览器合成. |
resolveScriptFallbackFace | 脚本桶的覆盖面, 如 cjk-sc 或者说 arabic。 。 。 . |
resolveGlyphFallbackFace, (中文(简体) ), createFontProvider().resolveGlyphFallback | Selawik 中没有字符的覆盖元数据和懒字节;可选 office 默认为 powerpoint,与 word 选择 Word 的倒置. |
resolveLastResortFace | 总是有后退的面孔. |
resolveDigitAdvance, (中文(简体) ), maxDigitWidth | 最宽的数位前进,记录或测量. |
loadBundledFontBytes(face, { baseUrl? }) | 获取面部的字节,每个面部和基址缓存. |
registerBundledFontFace(face) | 用浏览器注册一张相 FontFace API; DOM外无外接. |
文档
许可证发放
加载器代码为Apache-2.0(参见 LICENSE) (中文(简体) ). 字体二进制根据SIL Open Font许可证1.1获得许可;包含每个家庭版权通知的完整许可证文本在 LICENSES/数字 :
LICENSES/OFL-Carlito.txt:版权2013 The Carlito Project Authors, 保留字体名称"Carlito". 供应商 google/ fonts 图像ofl/carlito(上游: googlefonts/ carlito (英语)) (中文(简体) ).LICENSES/OFL-Selawik.txt:版权2015微软公司,保留字体名称"Selawik". 未修改的供应商 微软/塞拉维克。 。 。 .LICENSES/OFL-Caladea.txt:版权2012 Caladea项目作者. 供应商 google/ fonts 图像ofl/caladea(上游: 韦塔蒂波格拉菲卡/卡拉迪亚) (中文(简体) ).LICENSES/OFL-Liberation.txt:数字化数据版权 (c)2010 Google Corporation;版权 (c)2012 Red Hat, Inc., Reserved Font Name Liberation. 未修改的供应商 解放字体 2.1.5 发行。 。 。 .LICENSES/OFL-NotoSansHebrew.txt:版权2022 野藤计划作者. 出售自 (原始内容存档于2017-09-21) (英语). notons/nootons.github.io 实施时cd06befda260d2abb6e5db96cf5530f80ea5180d(单位:千美元)fonts/NotoSansHebrew/hinted/ttf/);上游项目 空出/空出数。 。 。 .LICENSES/OFL-NotoArabic.txt:版权2022 Noto项目作者;涵盖Noto Sans阿拉伯语和Noto Naskh阿拉伯语. 出售自 (原始内容存档于2017-09-21) (英语). notons/nootons.github.io 实施时cd06befda260d2abb6e5db96cf5530f80ea5180d(单位:千美元)fonts/NotoSansArabic/hinted/ttf/, (中文(简体) ),fonts/NotoNaskhArabic/hinted/ttf/);上游项目 损失/阿拉伯。 。 。 .LICENSES/OFL-Gelasio.txt, (中文(简体) ),OFL-ComicRelief.txt, (中文(简体) ),OFL-Inter.txt, (中文(简体) ),OFL-Roboto.txt, (中文(简体) ),OFL-SourceSans3.txt, (中文(简体) ),OFL-DMSans.txt, (中文(简体) ),OFL-DMSerifDisplay.txt, (中文(简体) ),OFL-OpenSans.txt, (中文(简体) ),OFL-Montserrat.txt, (中文(简体) ),OFL-Poppins.txt, (中文(简体) ),OFL-Oswald.txt, (中文(简体) ),OFL-Heebo.txt每个家庭一个,每个家庭的版权通知.
CJK二进制及其 OFL-NotoCJK.txt 许可文本船进入 @betteroffice/fonts-cjk。 。 。 .