* build(deps-dev): bump eslint from 8.57.1 to 9.13.0 Bumps [eslint](https://github.com/eslint/eslint) from 8.57.1 to 9.13.0. - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v8.57.1...v9.13.0) --- updated-dependencies: - dependency-name: eslint dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * Upgrade EsLint * Fix all new lint errors --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Dolan Miu <dolan_miu@hotmail.com>
45 lines
2.3 KiB
TypeScript
45 lines
2.3 KiB
TypeScript
import { BuilderElement, XmlComponent } from "@file/xml-components";
|
|
|
|
import { createRegularFont } from "./create-regular-font";
|
|
import { CharacterSet } from "./font";
|
|
import { FontOptionsWithKey } from "./font-wrapper";
|
|
|
|
// <xsd:complexType name="CT_FontsList">
|
|
// <xsd:sequence>
|
|
// <xsd:element name="font" type="CT_Font" minOccurs="0" maxOccurs="unbounded"/>
|
|
// </xsd:sequence>
|
|
// </xsd:complexType>
|
|
|
|
export type FontOptions = {
|
|
readonly name: string;
|
|
readonly data: Buffer;
|
|
readonly characterSet?: (typeof CharacterSet)[keyof typeof CharacterSet];
|
|
};
|
|
|
|
export const createFontTable = (fonts: readonly FontOptionsWithKey[]): XmlComponent =>
|
|
// https://c-rex.net/projects/samples/ooxml/e1/Part4/OOXML_P4_DOCX_Font_topic_ID0ERNCU.html
|
|
// http://www.datypic.com/sc/ooxml/e-w_fonts.html
|
|
new BuilderElement({
|
|
name: "w:fonts",
|
|
attributes: {
|
|
mc: { key: "xmlns:mc", value: "http://schemas.openxmlformats.org/markup-compatibility/2006" },
|
|
r: { key: "xmlns:r", value: "http://schemas.openxmlformats.org/officeDocument/2006/relationships" },
|
|
w: { key: "xmlns:w", value: "http://schemas.openxmlformats.org/wordprocessingml/2006/main" },
|
|
w14: { key: "xmlns:w14", value: "http://schemas.microsoft.com/office/word/2010/wordml" },
|
|
w15: { key: "xmlns:w15", value: "http://schemas.microsoft.com/office/word/2012/wordml" },
|
|
w16cex: { key: "xmlns:w16cex", value: "http://schemas.microsoft.com/office/word/2018/wordml/cex" },
|
|
w16cid: { key: "xmlns:w16cid", value: "http://schemas.microsoft.com/office/word/2016/wordml/cid" },
|
|
w16: { key: "xmlns:w16", value: "http://schemas.microsoft.com/office/word/2018/wordml" },
|
|
w16sdtdh: { key: "xmlns:w16sdtdh", value: "http://schemas.microsoft.com/office/word/2020/wordml/sdtdatahash" },
|
|
w16se: { key: "xmlns:w16se", value: "http://schemas.microsoft.com/office/word/2015/wordml/symex" },
|
|
Ignorable: { key: "mc:Ignorable", value: "w14 w15 w16se w16cid w16 w16cex w16sdtdh" },
|
|
},
|
|
children: fonts.map((font, i) =>
|
|
createRegularFont({
|
|
name: font.name,
|
|
index: i + 1,
|
|
fontKey: font.fontKey,
|
|
}),
|
|
),
|
|
});
|