Add bundled bus fonts and shared font favorites

This commit is contained in:
2026-10-12 15:00:40 +08:00
parent c9dd03c23b
commit 4be74a34f9
181 changed files with 2078575 additions and 76 deletions
@@ -21,7 +21,7 @@ test("font catalog normalization, grouping, and search are stable", () => {
{ id: "bad", source: "unknown" },
]);
assert.deepEqual(items.map((item) => item.id), ["default", "user:abc:0", "system:def"]);
assert.deepEqual(groupFontItems(items).map((group) => group.label), ["自动字体", "已导入字体", "系统字体"]);
assert.deepEqual(groupFontItems(items).map((group) => group.label), ["收藏字体", "自动字体", "已导入字体", "系统字体"]);
assert.deepEqual(filterFontItems(items, "宋体").map((item) => item.id), ["user:abc:0"]);
assert.deepEqual(filterFontItems(items, "bold").map((item) => item.id), ["system:def"]);
assert.equal(filterFontItems(items, "没有").length, 0);
@@ -39,3 +39,16 @@ test("font picker implements commit-only searchable combobox keyboard behavior",
assert.match(source, /onCommit\?\.\(item\)/);
assert.doesNotMatch(source, /onCommit\?\.\([^)]*query/);
});
test("favorites duplicate the original font faces and preserve catalog order", () => {
const items = normalizeFontItems([
{ id: "default", source: "automatic" },
{ id: "bold", family: "Same", style: "Bold", source: "system" },
{ id: "italic", family: "Same", style: "Italic", source: "system" },
]);
const groups = groupFontItems(items, ["italic", "bold", "missing"]);
assert.deepEqual(groups[0].items.map(item => item.id), ["bold", "italic"]);
assert.deepEqual(groups[2].items.map(item => item.id), ["bold", "italic"]);
assert.equal(groupFontItems(items)[0].items.length, 0);
assert.deepEqual(groupFontItems(filterFontItems(items, "Italic"), ["italic"])[0].items.map(item => item.id), ["italic"]);
});