Files
docx-js/src/file/paragraph/run/run-fonts.ts

45 lines
1.4 KiB
TypeScript
Raw Normal View History

import { XmlAttributeComponent, XmlComponent } from "file/xml-components";
2016-05-21 00:02:46 +01:00
2020-06-07 12:38:03 +08:00
export interface IFontAttributesProperties {
readonly ascii?: string;
readonly cs?: string;
readonly eastAsia?: string;
readonly hAnsi?: string;
readonly hint?: string;
2016-05-21 00:02:46 +01:00
}
2020-06-07 12:38:03 +08:00
class RunFontAttributes extends XmlAttributeComponent<IFontAttributesProperties> {
protected readonly xmlKeys = {
ascii: "w:ascii",
2018-07-24 12:24:26 +08:00
cs: "w:cs",
eastAsia: "w:eastAsia",
hAnsi: "w:hAnsi",
hint: "w:hint",
};
2016-05-21 00:02:46 +01:00
}
export class RunFonts extends XmlComponent {
2020-06-07 12:38:03 +08:00
constructor(name: string, hint?: string);
constructor(attrs: string | IFontAttributesProperties);
constructor(nameOrAttrs: string | IFontAttributesProperties, hint?: string) {
super("w:rFonts");
2020-06-07 12:38:03 +08:00
if (typeof nameOrAttrs === "string") {
// use constructor(name: string, hint?: string);
const name = nameOrAttrs;
this.root.push(
new RunFontAttributes({
ascii: name,
cs: name,
eastAsia: name,
hAnsi: name,
hint: hint,
}),
);
} else {
// use constructor(attrs: IRunFontAttributesProperties);
const attrs = nameOrAttrs;
this.root.push(new RunFontAttributes(attrs));
}
2016-05-21 00:02:46 +01:00
}
}