InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ITextOptions.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Zak_Williamson
6 //
7 // $Author$
8 //
9 // $DateTime$
10 //
11 // $Revision$
12 //
13 // $Change$
14 //
15 // Copyright 1997-2010 Adobe Systems Incorporated. All rights reserved.
16 //
17 // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance
18 // with the terms of the Adobe license agreement accompanying it. If you have received
19 // this file from a source other than Adobe, then your use, modification, or
20 // distribution of it requires the prior written permission of Adobe.
21 //
22 //========================================================================================
23 
24 #ifndef __ITextOptions__
25 #define __ITextOptions__
26 
27 #include "IPMUnknown.h"
28 #include "ICompositionStyle.h"
29 #include "IReferencePointData.h"
30 #include "CTextEnum.h"
31 #include "PMReal.h"
32 #include "TextID.h"
33 
34 
38 class ITextOptions : public IPMUnknown
39 {
40 public:
41  enum { kDefaultIID = IID_ITEXTOPTIONS };
42 
43  enum WritingDirection { kHorizontal = 0, kVertical };
44 
45  virtual bool16 GetUseTypographersQuotes() const = 0;
46  virtual void SetUseTypographersQuotes(bool16 useSmartQuotes) = 0;
47 
48  virtual bool16 GetShowHnJViolations() const = 0;
49  virtual void SetShowHnJViolations(bool16 showViolations) = 0;
50 
51  virtual bool16 GetShowKeepsViolations() const = 0;
52  virtual void SetShowKeepsViolations(bool16 showViolations) = 0;
53 
54  virtual bool16 GetDisplayParaMark() const = 0;
55  virtual void SetDisplayParaMark(bool16 displayParaMark) = 0;
56 
57  virtual bool16 GetUseFixedWidthColumns() const = 0;
58  virtual void SetUseFixedWidthColumns(bool16 fixedWidthColumns) = 0;
59 
60  virtual bool16 GetUseFlexibleWidthColumns() const = 0;
61  virtual void SetUseFlexibleWidthColumns(bool16 flexibleWidthColumns) = 0;
62 
63  virtual bool16 GetIgnoreTextWrap() const = 0;
64  virtual void SetIgnoreTextWrap(bool16 ignoreTextWrap) = 0;
65 
66  virtual bool16 GetUseVerticalAlignment() const = 0;
67  virtual void SetUseVerticalAlignment(bool16 useVerticalAlignment) = 0;
68 
69  virtual bool16 GetShowMissingFonts() const = 0;
70  virtual void SetShowMissingFonts(bool16 showFonts) = 0;
71 
72  virtual int32 GetNumberOfFrameColumns() const = 0;
73  virtual void SetNumberOfFrameColumns(int32 numberOfColumns) = 0;
74 
75  virtual PMReal GetSmallCapSize() const = 0;
76  virtual void SetSmallCapSize(PMReal SmallCapPercentValue) = 0;
77 
78  virtual PMReal GetSuperScriptSize() const = 0;
79  virtual void SetSuperScriptSize(PMReal SuperScriptSizePercentValue) = 0;
80 
81  virtual PMReal GetSubScriptSize() const = 0;
82  virtual void SetSubScriptSize(PMReal SubScriptSizePercentValue) = 0;
83 
84  virtual PMReal GetSuperScriptPos() const = 0;
85  virtual void SetSuperScriptPos(PMReal SuperScriptPosPercentValue) = 0;
86 
87  virtual PMReal GetSubScriptPos() const = 0;
88  virtual void SetSubScriptPos(PMReal SubScriptPosPercentValue) = 0;
89 
90  virtual PMReal GetTextIncrementSize() const = 0;
91  virtual void SetTextIncrementSize(PMReal TextIncrementPointSize) = 0;
92 
93  virtual PMReal GetBLShiftIncrementSize() const = 0;
94  virtual void SetBLShiftIncrementSize(PMReal blShiftIncrementSize) = 0;
95 
96  virtual PMReal GetTrackingIncrementSize() const = 0;
97  virtual void SetTrackingIncrementSize(PMReal trackingIncrementSize) = 0;
98 
99  virtual PMReal GetFrameGutterWidth() const = 0;
100  virtual void SetFrameGutterWidth(PMReal gutterWidth) = 0;
101 
102  virtual PMReal GetFixedColumnWidth() const = 0;
103  virtual void SetFixedColumnWidth(PMReal columnWidth) = 0;
104 
105  virtual PMReal GetFlexibleColumnWidthMax() const = 0;
106  virtual void SetFlexibleColumnWidthMax(PMReal maxColumnWidth) = 0;
107 
108  virtual void GetFrameInsets(PMReal& left, PMReal& top, PMReal& right, PMReal& bottom) const = 0;
109  virtual void SetFrameInsets(PMReal left, PMReal top, PMReal right, PMReal bottom) = 0;
110 
111  // get and set the primary writing direction, default is kHorizontal.
112  virtual WritingDirection GetPrimaryWritingDirection() const = 0;
113  virtual void SetPrimaryWritingDirection(WritingDirection nWritingDirection) = 0;
114 
118  virtual void SetRightToLeft(bool16 rtl) = 0;
119 
123  virtual bool16 IsRightToLeft() const = 0;
124 
125  virtual bool16 GetMMOpticalSize() const = 0;
126  virtual void SetMMOpticalSize(bool16 MMOpticalSize) = 0;
127 
128  // get and set the first line offset, default is kAscent.
129  virtual Text::FirstLineOffsetMetric GetFirstLineOffsetMetric() const = 0;
130  virtual void SetFirstLineOffsetMetric(Text::FirstLineOffsetMetric nFirstLineOffset) = 0;
131 
132  virtual PMReal GetMinFirstLineOffset() const = 0;
133  virtual void SetMinFirstLineOffset(PMReal value) = 0;
134 
135  virtual Text::VerticalJustification GetVerticalJustification() const = 0;
136  virtual void SetVerticalJustification(Text::VerticalJustification justify) = 0;
137  // get and set the vertical justification, default is kVJTop.
138 
139  virtual void SetMaxVJInterParaSpace(PMReal maxInterParaSpace) = 0;
140  virtual PMReal GetMaxVJInterParaSpace() const = 0;
141 
142  virtual bool16 GetVJBalanceColumns() const = 0;
143  virtual void SetVJBalanceColumns(bool16 balance) = 0;
144 
145  virtual Text::AutoSizeDimension GetAutoSizeDimension() const = 0;
146  virtual void SetAutoSizeDimension(Text::AutoSizeDimension asDimension) = 0;
147 
148  virtual IReferencePointData::ReferencePointPosition GetAutoSizeRefPoint() const = 0;
149  virtual void SetAutoSizeRefPoint(IReferencePointData::ReferencePointPosition asRefPoint) = 0;
150 
151  virtual bool16 GetAutoSizeHasMinHeight() const = 0;
152  virtual void SetAutoSizeHasMinHeight(bool16 asHasMinHeight) = 0;
153 
154  virtual PMReal GetAutoSizeMinHeightValue() const = 0;
155  virtual void SetAutoSizeMinHeightValue(PMReal asMinHeightValue) = 0;
156 
157  virtual bool16 GetAutoSizeHasMinWidth() const = 0;
158  virtual void SetAutoSizeHasMinWidth(bool16 asHasMinWidth) = 0;
159 
160  virtual PMReal GetAutoSizeMinWidthValue() const = 0;
161  virtual void SetAutoSizeMinWidthValue(PMReal asMinWidthValue) = 0;
162 
163  virtual bool16 GetAutoSizeNoLineBreak() const = 0;
164  virtual void SetAutoSizeNoLineBreak(bool16 asNoLineBreak) = 0;
165 
166  virtual bool16 GetShowKinsoku() const = 0;
167  virtual void SetShowKinsoku(bool16 showKinsoku) = 0;
168 
169  virtual bool16 GetShowCustomCharWidths() const = 0;
170  virtual void SetShowCustomCharWidths(bool16 showCustomCharWidths) = 0;
171 
172  virtual bool16 GetShowStylePreviewMode() const = 0;
173  virtual void SetShowStylePreviewMode(bool16 showCustomCharWidths) = 0;
174 
175  virtual bool16 GetShowGlyphSubstitutions() const = 0;
176  virtual void SetShowGlyphSubstitutions(bool16 show) = 0;
177 
178  virtual bool16 GetUseParagraphLeading() const = 0;
179  virtual void SetUseParagraphLeading(bool16 useParagraphLeading) = 0;
180 
181  virtual bool16 GetJustifyTextWrap() const = 0;
182  virtual void SetJustifyTextWrap(bool16 justifyTextWrap) = 0;
183 
187  virtual bool16 GetLinkTextFiles() const = 0;
188 
192  virtual void SetLinkTextFiles(bool16 linkTextFiles) = 0;
193 
194  virtual bool16 GetUseNewVerticalScaling() const = 0;
198  virtual void SetUseNewVerticalScaling(bool16 useNewVScale) = 0;
199 
200  virtual bool16 GetUseCIDMojikumi() const = 0;
204  virtual void SetUseCIDMojikumi(bool16 b) = 0;
205 
206  virtual bool16 GetUseHalfWidthQuotes() const = 0;
218  virtual void SetUseHalfWidthQuotes(bool16 b) = 0;
219 
220 
223  virtual bool16 GetShowHnJViolations_DURING_CONVERSION_ONLY() const = 0;
224 
227  virtual bool16 GetShowKeepsViolations_DURING_CONVERSION_ONLY() const = 0;
228 
231  virtual bool16 GetDisplayParaMark_DURING_CONVERSION_ONLY() const = 0;
232 
235  virtual bool16 GetShowMissingFonts_DURING_CONVERSION_ONLY() const = 0;
236 
239  virtual bool16 GetShowKinsoku_DURING_CONVERSION_ONLY() const = 0;
240 
243  virtual bool16 GetShowCustomCharWidths_DURING_CONVERSION_ONLY() const = 0;
244 
247  virtual bool16 GetShowGlyphSubstitutions_DURING_CONVERSION_ONLY() const = 0;
248 
251  virtual bool16 GetOTHL() const = 0;
252  virtual void SetOTHL(bool16 val) = 0;
253 
254  // Getter/Setters for vertical rule
255  virtual bool16 GetUseVerticalRule() const = 0;
256  virtual void SetUseVerticalRule(bool16 useVerticalRule) = 0;
257 
258  virtual PMReal GetVerticalRuleOffset() const = 0;
259  virtual void SetVerticalRuleOffset(PMReal offset) = 0;
260 
261  virtual PMReal GetVerticalRuleTopInset() const = 0;
262  virtual void SetVerticalRuleTopInset(PMReal inset) = 0;
263 
264  virtual bool16 GetVerticalRuleInsetChain() const = 0;
265  virtual void SetVerticalRuleInsetChain(bool16 isChained) = 0;
266 
267  virtual PMReal GetVerticalRuleBottomInset() const = 0;
268  virtual void SetVerticalRuleBottomInset(PMReal inset) = 0;
269 
270  virtual PMReal GetVerticalRuleStrokeWidth() const = 0;
271  virtual void SetVerticalRuleStrokeWidth(PMReal width) = 0;
272 
273  virtual UID GetVerticalRuleStrokeColor() const = 0;
274  virtual void SetVerticalRuleStrokeColor(UID colorUID) = 0;
275 
276  virtual ICompositionStyle::StrokeType GetVerticalRuleStrokeType() const = 0;
277  virtual void SetVerticalRuleStrokeType(ICompositionStyle::StrokeType strokeType) = 0;
278 
279  virtual PMReal GetVerticalRuleTint() const = 0;
280  virtual void SetVerticalRuleTint(PMReal tint) = 0;
281 
282  virtual bool16 GetVerticalRuleOverprint()const = 0;
283  virtual void SetVerticalRuleOverprint(bool16 isOverprint) = 0;
284 
285  virtual bool16 GetHarfbuzzOverride() const = 0;
286  // SetHarfbuzzOverride : if this parameter is set to true, Indic & Latin scripts will be shaped through Harfbuzz instead of Lipika.
287  virtual void SetHarfbuzzOverride(bool16 b) = 0;
288 };
289 
290 DECLARE_BASE_TYPE(ITextOptions::WritingDirection);
291 #endif