00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #pragma once
00020
00021 #include "ATESuites.h"
00022 #include "ATEException.h"
00023 #include "SloTextdomTypes.h"
00024
00025 namespace ATE
00026 {
00027 class IApplicationPaint;
00028 class ICompFont;
00029 class ICompFontClass;
00030 class ICompFontClassSet;
00031 class ICompFontComponent;
00032 class ICompFontSet;
00033 class IGlyphRun;
00034 class IGlyphRunsIterator;
00035 class IMojiKumi;
00036 class IMojiKumiSet;
00037 class ITextFrame;
00038 class ITextFramesIterator;
00039 class ITextLine;
00040 class ITextLinesIterator;
00041 class ITextResources;
00042 class IApplicationTextResources;
00043 class IDocumentTextResources;
00044 class IVersionInfo;
00045 class IArrayApplicationPaintRef;
00046 class IArrayReal;
00047 class IArrayBool;
00048 class IArrayInteger;
00049 class IArrayLineCapType;
00050 class IArrayFigureStyle;
00051 class IArrayLineJoinType;
00052 class IArrayWariChuJustification;
00053 class IArrayStyleRunAlignment;
00054 class IArrayAutoKernType;
00055 class IArrayBaselineDirection;
00056 class IArrayLanguage;
00057 class IArrayFontCapsOption;
00058 class IArrayFontBaselineOption;
00059 class IArrayFontOpenTypePositionOption;
00060 class IArrayUnderlinePosition;
00061 class IArrayStrikethroughPosition;
00062 class IArrayParagraphJustification;
00063 class IArrayArrayReal;
00064 class IArrayBurasagariType;
00065 class IArrayPreferredKinsokuOrder;
00066 class IArrayKinsokuRef;
00067 class IArrayMojiKumiRef;
00068 class IArrayMojiKumiSetRef;
00069 class IArrayTabStopsRef;
00070 class IArrayLeadingType;
00071 class IArrayFontRef;
00072 class IArrayGlyphID;
00073 class IArrayRealPoint;
00074 class IArrayRealMatrix;
00075 #if SLO_COMPLEXSCRIPT // Middle Eastern specific features only
00076 class IArrayParagraphDirection;
00077 class IArrayJustificationMethod;
00078 class IArrayKashidaWidth;
00079 class IArrayKashidas;
00080 class IArrayDirOverride;
00081 class IArrayDigitSet;
00082 class IArrayDiacVPos;
00083 #endif
00084 class ICharFeatures;
00085 class ICharInspector;
00086 class ICharStyle;
00087 class ICharStyles;
00088 class ICharStylesIterator;
00089 class IFind;
00090 class IFont;
00091 class IGlyph;
00092 class IGlyphs;
00093 class IGlyphsIterator;
00094 class IKinsoku;
00095 class IKinsokuSet;
00096 class IParaFeatures;
00097 class IParagraph;
00098 class IParagraphsIterator;
00099 class IParaInspector;
00100 class IParaStyle;
00101 class IParaStyles;
00102 class IParaStylesIterator;
00103 class ISpell;
00104 class IStories;
00105 class IStory;
00106 class ITabStop;
00107 class ITabStops;
00108 class ITabStopsIterator;
00109 class ITextRange;
00110 class ITextRanges;
00111 class ITextRangesIterator;
00112 class ITextRunsIterator;
00113 class IWordsIterator;
00114 class IArrayLine;
00115 class IArrayComposerEngine;
00117
00119
00124 class IApplicationPaint
00125 {
00126 private:
00127 ApplicationPaintRef fApplicationPaint;
00128 public:
00131 IApplicationPaint();
00135 IApplicationPaint(const IApplicationPaint& src);
00139 IApplicationPaint& operator=(const IApplicationPaint& rhs);
00143 bool operator==(const IApplicationPaint& rhs) const;
00147 bool operator!=(const IApplicationPaint& rhs) const;
00154 explicit IApplicationPaint(ApplicationPaintRef applicationpaint);
00156 virtual ~IApplicationPaint();
00159 ApplicationPaintRef GetRef() const;
00162 bool IsNull() const;
00163
00164
00165 };
00166
00168
00170
00174 class ICompFont
00175 {
00176 private:
00177 CompFontRef fCompFont;
00178 public:
00181 ICompFont();
00185 ICompFont(const ICompFont& src);
00189 ICompFont& operator=(const ICompFont& rhs);
00193 bool operator==(const ICompFont& rhs) const;
00197 bool operator!=(const ICompFont& rhs) const;
00203 explicit ICompFont(CompFontRef compfont);
00205 virtual ~ICompFont();
00208 CompFontRef GetRef() const;
00211 bool IsNull() const;
00212
00216 ICompFont( ITextResources pResources);
00217
00218
00219
00220
00221
00228 void GetNativeName( ATETextDOM::Unicode* name, ATETextDOM::Int32 maxLength) const;
00229
00235 void SetNativeName( const ATETextDOM::Unicode* name);
00236
00243 void GetPostScriptName( ATETextDOM::Unicode* name, ATETextDOM::Int32 maxLength) const;
00244
00251 void GetPostScriptName( char* name, ATETextDOM::Int32 maxLength) const;
00252
00258 void SetFontDictionary( void* fontDictionary);
00259
00264 void* GetFontDictionary( ) const;
00265
00266
00267
00268
00272 ICompFont Duplicate( ) const;
00273
00277 bool IsModified( ) const;
00278
00282 bool IsEditable( ) const;
00283
00287 bool IsCommitted( ) const;
00288
00292 bool VerifyState( ) const;
00293
00297 bool IsATCFileLoaded( ) const;
00298
00303 ATETextDOM::Int32 GetComponentCount( ) const;
00304
00310 ICompFontComponent GetComponent( ATETextDOM::Int32 index) const;
00311
00317 ATETextDOM::Int32 Find( ICompFontComponent component) const;
00318
00323 bool RemoveComponent( ATETextDOM::Int32 index);
00324
00330 ATETextDOM::Int32 AddComponent( ICompFontComponent component);
00331
00337 bool ReplaceComponent( ATETextDOM::Int32 index, ICompFontComponent component);
00338
00339 };
00340
00342
00344
00348 class ICompFontClass
00349 {
00350 private:
00351 CompFontClassRef fCompFontClass;
00352 public:
00355 ICompFontClass();
00359 ICompFontClass(const ICompFontClass& src);
00363 ICompFontClass& operator=(const ICompFontClass& rhs);
00367 bool operator==(const ICompFontClass& rhs) const;
00371 bool operator!=(const ICompFontClass& rhs) const;
00377 explicit ICompFontClass(CompFontClassRef compfontclass);
00379 virtual ~ICompFontClass();
00382 CompFontClassRef GetRef() const;
00385 bool IsNull() const;
00386
00387
00388
00389
00390
00397 void GetNativeName( ATETextDOM::Unicode* name, ATETextDOM::Int32 maxLength) const;
00398
00403 void SetNativeName( const ATETextDOM::Unicode* name);
00404
00411 ATETextDOM::Int32 GetCodes( ATETextDOM::Unicode* codes, ATETextDOM::Int32 maxLength) const;
00412
00417 ATETextDOM::Int32 SetCodes( const ATETextDOM::Unicode* codes);
00418
00419
00420
00421
00422
00426 ICompFontClass Duplicate( ) const;
00427
00431 ATETextDOM::Int32 GetCharacterCount( ) const;
00432
00436 CompositeFontClassType GetClassType( ) const;
00437
00442 bool IsCodeInClass( ATETextDOM::Unicode code) const;
00443
00448 bool IsEditable( ) const;
00449
00454 bool IsCustomOverride( ) const;
00455
00459 bool IsModified( ) const;
00460
00464 bool VerifyState( ) const;
00465
00466 };
00467
00469
00471
00475 class ICompFontClassSet
00476 {
00477 private:
00478 CompFontClassSetRef fCompFontClassSet;
00479 public:
00482 ICompFontClassSet();
00486 ICompFontClassSet(const ICompFontClassSet& src);
00490 ICompFontClassSet& operator=(const ICompFontClassSet& rhs);
00494 bool operator==(const ICompFontClassSet& rhs) const;
00498 bool operator!=(const ICompFontClassSet& rhs) const;
00504 explicit ICompFontClassSet(CompFontClassSetRef compfontclassset);
00506 virtual ~ICompFontClassSet();
00509 CompFontClassSetRef GetRef() const;
00512 bool IsNull() const;
00513
00514
00515
00516
00517
00521 ATETextDOM::Int32 GetSize( ) const;
00525 ICompFontClass GetFirst( ) const;
00529 ICompFontClass GetLast( ) const;
00530
00531
00532
00533
00534
00540 ICompFontClass Item( ATETextDOM::Int32 nIndex) const;
00541
00547 ATETextDOM::Int32 Find( ICompFontClass compFontClass) const;
00548
00554 ATETextDOM::Int32 FindPredefined( CompositeFontClassType predefinedType) const;
00555
00556 };
00557
00559
00561
00565 class ICompFontComponent
00566 {
00567 private:
00568 CompFontComponentRef fCompFontComponent;
00569 public:
00572 ICompFontComponent();
00576 ICompFontComponent(const ICompFontComponent& src);
00580 ICompFontComponent& operator=(const ICompFontComponent& rhs);
00584 bool operator==(const ICompFontComponent& rhs) const;
00588 bool operator!=(const ICompFontComponent& rhs) const;
00594 explicit ICompFontComponent(CompFontComponentRef compfontcomponent);
00596 virtual ~ICompFontComponent();
00599 CompFontComponentRef GetRef() const;
00602 bool IsNull() const;
00603
00607 ICompFontComponent( ITextResources pResources);
00608
00609
00610
00611
00612
00616 ICompFontClass GetClass( ) const;
00617
00622 void SetClass( ICompFontClass charClass);
00623
00627 IFont GetFont( ) const;
00628
00633 void SetFont( IFont font);
00634
00638 ATETextDOM::Real GetSize( ) const;
00639
00643 void SetSize( ATETextDOM::Real size);
00644
00648 ATETextDOM::Real GetBaseline( ) const;
00649
00653 void SetBaseline( ATETextDOM::Real baseline);
00654
00658 ATETextDOM::Real GetHorizontalScale( ) const;
00659
00663 void SetHorizontalScale( ATETextDOM::Real horizontalScale);
00664
00668 ATETextDOM::Real GetVerticalScale( ) const;
00669
00673 void SetVerticalScale( ATETextDOM::Real verticalScale);
00674
00678 bool GetCenterGlyph( ) const;
00679
00684 void SetCenterGlyph( bool centerglyph);
00685
00686
00687
00688
00689
00693 bool IsModified( ) const;
00694
00695 };
00696
00698
00700
00704 class ICompFontSet
00705 {
00706 private:
00707 CompFontSetRef fCompFontSet;
00708 public:
00711 ICompFontSet();
00715 ICompFontSet(const ICompFontSet& src);
00719 ICompFontSet& operator=(const ICompFontSet& rhs);
00723 bool operator==(const ICompFontSet& rhs) const;
00727 bool operator!=(const ICompFontSet& rhs) const;
00733 explicit ICompFontSet(CompFontSetRef compfontset);
00735 virtual ~ICompFontSet();
00738 CompFontSetRef GetRef() const;
00741 bool IsNull() const;
00742
00743
00744
00745
00746
00750 ATETextDOM::Int32 GetSize( ) const;
00754 ICompFont GetFirst( ) const;
00758 ICompFont GetLast( ) const;
00759
00760
00761
00762
00768 ICompFont Item( ATETextDOM::Int32 nIndex) const;
00769
00775 ATETextDOM::Int32 Find( ICompFont font) const;
00776
00781 bool Remove( ATETextDOM::Int32 nIndex);
00782
00788 ATETextDOM::Int32 Add( ICompFont font);
00789
00795 bool Replace( ATETextDOM::Int32 nIndex, ICompFont newFont);
00796
00802 void Update( ) const;
00803
00804 };
00805
00807
00809
00815 class IGlyphRun
00816 {
00817 private:
00818 GlyphRunRef fGlyphRun;
00819 public:
00822 IGlyphRun();
00826 IGlyphRun(const IGlyphRun& src);
00830 IGlyphRun& operator=(const IGlyphRun& rhs);
00834 bool operator==(const IGlyphRun& rhs) const;
00838 bool operator!=(const IGlyphRun& rhs) const;
00844 explicit IGlyphRun(GlyphRunRef glyphrun);
00846 virtual ~IGlyphRun();
00849 GlyphRunRef GetRef() const;
00852 bool IsNull() const;
00853
00854
00855
00856
00857
00861 ITextLine GetTextLine( ) const;
00862
00868 ATETextDOM::Int32 GetSize( ) const;
00869
00875 ATETextDOM::Int32 GetCharacterCount( ) const;
00876
00880 IArrayRealPoint GetOrigins( ) const;
00881
00885 IArrayGlyphID GetGlyphIDs( ) const;
00886
00894 ATETextDOM::RealMatrix GetMatrix( ) const;
00895
00922 ICharFeatures GetCharFeatures( ) const;
00923
00927 GlyphOrientation GetGlyphOrientation( ) const;
00928
00932 ATETextDOM::Real GetAscent( ) const;
00933
00937 ATETextDOM::Real GetDescent( ) const;
00938
00942 ATETextDOM::Real GetTracking( ) const;
00943
00947 ATETextDOM::Real GetSpaceGlyphWidth( ) const;
00948
00952 ATETextDOM::Real GetDistanceToBaseline( ) const;
00953
00957 ATETextDOM::Real GetUnderlinePosition( ) const;
00958
00962 ATETextDOM::Real GetUnderlineThickness( ) const;
00963
00967 ATETextDOM::Real GetMaxCapHeight( ) const;
00968
00972 ATETextDOM::Real GetMinCapHeight( ) const;
00973
00977 ATETextDOM::Real GetXHeight() const;
00978
00983 IFont GetFlattenedFont( ) const;
00984
00991 ATETextDOM::Int32 GetContents( ATETextDOM::Unicode* text, ATETextDOM::Int32 maxLength) const;
00992
00999 ATETextDOM::Int32 GetContents( char* text, ATETextDOM::Int32 maxLength) const;
01000
01001 };
01002
01004
01006
01010 class IGlyphRunsIterator
01011 {
01012 private:
01013 GlyphRunsIteratorRef fGlyphRunsIterator;
01014 public:
01017 IGlyphRunsIterator();
01021 IGlyphRunsIterator(const IGlyphRunsIterator& src);
01025 IGlyphRunsIterator& operator=(const IGlyphRunsIterator& rhs);
01029 bool operator==(const IGlyphRunsIterator& rhs) const;
01033 bool operator!=(const IGlyphRunsIterator& rhs) const;
01039 explicit IGlyphRunsIterator(GlyphRunsIteratorRef glyphrunsiterator);
01041 virtual ~IGlyphRunsIterator();
01044 GlyphRunsIteratorRef GetRef() const;
01047 bool IsNull() const;
01048
01049
01050
01051
01054 bool IsNotDone( ) const;
01057 bool IsDone( ) const;
01060 void Next( );
01063 IGlyphRun Item( ) const;
01064
01065 };
01066
01068
01070
01074 class IMojiKumi
01075 {
01076 private:
01077 MojiKumiRef fMojiKumi;
01078 public:
01081 IMojiKumi();
01085 IMojiKumi(const IMojiKumi& src);
01089 IMojiKumi& operator=(const IMojiKumi& rhs);
01093 bool operator==(const IMojiKumi& rhs) const;
01097 bool operator!=(const IMojiKumi& rhs) const;
01103 explicit IMojiKumi(MojiKumiRef mojikumi);
01105 virtual ~IMojiKumi();
01108 MojiKumiRef GetRef() const;
01111 bool IsNull() const;
01112
01113
01114
01115
01116
01123 ATETextDOM::Int32 GetName( ATETextDOM::Unicode * name, ATETextDOM::Int32 maxLength) const;
01128 ATETextDOM::Int32 GetNameSize( ) const;
01133 void SetName( const ATETextDOM::Unicode * name);
01139 bool MatchesPredefinedResourceTag( ATE::MojikumiTablePredefinedTag tag) const;
01147 void GetEntry( ATETextDOM::Int32 index, ATETextDOM::Float * minExpansion, ATETextDOM::Float * maxExpansion, ATETextDOM::Float * desiredExpansion) const;
01155 void SetEntry( ATETextDOM::Int32 index, ATETextDOM::Real minExpansion, ATETextDOM::Real maxExpansion, ATETextDOM::Real desiredExpansion);
01156
01157
01158
01159
01160
01165 bool IsEquivalent( IMojiKumi rhsMojiKumi) const;
01169 bool IsModified( ) const;
01173 bool IsPredefined( ) const;
01177 IMojiKumi Duplicate( ) const;
01178
01179 };
01180
01182
01184
01188 class IMojiKumiSet
01189 {
01190 private:
01191 MojiKumiSetRef fMojiKumiSet;
01192 public:
01195 IMojiKumiSet();
01199 IMojiKumiSet(const IMojiKumiSet& src);
01203 IMojiKumiSet& operator=(const IMojiKumiSet& rhs);
01207 bool operator==(const IMojiKumiSet& rhs) const;
01211 bool operator!=(const IMojiKumiSet& rhs) const;
01217 explicit IMojiKumiSet(MojiKumiSetRef mojikumiset);
01219 virtual ~IMojiKumiSet();
01222 MojiKumiSetRef GetRef() const;
01225 bool IsNull() const;
01226
01227
01228
01229
01230
01233 ATETextDOM::Int32 GetSize( );
01236 IMojiKumi GetFirst( );
01239 IMojiKumi GetLast( );
01240
01241
01242
01243
01244
01250 IMojiKumi Item( ATETextDOM::Int32 nIndex) const;
01256 ATETextDOM::Int32 Find( const IMojiKumi mojiKumi);
01262 ATETextDOM::Int32 Find( const ATETextDOM::Unicode* name);
01269 ATETextDOM::Int32 Find( MojikumiTablePredefinedTag tag);
01274 bool Remove( ATETextDOM::Int32 nIndex);
01282 ATETextDOM::Int32 Add( IMojiKumi mojiKumi);
01288 bool Replace( ATETextDOM::Int32 nIndex, IMojiKumi mojiKumi);
01297 IMojiKumi CreateNewMojiKumi( const ATETextDOM::Unicode* name, ATETextDOM::Int32* nIndex);
01298
01299 };
01300
01302
01304
01311 class ITextFrame
01312 {
01313 private:
01314 TextFrameRef fTextFrame;
01315 public:
01318 ITextFrame();
01322 ITextFrame(const ITextFrame& src);
01326 ITextFrame& operator=(const ITextFrame& rhs);
01330 bool operator==(const ITextFrame& rhs) const;
01334 bool operator!=(const ITextFrame& rhs) const;
01340 explicit ITextFrame(TextFrameRef textframe);
01342 virtual ~ITextFrame();
01345 TextFrameRef GetRef() const;
01348 bool IsNull() const;
01349
01350
01351
01352
01356 IStory GetStory( ) const;
01363 ITextRange GetTextRange( bool bIncludeOverflow = true) const;
01368 ITextLinesIterator GetTextLinesIterator( ) const;
01372 FrameType GetType( ) const;
01376 LineOrientation GetLineOrientation( ) const;
01381 bool GetSelected( ) const;
01385 ATETextDOM::RealMatrix GetMatrix( ) const;
01389 ATETextDOM::Int32 GetRowCount( ) const;
01393 ATETextDOM::Int32 GetColumnCount( ) const;
01397 bool GetRowMajorOrder( ) const;
01401 ATETextDOM::Real GetRowGutter( ) const;
01405 ATETextDOM::Real GetColumnGutter( ) const;
01409 ATETextDOM::Real GetSpacing( ) const;
01413 bool GetOpticalAlignment( ) const;
01414 #if SLO_COMPLEXSCRIPT // Middle Eastern specific features only
01415
01418 ParagraphDirection GetStoryDirection( ) const;
01419 #endif
01420
01424 void SetRowCount( ATETextDOM::Int32 rowCount);
01429 void SetColumnCount( ATETextDOM::Int32 columnCount);
01435 void SetRowMajorOrder( bool isRowMajor);
01440 void SetRowGutter( ATETextDOM::Real gutter);
01445 void SetColumnGutter( ATETextDOM::Real gutter);
01450 void SetSpacing( ATETextDOM::Real spacing);
01456 void SetOpticalAlignment( bool isActive);
01461 void SetLineOrientation( LineOrientation lineOrientation);
01462
01463 #if SLO_COMPLEXSCRIPT // Middle Eastern specific features only
01464
01468 void SetStoryDirection( ParagraphDirection direction);
01469 #endif
01470 };
01471
01473
01475
01478 class ITextFramesIterator
01479 {
01480 private:
01481 TextFramesIteratorRef fTextFramesIterator;
01482 public:
01485 ITextFramesIterator();
01489 ITextFramesIterator(const ITextFramesIterator& src);
01493 ITextFramesIterator& operator=(const ITextFramesIterator& rhs);
01497 bool operator==(const ITextFramesIterator& rhs) const;
01501 bool operator!=(const ITextFramesIterator& rhs) const;
01507 explicit ITextFramesIterator(TextFramesIteratorRef textframesiterator);
01509 virtual ~ITextFramesIterator();
01512 TextFramesIteratorRef GetRef() const;
01515 bool IsNull() const;
01516
01522 ITextFramesIterator( const ITextRange& range);
01523
01524
01525
01526
01527
01530 bool IsNotDone( ) const;
01533 bool IsDone( ) const;
01536 bool IsEmpty( ) const;
01539 void Next( );
01542 void Previous( );
01545 ITextFrame Item( ) const;
01546
01547 };
01548
01550
01552
01558 class ITextLine
01559 {
01560 private:
01561 TextLineRef fTextLine;
01562 public:
01565 ITextLine();
01569 ITextLine(const ITextLine& src);
01573 ITextLine& operator=(const ITextLine& rhs);
01577 bool operator==(const ITextLine& rhs) const;
01581 bool operator!=(const ITextLine& rhs) const;
01587 explicit ITextLine(TextLineRef textline);
01589 virtual ~ITextLine();
01592 TextLineRef GetRef() const;
01595 bool IsNull() const;
01596
01597
01598
01599
01600
01606 IGlyphRunsIterator GetGlyphRunsIterator( ) const;
01613 IGlyphRunsIterator GetVisualGlyphRunsIterator( ) const;
01617 ITextFrame GetTextFrame( ) const;
01621 ITextRange GetTextRange( ) const;
01628 IArrayLine GetBaselines() const;
01629 };
01630
01632
01634
01637 class ITextLinesIterator
01638 {
01639 private:
01640 TextLinesIteratorRef fTextLinesIterator;
01641 public:
01644 ITextLinesIterator();
01648 ITextLinesIterator(const ITextLinesIterator& src);
01652 ITextLinesIterator& operator=(const ITextLinesIterator& rhs);
01656 bool operator==(const ITextLinesIterator& rhs) const;
01660 bool operator!=(const ITextLinesIterator& rhs) const;
01666 explicit ITextLinesIterator(TextLinesIteratorRef textlinesiterator);
01668 virtual ~ITextLinesIterator();
01671 TextLinesIteratorRef GetRef() const;
01674 bool IsNull() const;
01675
01676
01677
01678
01679
01682 bool IsNotDone( ) const;
01685 bool IsDone( ) const;
01688 bool IsEmpty( ) const;
01691 void Next( );
01694 void Previous( );
01697 ITextLine Item( ) const;
01698
01699 };
01700
01702
01704
01706 class ITextResources
01707 {
01708 private:
01709 TextResourcesRef fTextResources;
01710 public:
01711 ITextResources();
01712 ITextResources(const ITextResources& src);
01713 ITextResources& operator=(const ITextResources& rhs);
01714 bool operator==(const ITextResources& rhs) const;
01715 bool operator!=(const ITextResources& rhs) const;
01716 explicit ITextResources(TextResourcesRef textresources);
01717 virtual ~ITextResources();
01718 TextResourcesRef GetRef() const;
01719 bool IsNull() const;
01720
01721 ITextResources GetTextResources( );
01722
01723 };
01724
01726
01728
01729 class IApplicationTextResources
01730 {
01731 private:
01732 ApplicationTextResourcesRef fApplicationTextResources;
01733 public:
01736 IApplicationTextResources();
01740 IApplicationTextResources(const IApplicationTextResources& src);
01744 IApplicationTextResources& operator=(const IApplicationTextResources& rhs);
01748 bool operator==(const IApplicationTextResources& rhs) const;
01752 bool operator!=(const IApplicationTextResources& rhs) const;
01758 explicit IApplicationTextResources(ApplicationTextResourcesRef applicationtextresources);
01760 virtual ~IApplicationTextResources();
01763 ApplicationTextResourcesRef GetRef() const;
01766 bool IsNull() const;
01767
01768
01769 ITextResources GetTextResources( );
01770
01771
01772
01773 IKinsokuSet GetKinsokuSet( ) const;
01774 IMojiKumiSet GetMojiKumiSet( ) const;
01775 ICompFontClassSet GetCompFontClassSet( ) const;
01776 ICompFontSet GetCompFontSet( ) const;
01777
01778 };
01779
01781
01783
01786 class IDocumentTextResources
01787 {
01788 private:
01789 DocumentTextResourcesRef fDocumentTextResources;
01790 public:
01793 IDocumentTextResources();
01797 IDocumentTextResources(const IDocumentTextResources& src);
01801 IDocumentTextResources& operator=(const IDocumentTextResources& rhs);
01805 bool operator==(const IDocumentTextResources& rhs) const;
01809 bool operator!=(const IDocumentTextResources& rhs) const;
01815 explicit IDocumentTextResources(DocumentTextResourcesRef documenttextresources);
01817 virtual ~IDocumentTextResources();
01820 DocumentTextResourcesRef GetRef() const;
01823 bool IsNull() const;
01824
01825
01829 IKinsokuSet GetKinsokuSet( ) const;
01833 IMojiKumiSet GetMojiKumiSet( ) const;
01837 ICompFontClassSet GetCompFontClassSet( ) const;
01841 ICompFontSet GetCompFontSet( ) const;
01845 ITextResources GetTextResources( );
01846
01850 IFind GetFind( );
01854 ISpell GetSpell( );
01855
01859 IGlyph GetGlyphAndAlternates( ) const;
01863 IGlyph GetAlternateGlyph( ) const;
01873 void InsertAlternateGlyph( const ATETextDOM::Unicode* theCharacters, const ATEGlyphID glyphID, const char* otFeatureArray, ATETextDOM::Int32 otFeatureCount, const ATETextDOM::Int32* otFeatureIndexArray, bool leaveSelected);
01874
01878 IArrayInteger GetAlternatesAvailableThroughoutSelection( ) const;
01879
01884 JapaneseAlternateFeature GetJapaneseAlternateFeatureInSelection( bool* isFeature) const;
01889 void SetJapaneseAlternateFeatureInSelection( JapaneseAlternateFeature feature);
01890
01894 ICharStyles GetCharStylesInDocument( ) const;
01898 IParaStyles GetParaStylesInDocument( ) const;
01903 ICharStyle GetCharStyle( const ATETextDOM::Unicode* pName) const;
01908 IParaStyle GetParaStyle( const ATETextDOM::Unicode* pName) const;
01912 ICharStyle GetNormalCharStyle( ) const;
01916 IParaStyle GetNormalParaStyle( ) const;
01921 void ResetNormalCharStyle( );
01926 void ResetNormalParaStyle( );
01927
01934 ICharStyle CreateCharStyle( const ATETextDOM::Unicode* pName);
01941 IParaStyle CreateParaStyle( const ATETextDOM::Unicode* pName);
01950 ICharStyle CreateCharStyleWithFeatures( const ATETextDOM::Unicode* pName, ICharFeatures pFeatures);
01959 IParaStyle CreateParaStyleWithFeatures( const ATETextDOM::Unicode* pName, IParaFeatures pFeatures);
01960
01966 bool RemoveCharStyle( const ATETextDOM::Unicode* pName);
01972 bool RemoveParaStyle( const ATETextDOM::Unicode* pName);
01973
01979 void ImportCharStyles( ITextResources pSrcResources);
01985 void ImportParaStyles( ITextResources pSrcResources);
01986
01991 void SetUseSmartQuotes( bool smartQuotesAreOn);
01998 void SetSmartDoubleQuoteCharacters( ATETextDOM::Unicode openQuote, ATETextDOM::Unicode closeQuote, Language language);
02005 void SetSmartSingleQuoteCharacters( ATETextDOM::Unicode openQuote, ATETextDOM::Unicode closeQuote, Language language);
02009 bool UseSmartQuotes( );
02016 void GetSmartDoubleQuoteCharacters( ATETextDOM::Unicode* openQuote, ATETextDOM::Unicode* closeQuote, Language language);
02023 void GetSmartSingleQuoteCharacters( ATETextDOM::Unicode* openQuote, ATETextDOM::Unicode* closeQuote, Language language);
02024
02029 ICharFeatures GetInsertionCharFeatures( ) const;
02034 ICharStyle GetInsertionCharStyle( ) const;
02040 void SetInsertionFeaturesAndStyle( const ICharFeatures& pFeatures, const ATETextDOM::Unicode* pStyleName);
02041
02045 ATETextDOM::Real GetSuperscriptSize( ) const;
02050 void SetSuperscriptSize( ATETextDOM::Real value);
02054 ATETextDOM::Real GetSuperscriptPosition( ) const;
02059 void SetSuperscriptPosition( ATETextDOM::Real value);
02063 ATETextDOM::Real GetSubscriptSize( ) const;
02068 void SetSubscriptSize( ATETextDOM::Real value);
02072 ATETextDOM::Real GetSubscriptPosition( ) const;
02077 void SetSubscriptPosition( ATETextDOM::Real value);
02078
02082 ATETextDOM::Real GetSmallCapSize( ) const;
02087 void SetSmallCapSize( ATETextDOM::Real value);
02088
02092 bool GetShowHiddenCharacters( ) const;
02096 void SetShowHiddenCharacters( bool value);
02097
02101 ATETextDOM::Int32 GetGreekingSize( ) const;
02106 void SetGreekingSize( ATETextDOM::Int32 value);
02107
02111 bool GetHighlightSubstituteFonts( ) const;
02115 void SetHighlightSubstituteFonts( bool value);
02119 bool GetHighlightAlternateGlyphs( ) const;
02123 void SetHighlightAlternateGlyphs( bool value);
02124
02125 };
02126
02128
02130
02133 class IVersionInfo
02134 {
02135 private:
02136 VersionInfoRef fVersionInfo;
02137 public:
02140 IVersionInfo();
02144 IVersionInfo(const IVersionInfo& src);
02148 IVersionInfo& operator=(const IVersionInfo& rhs);
02152 bool operator==(const IVersionInfo& rhs) const;
02156 bool operator!=(const IVersionInfo& rhs) const;
02162 explicit IVersionInfo(VersionInfoRef versioninfo);
02164 virtual ~IVersionInfo();
02167 VersionInfoRef GetRef() const;
02170 bool IsNull() const;
02171
02174 int GetMajorVersion( );
02177 int GetMinorVersion( );
02180 int GetSubMinorVersion( );
02181
02191 int GetVersionAsUTF16( ASUTF16* versionString, int maxLength);
02192
02193 };
02194
02196
02198
02204 class IArrayApplicationPaintRef
02205 {
02206 private:
02207 ArrayApplicationPaintRefRef fArrayApplicationPaintRef;
02208 public:
02211 IArrayApplicationPaintRef();
02215 IArrayApplicationPaintRef(const IArrayApplicationPaintRef& src);
02219 IArrayApplicationPaintRef& operator=(const IArrayApplicationPaintRef& rhs);
02223 bool operator==(const IArrayApplicationPaintRef& rhs) const;
02227 bool operator!=(const IArrayApplicationPaintRef& rhs) const;
02233 explicit IArrayApplicationPaintRef(ArrayApplicationPaintRefRef arrayapplicationpaintref);
02235 virtual ~IArrayApplicationPaintRef();
02238 ArrayApplicationPaintRefRef GetRef() const;
02241 bool IsNull() const;
02242
02243
02244
02245
02246
02249 ATETextDOM::Int32 GetSize( ) const;
02252 IApplicationPaint GetFirst( ) const;
02255 IApplicationPaint GetLast( ) const;
02256
02257
02258
02259
02260
02266 IApplicationPaint Item( ATETextDOM::Int32 index) const;
02267
02268 };
02269
02271
02273
02274 class IArrayReal
02275 {
02276 private:
02277 ArrayRealRef fArrayReal;
02278 public:
02281 IArrayReal();
02285 IArrayReal(const IArrayReal& src);
02289 IArrayReal& operator=(const IArrayReal& rhs);
02293 bool operator==(const IArrayReal& rhs) const;
02297 bool operator!=(const IArrayReal& rhs) const;
02303 explicit IArrayReal(ArrayRealRef arrayreal);
02305 virtual ~IArrayReal();
02308 ArrayRealRef GetRef() const;
02311 bool IsNull() const;
02312
02313
02314
02315
02316
02319 ATETextDOM::Int32 GetSize( ) const;
02322 ATETextDOM::Real GetFirst( ) const;
02325 ATETextDOM::Real GetLast( ) const;
02326
02327
02328
02329
02330
02336 ATETextDOM::Real Item( ATETextDOM::Int32 index) const;
02337
02338 };
02339
02341
02343
02344 class IArrayBool
02345 {
02346 private:
02347 ArrayBoolRef fArrayBool;
02348 public:
02351 IArrayBool();
02355 IArrayBool(const IArrayBool& src);
02359 IArrayBool& operator=(const IArrayBool& rhs);
02363 bool operator==(const IArrayBool& rhs) const;
02367 bool operator!=(const IArrayBool& rhs) const;
02373 explicit IArrayBool(ArrayBoolRef arraybool);
02375 virtual ~IArrayBool();
02378 ArrayBoolRef GetRef() const;
02381 bool IsNull() const;
02382
02383
02384
02385
02386
02389 ATETextDOM::Int32 GetSize( ) const;
02392 bool GetFirst( ) const;
02395 bool GetLast( ) const;
02396
02397
02398
02399
02400
02406 bool Item( ATETextDOM::Int32 index) const;
02407
02408 };
02409
02411
02413
02414 class IArrayInteger
02415 {
02416 private:
02417 ArrayIntegerRef fArrayInteger;
02418 public:
02421 IArrayInteger();
02425 IArrayInteger(const IArrayInteger& src);
02429 IArrayInteger& operator=(const IArrayInteger& rhs);
02433 bool operator==(const IArrayInteger& rhs) const;
02437 bool operator!=(const IArrayInteger& rhs) const;
02443 explicit IArrayInteger(ArrayIntegerRef arrayinteger);
02445 virtual ~IArrayInteger();
02448 ArrayIntegerRef GetRef() const;
02451 bool IsNull() const;
02452
02453
02454
02455
02456
02459 ATETextDOM::Int32 GetSize( ) const;
02462 ATETextDOM::Int32 GetFirst( ) const;
02465 ATETextDOM::Int32 GetLast( ) const;
02466
02467
02468
02469
02470
02476 ATETextDOM::Int32 Item( ATETextDOM::Int32 index) const;
02477
02478 };
02479
02481
02483
02485 class IArrayLineCapType
02486 {
02487 private:
02488 ArrayLineCapTypeRef fArrayLineCapType;
02489 public:
02492 IArrayLineCapType();
02496 IArrayLineCapType(const IArrayLineCapType& src);
02500 IArrayLineCapType& operator=(const IArrayLineCapType& rhs);
02504 bool operator==(const IArrayLineCapType& rhs) const;
02508 bool operator!=(const IArrayLineCapType& rhs) const;
02514 explicit IArrayLineCapType(ArrayLineCapTypeRef arraylinecaptype);
02516 virtual ~IArrayLineCapType();
02519 ArrayLineCapTypeRef GetRef() const;
02522 bool IsNull() const;
02523
02524
02525
02526
02527
02530 ATETextDOM::Int32 GetSize( ) const;
02533 LineCapType GetFirst( ) const;
02536 LineCapType GetLast( ) const;
02537
02538
02539
02540
02541
02547 LineCapType Item( ATETextDOM::Int32 index) const;
02548
02549 };
02550
02552
02554
02556 class IArrayFigureStyle
02557 {
02558 private:
02559 ArrayFigureStyleRef fArrayFigureStyle;
02560 public:
02563 IArrayFigureStyle();
02567 IArrayFigureStyle(const IArrayFigureStyle& src);
02571 IArrayFigureStyle& operator=(const IArrayFigureStyle& rhs);
02575 bool operator==(const IArrayFigureStyle& rhs) const;
02579 bool operator!=(const IArrayFigureStyle& rhs) const;
02585 explicit IArrayFigureStyle(ArrayFigureStyleRef arrayfigurestyle);
02587 virtual ~IArrayFigureStyle();
02590 ArrayFigureStyleRef GetRef() const;
02593 bool IsNull() const;
02594
02595
02596
02597
02598
02601 ATETextDOM::Int32 GetSize( ) const;
02604 FigureStyle GetFirst( ) const;
02607 FigureStyle GetLast( ) const;
02608
02609
02610
02611
02612
02618 FigureStyle Item( ATETextDOM::Int32 index) const;
02619
02620 };
02621
02623
02625
02627 class IArrayLineJoinType
02628 {
02629 private:
02630 ArrayLineJoinTypeRef fArrayLineJoinType;
02631 public:
02634 IArrayLineJoinType();
02638 IArrayLineJoinType(const IArrayLineJoinType& src);
02642 IArrayLineJoinType& operator=(const IArrayLineJoinType& rhs);
02646 bool operator==(const IArrayLineJoinType& rhs) const;
02650 bool operator!=(const IArrayLineJoinType& rhs) const;
02656 explicit IArrayLineJoinType(ArrayLineJoinTypeRef arraylinejointype);
02658 virtual ~IArrayLineJoinType();
02661 ArrayLineJoinTypeRef GetRef() const;
02664 bool IsNull() const;
02665
02666
02667
02668
02669
02672 ATETextDOM::Int32 GetSize( ) const;
02675 LineJoinType GetFirst( ) const;
02678 LineJoinType GetLast( ) const;
02679
02680
02681
02682
02683
02689 LineJoinType Item( ATETextDOM::Int32 index) const;
02690
02691 };
02692
02694
02696
02698 class IArrayWariChuJustification
02699 {
02700 private:
02701 ArrayWariChuJustificationRef fArrayWariChuJustification;
02702 public:
02705 IArrayWariChuJustification();
02709 IArrayWariChuJustification(const IArrayWariChuJustification& src);
02713 IArrayWariChuJustification& operator=(const IArrayWariChuJustification& rhs);
02717 bool operator==(const IArrayWariChuJustification& rhs) const;
02721 bool operator!=(const IArrayWariChuJustification& rhs) const;
02727 explicit IArrayWariChuJustification(ArrayWariChuJustificationRef arraywarichujustification);
02729 virtual ~IArrayWariChuJustification();
02732 ArrayWariChuJustificationRef GetRef() const;
02735 bool IsNull() const;
02736
02737
02738
02739
02740
02743 ATETextDOM::Int32 GetSize( ) const;
02746 WariChuJustification GetFirst( ) const;
02749 WariChuJustification GetLast( ) const;
02750
02751
02752
02753
02754
02760 WariChuJustification Item( ATETextDOM::Int32 index) const;
02761
02762 };
02763
02765
02767
02769 class IArrayStyleRunAlignment
02770 {
02771 private:
02772 ArrayStyleRunAlignmentRef fArrayStyleRunAlignment;
02773 public:
02776 IArrayStyleRunAlignment();
02780 IArrayStyleRunAlignment(const IArrayStyleRunAlignment& src);
02784 IArrayStyleRunAlignment& operator=(const IArrayStyleRunAlignment& rhs);
02788 bool operator==(const IArrayStyleRunAlignment& rhs) const;
02792 bool operator!=(const IArrayStyleRunAlignment& rhs) const;
02798 explicit IArrayStyleRunAlignment(ArrayStyleRunAlignmentRef arraystylerunalignment);
02800 virtual ~IArrayStyleRunAlignment();
02803 ArrayStyleRunAlignmentRef GetRef() const;
02806 bool IsNull() const;
02807
02808
02809
02810
02811
02814 ATETextDOM::Int32 GetSize( ) const;
02817 StyleRunAlignment GetFirst( ) const;
02820 StyleRunAlignment GetLast( ) const;
02821
02822
02823
02824
02825
02831 StyleRunAlignment Item( ATETextDOM::Int32 index) const;
02832
02833 };
02834
02836
02838
02840 class IArrayAutoKernType
02841 {
02842 private:
02843 ArrayAutoKernTypeRef fArrayAutoKernType;
02844 public:
02847 IArrayAutoKernType();
02851 IArrayAutoKernType(const IArrayAutoKernType& src);
02855 IArrayAutoKernType& operator=(const IArrayAutoKernType& rhs);
02859 bool operator==(const IArrayAutoKernType& rhs) const;
02863 bool operator!=(const IArrayAutoKernType& rhs) const;
02869 explicit IArrayAutoKernType(ArrayAutoKernTypeRef arrayautokerntype);
02871 virtual ~IArrayAutoKernType();
02874 ArrayAutoKernTypeRef GetRef() const;
02877 bool IsNull() const;
02878
02879
02880
02881
02882
02885 ATETextDOM::Int32 GetSize( ) const;
02888 AutoKernType GetFirst( ) const;
02891 AutoKernType GetLast( ) const;
02892
02893
02894
02895
02896
02902 AutoKernType Item( ATETextDOM::Int32 index) const;
02903
02904 };
02905
02907
02909
02911 class IArrayBaselineDirection
02912 {
02913 private:
02914 ArrayBaselineDirectionRef fArrayBaselineDirection;
02915 public:
02918 IArrayBaselineDirection();
02922 IArrayBaselineDirection(const IArrayBaselineDirection& src);
02926 IArrayBaselineDirection& operator=(const IArrayBaselineDirection& rhs);
02930 bool operator==(const IArrayBaselineDirection& rhs) const;
02934 bool operator!=(const IArrayBaselineDirection& rhs) const;
02940 explicit IArrayBaselineDirection(ArrayBaselineDirectionRef arraybaselinedirection);
02942 virtual ~IArrayBaselineDirection();
02945 ArrayBaselineDirectionRef GetRef() const;
02948 bool IsNull() const;
02949
02950
02951
02952
02953
02956 ATETextDOM::Int32 GetSize( ) const;
02959 BaselineDirection GetFirst( ) const;
02962 BaselineDirection GetLast( ) const;
02963
02964
02965
02966
02967
02973 BaselineDirection Item( ATETextDOM::Int32 index) const;
02974
02975 };
02976
02978
02980
02982 class IArrayLanguage
02983 {
02984 private:
02985 ArrayLanguageRef fArrayLanguage;
02986 public:
02989 IArrayLanguage();
02993 IArrayLanguage(const IArrayLanguage& src);
02997 IArrayLanguage& operator=(const IArrayLanguage& rhs);
03001 bool operator==(const IArrayLanguage& rhs) const;
03005 bool operator!=(const IArrayLanguage& rhs) const;
03011 explicit IArrayLanguage(ArrayLanguageRef arraylanguage);
03013 virtual ~IArrayLanguage();
03016 ArrayLanguageRef GetRef() const;
03019 bool IsNull() const;
03020
03021
03022
03023
03024
03027 ATETextDOM::Int32 GetSize( ) const;
03030 Language GetFirst( ) const;
03033 Language GetLast( ) const;
03034
03035
03036
03037
03038
03044 Language Item( ATETextDOM::Int32 index) const;
03045
03046 };
03047
03049
03051
03053 class IArrayFontCapsOption
03054 {
03055 private:
03056 ArrayFontCapsOptionRef fArrayFontCapsOption;
03057 public:
03060 IArrayFontCapsOption();
03064 IArrayFontCapsOption(const IArrayFontCapsOption& src);
03068 IArrayFontCapsOption& operator=(const IArrayFontCapsOption& rhs);
03072 bool operator==(const IArrayFontCapsOption& rhs) const;
03076 bool operator!=(const IArrayFontCapsOption& rhs) const;
03082 explicit IArrayFontCapsOption(ArrayFontCapsOptionRef arrayfontcapsoption);
03084 virtual ~IArrayFontCapsOption();
03087 ArrayFontCapsOptionRef GetRef() const;
03090 bool IsNull() const;
03091
03092
03093
03094
03095
03098 ATETextDOM::Int32 GetSize( ) const;
03101 FontCapsOption GetFirst( ) const;
03104 FontCapsOption GetLast( ) const;
03105
03106
03107
03108
03109
03115 FontCapsOption Item( ATETextDOM::Int32 index) const;
03116
03117 };
03118
03120
03122
03124 class IArrayFontBaselineOption
03125 {
03126 private:
03127 ArrayFontBaselineOptionRef fArrayFontBaselineOption;
03128 public:
03131 IArrayFontBaselineOption();
03135 IArrayFontBaselineOption(const IArrayFontBaselineOption& src);
03139 IArrayFontBaselineOption& operator=(const IArrayFontBaselineOption& rhs);
03143 bool operator==(const IArrayFontBaselineOption& rhs) const;
03147 bool operator!=(const IArrayFontBaselineOption& rhs) const;
03153 explicit IArrayFontBaselineOption(ArrayFontBaselineOptionRef arrayfontbaselineoption);
03155 virtual ~IArrayFontBaselineOption();
03158 ArrayFontBaselineOptionRef GetRef() const;
03161 bool IsNull() const;
03162
03163
03164
03165
03166
03169 ATETextDOM::Int32 GetSize( ) const;
03172 FontBaselineOption GetFirst( ) const;
03175 FontBaselineOption GetLast( ) const;
03176
03177
03178
03179
03180
03186 FontBaselineOption Item( ATETextDOM::Int32 index) const;
03187
03188 };
03189
03191
03193
03195 class IArrayFontOpenTypePositionOption
03196 {
03197 private:
03198 ArrayFontOpenTypePositionOptionRef fArrayFontOpenTypePositionOption;
03199 public:
03202 IArrayFontOpenTypePositionOption();
03206 IArrayFontOpenTypePositionOption(const IArrayFontOpenTypePositionOption& src);
03210 IArrayFontOpenTypePositionOption& operator=(const IArrayFontOpenTypePositionOption& rhs);
03214 bool operator==(const IArrayFontOpenTypePositionOption& rhs) const;
03218 bool operator!=(const IArrayFontOpenTypePositionOption& rhs) const;
03224 explicit IArrayFontOpenTypePositionOption(ArrayFontOpenTypePositionOptionRef arrayfontopentypepositionoption);
03226 virtual ~IArrayFontOpenTypePositionOption();
03229 ArrayFontOpenTypePositionOptionRef GetRef() const;
03232 bool IsNull() const;
03233
03234
03235
03236
03237
03240 ATETextDOM::Int32 GetSize( ) const;
03243 FontOpenTypePositionOption GetFirst( ) const;
03246 FontOpenTypePositionOption GetLast( ) const;
03247
03248
03249
03250
03251
03257 FontOpenTypePositionOption Item( ATETextDOM::Int32 index) const;
03258
03259 };
03260
03262
03264
03266 class IArrayUnderlinePosition
03267 {
03268 private:
03269 ArrayUnderlinePositionRef fArrayUnderlinePosition;
03270 public:
03273 IArrayUnderlinePosition();
03277 IArrayUnderlinePosition(const IArrayUnderlinePosition& src);
03281 IArrayUnderlinePosition& operator=(const IArrayUnderlinePosition& rhs);
03285 bool operator==(const IArrayUnderlinePosition& rhs) const;
03289 bool operator!=(const IArrayUnderlinePosition& rhs) const;
03295 explicit IArrayUnderlinePosition(ArrayUnderlinePositionRef arrayunderlineposition);
03297 virtual ~IArrayUnderlinePosition();
03300 ArrayUnderlinePositionRef GetRef() const;
03303 bool IsNull() const;
03304
03305
03306
03307
03308
03311 ATETextDOM::Int32 GetSize( ) const;
03314 UnderlinePosition GetFirst( ) const;
03317 UnderlinePosition GetLast( ) const;
03318
03319
03320
03321
03322
03328 UnderlinePosition Item( ATETextDOM::Int32 index) const;
03329
03330 };
03331
03333
03335
03337 class IArrayStrikethroughPosition
03338 {
03339 private:
03340 ArrayStrikethroughPositionRef fArrayStrikethroughPosition;
03341 public:
03344 IArrayStrikethroughPosition();
03348 IArrayStrikethroughPosition(const IArrayStrikethroughPosition& src);
03352 IArrayStrikethroughPosition& operator=(const IArrayStrikethroughPosition& rhs);
03356 bool operator==(const IArrayStrikethroughPosition& rhs) const;
03360 bool operator!=(const IArrayStrikethroughPosition& rhs) const;
03366 explicit IArrayStrikethroughPosition(ArrayStrikethroughPositionRef arraystrikethroughposition);
03368 virtual ~IArrayStrikethroughPosition();
03371 ArrayStrikethroughPositionRef GetRef() const;
03374 bool IsNull() const;
03375
03376
03377
03378
03379
03382 ATETextDOM::Int32 GetSize( ) const;
03385 StrikethroughPosition GetFirst( ) const;
03388 StrikethroughPosition GetLast( ) const;
03389
03390
03391
03392
03393
03399 StrikethroughPosition Item( ATETextDOM::Int32 index) const;
03400
03401 };
03402
03404
03406
03408 class IArrayParagraphJustification
03409 {
03410 private:
03411 ArrayParagraphJustificationRef fArrayParagraphJustification;
03412 public:
03415 IArrayParagraphJustification();
03419 IArrayParagraphJustification(const IArrayParagraphJustification& src);
03423 IArrayParagraphJustification& operator=(const IArrayParagraphJustification& rhs);
03427 bool operator==(const IArrayParagraphJustification& rhs) const;
03431 bool operator!=(const IArrayParagraphJustification& rhs) const;
03437 explicit IArrayParagraphJustification(ArrayParagraphJustificationRef arrayparagraphjustification);
03439 virtual ~IArrayParagraphJustification();
03442 ArrayParagraphJustificationRef GetRef() const;
03445 bool IsNull() const;
03446
03447
03448
03449
03450
03453 ATETextDOM::Int32 GetSize( ) const;
03456 ParagraphJustification GetFirst( ) const;
03459 ParagraphJustification GetLast( ) const;
03460
03461
03462
03463
03464
03470 ParagraphJustification Item( ATETextDOM::Int32 index) const;
03471
03472 };
03473
03475
03477
03478 class IArrayArrayReal
03479 {
03480 private:
03481 ArrayArrayRealRef fArrayArrayReal;
03482 public:
03485 IArrayArrayReal();
03489 IArrayArrayReal(const IArrayArrayReal& src);
03493 IArrayArrayReal& operator=(const IArrayArrayReal& rhs);
03497 bool operator==(const IArrayArrayReal& rhs) const;
03501 bool operator!=(const IArrayArrayReal& rhs) const;
03507 explicit IArrayArrayReal(ArrayArrayRealRef arrayarrayreal);
03509 virtual ~IArrayArrayReal();
03512 ArrayArrayRealRef GetRef() const;
03515 bool IsNull() const;
03516
03517
03518
03519
03520
03523 ATETextDOM::Int32 GetSize( ) const;
03526 IArrayReal GetFirst( ) const;
03529 IArrayReal GetLast( ) const;
03530
03531
03532
03533
03534
03540 IArrayReal Item( ATETextDOM::Int32 index) const;
03541
03542 };
03543
03545
03547
03549 class IArrayBurasagariType
03550 {
03551 private:
03552 ArrayBurasagariTypeRef fArrayBurasagariType;
03553 public:
03556 IArrayBurasagariType();
03560 IArrayBurasagariType(const IArrayBurasagariType& src);
03564 IArrayBurasagariType& operator=(const IArrayBurasagariType& rhs);
03568 bool operator==(const IArrayBurasagariType& rhs) const;
03572 bool operator!=(const IArrayBurasagariType& rhs) const;
03578 explicit IArrayBurasagariType(ArrayBurasagariTypeRef arrayburasagaritype);
03580 virtual ~IArrayBurasagariType();
03583 ArrayBurasagariTypeRef GetRef() const;
03586 bool IsNull() const;
03587
03588
03589
03590
03591
03594 ATETextDOM::Int32 GetSize( ) const;
03597 BurasagariType GetFirst( ) const;
03600 BurasagariType GetLast( ) const;
03601
03602
03603
03604
03605
03611 BurasagariType Item( ATETextDOM::Int32 index) const;
03612
03613 };
03614
03616
03618
03620 class IArrayPreferredKinsokuOrder
03621 {
03622 private:
03623 ArrayPreferredKinsokuOrderRef fArrayPreferredKinsokuOrder;
03624 public:
03627 IArrayPreferredKinsokuOrder();
03631 IArrayPreferredKinsokuOrder(const IArrayPreferredKinsokuOrder& src);
03635 IArrayPreferredKinsokuOrder& operator=(const IArrayPreferredKinsokuOrder& rhs);
03639 bool operator==(const IArrayPreferredKinsokuOrder& rhs) const;
03643 bool operator!=(const IArrayPreferredKinsokuOrder& rhs) const;
03649 explicit IArrayPreferredKinsokuOrder(ArrayPreferredKinsokuOrderRef arraypreferredkinsokuorder);
03651 virtual ~IArrayPreferredKinsokuOrder();
03654 ArrayPreferredKinsokuOrderRef GetRef() const;
03657 bool IsNull() const;
03658
03659
03660
03661
03662
03665 ATETextDOM::Int32 GetSize( ) const;
03668 PreferredKinsokuOrder GetFirst( ) const;
03671 PreferredKinsokuOrder GetLast( ) const;
03672
03673
03674
03675
03676
03682 PreferredKinsokuOrder Item( ATETextDOM::Int32 index) const;
03683
03684 };
03685
03687
03689
03690 class IArrayKinsokuRef
03691 {
03692 private:
03693 ArrayKinsokuRefRef fArrayKinsokuRef;
03694 public:
03697 IArrayKinsokuRef();
03701 IArrayKinsokuRef(const IArrayKinsokuRef& src);
03705 IArrayKinsokuRef& operator=(const IArrayKinsokuRef& rhs);
03709 bool operator==(const IArrayKinsokuRef& rhs) const;
03713 bool operator!=(const IArrayKinsokuRef& rhs) const;
03719 explicit IArrayKinsokuRef(ArrayKinsokuRefRef arraykinsokuref);
03721 virtual ~IArrayKinsokuRef();
03724 ArrayKinsokuRefRef GetRef() const;
03727 bool IsNull() const;
03728
03729
03730
03731
03732
03735 ATETextDOM::Int32 GetSize( ) const;
03738 IKinsoku GetFirst( ) const;
03741 IKinsoku GetLast( ) const;
03742
03743
03744
03745
03746
03752 IKinsoku Item( ATETextDOM::Int32 index) const;
03753
03754 };
03755
03757
03759
03760 class IArrayMojiKumiRef
03761 {
03762 private:
03763 ArrayMojiKumiRefRef fArrayMojiKumiRef;
03764 public:
03767 IArrayMojiKumiRef();
03771 IArrayMojiKumiRef(const IArrayMojiKumiRef& src);
03775 IArrayMojiKumiRef& operator=(const IArrayMojiKumiRef& rhs);
03779 bool operator==(const IArrayMojiKumiRef& rhs) const;
03783 bool operator!=(const IArrayMojiKumiRef& rhs) const;
03789 explicit IArrayMojiKumiRef(ArrayMojiKumiRefRef arraymojikumiref);
03791 virtual ~IArrayMojiKumiRef();
03794 ArrayMojiKumiRefRef GetRef() const;
03797 bool IsNull() const;
03798
03799
03800
03801
03802
03805 ATETextDOM::Int32 GetSize( ) const;
03808 IMojiKumi GetFirst( ) const;
03811 IMojiKumi GetLast( ) const;
03812
03813
03814
03815
03816
03822 IMojiKumi Item( ATETextDOM::Int32 index) const;
03823
03824 };
03825
03827
03829
03830 class IArrayMojiKumiSetRef
03831 {
03832 private:
03833 ArrayMojiKumiSetRefRef fArrayMojiKumiSetRef;
03834 public:
03837 IArrayMojiKumiSetRef();
03841 IArrayMojiKumiSetRef(const IArrayMojiKumiSetRef& src);
03845 IArrayMojiKumiSetRef& operator=(const IArrayMojiKumiSetRef& rhs);
03849 bool operator==(const IArrayMojiKumiSetRef& rhs) const;
03853 bool operator!=(const IArrayMojiKumiSetRef& rhs) const;
03859 explicit IArrayMojiKumiSetRef(ArrayMojiKumiSetRefRef arraymojikumisetref);
03861 virtual ~IArrayMojiKumiSetRef();
03864 ArrayMojiKumiSetRefRef GetRef() const;
03867 bool IsNull() const;
03868
03869
03870
03871
03872
03875 ATETextDOM::Int32 GetSize( ) const;
03878 IMojiKumiSet GetFirst( ) const;
03881 IMojiKumiSet GetLast( ) const;
03882
03883
03884
03885
03886
03892 IMojiKumiSet Item( ATETextDOM::Int32 index) const;
03893
03894 };
03895
03897
03899
03900 class IArrayTabStopsRef
03901 {
03902 private:
03903 ArrayTabStopsRefRef fArrayTabStopsRef;
03904 public:
03907 IArrayTabStopsRef();
03911 IArrayTabStopsRef(const IArrayTabStopsRef& src);
03915 IArrayTabStopsRef& operator=(const IArrayTabStopsRef& rhs);
03919 bool operator==(const IArrayTabStopsRef& rhs) const;
03923 bool operator!=(const IArrayTabStopsRef& rhs) const;
03929 explicit IArrayTabStopsRef(ArrayTabStopsRefRef arraytabstopsref);
03931 virtual ~IArrayTabStopsRef();
03934 ArrayTabStopsRefRef GetRef() const;
03937 bool IsNull() const;
03938
03939
03940
03941
03942
03945 ATETextDOM::Int32 GetSize( ) const;
03948 ITabStops GetFirst( ) const;
03951 ITabStops GetLast( ) const;
03952
03953
03954
03955
03956
03962 ITabStops Item( ATETextDOM::Int32 index) const;
03963
03964 };
03965
03967
03969
03971 class IArrayLeadingType
03972 {
03973 private:
03974 ArrayLeadingTypeRef fArrayLeadingType;
03975 public:
03978 IArrayLeadingType();
03982 IArrayLeadingType(const IArrayLeadingType& src);
03986 IArrayLeadingType& operator=(const IArrayLeadingType& rhs);
03990 bool operator==(const IArrayLeadingType& rhs) const;
03994 bool operator!=(const IArrayLeadingType& rhs) const;
04000 explicit IArrayLeadingType(ArrayLeadingTypeRef arrayleadingtype);
04002 virtual ~IArrayLeadingType();
04005 ArrayLeadingTypeRef GetRef() const;
04008 bool IsNull() const;
04009
04010
04011
04012
04013
04016 ATETextDOM::Int32 GetSize( ) const;
04019 LeadingType GetFirst( ) const;
04022 LeadingType GetLast( ) const;
04023
04024
04025
04026
04027
04033 LeadingType Item( ATETextDOM::Int32 index) const;
04034
04035 };
04036
04038
04040
04041 class IArrayFontRef
04042 {
04043 private:
04044 ArrayFontRefRef fArrayFontRef;
04045 public:
04048 IArrayFontRef();
04052 IArrayFontRef(const IArrayFontRef& src);
04056 IArrayFontRef& operator=(const IArrayFontRef& rhs);
04060 bool operator==(const IArrayFontRef& rhs) const;
04064 bool operator!=(const IArrayFontRef& rhs) const;
04070 explicit IArrayFontRef(ArrayFontRefRef arrayfontref);
04072 virtual ~IArrayFontRef();
04075 ArrayFontRefRef GetRef() const;
04078 bool IsNull() const;
04079
04080
04081
04082
04083
04086 ATETextDOM::Int32 GetSize( ) const;
04089 IFont GetFirst( ) const;
04092 IFont GetLast( ) const;
04093
04094
04095
04096
04097
04103 IFont Item( ATETextDOM::Int32 index) const;
04104
04105 };
04106
04108
04110
04111 class IArrayGlyphID
04112 {
04113 private:
04114 ArrayGlyphIDRef fArrayGlyphID;
04115 public:
04118 IArrayGlyphID();
04122 IArrayGlyphID(const IArrayGlyphID& src);
04126 IArrayGlyphID& operator=(const IArrayGlyphID& rhs);
04130 bool operator==(const IArrayGlyphID& rhs) const;
04134 bool operator!=(const IArrayGlyphID& rhs) const;
04140 explicit IArrayGlyphID(ArrayGlyphIDRef arrayglyphid);
04142 virtual ~IArrayGlyphID();
04145 ArrayGlyphIDRef GetRef() const;
04148 bool IsNull() const;
04149
04150
04151
04152
04153
04156 ATETextDOM::Int32 GetSize( ) const;
04159 ATEGlyphID GetFirst( ) const;
04162 ATEGlyphID GetLast( ) const;
04163
04164
04165
04166
04167
04173 ATEGlyphID Item( ATETextDOM::Int32 index) const;
04174
04175 };
04176
04178
04180
04182 class IArrayRealPoint
04183 {
04184 private:
04185 ArrayRealPointRef fArrayRealPoint;
04186 public:
04189 IArrayRealPoint();
04193 IArrayRealPoint(const IArrayRealPoint& src);
04197 IArrayRealPoint& operator=(const IArrayRealPoint& rhs);
04201 bool operator==(const IArrayRealPoint& rhs) const;
04205 bool operator!=(const IArrayRealPoint& rhs) const;
04211 explicit IArrayRealPoint(ArrayRealPointRef arrayrealpoint);
04213 virtual ~IArrayRealPoint();
04216 ArrayRealPointRef GetRef() const;
04219 bool IsNull() const;
04220
04221
04222
04223
04224
04227 ATETextDOM::Int32 GetSize( ) const;
04230 ATETextDOM::RealPoint GetFirst( ) const;
04233 ATETextDOM::RealPoint GetLast( ) const;
04234
04235
04236
04237
04238
04244 ATETextDOM::RealPoint Item( ATETextDOM::Int32 index) const;
04245
04246 };
04247
04249
04251
04252 class IArrayRealMatrix
04253 {
04254 private:
04255 ArrayRealMatrixRef fArrayRealMatrix;
04256 public:
04259 IArrayRealMatrix();
04263 IArrayRealMatrix(const IArrayRealMatrix& src);
04267 IArrayRealMatrix& operator=(const IArrayRealMatrix& rhs);
04271 bool operator==(const IArrayRealMatrix& rhs) const;
04275 bool operator!=(const IArrayRealMatrix& rhs) const;
04281 explicit IArrayRealMatrix(ArrayRealMatrixRef arrayrealmatrix);
04283 virtual ~IArrayRealMatrix();
04286 ArrayRealMatrixRef GetRef() const;
04289 bool IsNull() const;
04290
04291
04292
04293
04294
04297 ATETextDOM::Int32 GetSize( ) const;
04300 ATETextDOM::RealMatrix GetFirst( ) const;
04303 ATETextDOM::RealMatrix GetLast( ) const;
04304
04305
04306
04307
04308
04314 ATETextDOM::RealMatrix Item( ATETextDOM::Int32 index) const;
04315
04316 };
04317
04319
04321
04324 class IArrayLine
04325 {
04326 private:
04327 ArrayLineRef fArrayLine;
04328 public:
04331 IArrayLine();
04335 IArrayLine(const IArrayLine& src);
04339 IArrayLine& operator=(const IArrayLine& rhs);
04343 bool operator==(const IArrayLine& rhs) const;
04347 bool operator!=(const IArrayLine& rhs) const;
04353 explicit IArrayLine(ArrayLineRef ArrayLineRef);
04355 virtual ~IArrayLine();
04358 ArrayLineRef GetRef() const;
04361 bool IsNull() const;
04362
04363
04364
04365
04366
04369 ATETextDOM::Int32 GetSize( ) const;
04370
04371
04372
04373
04381 void Item( ATETextDOM::Int32 index, ATETextDOM::FloatPoint* lineStart, ATETextDOM::FloatPoint* lineEnd) const;
04382 };
04383
04385
04387
04389 class IArrayComposerEngine
04390 {
04391 private:
04392 ArrayComposerEngineRef fArrayComposerEngine;
04393 public:
04396 IArrayComposerEngine();
04400 IArrayComposerEngine(const IArrayComposerEngine& src);
04404 IArrayComposerEngine& operator=(const IArrayComposerEngine& rhs);
04408 bool operator==(const IArrayComposerEngine& rhs) const;
04412 bool operator!=(const IArrayComposerEngine& rhs) const;
04418 explicit IArrayComposerEngine(ArrayComposerEngineRef arraycomposerengine);
04420 virtual ~IArrayComposerEngine();
04423 ArrayComposerEngineRef GetRef() const;
04426 bool IsNull() const;
04427
04428
04429
04430
04431
04434 ATETextDOM::Int32 GetSize( ) const;
04437 ComposerEngine GetFirst( ) const;
04440 ComposerEngine GetLast( ) const;
04441
04442
04443
04444
04445
04451 ComposerEngine Item( ATETextDOM::Int32 index) const;
04452
04453 };
04454 #if SLO_COMPLEXSCRIPT // Middle Eastern specific features only
04456 // --IArrayParagraphDirection--
04458
04460 class IArrayParagraphDirection
04461 {
04462 private:
04463 ArrayParagraphDirectionRef fArrayParagraphDirection;
04464 public:
04467 IArrayParagraphDirection();
04471 IArrayParagraphDirection(const IArrayParagraphDirection& src);
04475 IArrayParagraphDirection& operator=(const IArrayParagraphDirection& rhs);
04479 bool operator==(const IArrayParagraphDirection& rhs) const;
04483 bool operator!=(const IArrayParagraphDirection& rhs) const;
04489 explicit IArrayParagraphDirection(ArrayParagraphDirectionRef arrayparagraphdirection);
04491 virtual ~IArrayParagraphDirection();
04494 ArrayParagraphDirectionRef GetRef() const;
04497 bool IsNull() const;
04498
04499
04500
04501
04502
04505 ATETextDOM::Int32 GetSize( ) const;
04508 ParagraphDirection GetFirst( ) const;
04511 ParagraphDirection GetLast( ) const;
04512
04513
04514
04515
04516
04522 ParagraphDirection Item( ATETextDOM::Int32 index) const;
04523
04524 };
04525
04527
04529
04531 class IArrayJustificationMethod
04532 {
04533 private:
04534 ArrayJustificationMethodRef fArrayJustificationMethod;
04535 public:
04538 IArrayJustificationMethod();
04542 IArrayJustificationMethod(const IArrayJustificationMethod& src);
04546 IArrayJustificationMethod& operator=(const IArrayJustificationMethod& rhs);
04550 bool operator==(const IArrayJustificationMethod& rhs) const;
04554 bool operator!=(const IArrayJustificationMethod& rhs) const;
04560 explicit IArrayJustificationMethod(ArrayJustificationMethodRef arrayjustificationmethod);
04562 virtual ~IArrayJustificationMethod();
04565 ArrayJustificationMethodRef GetRef() const;
04568 bool IsNull() const;
04569
04570
04571
04572
04573
04576 ATETextDOM::Int32 GetSize( ) const;
04579 JustificationMethod GetFirst( ) const;
04582 JustificationMethod GetLast( ) const;
04583
04584
04585
04586
04587
04593 JustificationMethod Item( ATETextDOM::Int32 index) const;
04594
04595 };
04596
04598
04600
04602 class IArrayKashidaWidth
04603 {
04604 private:
04605 ArrayKashidaWidthRef fArrayKashidaWidth;
04606 public:
04609 IArrayKashidaWidth();
04613 IArrayKashidaWidth(const IArrayKashidaWidth& src);
04617 IArrayKashidaWidth& operator=(const IArrayKashidaWidth& rhs);
04621 bool operator==(const IArrayKashidaWidth& rhs) const;
04625 bool operator!=(const IArrayKashidaWidth& rhs) const;
04631 explicit IArrayKashidaWidth(ArrayKashidaWidthRef arraykashidawidth);
04633 virtual ~IArrayKashidaWidth();
04636 ArrayKashidaWidthRef GetRef() const;
04639 bool IsNull() const;
04640
04641
04642
04643
04644
04647 ATETextDOM::Int32 GetSize( ) const;
04650 KashidaWidth GetFirst( ) const;
04653 KashidaWidth GetLast( ) const;
04654
04655
04656
04657
04658
04664 KashidaWidth Item( ATETextDOM::Int32 index) const;
04665
04666 };
04667
04669
04671
04673 class IArrayKashidas
04674 {
04675 private:
04676 ArrayKashidasRef fArrayKashidas;
04677 public:
04680 IArrayKashidas();
04684 IArrayKashidas(const IArrayKashidas& src);
04688 IArrayKashidas& operator=(const IArrayKashidas& rhs);
04692 bool operator==(const IArrayKashidas& rhs) const;
04696 bool operator!=(const IArrayKashidas& rhs) const;
04702 explicit IArrayKashidas(ArrayKashidasRef arraykashidas);
04704 virtual ~IArrayKashidas();
04707 ArrayKashidasRef GetRef() const;
04710 bool IsNull() const;
04711
04712
04713
04714
04715
04718 ATETextDOM::Int32 GetSize( ) const;
04721 Kashidas GetFirst( ) const;
04724 Kashidas GetLast( ) const;
04725
04726
04727
04728
04729
04735 Kashidas Item( ATETextDOM::Int32 index) const;
04736
04737 };
04738
04740
04742
04744 class IArrayDirOverride
04745 {
04746 private:
04747 ArrayDirOverrideRef fArrayDirOverride;
04748 public:
04751 IArrayDirOverride();
04755 IArrayDirOverride(const IArrayDirOverride& src);
04759 IArrayDirOverride& operator=(const IArrayDirOverride& rhs);
04763 bool operator==(const IArrayDirOverride& rhs) const;
04767 bool operator!=(const IArrayDirOverride& rhs) const;
04773 explicit IArrayDirOverride(ArrayDirOverrideRef arraydiroverride);
04775 virtual ~IArrayDirOverride();
04778 ArrayDirOverrideRef GetRef() const;
04781 bool IsNull() const;
04782
04783
04784
04785
04786
04789 ATETextDOM::Int32 GetSize( ) const;
04792 DirOverride GetFirst( ) const;
04795 DirOverride GetLast( ) const;
04796
04797
04798
04799
04800
04806 DirOverride Item( ATETextDOM::Int32 index) const;
04807
04808 };
04809
04811
04813
04815 class IArrayDigitSet
04816 {
04817 private:
04818 ArrayDigitSetRef fArrayDigitSet;
04819 public:
04822 IArrayDigitSet();
04826 IArrayDigitSet(const IArrayDigitSet& src);
04830 IArrayDigitSet& operator=(const IArrayDigitSet& rhs);
04834 bool operator==(const IArrayDigitSet& rhs) const;
04838 bool operator!=(const IArrayDigitSet& rhs) const;
04844 explicit IArrayDigitSet(ArrayDigitSetRef arraydigitset);
04846 virtual ~IArrayDigitSet();
04849 ArrayDigitSetRef GetRef() const;
04852 bool IsNull() const;
04853
04854
04855
04856
04857
04860 ATETextDOM::Int32 GetSize( ) const;
04863 DigitSet GetFirst( ) const;
04866 DigitSet GetLast( ) const;
04867
04868
04869
04870
04871
04877 DigitSet Item( ATETextDOM::Int32 index) const;
04878
04879 };
04880
04882
04884
04886 class IArrayDiacVPos
04887 {
04888 private:
04889 ArrayDiacVPosRef fArrayDiacVPos;
04890 public:
04893 IArrayDiacVPos();
04897 IArrayDiacVPos(const IArrayDiacVPos& src);
04901 IArrayDiacVPos& operator=(const IArrayDiacVPos& rhs);
04905 bool operator==(const IArrayDiacVPos& rhs) const;
04909 bool operator!=(const IArrayDiacVPos& rhs) const;
04915 explicit IArrayDiacVPos(ArrayDiacVPosRef arraydiacvpos);
04917 virtual ~IArrayDiacVPos();
04920 ArrayDiacVPosRef GetRef() const;
04923 bool IsNull() const;
04924
04925
04926
04927
04928
04931 ATETextDOM::Int32 GetSize( ) const;
04934 DiacVPos GetFirst( ) const;
04937 DiacVPos GetLast( ) const;
04938
04939
04940
04941
04942
04948 DiacVPos Item( ATETextDOM::Int32 index) const;
04949
04950 };
04951 #endif
04952
04953
04955
04957
04979 class ICharFeatures
04980 {
04981 private:
04982 CharFeaturesRef fCharFeatures;
04983 public:
04987 ICharFeatures();
04991 ICharFeatures(const ICharFeatures& src);
04995 ICharFeatures& operator=(const ICharFeatures& rhs);
04999 bool operator==(const ICharFeatures& rhs) const;
05003 bool operator!=(const ICharFeatures& rhs) const;
05009 explicit ICharFeatures(CharFeaturesRef charfeatures);
05011 virtual ~ICharFeatures();
05014 CharFeaturesRef GetRef() const;
05017 bool IsNull() const;
05018
05021 ICharFeatures Clone( ) const;
05022
05024
05026
05031 IFont GetFont( bool* isAssigned) const;
05036 ATETextDOM::Real GetFontSize( bool* isAssigned) const;
05041 ATETextDOM::Real GetHorizontalScale( bool* isAssigned) const;
05046 ATETextDOM::Real GetVerticalScale( bool* isAssigned) const;
05051 bool GetAutoLeading( bool* isAssigned) const;
05056 ATETextDOM::Real GetLeading( bool* isAssigned) const;
05061 ATETextDOM::Int32 GetTracking( bool* isAssigned) const;
05066 ATETextDOM::Real GetBaselineShift( bool* isAssigned) const;
05071 ATETextDOM::Real GetCharacterRotation( bool* isAssigned) const;
05080 AutoKernType GetAutoKernType( bool* isAssigned) const;
05081
05086 FontCapsOption GetFontCapsOption( bool* isAssigned) const;
05091 FontBaselineOption GetFontBaselineOption( bool* isAssigned) const;
05096 FontOpenTypePositionOption GetFontOpenTypePositionOption( bool* isAssigned) const;
05101 StrikethroughPosition GetStrikethroughPosition( bool* isAssigned) const;
05106 UnderlinePosition GetUnderlinePosition( bool* isAssigned) const;
05111 ATETextDOM::Real GetUnderlineOffset( bool* isAssigned) const;
05112
05113
05114
05119 bool GetLigature( bool* isAssigned) const;
05124 bool GetDiscretionaryLigatures( bool* isAssigned) const;
05129 bool GetContextualLigatures( bool* isAssigned) const;
05134 bool GetAlternateLigatures( bool* isAssigned) const;
05139 bool GetOldStyle( bool* isAssigned) const;
05144 bool GetFractions( bool* isAssigned) const;
05149 bool GetOrdinals( bool* isAssigned) const;
05154 bool GetSwash( bool* isAssigned) const;
05159 bool GetTitling( bool* isAssigned) const;
05164 bool GetConnectionForms( bool* isAssigned) const;
05169 bool GetStylisticAlternates( bool* isAssigned) const;
05173 ATETextDOM::Int32 GetStylisticSets(bool* isAssigned) const;
05178 bool GetOrnaments( bool* isAssigned) const;
05183 FigureStyle GetFigureStyle( bool* isAssigned) const;
05184
05185
05186
05191 bool GetProportionalMetrics( bool* isAssigned) const;
05196 bool GetKana( bool* isAssigned) const;
05201 bool GetRuby( bool* isAssigned) const;
05206 bool GetItalics( bool* isAssigned) const;
05211 BaselineDirection GetBaselineDirection( bool* isAssigned) const;
05216 Language GetLanguage( bool* isAssigned) const;
05221 JapaneseAlternateFeature GetJapaneseAlternateFeature( bool* isAssigned) const;
05226 ATETextDOM::Real GetTsume( bool* isAssigned) const;
05231 StyleRunAlignment GetStyleRunAlignment( bool* isAssigned) const;
05232
05233
05234
05239 bool GetWariChuEnabled( bool* isAssigned) const;
05244 ATETextDOM::Int32 GetWariChuLineCount( bool* isAssigned) const;
05249 ATETextDOM::Int32 GetWariChuLineGap( bool* isAssigned) const;
05254 ATETextDOM::Real GetWariChuScale( bool* isAssigned) const;
05259 ATETextDOM::Real GetWariChuSize( bool* isAssigned) const;
05264 ATETextDOM::Int32 GetWariChuWidowAmount( bool* isAssigned) const;
05269 ATETextDOM::Int32 GetWariChuOrphanAmount( bool* isAssigned) const;
05274 WariChuJustification GetWariChuJustification( bool* isAssigned) const;
05279 ATETextDOM::Int32 GetTCYUpDownAdjustment( bool* isAssigned) const;
05284 ATETextDOM::Int32 GetTCYLeftRightAdjustment( bool* isAssigned) const;
05289 ATETextDOM::Real GetLeftAki( bool* isAssigned) const;
05294 ATETextDOM::Real GetRightAki( bool* isAssigned) const;
05295
05296
05297
05302 bool GetNoBreak( bool* isAssigned) const;
05307 IApplicationPaint GetFillColor( bool* isAssigned) const;
05312 IApplicationPaint GetStrokeColor( bool* isAssigned) const;
05317 bool GetFill( bool* isAssigned) const;
05322 bool GetFillVisible( bool* isAssigned) const;
05327 bool GetStroke( bool* isAssigned) const;
05332 bool GetStrokeVisible( bool* isAssigned) const;
05337 bool GetFillFirst( bool* isAssigned) const;
05342 bool GetFillOverPrint( bool* isAssigned) const;
05347 bool GetStrokeOverPrint( bool* isAssigned) const;
05352 IApplicationPaint GetFillBackgroundColor( bool* isAssigned) const;
05357 bool GetFillBackground( bool* isAssigned) const;
05362 LineCapType GetLineCap( bool* isAssigned) const;
05367 LineJoinType GetLineJoin( bool* isAssigned) const;
05372 ATETextDOM::Real GetLineWidth( bool* isAssigned) const;
05377 ATETextDOM::Real GetMiterLimit( bool* isAssigned) const;
05382 ATETextDOM::Real GetLineDashOffset( bool* isAssigned) const;
05387 IArrayReal GetLineDashArray( bool* isAssigned) const;
05388
05389 #if SLO_COMPLEXSCRIPT // Middle Eastern specific features only
05390
05391
05392
05393
05399 Kashidas GetKashidas( bool* isAssigned) const;
05405 DirOverride GetDirOverride( bool* isAssigned) const;
05411 DigitSet GetDigitSet( bool* isAssigned) const;
05418 DiacVPos GetDiacVPos( bool* isAssigned) const;
05425 ATETextDOM::Real GetDiacXOffset( bool* isAssigned) const;
05432 ATETextDOM::Real GetDiacYOffset( bool* isAssigned) const;
05438 bool GetAutoMydfb( bool* isAssigned) const;
05445 ATETextDOM::Real GetMarkYDistFromBaseline( bool* isAssigned) const;
05452 bool GetOverlapSwash( bool* isAssigned) const;
05459 bool GetJustificationAlternates( bool* isAssigned) const;
05465 bool GetStretchedAlternates( bool* isAssigned) const;
05466 #endif
05467
05469
05471
05476 void SetFont( IFont newVal);
05481 void SetFontSize( ATETextDOM::Real newVal);
05486 void SetHorizontalScale( ATETextDOM::Real newVal);
05491 void SetVerticalScale( ATETextDOM::Real newVal);
05496 void SetAutoLeading( bool newVal);
05501 void SetLeading( ATETextDOM::Real newVal);
05506 void SetTracking( ATETextDOM::Int32 newVal);
05511 void SetBaselineShift( ATETextDOM::Real newVal);
05516 void SetCharacterRotation( ATETextDOM::Real newVal);
05522 void SetAutoKernType( AutoKernType newVal);
05527 void SetFontCapsOption( FontCapsOption newVal);
05532 void SetFontBaselineOption( FontBaselineOption newVal);
05537 void SetFontOpenTypePositionOption( FontOpenTypePositionOption newVal);
05542 void SetStrikethroughPosition( StrikethroughPosition newVal);
05547 void SetUnderlinePosition( UnderlinePosition newVal);
05552 void SetUnderlineOffset( ATETextDOM::Real newVal);
05553
05554
05555
05560 void SetLigature( bool newVal);
05565 void SetDiscretionaryLigatures( bool newVal);
05570 void SetContextualLigatures( bool newVal);
05575 void SetAlternateLigatures( bool newVal);
05580 void SetOldStyle( bool newVal);
05585 void SetFractions( bool newVal);
05590 void SetOrdinals( bool newVal);
05595 void SetSwash( bool newVal);
05600 void SetTitling( bool newVal);
05605 void SetConnectionForms( bool newVal);
05610 void SetStylisticAlternates( bool newVal);
05611
05614 void SetStylisticSets(ATETextDOM::Int32 newVal);
05619 void SetOrnaments( bool newVal);
05624 void SetFigureStyle( FigureStyle newVal);
05625
05626
05627
05631 void SetProportionalMetrics( bool newVal);
05635 void SetKana( bool newVal);
05639 void SetItalics( bool newVal);
05643 void SetRuby( bool newVal);
05647 void SetBaselineDirection( BaselineDirection newVal);
05651 void SetLanguage( Language newVal);
05655 void SetJapaneseAlternateFeature( JapaneseAlternateFeature newVal);
05659 void SetTsume( ATETextDOM::Real newVal);
05663 void SetStyleRunAlignment( StyleRunAlignment newVal);
05664
05665
05666
05670 void SetWariChuEnabled( bool newVal);
05674 void SetWariChuLineCount( ATETextDOM::Int32 newVal);
05678 void SetWariChuLineGap( ATETextDOM::Int32 newVal);
05682 void SetWariChuScale( ATETextDOM::Real newVal);
05686 void SetWariChuSize( ATETextDOM::Real newVal);
05690 void SetWariChuWidowAmount( ATETextDOM::Int32 newVal);
05694 void SetWariChuOrphanAmount( ATETextDOM::Int32 newVal);
05698 void SetWariChuJustification( WariChuJustification newVal);
05702 void SetTCYUpDownAdjustment( ATETextDOM::Int32 newVal);
05706 void SetTCYLeftRightAdjustment( ATETextDOM::Int32 newVal);
05710 void SetLeftAki( ATETextDOM::Real newVal);
05714 void SetRightAki( ATETextDOM::Real newVal);
05715
05716
05717
05721 void SetNoBreak( bool newVal);
05725 void SetFillColor( IApplicationPaint newVal);
05729 void SetStrokeColor( IApplicationPaint newVal);
05733 void SetFill( bool newVal);
05737 void SetFillVisible( bool newVal);
05741 void SetStroke( bool newVal);
05745 void SetStrokeVisible( bool newVal);
05749 void SetFillFirst( bool newVal);
05753 void SetFillOverPrint( bool newVal);
05757 void SetStrokeOverPrint( bool newVal);
05761 void SetFillBackgroundColor( IApplicationPaint newVal);
05765 void SetFillBackground( bool newVal);
05769 void SetLineCap( LineCapType newVal);
05773 void SetLineJoin( LineJoinType newVal);
05777 void SetLineWidth( ATETextDOM::Real newVal);
05781 void SetMiterLimit( ATETextDOM::Real newVal);
05785 void SetLineDashOffset( ATETextDOM::Real newVal);
05789 void SetLineDashArray( IArrayReal newVal);
05790
05791 #if SLO_COMPLEXSCRIPT // Middle Eastern specific features only
05792
05793
05794
05795
05800 void SetKashidas( Kashidas newVal);
05805 void SetDirOverride( DirOverride newVal);
05810 void SetDigitSet( DigitSet newVal);
05815 void SetDiacVPos( DiacVPos newVal);
05820 void SetDiacXOffset( ATETextDOM::Real newVal);
05825 void SetDiacYOffset( ATETextDOM::Real newVal);
05830 void SetAutoMydfb( bool newVal);
05835 void SetMarkYDistFromBaseline( ATETextDOM::Real newVal);
05840 void SetOverlapSwash( bool newVal);
05845 void SetJustificationAlternates( bool newVal);
05850 void SetStretchedAlternates( bool newVal);
05851 #endif
05852
05853
05854
05855
05856
05859 void ClearFont( );
05862 void ClearFontSize( );
05865 void ClearHorizontalScale( );
05868 void ClearVerticalScale( );
05871 void ClearAutoLeading( );
05874 void ClearLeading( );
05877 void ClearTracking( );
05880 void ClearBaselineShift( );
05883 void ClearCharacterRotation( );
05887 void ClearAutoKernType( );
05890 void ClearFontCapsOption( );
05893 void ClearFontBaselineOption( );
05896 void ClearFontOpenTypePositionOption( );
05899 void ClearStrikethroughPosition( );
05902 void ClearUnderlinePosition( );
05905 void ClearUnderlineOffset( );
05906
05907
05908
05911 void ClearLigature( );
05914 void ClearDiscretionaryLigatures( );
05917 void ClearContextualLigatures( );
05920 void ClearAlternateLigatures( );
05923 void ClearOldStyle( );
05926 void ClearFractions( );
05929 void ClearOrdinals( );
05932 void ClearSwash( );
05935 void ClearTitling( );
05938 void ClearConnectionForms( );
05941 void ClearStylisticAlternates( );
05944 void ClearStylisticSets();
05947 void ClearOrnaments( );
05950 void ClearFigureStyle( );
05951
05952
05953
05956 void ClearProportionalMetrics( );
05959 void ClearKana( );
05962 void ClearItalics( );
05965 void ClearRuby( );
05968 void ClearBaselineDirection( );
05971 void ClearLanguage( );
05974 void ClearJapaneseAlternateFeature( );
05977 void ClearTsume( );
05980 void ClearStyleRunAlignment( );
05981
05982
05983
05986 void ClearWariChuEnabled( );
05989 void ClearWariChuLineCount( );
05992 void ClearWariChuLineGap( );
05995 void ClearWariChuSubLineAmount( );
05998 void ClearWariChuWidowAmount( );
06001 void ClearWariChuOrphanAmount( );
06004 void ClearWariChuJustification( );
06007 void ClearTCYUpDownAdjustment( );
06010 void ClearTCYLeftRightAdjustment( );
06013 void ClearLeftAki( );
06016 void ClearRightAki( );
06017
06018
06019
06022 void ClearNoBreak( );
06025 void ClearFillColor( );
06028 void ClearStrokeColor( );
06031 void ClearFill( );
06034 void ClearFillVisible( );
06037 void ClearStroke( );
06040 void ClearStrokeVisible( );
06043 void ClearFillFirst( );
06046 void ClearFillOverPrint( );
06049 void ClearStrokeOverPrint( );
06052 void ClearFillBackgroundColor( );
06055 void ClearFillBackground( );
06058 void ClearLineCap( );
06061 void ClearLineJoin( );
06064 void ClearLineWidth( );
06067 void ClearMiterLimit( );
06070 void ClearLineDashOffset( );
06073 void ClearLineDashArray( );
06074
06075 #if SLO_COMPLEXSCRIPT // Middle Eastern specific features only
06076
06077
06078
06079
06083 void ClearKashidas( );
06087 void ClearDirOverride( );
06091 void ClearDigitSet( );
06095 void ClearDiacVPos( );
06099 void ClearDiacXOffset( );
06103 void ClearDiacYOffset( );
06107 void ClearAutoMydfb( );
06111 void ClearMarkYDistFromBaseline( );
06115 void ClearOverlapSwash( );
06119 void ClearJustificationAlternates( );
06123 void ClearStretchedAlternates( );
06124 #endif
06125
06127
06129
06136 bool IntersectFeatures( ICharFeatures rhs);
06141 bool ReplaceOrAddFeatures( ICharFeatures rhs);
06146 bool UnassignEachIfEqual( ICharFeatures rhs);
06147
06150 bool IsEachNotAssigned( ) const;
06153 bool IsEachAssigned( ) const;
06154
06155 };
06156
06158
06160
06171 class ICharInspector
06172 {
06173 private:
06174 CharInspectorRef fCharInspector;
06175 public:
06179 ICharInspector();
06183 ICharInspector(const ICharInspector& src);
06187 ICharInspector& operator=(const ICharInspector& rhs);
06191 bool operator==(const ICharInspector& rhs) const;
06195 bool operator!=(const ICharInspector& rhs) const;
06201 explicit ICharInspector(CharInspectorRef charinspector);
06203 virtual ~ICharInspector();
06206 CharInspectorRef GetRef() const;
06209 bool IsNull() const;
06210
06211
06212
06213
06214
06217 IArrayFontRef GetFont( ) const;
06220 IArrayReal GetFontSize( ) const;
06223 IArrayReal GetHorizontalScale( ) const;
06226 IArrayReal GetVerticalScale( ) const;
06229 IArrayBool GetSyntheticBold( ) const;
06232 IArrayBool GetSyntheticItalic( ) const;
06235 IArrayBool GetAutoLeading( ) const;
06238 IArrayReal GetLeading( ) const;
06241 IArrayInteger GetTracking( ) const;
06244 IArrayReal GetBaselineShift( ) const;
06247 IArrayReal GetCharacterRotation( ) const;
06250 IArrayFontCapsOption GetFontCapsOption( ) const;
06253 IArrayFontBaselineOption GetFontBaselineOption( ) const;
06256 IArrayFontOpenTypePositionOption GetFontOpenTypePositionOption( ) const;
06259 IArrayStrikethroughPosition GetStrikethroughPosition( ) const;
06262 IArrayUnderlinePosition GetUnderlinePosition( ) const;
06265 IArrayReal GetUnderlineOffset( ) const;
06266
06267
06268
06269
06272 IArrayBool GetLigature( ) const;
06275 IArrayBool GetDiscretionaryLigatures( ) const;
06278 IArrayBool GetContextualLigatures( ) const;
06281 IArrayBool GetAlternateLigatures( ) const;
06284 IArrayBool GetOldStyle( ) const;
06287 IArrayBool GetFractions( ) const;
06290 IArrayBool GetOrdinals( ) const;
06293 IArrayBool GetSwash( ) const;
06296 IArrayBool GetTitling( ) const;
06299 IArrayBool GetConnectionForms( ) const;
06302 IArrayBool GetStylisticAlternates( ) const;
06305 IArrayInteger GetStylisticSets( ) const;
06308 IArrayBool GetOrnaments( ) const;
06311 IArrayFigureStyle GetFigureStyle( ) const;
06312
06313
06314
06317 IArrayBool GetProportionalMetrics( ) const;
06320 IArrayBool GetKana( ) const;
06323 IArrayBool GetItalics( ) const;
06326 IArrayBool GetRuby( ) const;
06329 IArrayBaselineDirection GetBaselineDirection( ) const;
06332 IArrayLanguage GetLanguage( ) const;
06335 IArrayReal GetTsume( ) const;
06338 IArrayStyleRunAlignment GetStyleRunAlignment( ) const;
06339
06340
06341
06344 IArrayInteger GetWariChuLineCount( ) const;
06347 IArrayInteger GetWariChuLineGap( ) const;
06350 IArrayReal GetWariChuScale( ) const;
06353 IArrayReal GetWariChuSize( ) const;
06356 IArrayInteger GetWariChuWidowAmount( ) const;
06359 IArrayInteger GetWariChuOrphanAmount( ) const;
06362 IArrayWariChuJustification GetWariChuJustification( ) const;
06365 IArrayBool GetWariChuEnabled( ) const;
06368 IArrayInteger GetTCYUpDownAdjustment( ) const;
06371 IArrayInteger GetTCYLeftRightAdjustment( ) const;
06374 IArrayReal GetLeftAki( ) const;
06377 IArrayReal GetRightAki( ) const;
06378
06379
06380
06381
06382
06385 IArrayBool GetNoBreak( ) const;
06388 IArrayApplicationPaintRef GetFillColor( ) const;
06391 IArrayApplicationPaintRef GetStrokeColor( ) const;
06394 IArrayBool GetFill( ) const;
06397 IArrayBool GetFillVisible( ) const;
06400 IArrayBool GetStroke( ) const;
06403 IArrayBool GetStrokeVisible( ) const;
06406 IArrayBool GetFillFirst( ) const;
06409 IArrayBool GetFillOverPrint( ) const;
06412 IArrayBool GetStrokeOverPrint( ) const;
06415 IArrayApplicationPaintRef GetFillBackgroundColor( ) const;
06418 IArrayBool GetFillBackground( ) const;
06421 IArrayLineCapType GetLineCap( ) const;
06424 IArrayLineJoinType GetLineJoin( ) const;
06427 IArrayReal GetLineWidth( ) const;
06430 IArrayReal GetMiterLimit( ) const;
06433 IArrayReal GetLineDashOffset( ) const;
06436 IArrayArrayReal GetLineDashArray( ) const;
06437
06438 #if SLO_COMPLEXSCRIPT // Middle Eastern specific features only
06439
06440
06441
06442
06446 IArrayKashidas GetKashidas( ) const;
06450 IArrayDirOverride GetDirOverride( ) const;
06454 IArrayDigitSet GetDigitSet( ) const;
06458 IArrayDiacVPos GetDiacVPos( ) const;
06462 IArrayReal GetDiacXOffset( ) const;
06466 IArrayReal GetDiacYOffset( ) const;
06470 IArrayBool GetAutoMydfb( ) const;
06474 IArrayReal GetMarkYDistFromBaseline( ) const;
06478 IArrayBool GetOverlapSwash( ) const;
06482 IArrayBool GetJustificationAlternates( ) const;
06486 IArrayBool GetStretchedAlternates( ) const;
06487 #endif
06488
06489 };
06490
06492
06494
06510 class ICharStyle
06511 {
06512 private:
06513 CharStyleRef fCharStyle;
06514 public:
06518 ICharStyle();
06522 ICharStyle(const ICharStyle& src);
06526 ICharStyle& operator=(const ICharStyle& rhs);
06530 bool operator==(const ICharStyle& rhs) const;
06534 bool operator!=(const ICharStyle& rhs) const;
06540 explicit ICharStyle(CharStyleRef charstyle);
06542 virtual ~ICharStyle();
06545 CharStyleRef GetRef() const;
06548 bool IsNull() const;
06549
06550
06551
06552
06553
06559 ATETextDOM::Int32 GetName( ATETextDOM::Unicode* pName, ATETextDOM::Int32 maxLength) const;
06565 bool SetName( const ATETextDOM::Unicode* pName);
06569 ICharStyle GetParent( ) const;
06575 bool SetParent( const ICharStyle pStyle);
06579 bool HasParent( ) const;
06583 ICharFeatures GetFeatures( ) const;
06590 void SetFeatures( ICharFeatures pFeatures);
06598 void ReplaceOrAddFeatures( ICharFeatures pFeatures);
06599
06600 };
06601
06603
06605
06609 class ICharStyles
06610 {
06611 private:
06612 CharStylesRef fCharStyles;
06613 public:
06616 ICharStyles();
06620 ICharStyles(const ICharStyles& src);
06624 ICharStyles& operator=(const ICharStyles& rhs);
06628 bool operator==(const ICharStyles& rhs) const;
06632 bool operator!=(const ICharStyles& rhs) const;
06638 explicit ICharStyles(CharStylesRef charstyles);
06640 virtual ~ICharStyles();
06643 CharStylesRef GetRef() const;
06646 bool IsNull() const;
06647
06648
06649
06650
06651
06654 bool IsEmpty( ) const;
06655
06658 ATETextDOM::Int32 GetSize( ) const;
06659
06664 void ShowAllStyles( ) const;
06669 void ShowOnlyUnreferencedStyles( ) const;
06675 void ShowOnlyStylesReferencedIn( ITextRange pRange) const;
06681 void MoveStyleTo( ICharStyle pStyle, ATETextDOM::Int32 position);
06682
06683 };
06684
06686
06688
06691 class ICharStylesIterator
06692 {
06693 private:
06694 CharStylesIteratorRef fCharStylesIterator;
06695 public:
06698 ICharStylesIterator();
06702 ICharStylesIterator(const ICharStylesIterator& src);
06706 ICharStylesIterator& operator=(const ICharStylesIterator& rhs);
06710 bool operator==(const ICharStylesIterator& rhs) const;
06714 bool operator!=(const ICharStylesIterator& rhs) const;
06720 explicit ICharStylesIterator(CharStylesIteratorRef charstylesiterator);
06722 virtual ~ICharStylesIterator();
06725 CharStylesIteratorRef GetRef() const;
06728 bool IsNull() const;
06729
06736 ICharStylesIterator( ICharStyles pStyles, Direction direction = kForward);
06737
06738
06739
06740
06743 bool IsNotDone( ) const;
06746 bool IsDone( ) const;
06749 bool IsEmpty( ) const;
06752 void MoveToFirst( );
06755 void MoveToLast( );
06758 void Next( );
06761 void Previous( );
06764 ICharStyle Item( ) const;
06765
06766 };
06767
06769
06771
06788 class IFind
06789 {
06790 private:
06791 FindRef fFind;
06792 public:
06795 IFind();
06799 IFind(const IFind& src);
06803 IFind& operator=(const IFind& rhs);
06807 bool operator==(const IFind& rhs) const;
06811 bool operator!=(const IFind& rhs) const;
06817 explicit IFind(FindRef find);
06819 virtual ~IFind();
06822 FindRef GetRef() const;
06825 bool IsNull() const;
06826
06827
06828
06829
06834 Direction GetSearchDirection( ) const;
06839 bool GetIgnoreCase( ) const;
06843 bool GetWholeWord( ) const;
06847 bool GetWrap( ) const;
06851 bool GetFindWordsOutOfBounds( ) const;
06852
06853 #if SLO_COMPLEXSCRIPT // Middle Eastern specific features only
06854
06857 bool GetIgnoreAccents( ) const;
06861 bool GetIgnoreKashidas( ) const;
06862 #endif
06863
06868 void SetSearchDirection( Direction newValue);
06874 void SetIgnoreCase( bool newValue);
06880 void SetWholeWord( bool newValue);
06886 void SetWrap( bool newValue);
06892 void SetFindWordsOutOfBounds( bool newValue);
06893
06894 #if SLO_COMPLEXSCRIPT // Middle Eastern specific features only
06895
06899 void SetIgnoreAccents( bool newValue);
06904 void SetIgnoreKashidas( bool newValue);
06905 #endif
06906
06911 SearchScope GetSearchScope( ) const;
06917 void SetSearchScope( SearchScope searchScope);
06924 void SetSearchRange( ITextRange pRange);
06930 void SetSearchChars( ATETextDOM::Unicode* pSearchChars);
06937 void GetSearchChars( ATETextDOM::Unicode* pSearchChars, ATETextDOM::Int32 length) const;
06943 void SetReplaceChars( ATETextDOM::Unicode* pSearchChars);
06951 void GetReplaceChars( ATETextDOM::Unicode* pSearchChars, ATETextDOM::Int32 length) const;
06952
06953 void Reset( );
06954
06955
06956
06957
06963 bool FindMatch( ITextRange pTextRange);
06964
06971 bool FindNextMatch( ITextRange pTextRange);
06972
06984 bool ReplaceMatch( ITextRange pTextRange, bool findNext);
06985
06987 bool FindAndReplaceAllMatches( ATETextDOM::Int32* pReplaceCount);
06988
06999 void GetPreReplaceAllSettings( ATETextDOM::Int32* pCurrentPoint, ATETextDOM::Int32* pStartPoint) const;
07000
07008 void RestorePreReplaceAllSettings( const ATETextDOM::Int32 currentPoint, const ATETextDOM::Int32 startPoint);
07009
07010 };
07011
07013
07015
07019 class IFont
07020 {
07021 private:
07022 FontRef fFont;
07023 public:
07026 IFont();
07030 IFont(const IFont& src);
07034 IFont& operator=(const IFont& rhs);
07038 bool operator==(const IFont& rhs) const;
07042 bool operator!=(const IFont& rhs) const;
07048 explicit IFont(FontRef font);
07050 virtual ~IFont();
07053 FontRef GetRef() const;
07056 bool IsNull() const;
07057
07058
07059
07060
07064 bool IsCoolTypeTechnology( ) const;
07065
07071 bool IsVerticalRomanGlyphsOnSideByDefault( bool withItalics, StyleRunAlignment characterAlignment) const;
07072
07075 void* GetCTFontDict( );
07076
07077 };
07078
07080
07082
07085 class IGlyph
07086 {
07087 private:
07088 GlyphRef fGlyph;
07089 public:
07092 IGlyph();
07096 IGlyph(const IGlyph& src);
07100 IGlyph& operator=(const IGlyph& rhs);
07104 bool operator==(const IGlyph& rhs) const;
07108 bool operator!=(const IGlyph& rhs) const;
07114 explicit IGlyph(GlyphRef glyph);
07116 virtual ~IGlyph();
07119 GlyphRef GetRef() const;
07122 bool IsNull() const;
07123
07124
07125
07126
07127
07130 ATEGlyphID GetGlyphID( ) const;
07133 IGlyphs GetAlternateGlyphs( ) const;
07139 void GetOTFeatures( char** otFeatures, ATETextDOM::Int32* otFeatureCount, ATETextDOM::Int32** otFeatureIndex);
07140
07141
07142 };
07143
07145
07147
07151 class IGlyphs
07152 {
07153 private:
07154 GlyphsRef fGlyphs;
07155 public:
07158 IGlyphs();
07162 IGlyphs(const IGlyphs& src);
07166 IGlyphs& operator=(const IGlyphs& rhs);
07170 bool operator==(const IGlyphs& rhs) const;
07174 bool operator!=(const IGlyphs& rhs) const;
07180 explicit IGlyphs(GlyphsRef glyphs);
07182 virtual ~IGlyphs();
07185 GlyphsRef GetRef() const;
07188 bool IsNull() const;
07189
07190
07191
07194 ATETextDOM::Int32 GetSize( );
07197 IGlyph GetFirst( );
07200 IGlyph GetLast( );
07201
07204 ITextRanges GetTextRanges( ) const;
07207 ITextRanges GetTextSelection( ) const;
07211 IParagraphsIterator GetParagraphsIterator( ) const;
07215 ITextRunsIterator GetTextRunsIterator( ) const;
07219 IWordsIterator GetWordsIterator( ) const;
07220
07221
07222
07230 void Add( const IGlyph& glyph);
07236 IGlyph Item( ATETextDOM::Int32 nIndex) const;
07239 void RemoveAll( );
07243 void Remove( ATETextDOM::Int32 nIndex);
07244
07245 };
07246
07248
07250
07252 class IGlyphsIterator
07253 {
07254 private:
07255 GlyphsIteratorRef fGlyphsIterator;
07256 public:
07259 IGlyphsIterator();
07263 IGlyphsIterator(const IGlyphsIterator& src);
07267 IGlyphsIterator& operator=(const IGlyphsIterator& rhs);
07271 bool operator==(const IGlyphsIterator& rhs) const;
07275 bool operator!=(const IGlyphsIterator& rhs) const;
07281 explicit IGlyphsIterator(GlyphsIteratorRef glyphsiterator);
07283 virtual ~IGlyphsIterator();
07286 GlyphsIteratorRef GetRef() const;
07289 bool IsNull() const;
07290
07297 IGlyphsIterator( IGlyphs glyphs, Direction direction = kForward);
07298
07299
07300
07301
07304 bool IsNotDone( ) const;
07307 bool IsDone( ) const;
07310 bool IsEmpty( ) const;
07313 IGlyph GetFirst( );
07316 IGlyph GetLast( );
07319 IGlyph GetNext( );
07322 IGlyph Item( ) const;
07325 void Next( );
07328 void Previous( );
07329
07330 };
07331
07333
07335
07339 class IKinsoku
07340 {
07341 private:
07342 KinsokuRef fKinsoku;
07343 public:
07346 IKinsoku();
07350 IKinsoku(const IKinsoku& src);
07354 IKinsoku& operator=(const IKinsoku& rhs);
07358 bool operator==(const IKinsoku& rhs) const;
07362 bool operator!=(const IKinsoku& rhs) const;
07368 explicit IKinsoku(KinsokuRef kinsoku);
07370 virtual ~IKinsoku();
07373 KinsokuRef GetRef() const;
07376 bool IsNull() const;
07377
07378
07379
07380
07385 ATETextDOM::Int32 GetName( ATETextDOM::Unicode* name, ATETextDOM::Int32 maxLength) const;
07388 ATETextDOM::Int32 GetNameSize( ) const;
07392 void SetName( const ATETextDOM::Unicode* name);
07397 bool MatchesPredefinedResourceTag( ATE::KinsokuPredefinedTag tag) const;
07402 ATETextDOM::Int32 GetNoStartCharSet( ATETextDOM::Unicode* noStartCharSet, ATETextDOM::Int32 maxLength) const;
07405 ATETextDOM::Int32 GetNoStartCharSetSize( ) const;
07409 void SetNoStartCharSet( const ATETextDOM::Unicode* noStartCharSet);
07414 ATETextDOM::Int32 GetNoEndCharSet( ATETextDOM::Unicode* noEndCharSet, ATETextDOM::Int32 maxLength) const;
07417 ATETextDOM::Int32 GetNoEndCharSetSize( ) const;
07421 void SetNoEndCharSet( const ATETextDOM::Unicode* noEndCharSet);
07426 ATETextDOM::Int32 GetNoBreakCharSet( ATETextDOM::Unicode* noBreakCharSet, ATETextDOM::Int32 maxLength) const;
07429 ATETextDOM::Int32 GetNoBreakCharSetSize( ) const;
07433 void SetNoBreakCharSet( const ATETextDOM::Unicode* noBreakCharSet);
07438 ATETextDOM::Int32 GetHangingCharSet( ATETextDOM::Unicode* hangingCharSet, ATETextDOM::Int32 maxLength) const;
07441 ATETextDOM::Int32 GetHangingCharSetSize( ) const;
07445 void SetHangingCharSet( const ATETextDOM::Unicode* hangingCharSet);
07446
07447
07448
07449
07453 bool IsNoStartChar( ATETextDOM::Unicode character) const;
07457 bool IsNoEndChar( ATETextDOM::Unicode character) const;
07461 bool IsNoBreakChar( ATETextDOM::Unicode character) const;
07465 bool IsHangingChar( ATETextDOM::Unicode character) const;
07466
07469
07472 bool IsEquivalent( IKinsoku rhsKinsoku) const;
07475 bool IsModified( ) const;
07478 bool IsPredefined( ) const;
07481 IKinsoku Duplicate( ) const;
07482
07483 };
07484
07486
07488
07490 class IKinsokuSet
07491 {
07492 private:
07493 KinsokuSetRef fKinsokuSet;
07494 public:
07497 IKinsokuSet();
07501 IKinsokuSet(const IKinsokuSet& src);
07505 IKinsokuSet& operator=(const IKinsokuSet& rhs);
07509 bool operator==(const IKinsokuSet& rhs) const;
07513 bool operator!=(const IKinsokuSet& rhs) const;
07519 explicit IKinsokuSet(KinsokuSetRef kinsokuset);
07521 virtual ~IKinsokuSet();
07524 KinsokuSetRef GetRef() const;
07527 bool IsNull() const;
07528
07529
07530
07531
07534 ATETextDOM::Int32 GetSize( );
07537 IKinsoku GetFirst( );
07540 IKinsoku GetLast( );
07541
07542
07543
07544
07550 IKinsoku Item( ATETextDOM::Int32 nIndex) const;
07556 ATETextDOM::Int32 Find( IKinsoku kinsoku);
07562 ATETextDOM::Int32 Find( const ATETextDOM::Unicode* name);
07569 ATETextDOM::Int32 Find( KinsokuPredefinedTag tag);
07573 bool Remove( ATETextDOM::Int32 nIndex);
07581 ATETextDOM::Int32 Add( IKinsoku kinsoku);
07587 bool Replace( ATETextDOM::Int32 nIndex, IKinsoku kinsoku);
07588
07589 };
07590
07592
07594
07609 class IParaFeatures
07610 {
07611 private:
07612 ParaFeaturesRef fParaFeatures;
07613 public:
07617 IParaFeatures();
07621 IParaFeatures(const IParaFeatures& src);
07625 IParaFeatures& operator=(const IParaFeatures& rhs);
07629 bool operator==(const IParaFeatures& rhs) const;
07633 bool operator!=(const IParaFeatures& rhs) const;
07639 explicit IParaFeatures(ParaFeaturesRef parafeatures);
07641 virtual ~IParaFeatures();
07644 ParaFeaturesRef GetRef() const;
07647 bool IsNull() const;
07650 IParaFeatures Clone( ) const;
07651
07652
07653
07654
07659 ParagraphJustification GetJustification( bool* isAssigned) const;
07664 ATETextDOM::Real GetFirstLineIndent( bool* isAssigned) const;
07669 ATETextDOM::Real GetStartIndent( bool* isAssigned) const;
07674 ATETextDOM::Real GetEndIndent( bool* isAssigned) const;
07679 ATETextDOM::Real GetSpaceBefore( bool* isAssigned) const;
07684 ATETextDOM::Real GetSpaceAfter( bool* isAssigned) const;
07685
07686
07687
07692 bool GetAutoHyphenate( bool* isAssigned) const;
07697 ATETextDOM::Int32 GetHyphenatedWordSize( bool* isAssigned) const;
07702 ATETextDOM::Int32 GetPreHyphenSize( bool* isAssigned) const;
07707 ATETextDOM::Int32 GetPostHyphenSize( bool* isAssigned) const;
07712 ATETextDOM::Int32 GetConsecutiveHyphenLimit( bool* isAssigned) const;
07717 ATETextDOM::Real GetHyphenationZone( bool* isAssigned) const;
07722 bool GetHyphenateCapitalized( bool* isAssigned) const;
07727 ATETextDOM::Real GetHyphenationPreference( bool* isAssigned) const;
07728
07729
07730
07735 ATETextDOM::Real GetDesiredWordSpacing( bool* isAssigned) const;
07740 ATETextDOM::Real GetMaxWordSpacing( bool* isAssigned) const;
07745 ATETextDOM::Real GetMinWordSpacing( bool* isAssigned) const;
07750 ATETextDOM::Real GetDesiredLetterSpacing( bool* isAssigned) const;
07755 ATETextDOM::Real GetMaxLetterSpacing( bool* isAssigned) const;
07760 ATETextDOM::Real GetMinLetterSpacing( bool* isAssigned) const;
07765 ATETextDOM::Real GetDesiredGlyphScaling( bool* isAssigned) const;
07770 ATETextDOM::Real GetMaxGlyphScaling( bool* isAssigned) const;
07775 ATETextDOM::Real GetMinGlyphScaling( bool* isAssigned) const;
07780 ParagraphJustification GetSingleWordJustification( bool* isAssigned) const;
07785 ATETextDOM::Real GetAutoLeadingPercentage( bool* isAssigned) const;
07790 LeadingType GetLeadingType( bool* isAssigned) const;
07795 ITabStops GetTabStops( bool* isAssigned) const;
07800 ATETextDOM::Real GetDefaultTabWidth( bool* isAssigned) const;
07801
07802
07803
07808 bool GetHangingRoman( bool* isAssigned) const;
07813 ATETextDOM::Int32 GetAutoTCY( bool* isAssigned) const;
07818 bool GetBunriKinshi( bool* isAssigned) const;
07823 BurasagariType GetBurasagariType( bool* isAssigned) const;
07828 PreferredKinsokuOrder GetPreferredKinsokuOrder( bool* isAssigned) const;
07833 bool GetKurikaeshiMojiShori( bool* isAssigned) const;
07838 IKinsoku GetKinsoku( bool* isAssigned) const;
07843 IMojiKumi GetMojiKumi( bool* isAssigned) const;
07844
07845
07846
07851 bool GetEveryLineComposer( bool* isAssigned) const;
07856 ICharFeatures GetDefaultCharFeatures( bool* isAssigned) const;
07857
07858 #if SLO_COMPLEXSCRIPT // Middle Eastern specific features only
07859
07860
07861
07867 ATE::ParagraphDirection GetParagraphDirection( bool* isAssigned) const;
07873 ATE::JustificationMethod GetJustificationMethod( bool* isAssigned) const;
07879 ATE::KashidaWidth GetKashidaWidth( bool* isAssigned) const;
07880 #endif
07881
07886 ATE::ComposerEngine GetComposerEngine( bool* isAssigned ) const;
07887
07888
07889
07890
07891
07892
07893
07897 void SetJustification( ParagraphJustification newVal);
07901 void SetFirstLineIndent( ATETextDOM::Real newVal);
07905 void SetStartIndent( ATETextDOM::Real newVal);
07909 void SetEndIndent( ATETextDOM::Real newVal);
07913 void SetSpaceBefore( ATETextDOM::Real newVal);
07917 void SetSpaceAfter( ATETextDOM::Real newVal);
07918
07919
07920
07924 void SetAutoHyphenate( bool newVal);
07928 void SetHyphenatedWordSize( ATETextDOM::Int32 newVal);
07932 void SetPreHyphenSize( ATETextDOM::Int32 newVal);
07936 void SetPostHyphenSize( ATETextDOM::Int32 newVal);
07940 void SetConsecutiveHyphenLimit( ATETextDOM::Int32 newVal);
07944 void SetHyphenationZone( ATETextDOM::Real newVal);
07948 void SetHyphenateCapitalized( bool newVal);
07952 void SetHyphenationPreference( ATETextDOM::Real newVal);
07953
07954
07955
07959 void SetDesiredWordSpacing( ATETextDOM::Real newVal);
07963 void SetMaxWordSpacing( ATETextDOM::Real newVal);
07967 void SetMinWordSpacing( ATETextDOM::Real newVal);
07971 void SetDesiredLetterSpacing( ATETextDOM::Real newVal);
07975 void SetMaxLetterSpacing( ATETextDOM::Real newVal);
07979 void SetMinLetterSpacing( ATETextDOM::Real newVal);
07983 void SetDesiredGlyphScaling( ATETextDOM::Real newVal);
07987 void SetMaxGlyphScaling( ATETextDOM::Real newVal);
07991 void SetMinGlyphScaling( ATETextDOM::Real newVal);
07995 void SetSingleWordJustification( ParagraphJustification newVal);
07999 void SetAutoLeadingPercentage( ATETextDOM::Real newVal);
08003 void SetLeadingType( LeadingType newVal);
08007 void SetTabStops( ITabStops newVal);
08011 void SetDefaultTabWidth( ATETextDOM::Real newVal);
08012
08013
08014
08018 void SetHangingRoman( bool newVal);
08022 void SetAutoTCY( ATETextDOM::Int32 newVal);
08026 void SetBunriKinshi( bool newVal);
08030 void SetBurasagariType( BurasagariType newVal);
08034 void SetPreferredKinsokuOrder( PreferredKinsokuOrder newVal);
08038 void SetKurikaeshiMojiShori( bool newVal);
08042 void SetKinsoku( IKinsoku newVal);
08046 void SetMojiKumi( IMojiKumi newVal);
08047
08048
08049
08053 void SetEveryLineComposer( bool newVal);
08057 void SetDefaultCharFeatures( ICharFeatures newVal);
08058
08059 #if SLO_COMPLEXSCRIPT // Middle Eastern specific features only
08060
08061
08062
08067 void SetParagraphDirection( ATE::ParagraphDirection newVal);
08072 void SetJustificationMethod( ATE::JustificationMethod newVal);
08077 void SetKashidaWidth( ATE::KashidaWidth newVal);
08078 #endif
08079
08083 void SetComposerEngine( ATE::ComposerEngine newVal);
08084
08085
08086
08087
08088
08089
08090
08093 void ClearJustification( );
08096 void ClearFirstLineIndent( );
08099 void ClearStartIndent( );
08102 void ClearEndIndent( );
08105 void ClearSpaceBefore( );
08108 void ClearSpaceAfter( );
08109
08110
08111
08114 void ClearAutoHyphenate( );
08117 void ClearHyphenatedWordSize( );
08120 void ClearPreHyphenSize( );
08123 void ClearPostHyphenSize( );
08126 void ClearConsecutiveHyphenLimit( );
08129 void ClearHyphenationZone( );
08132 void ClearHyphenateCapitalized( );
08135 void ClearHyphenationPreference( );
08136
08137
08138
08141 void ClearWordSpacing( );
08144 void ClearLetterSpacing( );
08147 void ClearGlyphScaling( );
08150 void ClearSingleWordJustification( );
08153 void ClearAutoLeadingPercentage( );
08156 void ClearLeadingType( );
08159 void ClearTabStops( );
08160
08161
08162
08165 void ClearHangingRoman( );
08168 void ClearAutoTCY( );
08171 void ClearBunriKinshi( );
08174 void ClearBurasagariType( );
08177 void ClearPreferredKinsokuOrder( );
08180 void ClearKurikaeshiMojiShori( );
08183 void ClearKinsoku( );
08186 void ClearMojiKumi( );
08187
08188
08189
08192 void ClearEveryLineComposer( );
08195 void ClearDefaultCharFeatures( );
08196
08197 #if SLO_COMPLEXSCRIPT // Available for use in Middle Eastern versions of the product only.
08198
08199
08200
08204 void ClearParagraphDirection( );
08208 void ClearJustificationMethod( );
08212 void ClearKashidaWidth( );
08213 #endif
08214
08217 void ClearComposerEngine( );
08218
08220
08222
08229 bool IntersectFeatures( IParaFeatures rhs);
08234 bool ReplaceOrAddFeatures( IParaFeatures rhs);
08239 bool UnassignEachIfEqual( const IParaFeatures rhs);
08240
08243 bool IsEachNotAssigned( ) const;
08246 bool IsEachAssigned( ) const;
08247
08248 };
08249
08251
08253
08263 class IParagraph
08264 {
08265 private:
08266 ParagraphRef fParagraph;
08267 public:
08270 IParagraph();
08274 IParagraph(const IParagraph& src);
08278 IParagraph& operator=(const IParagraph& rhs);
08282 bool operator==(const IParagraph& rhs) const;
08286 bool operator!=(const IParagraph& rhs) const;
08292 explicit IParagraph(ParagraphRef paragraph);
08294 virtual ~IParagraph();
08297 ParagraphRef GetRef() const;
08300 bool IsNull() const;
08301
08302
08303
08304
08307 ATETextDOM::Int32 GetLength( );
08308
08311 IStory GetStory( );
08314 ITextRange GetTextRange( );
08317 ITextRanges GetTextRanges( );
08320 ITextRanges GetTextSelection( );
08323 IWordsIterator GetWordsIterator( );
08324
08325
08326
08329 IParagraph GetNext( );
08332 IParagraph GetPrev( );
08337 ATETextDOM::ATETextDomErr GetContents( ATETextDOM::Unicode* text, ATETextDOM::Int32 maxLength);
08342 ATETextDOM::ATETextDomErr GetContents( char* text, ATETextDOM::Int32 maxLength);
08343
08344 };
08345
08347
08349
08355 class IParagraphsIterator
08356 {
08357 private:
08358 ParagraphsIteratorRef fParagraphsIterator;
08359 public:
08362 IParagraphsIterator();
08366 IParagraphsIterator(const IParagraphsIterator& src);
08370 IParagraphsIterator& operator=(const IParagraphsIterator& rhs);
08374 bool operator==(const IParagraphsIterator& rhs) const;
08378 bool operator!=(const IParagraphsIterator& rhs) const;
08384 explicit IParagraphsIterator(ParagraphsIteratorRef paragraphsiterator);
08386 virtual ~IParagraphsIterator();
08389 ParagraphsIteratorRef GetRef() const;
08392 bool IsNull() const;
08393
08400 IParagraphsIterator( ITextRanges ranges, Direction direction = kForward);
08401
08402
08403
08406 bool IsDone( ) const;
08409 bool IsNotDone( ) const;
08412 bool IsEmpty( ) const;
08415 void MoveToFirst( );
08418 void MoveToLast( );
08421 void Next( );
08424 IParagraph Item( );
08425
08426 };
08427
08429
08431
08441 class IParaInspector
08442 {
08443 private:
08444 ParaInspectorRef fParaInspector;
08445 public:
08448 IParaInspector();
08452 IParaInspector(const IParaInspector& src);
08456 IParaInspector& operator=(const IParaInspector& rhs);
08460 bool operator==(const IParaInspector& rhs) const;
08464 bool operator!=(const IParaInspector& rhs) const;
08470 explicit IParaInspector(ParaInspectorRef parainspector);
08472 virtual ~IParaInspector();
08475 ParaInspectorRef GetRef() const;
08478 bool IsNull() const;
08479
08480
08481
08482
08485 IArrayParagraphJustification GetJustification( ) const;
08488 IArrayReal GetFirstLineIndent( ) const;
08491 IArrayReal GetStartIndent( ) const;
08494 IArrayReal GetEndIndent( ) const;
08497 IArrayReal GetSpaceBefore( ) const;
08500 IArrayReal GetSpaceAfter( ) const;
08501
08502
08503
08506 IArrayBool GetAutoHyphenate( ) const;
08509 IArrayInteger GetHyphenatedWordSize( ) const;
08512 IArrayInteger GetPreHyphenSize( ) const;
08515 IArrayInteger GetPostHyphenSize( ) const;
08518 IArrayInteger GetConsecutiveHyphenLimit( ) const;
08521 IArrayReal GetHyphenationZone( ) const;
08524 IArrayBool GetHyphenateCapitalized( ) const;
08527 IArrayReal GetHyphenationPreference( ) const;
08528
08529
08530
08533 IArrayReal GetDesiredWordSpacing( ) const;
08536 IArrayReal GetMaxWordSpacing( ) const;
08539 IArrayReal GetMinWordSpacing( ) const;
08542 IArrayReal GetDesiredLetterSpacing( ) const;
08545 IArrayReal GetMaxLetterSpacing( ) const;
08548 IArrayReal GetMinLetterSpacing( ) const;
08551 IArrayReal GetDesiredGlyphScaling( ) const;
08554 IArrayReal GetMaxGlyphScaling( ) const;
08557 IArrayReal GetMinGlyphScaling( ) const;
08560 IArrayParagraphJustification GetSingleWordJustification( ) const;
08563 IArrayReal GetAutoLeadingPercentage( ) const;
08566 IArrayLeadingType GetLeadingType( ) const;
08569 IArrayTabStopsRef GetTabStops( ) const;
08572 IArrayReal GetDefaultTabWidth( ) const;
08573
08574
08575
08578 IArrayBool GetHangingRoman( ) const;
08581 IArrayInteger GetAutoTCY( ) const;
08584 IArrayBool GetBunriKinshi( ) const;
08587 IArrayBurasagariType GetBurasagariType( ) const;
08590 IArrayPreferredKinsokuOrder GetPreferredKinsokuOrder( ) const;
08593 IArrayBool GetKurikaeshiMojiShori( ) const;
08596 IArrayKinsokuRef GetKinsoku( ) const;
08599 IArrayMojiKumiRef GetMojiKumi( ) const;
08600
08601
08602
08605 IArrayBool GetEveryLineComposer( ) const;
08606
08607 #if SLO_COMPLEXSCRIPT // Middle Eastern specific features only
08608
08609
08610
08614 IArrayParagraphDirection GetParagraphDirection( ) const;
08618 IArrayJustificationMethod GetJustificationMethod( ) const;
08622 IArrayKashidaWidth GetKashidaWidth( ) const;
08623 #endif
08624
08627 IArrayComposerEngine GetComposerEngine( ) const;
08628
08629 };
08630
08632
08634
08650 class IParaStyle
08651 {
08652 private:
08653 ParaStyleRef fParaStyle;
08654 public:
08657 IParaStyle();
08661 IParaStyle(const IParaStyle& src);
08665 IParaStyle& operator=(const IParaStyle& rhs);
08669 bool operator==(const IParaStyle& rhs) const;
08673 bool operator!=(const IParaStyle& rhs) const;
08679 explicit IParaStyle(ParaStyleRef parastyle);
08681 virtual ~IParaStyle();
08684 ParaStyleRef GetRef() const;
08687 bool IsNull() const;
08688
08694 ATETextDOM::Int32 GetName( ATETextDOM::Unicode* pName, ATETextDOM::Int32 maxLength) const;
08700 bool SetName( const ATETextDOM::Unicode* pName);
08704 IParaStyle GetParent( ) const;
08710 bool SetParent( const IParaStyle pStyle);
08714 bool HasParent( ) const;
08718 IParaFeatures GetFeatures( ) const;
08725 void SetFeatures( IParaFeatures pFeatures);
08733 void ReplaceOrAddFeatures( IParaFeatures pFeatures);
08734
08735 };
08736
08738
08740
08744 class IParaStyles
08745 {
08746 private:
08747 ParaStylesRef fParaStyles;
08748 public:
08751 IParaStyles();
08755 IParaStyles(const IParaStyles& src);
08759 IParaStyles& operator=(const IParaStyles& rhs);
08763 bool operator==(const IParaStyles& rhs) const;
08767 bool operator!=(const IParaStyles& rhs) const;
08773 explicit IParaStyles(ParaStylesRef parastyles);
08775 virtual ~IParaStyles();
08778 ParaStylesRef GetRef() const;
08781 bool IsNull() const;
08782
08783
08784
08785
08788 bool IsEmpty( ) const;
08791 ATETextDOM::Int32 GetSize( ) const;
08796 void ShowAllStyles( ) const;
08801 void ShowOnlyUnreferencedStyles( ) const;
08807 void ShowOnlyStylesReferencedIn( ITextRange pRange) const;
08813 void MoveStyleTo( IParaStyle pStyle, ATETextDOM::Int32 position);
08814
08815 };
08816
08818
08820
08824 class IParaStylesIterator
08825 {
08826 private:
08827 ParaStylesIteratorRef fParaStylesIterator;
08828 public:
08831 IParaStylesIterator();
08835 IParaStylesIterator(const IParaStylesIterator& src);
08839 IParaStylesIterator& operator=(const IParaStylesIterator& rhs);
08843 bool operator==(const IParaStylesIterator& rhs) const;
08847 bool operator!=(const IParaStylesIterator& rhs) const;
08853 explicit IParaStylesIterator(ParaStylesIteratorRef parastylesiterator);
08855 virtual ~IParaStylesIterator();
08858 ParaStylesIteratorRef GetRef() const;
08861 bool IsNull() const;
08862
08869 IParaStylesIterator( IParaStyles paraStyles, Direction direction = kForward);
08870
08871
08872
08875 bool IsNotDone( ) const;
08878 bool IsDone( ) const;
08881 bool IsEmpty( ) const;
08884 void MoveToFirst( );
08887 void MoveToLast( );
08890 void Next( );
08893 void Previous( );
08896 IParaStyle Item( ) const;
08897
08898 };
08899
08901
08903
08920 class ISpell
08921 {
08922 private:
08923 SpellRef fSpell;
08924 public:
08927 ISpell();
08931 ISpell(const ISpell& src);
08935 ISpell& operator=(const ISpell& rhs);
08939 bool operator==(const ISpell& rhs) const;
08943 bool operator!=(const ISpell& rhs) const;
08949 explicit ISpell(SpellRef spell);
08951 virtual ~ISpell();
08954 SpellRef GetRef() const;
08957 bool IsNull() const;
08958
08959
08960
08961
08964 void Initialize( );
08967 bool IsInitialized( );
08970 bool GetIgnoreWordsInAllUppercase( ) const;
08973 bool GetIgnoreWordsWithNumbers( ) const;
08976 bool GetIgnoreRomanNumerals( ) const;
08979 bool GetIgnoreRepeatedWords( ) const;
08982 bool GetIgnoreUncapitalizedStartOfSentence( ) const;
08983
08984 #if SLO_COMPLEXSCRIPT // Middle Eastern specific features only
08985
08988 bool GetStrictYeh( ) const;
08992 bool GetStrictAlef( ) const;
08993 #endif
08994
08998 void SetIgnoreWordsInAllUppercase( bool newValue);
09002 void SetIgnoreWordsWithNumbers( bool newValue);
09006 void SetIgnoreRomanNumerals( bool newValue);
09010 void SetIgnoreRepeatedWords( bool newValue);
09014 void SetIgnoreUncapitalizedStartOfSentence( bool newValue);
09015
09016 #if SLO_COMPLEXSCRIPT // Middle Eastern specific features only
09017
09021 void SetStrictYeh( bool newValue);
09026 void SetStrictAlef( bool newValue);
09027 #endif
09028
09032 SearchScope GetSearchScope( ) const;
09036 void SetSearchScope( SearchScope searchScope);
09037
09046 void SetSearchRange( const ITextRange& pRange, const bool resetEndOfSentence = true, const bool resetCurPos = true, const bool includeWordsOnSearchBoundary = true);
09047
09050 void Reset( );
09058 void ResumeFrom( const ATETextDOM::Int32 resumePoint);
09059
09062 void ResumeFromInsertionPoint( );
09063
09064
09065
09066
09067
09077 bool FindOneMisspelledWord( SpellCheckingResult* pResult, ITextRange pRange, Language* pLanguage = NULL, bool populateSuggestionList = true );
09082 ATETextDOM::Int32 GetWordListSize( );
09091 void GetWordListContents( ATETextDOM::Unicode* pWordListBuffer, ATETextDOM::Int32 sizeOfBuffer, ATETextDOM::Int32* pNumberOfWords);
09096 void Replace( ITextRange pRange, const ATETextDOM::Unicode* pCorrection);
09097
09098
09103 void AddSelectedToReplaceAllDict( const ATETextDOM::Unicode* pCorrection);
09104
09107 bool DoReplaceAll( );
09108
09119 void GetPreReplaceAllSettings( ATETextDOM::Int32* pCurrentPoint, bool* pFoundSentenceEnd) const;
09120
09121
09122
09123
09132 bool FindReplaceAllWord( ITextRange pRange, const bool firstTimeInThisObject);
09141 void RestorePreReplaceAllSettings( const ATETextDOM::Int32 currentPoint, const bool foundSentenceEnd);
09142
09144
09148 void ClearPairDictionary( );
09149
09152 void AddSelectedToUserDict( );
09153
09158 void GetUserDictionaryContents( );
09163 bool AddToUserDictionary( const ATETextDOM::Unicode* pWord);
09167 void DeleteFromUserDictionary( const ATETextDOM::Unicode* pWord);
09172 bool WordExistsInUserDictionary( const ATETextDOM::Unicode* pWord, const ATE::CheckEquivalentFormsSetting checkEquivalentFormsSetting);
09177 bool WordExistsInIgnoreDictionary( const ATETextDOM::Unicode* pWord, const ATE::CheckEquivalentFormsSetting checkEquivalentFormsSetting);
09181 void AddSelectedToIgnoreList( );
09185 void ClearIgnoreList( );
09188 Language GetLanguageOfLastMissingDictionary( );
09189
09190
09191 ATETextDOM::Int32 GetSpellingDictionaryPath(ATETextDOM::Unicode* path);
09192 };
09193
09195
09197
09200 class IStories
09201 {
09202 private:
09203 StoriesRef fStories;
09204 public:
09207 IStories();
09211 IStories(const IStories& src);
09215 IStories& operator=(const IStories& rhs);
09219 bool operator==(const IStories& rhs) const;
09223 bool operator!=(const IStories& rhs) const;
09229 explicit IStories(StoriesRef stories);
09231 virtual ~IStories();
09234 StoriesRef GetRef() const;
09237 bool IsNull() const;
09238
09241 ATETextDOM::Int32 GetSize( ) const;
09244 IStory GetFirst( );
09247 IStory GetLast( );
09248
09254 bool HasFocus( ) const;
09257 IStory GetFocus( ) const;
09261 void SetFocus( const IStory& story);
09265 void LoseFocus( );
09266
09269 ITextRanges GetTextRanges( ) const;
09272 ITextRanges GetTextSelection( ) const;
09275 IParagraphsIterator GetParagraphsIterator( ) const;
09278 IWordsIterator GetWordsIterator( ) const;
09281 ITextRunsIterator GetTextRunsIterator( ) const;
09284 IDocumentTextResources GetDocumentTextResources( ) const;
09285
09286
09287
09293 IStory Item( ATETextDOM::Int32 nIndex) const;
09298 void SuspendReflow( );
09301 void ResumeReflow( );
09302
09303 };
09304
09306
09308
09320 class IStory
09321 {
09322 private:
09323 StoryRef fStory;
09324 public:
09327 IStory();
09331 IStory(const IStory& src);
09335 IStory& operator=(const IStory& rhs);
09339 bool operator==(const IStory& rhs) const;
09343 bool operator!=(const IStory& rhs) const;
09349 explicit IStory(StoryRef story);
09351 virtual ~IStory();
09354 StoryRef GetRef() const;
09357 bool IsNull() const;
09358
09359
09360
09361
09362
09365 ATETextDOM::Int32 GetIndex( ) const;
09368 ATETextDOM::Int32 GetSize( ) const;
09370
09372 IStories GetStories( ) const;
09375 ITextRange GetTextRange( ) const;
09378 ITextRanges GetTextSelection( ) const;
09381 IParagraphsIterator GetParagraphsIterator( ) const;
09384 IWordsIterator GetWordsIterator( ) const;
09387 ITextRunsIterator GetTextRunsIterator( ) const;
09390 ITextFramesIterator GetTextFramesIterator( ) const;
09394 ITextFrame GetFrame( ATETextDOM::Int32 frameIndex) const;
09395
09398
09402 void SetKernForSelection( const ITextRange& textRange, AutoKernType autoKernType);
09404
09408 void SetKernAtChar( ATETextDOM::Int32 charIndex, ATETextDOM::Int32 value);
09414 void GetKern( const ITextRange& textRange, AutoKernType* pAutoKernType, ATETextDOM::Int32* value) const;
09419 AutoKernType GetModelKernAtChar( ATETextDOM::Int32 charIndex, ATETextDOM::Int32* pManualKernValue) const;
09420
09421
09422
09429 ITextRange GetTextRange( ATETextDOM::Int32 start, ATETextDOM::Int32 end) const;
09432 IStory Duplicate( );
09437 void SuspendReflow( );
09440 void ResumeReflow( );
09441
09442 };
09443
09445
09447
09451 class ITabStop
09452 {
09453 private:
09454 TabStopRef fTabStop;
09455 public:
09458 ITabStop();
09462 ITabStop(const ITabStop& src);
09466 ITabStop& operator=(const ITabStop& rhs);
09470 bool operator==(const ITabStop& rhs) const;
09474 bool operator!=(const ITabStop& rhs) const;
09480 explicit ITabStop(TabStopRef tabstop);
09482 virtual ~ITabStop();
09485 TabStopRef GetRef() const;
09488 bool IsNull() const;
09489
09490
09491
09492
09495 TabType GetTabType( ) const;
09499 void SetTabType( TabType tabType);
09502 ATETextDOM::Real GetPosition( ) const;
09506 void SetPosition( ATETextDOM::Real position);
09509 bool HasLeader( ) const;
09514 void GetLeader( ATETextDOM::Unicode* leader, ATETextDOM::Int32 maxLength) const;
09518 void SetLeader( ATETextDOM::Unicode* leader);
09521 ATETextDOM::Unicode GetDecimalCharacter( ) const;
09524 void SetDecimalCharacter( ATETextDOM::Unicode decimalChar);
09525
09526 };
09527
09529
09531
09540 class ITabStops
09541 {
09542 private:
09543 TabStopsRef fTabStops;
09544 public:
09547 ITabStops();
09551 ITabStops(const ITabStops& src);
09555 ITabStops& operator=(const ITabStops& rhs);
09559 bool operator==(const ITabStops& rhs) const;
09563 bool operator!=(const ITabStops& rhs) const;
09569 explicit ITabStops(TabStopsRef tabstops);
09571 virtual ~ITabStops();
09574 TabStopsRef GetRef() const;
09577 bool IsNull() const;
09578
09579
09580
09581
09584 ATETextDOM::Int32 GetSize( ) const;
09587 ITabStop GetFirst( ) const;
09590 ITabStop GetLast( ) const;
09591
09592
09593
09598 void ReplaceOrAdd( const ITabStop& pTabStop);
09604 ITabStop Item( ATETextDOM::Int32 nIndex) const;
09608 void Remove( ATETextDOM::Int32 nIndex);
09611 void RemoveAll( );
09612 };
09613
09615
09617
09621 class ITabStopsIterator
09622 {
09623 private:
09624 TabStopsIteratorRef fTabStopsIterator;
09625 public:
09628 ITabStopsIterator();
09632 ITabStopsIterator(const ITabStopsIterator& src);
09636 ITabStopsIterator& operator=(const ITabStopsIterator& rhs);
09640 bool operator==(const ITabStopsIterator& rhs) const;
09644 bool operator!=(const ITabStopsIterator& rhs) const;
09650 explicit ITabStopsIterator(TabStopsIteratorRef tabstopsiterator);
09652 virtual ~ITabStopsIterator();
09655 TabStopsIteratorRef GetRef() const;
09658 bool IsNull() const;
09659
09666 ITabStopsIterator( ITabStops tabStops, Direction direction = kForward);
09667
09668
09671 bool IsDone( ) const;
09674 bool IsNotDone( ) const;
09677 bool IsEmpty( );
09680 void MoveToFirst( );
09683 void MoveToLast( );
09686 void Next( );
09689 ITabStop Item( ) const;
09690
09691 };
09692
09726
09727
09729 class ITextRange
09730 {
09731 private:
09732 TextRangeRef fTextRange;
09733 public:
09736 ITextRange();
09740 ITextRange(const ITextRange& src);
09744 ITextRange& operator=(const ITextRange& rhs);
09748 bool operator==(const ITextRange& rhs) const;
09752 bool operator!=(const ITextRange& rhs) const;
09758 explicit ITextRange(TextRangeRef textrange);
09760 virtual ~ITextRange();
09763 TextRangeRef GetRef() const;
09766 bool IsNull() const;
09767
09768
09769
09770
09774 ATETextDOM::Int32 GetStart( ) const;
09779 void SetStart( ATETextDOM::Int32 start);
09783 ATETextDOM::Int32 GetEnd( ) const;
09788 void SetEnd( ATETextDOM::Int32 end);
09791 ATETextDOM::Int32 GetSize( ) const;
09792
09793
09794
09797 IStory GetStory( ) const;
09800 ITextRanges GetTextSelection( ) const;
09803 ITextFramesIterator GetTextFramesIterator( ) const;
09806 IParagraphsIterator GetParagraphsIterator( ) const;
09809 IWordsIterator GetWordsIterator( ) const;
09813 ITextRunsIterator GetTextRunsIterator( ) const;
09814
09815
09816
09820 ICharInspector GetCharInspector( ) const;
09824 IParaInspector GetParaInspector( ) const;
09827 ICharStyles GetNamedCharStyles( ) const;
09830 IParaStyles GetNamedParaStyles( ) const;
09837 bool SetNamedCharStyle( const ATETextDOM::Unicode* pName);
09844 bool SetNamedParaStyle( const ATETextDOM::Unicode* pName);
09849 void ClearNamedCharStyle( );
09854 void ClearNamedParaStyle( );
09860 ICharFeatures GetUniqueCharFeatures( ) const;
09866 IParaFeatures GetUniqueParaFeatures( ) const;
09870 bool HasLocalCharFeatures( );
09874 bool HasLocalParaFeatures( );
09881 ICharFeatures GetUniqueLocalCharFeatures( );
09888 IParaFeatures GetUniqueLocalParaFeatures( );
09889
09902 void SetLocalCharFeatures( const ICharFeatures& pFeatures);
09914 void ReplaceOrAddLocalCharFeatures( const ICharFeatures& pFeatures);
09919 void ClearLocalCharFeatures( );
09920
09933 void SetLocalParaFeatures( const IParaFeatures& pFeatures);
09944 void ReplaceOrAddLocalParaFeatures( const IParaFeatures& pFeatures);
09949 void ClearLocalParaFeatures( );
09950
09951
09952
09956 void SetStory( const IStory& story);
09963 void SetRange( ATETextDOM::Int32 start, ATETextDOM::Int32 end);
09969 void Collapse( CollapseDirection direction = CollapseEnd);
09978 ATETextDOM::Int32 Move( ATETextDOM::Int32 unit);
09981 ITextRange Clone( ) const;
09989 void InsertBefore( const ATETextDOM::Unicode* text, ATETextDOM::Int32 length = -1);
09997 void InsertAfter( const ATETextDOM::Unicode* text, ATETextDOM::Int32 length = -1);
10003 void InsertBefore( const ITextRange& anotherRange);
10009 void InsertAfter( const ITextRange& anotherRange);
10010
10015 ATETextDOM::Int32 GetContents( ATETextDOM::Unicode* text, ATETextDOM::Int32 maxLength) const;
10020 ATETextDOM::Int32 GetContents( char* text, ATETextDOM::Int32 maxLength) const;
10021
10027 bool GetSingleGlyphInRange( ATEGlyphID* pSingleGlyph) const;
10028
10034 void Select( bool addToSelection = false);
10038 void DeSelect( );
10042 void ChangeCase( CaseChangeType caseChangeType);
10048 void FitHeadlines( );
10054 void Remove( );
10059 ASCharType GetCharacterType( ) const;
10060
10061 };
10062
10064
10066
10069 class ITextRanges
10070 {
10071 private:
10072 TextRangesRef fTextRanges;
10073 public:
10076 ITextRanges();
10080 ITextRanges(const ITextRanges& src);
10084 ITextRanges& operator=(const ITextRanges& rhs);
10088 bool operator==(const ITextRanges& rhs) const;
10092 bool operator!=(const ITextRanges& rhs) const;
10098 explicit ITextRanges(TextRangesRef textranges);
10100 virtual ~ITextRanges();
10103 TextRangesRef GetRef() const;
10106 bool IsNull() const;
10107
10108
10109
10110
10114 ATETextDOM::Int32 GetSize( ) const;
10117 ITextRange GetFirst( ) const;
10120 ITextRange GetLast( ) const;
10121
10124 ITextRanges GetTextSelection( ) const;
10127 IParagraphsIterator GetParagraphsIterator( ) const;
10130 IWordsIterator GetWordsIterator( ) const;
10133 ITextRunsIterator GetTextRunsIterator( ) const;
10134
10135
10136
10140 ICharInspector GetCharInspector( ) const;
10144 IParaInspector GetParaInspector( ) const;
10149 void ClearNamedCharStyle( );
10154 void ClearNamedParaStyle( );
10160 ICharFeatures GetUniqueCharFeatures( ) const;
10166 IParaFeatures GetUniqueParaFeatures( ) const;
10170 bool HasLocalCharFeatures( );
10174 bool HasLocalParaFeatures( );
10181 ICharFeatures GetUniqueLocalCharFeatures( );
10188 IParaFeatures GetUniqueLocalParaFeatures( );
10189
10198 void SetLocalCharFeatures( const ICharFeatures& pFeatures);
10205 void ReplaceOrAddLocalCharFeatures( const ICharFeatures& pFeatures);
10210 void ClearLocalCharFeatures( );
10219 void SetLocalParaFeatures( const IParaFeatures& pFeatures);
10226 void ReplaceOrAddLocalParaFeatures( const IParaFeatures& pFeatures);
10231 void ClearLocalParaFeatures( );
10232
10233
10234
10240 void Select( bool addToSelection = false);
10245 void DeSelect( );
10250 ATETextDOM::Int32 GetContents( ATETextDOM::Unicode* text, ATETextDOM::Int32 maxLength) const;
10255 ATETextDOM::Int32 GetContents( char* text, ATETextDOM::Int32 maxLength) const;
10259 void ChangeCase( CaseChangeType caseChangeType);
10263 void Add( const ITextRange& textRange);
10269 ITextRange Item( ATETextDOM::Int32 nIndex) const;
10272 void RemoveAll( );
10276 void Remove( ATETextDOM::Int32 nIndex);
10277
10278 };
10279
10281
10283
10285 class ITextRangesIterator
10286 {
10287 private:
10288 TextRangesIteratorRef fTextRangesIterator;
10289 public:
10292 ITextRangesIterator();
10296 ITextRangesIterator(const ITextRangesIterator& src);
10300 ITextRangesIterator& operator=(const ITextRangesIterator& rhs);
10304 bool operator==(const ITextRangesIterator& rhs) const;
10308 bool operator!=(const ITextRangesIterator& rhs) const;
10314 explicit ITextRangesIterator(TextRangesIteratorRef textrangesiterator);
10316 virtual ~ITextRangesIterator();
10319 TextRangesIteratorRef GetRef() const;
10322 bool IsNull() const;
10323
10330 ITextRangesIterator( ITextRanges textRanges, Direction direction = kForward);
10331
10334 ITextRangesIterator Clone( ) const;
10335
10338 bool IsNotDone( ) const;
10341 bool IsDone( ) const;
10344 bool IsEmpty( ) const;
10347 void MoveToFirst( );
10350 void MoveToLast( );
10353 void Next( );
10356 ITextRange Item( ) const;
10357
10358 };
10359
10361
10363
10371 class ITextRunsIterator
10372 {
10373 private:
10374 TextRunsIteratorRef fTextRunsIterator;
10375 public:
10378 ITextRunsIterator();
10382 ITextRunsIterator(const ITextRunsIterator& src);
10386 ITextRunsIterator& operator=(const ITextRunsIterator& rhs);
10390 bool operator==(const ITextRunsIterator& rhs) const;
10394 bool operator!=(const ITextRunsIterator& rhs) const;
10400 explicit ITextRunsIterator(TextRunsIteratorRef textrunsiterator);
10402 virtual ~ITextRunsIterator();
10405 TextRunsIteratorRef GetRef() const;
10408 bool IsNull() const;
10409
10416 ITextRunsIterator( const ITextRanges& ranges, Direction direction = kForward);
10419 bool IsNotDone( ) const;
10422 bool IsDone( ) const;
10425 bool IsEmpty( ) const;
10428 void MoveToFirst( );
10431 void MoveToLast( );
10434 void Next( );
10440 ITextRange Item( ) const;
10441
10442 };
10443
10445
10447
10452 class IWordsIterator
10453 {
10454 private:
10455 WordsIteratorRef fWordsIterator;
10456 public:
10459 IWordsIterator();
10463 IWordsIterator(const IWordsIterator& src);
10467 IWordsIterator& operator=(const IWordsIterator& rhs);
10471 bool operator==(const IWordsIterator& rhs) const;
10475 bool operator!=(const IWordsIterator& rhs) const;
10481 explicit IWordsIterator(WordsIteratorRef wordsiterator);
10483 virtual ~IWordsIterator();
10486 WordsIteratorRef GetRef() const;
10489 bool IsNull() const;
10490
10497 IWordsIterator( const ITextRanges& ranges, Direction direction = kForward);
10498
10501 bool IsNotDone( ) const;
10504 bool IsDone( ) const;
10507 bool IsEmpty( ) const;
10510 void MoveToFirst( );
10513 void MoveToLast( );
10516 void Next( );
10520 ITextRange Item( ) const;
10521
10523
10528 ATETextDOM::Int32 GetTrailingSpaceCount( ) const;
10534 ATETextDOM::Int32 GetTrailingCount( ) const;
10539 ATETextDOM::Int32 GetTrailingTerminatingPunctuationCount( ) const;
10540
10541 };
10542
10550 class IInhibitReflow
10551 {
10552 public:
10555 IInhibitReflow()
10556 {
10557 }
10562 IInhibitReflow(const IStory& story)
10563 :fStory(story)
10564 {
10565 fStory.SuspendReflow();
10566 }
10570 IInhibitReflow(const IInhibitReflow& reflow)
10571 :fStory(reflow.fStory)
10572 {
10573 fStory.SuspendReflow();
10574 }
10576 virtual ~IInhibitReflow()
10577 {
10578 try
10579 {
10580 if (!fStory.IsNull())
10581 fStory.ResumeReflow();
10582 }
10583 catch (...) {}
10584 }
10588 IInhibitReflow& operator=(const IInhibitReflow& rhs)
10589 {
10590 this->~IInhibitReflow( );
10591 fStory = rhs.fStory;
10592 if(!fStory.IsNull())
10593 fStory.SuspendReflow();
10594 return *this;
10595 }
10596 protected:
10597 IStory fStory;
10598 };
10599 }
10600