search/mag_sel search/close
CompatibilityOptions.h
1 // Copyright 2001-2021 Aspose Pty Ltd. All Rights Reserved.
3 //
4 // This file is part of Aspose.Words. The source code in this file
5 // is only intended as a supplement to the documentation, and is provided
6 // "as is", without warranty of any kind, either expressed or implied.
9 #pragma once
10 
11 #include <system/object.h>
12 
13 #include <Aspose.Words.Cpp/Settings/MsWordVersion.h>
14 #include <Aspose.Words.Cpp/aspose_words_api_defs.h>
15 
16 namespace Aspose { namespace Words { namespace Layout { namespace Core { class SpanListRevisionsHelper; } } } }
17 namespace Aspose { namespace Words { namespace Layout { class ParagraphPrConverter; } } }
18 namespace Aspose { namespace Words { namespace Tables { class TableMerger; } } }
19 namespace Aspose { namespace Words { namespace Validation { class ShapeValidator; } } }
20 namespace Aspose { namespace Words { namespace Validation { class UnsupportedShapeDetector; } } }
21 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Dml { class DmlShapeRenderer; } } } }
22 namespace Aspose { namespace Words { namespace Fields { class ChapterTitleParagraphFinder; } } }
23 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Reader { class DocxAltChunkReader; } } } } }
24 namespace Aspose { namespace Words { namespace Layout { class AttributeConverter; } } }
25 namespace Aspose { namespace Words { namespace TableLayout { class Extensions; } } }
26 namespace Aspose { namespace Words { namespace Settings { class DocPr; } } }
27 namespace Aspose { namespace Words { class DocumentBuilder; } }
28 namespace Aspose { namespace Words { namespace Validation { class DocumentValidator; } } }
29 namespace Aspose { namespace Words { namespace Validation { class Iso29500ComplianceEnforcer; } } }
30 namespace Aspose { namespace Words { namespace Drawing { class ShapeBase; } } }
31 namespace Aspose { namespace Words { namespace Validation { class TableValidator; } } }
32 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { class ShapeBoundsFinder; } } } }
33 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Writer { class HtmlTableWriter; } } } } }
34 namespace Aspose { namespace Words { class StyleCollection; } }
35 namespace Aspose { namespace Words { namespace TableLayout { class TableLayouter; } } }
36 namespace Aspose { namespace Words { class InlineHelper; } }
37 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Writer { class DocxDocumentWriterBase; } } } } }
38 namespace Aspose { namespace Words { namespace RW { namespace Nrx { namespace Writer { class NrxRowPrWriter; } } } } }
39 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtTablePropertiesReader; } } } } }
40 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtSettingsReader; } } } } }
41 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Reader { class DocxSettingsReader; } } } } }
42 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Writer { class DocxSettingsWriter; } } } } }
43 namespace Aspose { namespace Words { namespace RW { namespace Doc { class DocPrFiler; } } } }
44 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Reader { class HtmlTableReader; } } } } }
45 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Writer { class OdtSettingsWriter; } } } } }
46 namespace System { namespace Collections { namespace Generic { template <typename, typename> class Dictionary; } } }
47 namespace Aspose { namespace Words { namespace Settings { class CustomCompatibilitySettingCollection; } } }
48 namespace Aspose { namespace Words { enum class MsWordVersionCore; } }
49 namespace Aspose { namespace Words { namespace Settings { enum class Compatibility; } } }
50 namespace System { class String; }
51 
52 namespace Aspose {
53 
54 namespace Words {
55 
56 namespace Settings {
57 
115 class ASPOSE_WORDS_SHARED_CLASS CompatibilityOptions : public System::Object
116 {
118  typedef System::Object BaseType;
119 
120  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
121  ASPOSE_WORDS_SHARED_RTTI_INFO_DECL();
122 
123  friend class Aspose::Words::Layout::Core::SpanListRevisionsHelper;
124  friend class Aspose::Words::Layout::ParagraphPrConverter;
125  friend class Aspose::Words::Tables::TableMerger;
126  friend class Aspose::Words::Validation::ShapeValidator;
127  friend class Aspose::Words::Validation::UnsupportedShapeDetector;
128  friend class Aspose::Words::ApsBuilder::Dml::DmlShapeRenderer;
129  friend class Aspose::Words::Fields::ChapterTitleParagraphFinder;
130  friend class Aspose::Words::RW::Docx::Reader::DocxAltChunkReader;
131  friend class Aspose::Words::Layout::AttributeConverter;
132  friend class Aspose::Words::TableLayout::Extensions;
133  friend class Aspose::Words::Settings::DocPr;
134  friend class Aspose::Words::DocumentBuilder;
135  friend class Aspose::Words::Validation::DocumentValidator;
136  friend class Aspose::Words::Validation::Iso29500ComplianceEnforcer;
138  friend class Aspose::Words::Validation::TableValidator;
139  friend class Aspose::Words::ApsBuilder::Shapes::ShapeBoundsFinder;
140  friend class Aspose::Words::RW::Html::Writer::HtmlTableWriter;
141  friend class Aspose::Words::StyleCollection;
142  friend class Aspose::Words::TableLayout::TableLayouter;
143  friend class Aspose::Words::InlineHelper;
144  friend class Aspose::Words::RW::Docx::Writer::DocxDocumentWriterBase;
145  friend class Aspose::Words::RW::Nrx::Writer::NrxRowPrWriter;
146  friend class Aspose::Words::RW::Odt::Reader::OdtTablePropertiesReader;
147  friend class Aspose::Words::RW::Odt::Reader::OdtSettingsReader;
148  friend class Aspose::Words::RW::Docx::Reader::DocxSettingsReader;
149  friend class Aspose::Words::RW::Docx::Writer::DocxSettingsWriter;
150  friend class Aspose::Words::RW::Doc::DocPrFiler;
151  friend class Aspose::Words::RW::Html::Reader::HtmlTableReader;
152  friend class Aspose::Words::RW::Odt::Writer::OdtSettingsWriter;
153 
154 public:
155 
157  ASPOSE_WORDS_SHARED_API bool get_NoTabHangInd();
158 
160  ASPOSE_WORDS_SHARED_API void set_NoTabHangInd(bool value);
161 
163  ASPOSE_WORDS_SHARED_API bool get_NoSpaceRaiseLower();
164 
166  ASPOSE_WORDS_SHARED_API void set_NoSpaceRaiseLower(bool value);
167 
169  ASPOSE_WORDS_SHARED_API bool get_SuppressSpBfAfterPgBrk();
170 
172  ASPOSE_WORDS_SHARED_API void set_SuppressSpBfAfterPgBrk(bool value);
173 
175  ASPOSE_WORDS_SHARED_API bool get_WrapTrailSpaces();
176 
178  ASPOSE_WORDS_SHARED_API void set_WrapTrailSpaces(bool value);
179 
181  ASPOSE_WORDS_SHARED_API bool get_PrintColBlack();
182 
184  ASPOSE_WORDS_SHARED_API void set_PrintColBlack(bool value);
185 
187  ASPOSE_WORDS_SHARED_API bool get_NoColumnBalance();
188 
190  ASPOSE_WORDS_SHARED_API void set_NoColumnBalance(bool value);
191 
193  ASPOSE_WORDS_SHARED_API bool get_ConvMailMergeEsc();
194 
196  ASPOSE_WORDS_SHARED_API void set_ConvMailMergeEsc(bool value);
197 
199  ASPOSE_WORDS_SHARED_API bool get_SuppressTopSpacing();
200 
202  ASPOSE_WORDS_SHARED_API void set_SuppressTopSpacing(bool value);
203 
205  ASPOSE_WORDS_SHARED_API bool get_UseSingleBorderforContiguousCells();
206 
208  ASPOSE_WORDS_SHARED_API void set_UseSingleBorderforContiguousCells(bool value);
209 
211  ASPOSE_WORDS_SHARED_API bool get_TransparentMetafiles();
212 
214  ASPOSE_WORDS_SHARED_API void set_TransparentMetafiles(bool value);
215 
217  ASPOSE_WORDS_SHARED_API bool get_ShowBreaksInFrames();
218 
220  ASPOSE_WORDS_SHARED_API void set_ShowBreaksInFrames(bool value);
221 
223  ASPOSE_WORDS_SHARED_API bool get_SwapBordersFacingPgs();
224 
226  ASPOSE_WORDS_SHARED_API void set_SwapBordersFacingPgs(bool value);
227 
229  ASPOSE_WORDS_SHARED_API bool get_DoNotLeaveBackslashAlone();
230 
232  ASPOSE_WORDS_SHARED_API void set_DoNotLeaveBackslashAlone(bool value);
233 
235  ASPOSE_WORDS_SHARED_API bool get_DoNotExpandShiftReturn();
236 
238  ASPOSE_WORDS_SHARED_API void set_DoNotExpandShiftReturn(bool value);
239 
241  ASPOSE_WORDS_SHARED_API bool get_UlTrailSpace();
242 
244  ASPOSE_WORDS_SHARED_API void set_UlTrailSpace(bool value);
245 
247  ASPOSE_WORDS_SHARED_API bool get_BalanceSingleByteDoubleByteWidth();
248 
250  ASPOSE_WORDS_SHARED_API void set_BalanceSingleByteDoubleByteWidth(bool value);
251 
253  ASPOSE_WORDS_SHARED_API bool get_SuppressSpacingAtTopOfPage();
254 
256  ASPOSE_WORDS_SHARED_API void set_SuppressSpacingAtTopOfPage(bool value);
257 
259  ASPOSE_WORDS_SHARED_API bool get_SpacingInWholePoints();
260 
262  ASPOSE_WORDS_SHARED_API void set_SpacingInWholePoints(bool value);
263 
265  ASPOSE_WORDS_SHARED_API bool get_PrintBodyTextBeforeHeader();
266 
268  ASPOSE_WORDS_SHARED_API void set_PrintBodyTextBeforeHeader(bool value);
269 
271  ASPOSE_WORDS_SHARED_API bool get_NoLeading();
272 
274  ASPOSE_WORDS_SHARED_API void set_NoLeading(bool value);
275 
277  ASPOSE_WORDS_SHARED_API bool get_SpaceForUL();
278 
280  ASPOSE_WORDS_SHARED_API void set_SpaceForUL(bool value);
281 
283  ASPOSE_WORDS_SHARED_API bool get_MWSmallCaps();
284 
286  ASPOSE_WORDS_SHARED_API void set_MWSmallCaps(bool value);
287 
289  ASPOSE_WORDS_SHARED_API bool get_SuppressTopSpacingWP();
290 
292  ASPOSE_WORDS_SHARED_API void set_SuppressTopSpacingWP(bool value);
293 
295  ASPOSE_WORDS_SHARED_API bool get_TruncateFontHeightsLikeWP6();
296 
298  ASPOSE_WORDS_SHARED_API void set_TruncateFontHeightsLikeWP6(bool value);
299 
301  ASPOSE_WORDS_SHARED_API bool get_SubFontBySize();
302 
304  ASPOSE_WORDS_SHARED_API void set_SubFontBySize(bool value);
305 
307  ASPOSE_WORDS_SHARED_API bool get_LineWrapLikeWord6();
308 
310  ASPOSE_WORDS_SHARED_API void set_LineWrapLikeWord6(bool value);
311 
313  ASPOSE_WORDS_SHARED_API bool get_DoNotSuppressParagraphBorders();
314 
316  ASPOSE_WORDS_SHARED_API void set_DoNotSuppressParagraphBorders(bool value);
317 
319  ASPOSE_WORDS_SHARED_API bool get_NoExtraLineSpacing();
320 
322  ASPOSE_WORDS_SHARED_API void set_NoExtraLineSpacing(bool value);
323 
325  ASPOSE_WORDS_SHARED_API bool get_SuppressBottomSpacing();
326 
328  ASPOSE_WORDS_SHARED_API void set_SuppressBottomSpacing(bool value);
329 
331  ASPOSE_WORDS_SHARED_API bool get_WPSpaceWidth();
332 
334  ASPOSE_WORDS_SHARED_API void set_WPSpaceWidth(bool value);
335 
337  ASPOSE_WORDS_SHARED_API bool get_WPJustification();
338 
340  ASPOSE_WORDS_SHARED_API void set_WPJustification(bool value);
341 
343  ASPOSE_WORDS_SHARED_API bool get_UsePrinterMetrics();
344 
346  ASPOSE_WORDS_SHARED_API void set_UsePrinterMetrics(bool value);
347 
349  ASPOSE_WORDS_SHARED_API bool get_ShapeLayoutLikeWW8();
350 
352  ASPOSE_WORDS_SHARED_API void set_ShapeLayoutLikeWW8(bool value);
353 
355  ASPOSE_WORDS_SHARED_API bool get_FootnoteLayoutLikeWW8();
356 
358  ASPOSE_WORDS_SHARED_API void set_FootnoteLayoutLikeWW8(bool value);
359 
361  ASPOSE_WORDS_SHARED_API bool get_DoNotUseHTMLParagraphAutoSpacing();
362 
364  ASPOSE_WORDS_SHARED_API void set_DoNotUseHTMLParagraphAutoSpacing(bool value);
365 
367  ASPOSE_WORDS_SHARED_API bool get_AdjustLineHeightInTable();
368 
370  ASPOSE_WORDS_SHARED_API void set_AdjustLineHeightInTable(bool value);
371 
373  ASPOSE_WORDS_SHARED_API bool get_ForgetLastTabAlignment();
374 
376  ASPOSE_WORDS_SHARED_API void set_ForgetLastTabAlignment(bool value);
377 
379  ASPOSE_WORDS_SHARED_API bool get_AutoSpaceLikeWord95();
380 
382  ASPOSE_WORDS_SHARED_API void set_AutoSpaceLikeWord95(bool value);
383 
385  ASPOSE_WORDS_SHARED_API bool get_AlignTablesRowByRow();
386 
388  ASPOSE_WORDS_SHARED_API void set_AlignTablesRowByRow(bool value);
389 
391  ASPOSE_WORDS_SHARED_API bool get_LayoutRawTableWidth();
392 
394  ASPOSE_WORDS_SHARED_API void set_LayoutRawTableWidth(bool value);
395 
397  ASPOSE_WORDS_SHARED_API bool get_LayoutTableRowsApart();
398 
400  ASPOSE_WORDS_SHARED_API void set_LayoutTableRowsApart(bool value);
401 
403  ASPOSE_WORDS_SHARED_API bool get_UseWord97LineBreakRules();
404 
406  ASPOSE_WORDS_SHARED_API void set_UseWord97LineBreakRules(bool value);
407 
409  ASPOSE_WORDS_SHARED_API bool get_DoNotBreakWrappedTables();
410 
412  ASPOSE_WORDS_SHARED_API void set_DoNotBreakWrappedTables(bool value);
413 
415  ASPOSE_WORDS_SHARED_API bool get_DoNotSnapToGridInCell();
416 
418  ASPOSE_WORDS_SHARED_API void set_DoNotSnapToGridInCell(bool value);
419 
421  ASPOSE_WORDS_SHARED_API bool get_SelectFldWithFirstOrLastChar();
422 
424  ASPOSE_WORDS_SHARED_API void set_SelectFldWithFirstOrLastChar(bool value);
425 
427  ASPOSE_WORDS_SHARED_API bool get_ApplyBreakingRules();
428 
430  ASPOSE_WORDS_SHARED_API void set_ApplyBreakingRules(bool value);
431 
433  ASPOSE_WORDS_SHARED_API bool get_DoNotWrapTextWithPunct();
434 
436  ASPOSE_WORDS_SHARED_API void set_DoNotWrapTextWithPunct(bool value);
437 
439  ASPOSE_WORDS_SHARED_API bool get_DoNotUseEastAsianBreakRules();
440 
442  ASPOSE_WORDS_SHARED_API void set_DoNotUseEastAsianBreakRules(bool value);
443 
445  ASPOSE_WORDS_SHARED_API bool get_UseWord2002TableStyleRules();
446 
448  ASPOSE_WORDS_SHARED_API void set_UseWord2002TableStyleRules(bool value);
449 
451  ASPOSE_WORDS_SHARED_API bool get_GrowAutofit();
452 
454  ASPOSE_WORDS_SHARED_API void set_GrowAutofit(bool value);
455 
457  ASPOSE_WORDS_SHARED_API bool get_UseNormalStyleForList();
458 
460  ASPOSE_WORDS_SHARED_API void set_UseNormalStyleForList(bool value);
461 
463  ASPOSE_WORDS_SHARED_API bool get_DoNotUseIndentAsNumberingTabStop();
464 
466  ASPOSE_WORDS_SHARED_API void set_DoNotUseIndentAsNumberingTabStop(bool value);
467 
469  ASPOSE_WORDS_SHARED_API bool get_UseAltKinsokuLineBreakRules();
470 
472  ASPOSE_WORDS_SHARED_API void set_UseAltKinsokuLineBreakRules(bool value);
473 
475  ASPOSE_WORDS_SHARED_API bool get_AllowSpaceOfSameStyleInTable();
476 
478  ASPOSE_WORDS_SHARED_API void set_AllowSpaceOfSameStyleInTable(bool value);
479 
481  ASPOSE_WORDS_SHARED_API bool get_DoNotSuppressIndentation();
482 
484  ASPOSE_WORDS_SHARED_API void set_DoNotSuppressIndentation(bool value);
485 
487  ASPOSE_WORDS_SHARED_API bool get_DoNotAutofitConstrainedTables();
488 
490  ASPOSE_WORDS_SHARED_API void set_DoNotAutofitConstrainedTables(bool value);
491 
493  ASPOSE_WORDS_SHARED_API bool get_AutofitToFirstFixedWidthCell();
494 
496  ASPOSE_WORDS_SHARED_API void set_AutofitToFirstFixedWidthCell(bool value);
497 
499  ASPOSE_WORDS_SHARED_API bool get_UnderlineTabInNumList();
500 
502  ASPOSE_WORDS_SHARED_API void set_UnderlineTabInNumList(bool value);
503 
505  ASPOSE_WORDS_SHARED_API bool get_DisplayHangulFixedWidth();
506 
508  ASPOSE_WORDS_SHARED_API void set_DisplayHangulFixedWidth(bool value);
509 
511  ASPOSE_WORDS_SHARED_API bool get_SplitPgBreakAndParaMark();
512 
514  ASPOSE_WORDS_SHARED_API void set_SplitPgBreakAndParaMark(bool value);
515 
517  ASPOSE_WORDS_SHARED_API bool get_DoNotVertAlignCellWithSp();
518 
520  ASPOSE_WORDS_SHARED_API void set_DoNotVertAlignCellWithSp(bool value);
521 
523  ASPOSE_WORDS_SHARED_API bool get_DoNotBreakConstrainedForcedTable();
524 
526  ASPOSE_WORDS_SHARED_API void set_DoNotBreakConstrainedForcedTable(bool value);
527 
529  ASPOSE_WORDS_SHARED_API bool get_DoNotVertAlignInTxbx();
530 
532  ASPOSE_WORDS_SHARED_API void set_DoNotVertAlignInTxbx(bool value);
533 
535  ASPOSE_WORDS_SHARED_API bool get_UseAnsiKerningPairs();
536 
538  ASPOSE_WORDS_SHARED_API void set_UseAnsiKerningPairs(bool value);
539 
541  ASPOSE_WORDS_SHARED_API bool get_CachedColBalance();
542 
544  ASPOSE_WORDS_SHARED_API void set_CachedColBalance(bool value);
545 
547  ASPOSE_WORDS_SHARED_API bool get_UseFELayout();
548 
550  ASPOSE_WORDS_SHARED_API void set_UseFELayout(bool value);
551 
553  ASPOSE_WORDS_SHARED_API bool get_OverrideTableStyleFontSizeAndJustification();
554 
556  ASPOSE_WORDS_SHARED_API void set_OverrideTableStyleFontSizeAndJustification(bool value);
557  ASPOSE_WORDS_SHARED_API bool get_DisableOpenTypeFontFormattingFeatures();
558  ASPOSE_WORDS_SHARED_API void set_DisableOpenTypeFontFormattingFeatures(bool value);
560  ASPOSE_WORDS_SHARED_API void set_SwapInsideAndOutsideForMirrorIndentsAndRelativePositioning(bool value);
561  ASPOSE_WORDS_SHARED_API bool get_UseWord2010TableStyleRules();
562  ASPOSE_WORDS_SHARED_API void set_UseWord2010TableStyleRules(bool value);
563 
566  ASPOSE_WORDS_SHARED_API bool get_UICompat97To2003();
567 
570  ASPOSE_WORDS_SHARED_API void set_UICompat97To2003(bool value);
571 
628  ASPOSE_WORDS_SHARED_API void OptimizeFor(Aspose::Words::Settings::MsWordVersion version);
629 
630 protected:
631 
633  Aspose::Words::MsWordVersionCore get_MswVersion() const;
634  void set_MswVersion(Aspose::Words::MsWordVersionCore value);
635  bool get_IsOptimized() const;
636  void set_IsOptimized(bool value);
637  bool get_IsWord2013OrLaterCompatible();
638  bool get_IsNeedConvertToNewerVersion();
639 
641 
642  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(CompatibilityOptions, CODEPORTING_ARGS());
649 
650  virtual ASPOSE_WORDS_SHARED_API ~CompatibilityOptions();
651 
652 private:
653 
654  Aspose::Words::MsWordVersionCore mMsWordVersion;
658 
659  static const System::String& SchemaUri();
660  static const System::String& Value();
661 
662  bool mIsOptimized;
663 
664  void SetProperty(Aspose::Words::Settings::Compatibility key, bool value);
665  bool GetProperty(Aspose::Words::Settings::Compatibility key);
666  void Clear();
668  static void InitWord2000Options(System::SharedPtr<Aspose::Words::Settings::CompatibilityOptions> co);
669  static void InitWord2002Options(System::SharedPtr<Aspose::Words::Settings::CompatibilityOptions> co);
670  static void InitWord2003Options(System::SharedPtr<Aspose::Words::Settings::CompatibilityOptions> co);
671  static void InitWord2010Options(System::SharedPtr<Aspose::Words::Settings::CompatibilityOptions> co);
672  static void InitWord2013Options(System::SharedPtr<Aspose::Words::Settings::CompatibilityOptions> co);
673  static void InitWord2016Options(System::SharedPtr<Aspose::Words::Settings::CompatibilityOptions> co);
674  static void InitWord2019Options(System::SharedPtr<Aspose::Words::Settings::CompatibilityOptions> co);
675  void InitInheritedCompatibilityOptions();
676 
677 };
678 
679 }
680 }
681 }