diff --git a/src/file/paragraph/properties.spec.ts b/src/file/paragraph/properties.spec.ts index 5b9794f7c1a..40879566f31 100644 --- a/src/file/paragraph/properties.spec.ts +++ b/src/file/paragraph/properties.spec.ts @@ -159,6 +159,21 @@ describe("ParagraphProperties", () => { }); }); + it("should create with the overflowPunct property", () => { + const properties = new ParagraphProperties({ + overflowPunctuation: true, + }); + const tree = new Formatter().format(properties); + + expect(tree).to.deep.equal({ + "w:pPr": [ + { + "w:overflowPunct": {}, + }, + ], + }); + }); + it("should create with the run property", () => { const properties = new ParagraphProperties({ run: { diff --git a/src/file/paragraph/properties.ts b/src/file/paragraph/properties.ts index c427717115c..4f520595a18 100644 --- a/src/file/paragraph/properties.ts +++ b/src/file/paragraph/properties.ts @@ -60,6 +60,7 @@ export interface IParagraphPropertiesOptions extends IParagraphStylePropertiesOp readonly frame?: IFrameOptions; readonly suppressLineNumbers?: boolean; readonly wordWrap?: boolean; + readonly overflowPunctuation?: boolean; readonly scale?: number; /** * This element specifies whether inter-character spacing shall automatically be adjusted between regions of numbers and regions of East Asian text in the current paragraph. These regions shall be determined by the Unicode character values of the text content within the paragraph. @@ -152,6 +153,10 @@ export class ParagraphProperties extends IgnoreIfEmptyXmlComponent { this.push(new WordWrap()); } + if (options.overflowPunctuation) { + this.push(new OnOffElement("w:overflowPunct", options.overflowPunctuation)); + } + /** * FIX: Multitab support for Libre Writer * Ensure there is only one w:tabs tag with multiple w:tab