InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IKinsokuTable.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: emenning
6 //
7 // $Author$
8 //
9 // $DateTime$
10 //
11 // $Revision$
12 //
13 // $Change$
14 //
15 // Copyright 1997-2010 Adobe Systems Incorporated. All rights reserved.
16 //
17 // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance
18 // with the terms of the Adobe license agreement accompanying it. If you have received
19 // this file from a source other than Adobe, then your use, modification, or
20 // distribution of it requires the prior written permission of Adobe.
21 //
22 //========================================================================================
23 
24 #ifndef __IKinsokuTable__
25 #define __IKinsokuTable__
26 
27 
28 #include "IPMUnknown.h"
29 #include "CJKID.h"
30 
31 class WideString;
32 
37 class IKinsokuTable : public IPMUnknown
38 {
39  public:
40  enum { kDefaultIID = IID_IKINSOKUTABLE };
41 
42  typedef enum { kKinsoku_CannotBeginLine = 0,
43  kKinsoku_CannotEndLine,
44  kKinsoku_Hanging,
45  kKinsoku_Nonseparatable
46  } KinsokuCharType;
47 
51  virtual void AddKinsokuBefore(const WideString& characters) = 0;
55  virtual void AddKinsokuAfter(const WideString& characters) = 0;
59  virtual void AddKinsokuHanging(const WideString& characters) = 0;
63  virtual void AddKinsokuNotSeparate(const WideString& characters) = 0;
64 
68  virtual void GetKinsokuBefore(WideString& characters) const = 0;
72  virtual void GetKinsokuAfter(WideString& characters) const = 0;
76  virtual void GetKinsokuHanging(WideString& characters) const = 0;
80  virtual void GetKinsokuNotSeparate(WideString& characters) const = 0;
81 
86  virtual bool16 NoBreakBefore(UTF32TextChar c) const = 0;
91  virtual bool16 NoBreakAfter(UTF32TextChar c) const = 0;
96  virtual bool16 IsHangingCharacter(UTF32TextChar c) const = 0;
101  virtual bool16 IsNotSeparateCharacter(UTF32TextChar c) const = 0;
102 
106  virtual int32 KinsokuBeforeNum() const = 0;
110  virtual int32 KinsokuAfterNum() const = 0;
114  virtual int32 KinsokuHangingNum() const = 0;
118  virtual int32 KinsokuNotSeparateNum() const = 0;
119 
122  virtual void Clear() = 0;
125  virtual void ClearKinsokuBefore() = 0;
128  virtual void ClearKinsokuAfter() = 0;
131  virtual void ClearKinsokuHanging() = 0;
134  virtual void ClearKinsokuNotSeparate() = 0;
135 
141  virtual UTF32TextChar GetOneKinsokuCharacter(const int32 index, KinsokuCharType type) const = 0;
146  virtual void AppendOneKinsokuCharacter(const UTF32TextChar ch, KinsokuCharType type) = 0;
147 
151  virtual void CopyKinsokuTableData(const IKinsokuTable *from) = 0;
152 
156  virtual bool16 GetEditability() const = 0;
160  virtual void SetEditability(bool16 editability) = 0;
161 
162  // Unused (for now)
163  virtual void AddKinsokuBetween(const textchar *characters1, const textchar *characters2, int32 number) = 0;
164  virtual bool16 NoBreakBetween(UTF32TextChar c1, UTF32TextChar c2) const = 0;
165  virtual int32 NoBreakBetweenNum() const = 0;
166  virtual void ClearNoBreakBetween() = 0;
167 };
168 
169 
170 
171 #endif
172  // __IKinsokuTable__
173 
174