Merge branch 'main' into t2-fonts

This commit is contained in:
2026-09-04 16:39:27 +08:00
2 changed files with 22 additions and 1 deletions
+2
View File
@@ -101,6 +101,8 @@ async function addImage(src: string): Promise<FabricImage> {
originY: "center", originY: "center",
}); });
c.add(img); c.add(img);
// 背景图永远沉到最底层,否则会盖住先加进来的文字。
c.sendObjectToBack(img);
c.setActiveObject(img); c.setActiveObject(img);
c.requestRenderAll(); c.requestRenderAll();
return img; return img;
+20 -1
View File
@@ -32,8 +32,27 @@ export interface CanvasSize {
export interface FontEntry { export interface FontEntry {
/** 稳定 id,用于取文件;不要假设它等于文件名。 */ /** 稳定 id,用于取文件;不要假设它等于文件名。 */
id: string; id: string;
/** 用于 CSS font-family 和界面显示的字族名,如 "阿里巴巴普惠体-H"。 */ /**
* 排版字族名,用作 CSS `font-family`。来源是字体文件 `name` 表的 **nameID 16**,
* 缺失才退回 nameID 1。**不是注册表的值名**——那是安装程序起的标签,不是字体身份。
*
* 反例(2026-09-04 实测):阿里巴巴普惠体 H 的注册表值名是「阿里巴巴普惠体-H」,
* nameID 1 是「阿里巴巴普惠体 H」,两者在浏览器里都解析不到;
* 只有 nameID 16 的「阿里巴巴普惠体」能解析。
*
* `name` 表里同一个 nameID 有中英两份记录(langID 2052 / 1033)。
* 取中文那份,没有中文再取英文——本机两者都能解析,中文在下拉里更好认。
*/
family: string; family: string;
/**
* 样式名,如 `Heavy` / `Bold` / `Regular` / `斜体`。来源是 **nameID 17**,
* 缺失才退回 nameID 2。用来在下拉里区分同族多字重,并映射到 `fontWeight` / `fontStyle`。
*
* **退回 nameID 2 是有损的**:阿里巴巴普惠体五个字重的 nameID 2 全是 `Regular`,
* 只有 nameID 17 才区分得出 Heavy / Bold / Medium / Regular / Light。
* 退回时同族多档会塌成一个,界面上要能看出这种情况。
*/
subfamily: string;
/** 字体文件绝对路径(仅供调试与配方记录,前端不直接读)。 */ /** 字体文件绝对路径(仅供调试与配方记录,前端不直接读)。 */
path: string; path: string;
/** 文件后缀,小写不带点:ttf / otf / ttc / woff2 … */ /** 文件后缀,小写不带点:ttf / otf / ttc / woff2 … */