Compatibility enumeration

Compatibility enumeration

Specifies names of compatibility options.

Members

NameDescription
NoTabHangIndNo Tab Hang Indent
NoSpaceRaiseLowerNo Space Raise Lower
SuppressSpBfAfterPgBrkSuppress Space Before Paragraph Break
WrapTrailSpacesWrap Trailing Spaces
PrintColBlackPrint Column Background
NoColumnBalanceNo Column Balancing
ConvMailMergeEscConvert Mail Merge Escapes
SuppressTopSpacingSuppress Top Spacing
UseSingleBorderforContiguousCellsUse Single Border for Contiguous Cells
TransparentMetafilesTransparent Metafiles
ShowBreaksInFramesShow Breaks in Frames
SwapBordersOddFacingPgsSwap Borders on Odd-Facing Pages
DoNotLeaveBackslashAloneDo Not Leave Backslash Alone
DoNotExpandOnShiftReturnDo Not Expand on Shift Return
UlTrailSpaceUnderline Trailing Space
BalanceSingleByteDoubleByteWidthBalance Single-Byte and Double-Byte Widths
SuppressTopSpacingAtTopOfPageSuppress Top Line Spacing in WordPerfect
SpacingInWholePointsSpacing in Whole Points
PrintBodyTextBeforeHeaderPrint Body Text Before Header
NoLeadingNo Leading
SpaceForULSpace for Underline
MWSmallCapsMW Small Caps
SuppressTopLineSpacingWPSuppress Top Line Spacing in WordPerfect
TruncateFontHeightLikeWP6Truncate Font Height Like WordPerfect 6
SubFontBySizeSubstitute Font by Size
LineWrapLikeWord6Line Wrap Like Word 6
DoNotSuppressParagraphBorderDo Not Suppress Paragraph Border
NoExtraLineSpacingNo Extra Line Spacing
SuppressBottomSpacingSuppress Bottom Spacing
WPSpaceWidthWordPerfect Space Width
WPJustificationWordPerfect Justification
UsePrinterMetricsUse Printer Metrics
ShapeLayoutLikeWW8Shape Layout Like Word 2000
FootnoteLayoutLikeWW8Footnote Layout Like Word 2000
DoNotUseHtmlParagraphAutoSpacingDo Not Use HTML Paragraph Auto Spacing
AdjustLineHeightInTableAdjust Line Height in Table
ForgetLastTabAlignmentForget Last Tab Alignment
AutoSpaceLikeWord95Auto Space Like Word 95
AlignTableRowByRowAlign Table Rows by Rule
LayoutRawTableWidthLayout Raw Table Width
LayoutTableRowsApartLayout Table Rows Apart
UseWord97LineBreakRulesUse Word 97 Line Break Rules
DoNotBreakWrappedTablesDo Not Break Wrapped Tables
doNotSnapToGridInCellDo Not Snap to Grid in Cells
SelectFldWithFirstOrLastCharSelect Field with First or Last Character
ApplyBreakingRulesApply Breaking Rules
DoNotWrapTextWithPunctDo Not Wrap Text with Punctuation
DoNotUseEastAsianBreakRulesDo Not Use East Asian Break Rules
UseWord2002TableStyleRulesUse Word 2002 Table Style Rules
GrowAutofitGrow AutoFit
UseNormalStyleForListUse Normal Style for List
DoNotUseIndentAsNumberingTabStopDo Not Use Indent as Numbering Tab Stop
UseAltKinsokuLineBreakRulesUse Alt Kinsoku Line Break Rules
AllowSpaceOfSameStyleInTableAllow Space of Same Style in Table
DoNotSuppressIndentationDo Not Suppress Indentation
DoNotAutofitConstrainedTablesDo Not AutoFit Constrained Tables
AutofitToFirstFixedWidthCellAutoFit to First Fixed-Width Cell
UnderlineTabInNumListUnderline Tab in Numbered List
DisplayHangulFixedWidthDisplay Hangul Fixed Width
SplitPgBreakAndParaMarkSplit Page Break and Paragraph Mark
DoNotVertAlignCellWithSpDo Not Vertically Align Cell with Spacing
DoNotBreakConstrainedForcedTableDo Not Break Constrained Forced Tables
DoNotVertAlignInTxbxDo Not Vertically Align in Textboxes
UseAnsiKerningPairsUse ANSI Kerning Pairs
CachedColBalanceCached Column Balancing
UseFELayoutUse Far East Layout
UICompat97To2003User Interface Compatibility Mode from Word 97 to Word 2003
OverrideTableStyleFontSizeAndJustificationOverride Table Style Font Size and Justification
DisableOpenTypeFontFormattingFeaturesDisable OpenType Font Formatting Features
SwapInsideAndOutsideForMirrorIndentsAndRelativePositioningSwap Inside and Outside for Mirror Indents and Relative Positioning
UseWord2010TableStyleRulesUse Word 2010 Table Style Rules

Examples

Shows how to optimize the document for different versions of Microsoft Word.

test('OptimizeFor', () => {
  let doc = new aw.Document();

  // This object contains an extensive list of flags unique to each document
  // that allow us to facilitate backward compatibility with older versions of Microsoft Word.
  let options = doc.compatibilityOptions;

  // Print the default settings for a blank document.
  console.log("\nDefault optimization settings:");
  printCompatibilityOptions(options);

  // We can access these settings in Microsoft Word via "File" -> "Options" -> "Advanced" -> "Compatibility options for...".
  doc.save(base.artifactsDir + "CompatibilityOptions.optimizeFor.DefaultSettings.docx");

  // We can use the OptimizeFor method to ensure optimal compatibility with a specific Microsoft Word version.
  doc.compatibilityOptions.optimizeFor(aw.Settings.MsWordVersion.Word2010);
  console.log("\nOptimized for Word 2010:");
  printCompatibilityOptions(options);

  doc.compatibilityOptions.optimizeFor(aw.Settings.MsWordVersion.Word2000);
  console.log("\nOptimized for Word 2000:");
  printCompatibilityOptions(options);
});


/// <summary>
/// Groups all flags in a document's compatibility options object by state, then prints each group.
/// </summary>
function printCompatibilityOptions(options) {
  let enabledOptions = [];
  let disabledOptions = [];
  addOptionName(options.adjustLineHeightInTable, "AdjustLineHeightInTable", enabledOptions, disabledOptions);
  addOptionName(options.alignTablesRowByRow, "AlignTablesRowByRow", enabledOptions, disabledOptions);
  addOptionName(options.allowSpaceOfSameStyleInTable, "AllowSpaceOfSameStyleInTable", enabledOptions, disabledOptions);
  addOptionName(options.applyBreakingRules, "ApplyBreakingRules", enabledOptions, disabledOptions);
  addOptionName(options.autoSpaceLikeWord95, "AutoSpaceLikeWord95", enabledOptions, disabledOptions);
  addOptionName(options.autofitToFirstFixedWidthCell, "AutofitToFirstFixedWidthCell", enabledOptions, disabledOptions);
  addOptionName(options.balanceSingleByteDoubleByteWidth, "BalanceSingleByteDoubleByteWidth", enabledOptions, disabledOptions);
  addOptionName(options.cachedColBalance, "CachedColBalance", enabledOptions, disabledOptions);
  addOptionName(options.convMailMergeEsc, "ConvMailMergeEsc", enabledOptions, disabledOptions);
  addOptionName(options.disableOpenTypeFontFormattingFeatures, "DisableOpenTypeFontFormattingFeatures", enabledOptions, disabledOptions);
  addOptionName(options.displayHangulFixedWidth, "DisplayHangulFixedWidth", enabledOptions, disabledOptions);
  addOptionName(options.doNotAutofitConstrainedTables, "DoNotAutofitConstrainedTables", enabledOptions, disabledOptions);
  addOptionName(options.doNotBreakConstrainedForcedTable, "DoNotBreakConstrainedForcedTable", enabledOptions, disabledOptions);
  addOptionName(options.doNotBreakWrappedTables, "DoNotBreakWrappedTables", enabledOptions, disabledOptions);
  addOptionName(options.doNotExpandShiftReturn, "DoNotExpandShiftReturn", enabledOptions, disabledOptions);
  addOptionName(options.doNotLeaveBackslashAlone, "DoNotLeaveBackslashAlone", enabledOptions, disabledOptions);
  addOptionName(options.doNotSnapToGridInCell, "DoNotSnapToGridInCell", enabledOptions, disabledOptions);
  addOptionName(options.doNotSuppressIndentation, "DoNotSnapToGridInCell", enabledOptions, disabledOptions);
  addOptionName(options.doNotSuppressParagraphBorders, "DoNotSuppressParagraphBorders", enabledOptions, disabledOptions);
  addOptionName(options.doNotUseEastAsianBreakRules, "DoNotUseEastAsianBreakRules", enabledOptions, disabledOptions);
  addOptionName(options.doNotUseHTMLParagraphAutoSpacing, "DoNotUseHTMLParagraphAutoSpacing", enabledOptions, disabledOptions);
  addOptionName(options.doNotUseIndentAsNumberingTabStop, "DoNotUseIndentAsNumberingTabStop", enabledOptions, disabledOptions);
  addOptionName(options.doNotVertAlignCellWithSp, "DoNotVertAlignCellWithSp", enabledOptions, disabledOptions);
  addOptionName(options.doNotVertAlignInTxbx, "DoNotVertAlignInTxbx", enabledOptions, disabledOptions);
  addOptionName(options.doNotWrapTextWithPunct, "DoNotWrapTextWithPunct", enabledOptions, disabledOptions);
  addOptionName(options.footnoteLayoutLikeWW8, "FootnoteLayoutLikeWW8", enabledOptions, disabledOptions);
  addOptionName(options.forgetLastTabAlignment, "ForgetLastTabAlignment", enabledOptions, disabledOptions);
  addOptionName(options.growAutofit, "GrowAutofit", enabledOptions, disabledOptions);
  addOptionName(options.layoutRawTableWidth, "LayoutRawTableWidth", enabledOptions, disabledOptions);
  addOptionName(options.layoutTableRowsApart, "LayoutTableRowsApart", enabledOptions, disabledOptions);
  addOptionName(options.lineWrapLikeWord6, "LineWrapLikeWord6", enabledOptions, disabledOptions);
  addOptionName(options.mWSmallCaps, "MWSmallCaps", enabledOptions, disabledOptions);
  addOptionName(options.noColumnBalance, "NoColumnBalance", enabledOptions, disabledOptions);
  addOptionName(options.noExtraLineSpacing, "NoExtraLineSpacing", enabledOptions, disabledOptions);
  addOptionName(options.noLeading, "NoLeading", enabledOptions, disabledOptions);
  addOptionName(options.noSpaceRaiseLower, "NoSpaceRaiseLower", enabledOptions, disabledOptions);
  addOptionName(options.noTabHangInd, "NoTabHangInd", enabledOptions, disabledOptions);
  addOptionName(options.overrideTableStyleFontSizeAndJustification, "OverrideTableStyleFontSizeAndJustification", enabledOptions, disabledOptions);
  addOptionName(options.printBodyTextBeforeHeader, "PrintBodyTextBeforeHeader", enabledOptions, disabledOptions);
  addOptionName(options.printColBlack, "PrintColBlack", enabledOptions, disabledOptions);
  addOptionName(options.selectFldWithFirstOrLastChar, "SelectFldWithFirstOrLastChar", enabledOptions, disabledOptions);
  addOptionName(options.shapeLayoutLikeWW8, "ShapeLayoutLikeWW8", enabledOptions, disabledOptions);
  addOptionName(options.showBreaksInFrames, "ShowBreaksInFrames", enabledOptions, disabledOptions);
  addOptionName(options.spaceForUL, "SpaceForUL", enabledOptions, disabledOptions);
  addOptionName(options.spacingInWholePoints, "SpacingInWholePoints", enabledOptions, disabledOptions);
  addOptionName(options.splitPgBreakAndParaMark, "SplitPgBreakAndParaMark", enabledOptions, disabledOptions);
  addOptionName(options.subFontBySize, "SubFontBySize", enabledOptions, disabledOptions);
  addOptionName(options.suppressBottomSpacing, "SuppressBottomSpacing", enabledOptions, disabledOptions);
  addOptionName(options.suppressSpBfAfterPgBrk, "SuppressSpBfAfterPgBrk", enabledOptions, disabledOptions);
  addOptionName(options.suppressSpacingAtTopOfPage, "SuppressSpacingAtTopOfPage", enabledOptions, disabledOptions);
  addOptionName(options.suppressTopSpacing, "SuppressTopSpacing", enabledOptions, disabledOptions);
  addOptionName(options.suppressTopSpacingWP, "SuppressTopSpacingWP", enabledOptions, disabledOptions);
  addOptionName(options.swapBordersFacingPgs, "SwapBordersFacingPgs", enabledOptions, disabledOptions);
  addOptionName(options.swapInsideAndOutsideForMirrorIndentsAndRelativePositioning, "SwapInsideAndOutsideForMirrorIndentsAndRelativePositioning", enabledOptions, disabledOptions);
  addOptionName(options.transparentMetafiles, "TransparentMetafiles", enabledOptions, disabledOptions);
  addOptionName(options.truncateFontHeightsLikeWP6, "TruncateFontHeightsLikeWP6", enabledOptions, disabledOptions);
  addOptionName(options.uICompat97To2003, "UICompat97To2003", enabledOptions, disabledOptions);
  addOptionName(options.ulTrailSpace, "UlTrailSpace", enabledOptions, disabledOptions);
  addOptionName(options.underlineTabInNumList, "UnderlineTabInNumList", enabledOptions, disabledOptions);
  addOptionName(options.useAltKinsokuLineBreakRules, "UseAltKinsokuLineBreakRules", enabledOptions, disabledOptions);
  addOptionName(options.useAnsiKerningPairs, "UseAnsiKerningPairs", enabledOptions, disabledOptions);
  addOptionName(options.useFELayout, "UseFELayout", enabledOptions, disabledOptions);
  addOptionName(options.useNormalStyleForList, "UseNormalStyleForList", enabledOptions, disabledOptions);
  addOptionName(options.usePrinterMetrics, "UsePrinterMetrics", enabledOptions, disabledOptions);
  addOptionName(options.useSingleBorderforContiguousCells, "UseSingleBorderforContiguousCells", enabledOptions, disabledOptions);
  addOptionName(options.useWord2002TableStyleRules, "UseWord2002TableStyleRules", enabledOptions, disabledOptions);
  addOptionName(options.useWord2010TableStyleRules, "UseWord2010TableStyleRules", enabledOptions, disabledOptions);
  addOptionName(options.useWord97LineBreakRules, "UseWord97LineBreakRules", enabledOptions, disabledOptions);
  addOptionName(options.wPJustification, "WPJustification", enabledOptions, disabledOptions);
  addOptionName(options.wPSpaceWidth, "WPSpaceWidth", enabledOptions, disabledOptions);
  addOptionName(options.wrapTrailSpaces, "WrapTrailSpaces", enabledOptions, disabledOptions);
  /*console.log("\tEnabled options:");
  for (let optionName of enabledOptions)
    console.log(`\t\t${optionName}`);
  console.log("\tDisabled options:");
  for (let optionName of disabledOptions)
    console.log(`\t\t${optionName}`);*/
}

function addOptionName(option, optionName, enabledOptions, disabledOptions)
{
  if (option)
    enabledOptions.push(optionName);
  else
    disabledOptions.push(optionName);
}

See Also