InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IMojikumiStyle Class Referenceabstract

#include <IMojikumiStyle.h>

Inheritance diagram for IMojikumiStyle:
IPMUnknown

Public Types

enum  { kDefaultIID = IID_IMOJIKUMISTYLE }
 

Public Member Functions

Mojikumi table methods
virtual void SetMojikumiTable (UID tableID)=0
 
virtual UID GetMojikumiTable () const =0
 
virtual IMojikumiTableQueryMojikumiTable () const =0
 
Kinsoku table methods
virtual void SetKinsokuTable (UID tableID)=0
 
virtual UID GetKinsokuTable () const =0
 
virtual IKinsokuTableQueryKinsokuTable () const =0
 
Tsume table methods
virtual void SetTsumeTable (UID tableID)=0
 
virtual UID GetTsumeTable () const =0
 
virtual ITsumeTableQueryTsumeTable () const =0
 
Character attributes
virtual bool16 LigaturesAllowed (bool16 vertical) const =0
 
Force spacing

if < 0, then not applied.

virtual void SetForceBeforeSpacing (PMReal spacing)=0
 
virtual PMReal GetForceBeforeSpacing () const =0
 
virtual void SetForceAfterSpacing (PMReal spacing)=0
 
virtual PMReal GetForceAfterSpacing () const =0
 
Character-based rotation
virtual void SetRotateAngle (const PMReal &p)=0
 
virtual PMReal GetRotateAngle () const =0
 
Used by shatai
virtual void SetShataiMagnification (PMReal p)=0
 
virtual PMReal GetShataiMagnification () const =0
 
virtual void SetShataiAngle (PMReal p)=0
 
virtual PMReal GetShataiAngle () const =0
 
virtual void SetShataiAdjustRotation (bool16 p)=0
 
virtual bool16 GetShataiAdjustRotation () const =0
 
virtual void SetShataiAdjustTsume (bool16 p)=0
 
virtual bool16 GetShataiAdjustTsume () const =0
 
virtual void ShataiTransformFontMatrix (PMMatrix *pMatrix, bool16 vertical, PMReal *widthAdjustment=nil, PMReal widthToEmRatio=1.0, PMMatrix *rawShataiMatrix=nil) const =0
 
OpenType
virtual void SetUseHVKana (bool16 b)=0
 
virtual bool16 GetUseHVKana () const =0
 
virtual void SetUseProportionalMetrics (bool16 b)=0
 
virtual bool16 GetUseProportionalMetrics () const =0
 
virtual void SetUseRomanItalics (bool16 b)=0
 
virtual bool16 GetUseRomanItalics () const =0
 
virtual void SetTsume (const PMReal &ratio)=0
 
virtual PMReal GetTsume () const =0
 
virtual void SetRomanMojikumi (bool16 flag)=0
 
virtual bool16 GetRomanMojikumi () const =0
 
virtual void SetAdjustFullWidth (bool16 flag)=0
 
virtual bool16 GetAdjustFullWidth () const =0
 
virtual void SetAdjustPeriodPos (bool16 flag)=0
 
virtual bool16 GetAdjustPeriodPos () const =0
 
virtual void SetKinsokuFlag (bool16 flag)=0
 
virtual bool16 GetKinsokuFlag () const =0
 
- Public Member Functions inherited from IPMUnknown
virtual IPMUnknownQueryInterface (PMIID interfaceID) const =0
 
virtual void AddRef () const =0
 
virtual void Release () const =0
 

Paragraph attributes

enum  KinsokuType { kKinsoku_PushInFirst = 0, kKinsoku_PushOutFirst, kKinsoku_PushOutOnly, kKinsoku_PushInAlways }
 
enum  KinsokuHangType { kKinsokuHang_None = 0, kKinsokuHang_Regular, kKinsokuHang_Force }
 
virtual void SetKinsokuType (KinsokuType type)=0
 
virtual KinsokuType GetKinsokuType () const =0
 
virtual void SetKinsokuHangType (KinsokuHangType type)=0
 
virtual KinsokuHangType GetKinsokuHangType () const =0
 
virtual void SetLeadingModel (Text::LeadingModel m)=0
 
virtual Text::LeadingModel GetLeadingModel () const =0
 
virtual void SetRensuuji (bool16 flag)=0
 
virtual bool16 GetRensuuji () const =0
 
virtual void SetNotSeparate (bool16 flag)=0
 
virtual bool16 GetNotSeparate () const =0
 
virtual void SetTreatIdeoSpaceAsSpace (bool16 flag)=0
 
virtual bool16 GetTreatIdeoSpaceAsSpace () const =0
 
virtual void SetWordWrapOff (bool16 flag)=0
 
virtual bool16 GetWordWrapOff () const =0
 

Detailed Description

IMojikumiStyle is one of the interfaces hanging off the kComposeStyleBoss object. As such, it is easily Queried from an IDrawingStyle interface. Text attributes can be summarized into a kComposeStyleBoss object, which is a non-persistent summary of every text attribute applied to some text. IMojikumiStyle lists character attributes associated with the Japanese text composition. IMojikumiStyle should be considered a "read-only" interface because the set operations have no impact beyond this data interface. It does not apply through to the text that this interface derived from. The text attributes themselves are the primary setters of the data.

See Also
IDrawingStyle
IVerticalRelatedStyle
IGridRelatedStyle
IRubyStyle
IWarichuStyle
IKinsokuTable
ITsumeTable
IMojikumiTable

Member Enumeration Documentation

Specifies the type of kinsoku hang.

Specifies the type of kinsoku processing.

Member Function Documentation

virtual PMReal IMojikumiStyle::GetForceAfterSpacing () const
pure virtual
Get mojikumi spacing after (right side spacing)

Returns
spacing after in em units
virtual PMReal IMojikumiStyle::GetForceBeforeSpacing () const
pure virtual
Get mojikumi spacing before (left side spacing)

Returns
spacing before in em units
virtual KinsokuHangType IMojikumiStyle::GetKinsokuHangType () const
pure virtual
Get Kinsoku hang type

Returns
Kinsoku hang type
virtual UID IMojikumiStyle::GetKinsokuTable () const
pure virtual
Gets the KinsokuTable UID

Returns
UID of the KinsokuTable
virtual KinsokuType IMojikumiStyle::GetKinsokuType () const
pure virtual
Get Kinsoku justification type

Returns
Kinsoku justification type
virtual Text::LeadingModel IMojikumiStyle::GetLeadingModel () const
pure virtual
Get Leading Model basis position (point in the line height from which line leading is to be measured)

Returns
leading model (implies also leading measurement direction)
virtual UID IMojikumiStyle::GetMojikumiTable () const
pure virtual
Gets the MojikumiTable UID

Returns
UID of the MojikumiTable
virtual bool16 IMojikumiStyle::GetNotSeparate () const
pure virtual
Get Inseparables no-break and no-justify (repeating inseparable characters (from Kinsoku table))

Returns
kTrue if attribute is on
virtual bool16 IMojikumiStyle::GetRensuuji () const
pure virtual
Get Rensuuji shori (no-break of Japanese numbers)

Returns
kTrue if attribute is on
virtual PMReal IMojikumiStyle::GetRotateAngle () const
pure virtual
Get character rotation angle

Returns
rotation angle in degrees
virtual bool16 IMojikumiStyle::GetShataiAdjustRotation () const
pure virtual
Get character obliquing (shatai) adjust rotation to match line

Returns
kTrue if the attribute is on
virtual bool16 IMojikumiStyle::GetShataiAdjustTsume () const
pure virtual
Get character obliquing (shatai) adjust tsume (kerning) to make text tighter

Returns
kTrue if the attribute is on
virtual PMReal IMojikumiStyle::GetShataiAngle () const
pure virtual
Get character obliquing (shatai) lens angle

Returns
lens angle
virtual PMReal IMojikumiStyle::GetShataiMagnification () const
pure virtual
Get character obliquing (shatai) lens magnification

Returns
lens magnification
virtual bool16 IMojikumiStyle::GetTreatIdeoSpaceAsSpace () const
pure virtual
Get if Ideographic Space will not wrap to next line, like other space chars

Returns
kTrue if attribute is on
virtual UID IMojikumiStyle::GetTsumeTable () const
pure virtual
Gets the TsumeTable UID

Returns
UID of the TsumeTable
virtual bool16 IMojikumiStyle::GetUseHVKana () const
pure virtual
Get OpenType feature use horizontal-only or vertical-only kana forms

Returns
kTrue if the attribute is on
virtual bool16 IMojikumiStyle::GetUseProportionalMetrics () const
pure virtual
Get OpenType feature use proportional Japanese metrics

Returns
kTrue if the attribute is on
virtual bool16 IMojikumiStyle::GetUseRomanItalics () const
pure virtual
Get OpenType feature use Roman Italic forms in Japanese fonts

Returns
kTrue if the attribute is on
virtual bool16 IMojikumiStyle::GetWordWrapOff () const
pure virtual
Get if Roman words wrap on any character

Returns
kTrue if attribute is on
virtual bool16 IMojikumiStyle::LigaturesAllowed (bool16 vertical) const
pure virtual
Given the current mojikumi spacing, are ligatures allowed, or will they break

Parameters
vertical[IN] current selection is vertical text
Returns
kTrue if ligatures are allowed
virtual IKinsokuTable* IMojikumiStyle::QueryKinsokuTable () const
pure virtual
Query the IKinsokuTable interface

Returns
IKinsokuTable interface
virtual IMojikumiTable* IMojikumiStyle::QueryMojikumiTable () const
pure virtual
Query the IMojikumiTable interface

Returns
IMojikumTable interface
virtual ITsumeTable* IMojikumiStyle::QueryTsumeTable () const
pure virtual
Query the ITsumeTable interface

Returns
ITsumeTable interface
virtual void IMojikumiStyle::SetForceAfterSpacing (PMReal spacing)
pure virtual
Set mojikumi spacing after (right side spacing)

Parameters
spacing[IN] spacing after in em units
virtual void IMojikumiStyle::SetForceBeforeSpacing (PMReal spacing)
pure virtual
Set mojikumi spacing before (left side spacing)

Parameters
spacing[IN] spacing before in em units
virtual void IMojikumiStyle::SetKinsokuHangType (KinsokuHangType type)
pure virtual
Set Kinsoku hang type

Parameters
type[IN] Kinsoku hang type
virtual void IMojikumiStyle::SetKinsokuTable (UID tableID)
pure virtual

the KinsokuTable contains lists of characters that cannot begin a line, cannot end a line, cannot be separated, and can hang outside the frame at line end Sets the KinsokuTable in this interface only

Parameters
tableID[IN] UID of the kinsoku table
virtual void IMojikumiStyle::SetKinsokuType (KinsokuType type)
pure virtual
Set Kinsoku justification type

Parameters
type[IN] Kinsoku justification type
virtual void IMojikumiStyle::SetLeadingModel (Text::LeadingModel m)
pure virtual
Set Leading Model basis position (point in the line height from which line leading is to be measured)

Parameters
m[IN] leading model (implies also leading measurement direction)
virtual void IMojikumiStyle::SetMojikumiTable (UID tableID)
pure virtual

the MojikumiTable contains the relative spacing and compression values for character classes used by the Composer to set the text Sets the MojikumiTable in this interface only

Parameters
tableID[IN] UID of the mojikumi table
virtual void IMojikumiStyle::SetNotSeparate (bool16 flag)
pure virtual
Set Inseparables no-break and no-justify (repeating inseparable characters (from Kinsoku table))

Parameters
flag[IN] kTrue if attribute is on
virtual void IMojikumiStyle::SetRensuuji (bool16 flag)
pure virtual
Set Rensuuji shori (no-break of Japanese numbers)

Parameters
flag[IN] kTrue if attribute is on
virtual void IMojikumiStyle::SetRotateAngle (const PMRealp)
pure virtual
Set character rotation angle

Parameters
p[IN] rotation angle in degrees
virtual void IMojikumiStyle::SetShataiAdjustRotation (bool16 p)
pure virtual
Set character obliquing (shatai) adjust rotation to match line

Parameters
p[IN] kTrue if the attribute is on
virtual void IMojikumiStyle::SetShataiAdjustTsume (bool16 p)
pure virtual
Set character obliquing (shatai) adjust tsume (kerning) to make text tighter

Parameters
p[IN] kTrue if the attribute is on
virtual void IMojikumiStyle::SetShataiAngle (PMReal p)
pure virtual
Set character obliquing (shatai) lens angle

Parameters
p[IN] lens angle
virtual void IMojikumiStyle::SetShataiMagnification (PMReal p)
pure virtual
Set character obliquing (shatai) lens magnification

Parameters
p[IN] lens magnification
virtual void IMojikumiStyle::SetTreatIdeoSpaceAsSpace (bool16 flag)
pure virtual
Set if Ideographic Space will not wrap to next line, like other space chars

Parameters
flag[IN] kTrue if attribute is on
virtual void IMojikumiStyle::SetTsumeTable (UID tableID)
pure virtual

the TsumeTable is a table of kerning ratios (in em units) for characters whose normal width differs from the JIS X 4051 standard. The table dictates how much width to remove from the left and/or right sides of the character before adding in mojikumi spacing Sets the TsumeTable in this interface only

Parameters
tableID[IN] UID of the TsumeTable
virtual void IMojikumiStyle::SetUseHVKana (bool16 b)
pure virtual
Set OpenType feature use horizontal-only or vertical-only kana forms

Parameters
b[IN] kTrue if the attribute is on
virtual void IMojikumiStyle::SetUseProportionalMetrics (bool16 b)
pure virtual
Set OpenType feature use proportional Japanese metrics

Parameters
b[IN] kTrue if the attribute is on
virtual void IMojikumiStyle::SetUseRomanItalics (bool16 b)
pure virtual
Set OpenType feature use Roman Italic forms in Japanese fonts

Parameters
b[IN] kTrue if the attribute is on
virtual void IMojikumiStyle::SetWordWrapOff (bool16 flag)
pure virtual
Set if Roman words wrap on any character

Parameters
flag[IN] kTrue if attribute is on
virtual void IMojikumiStyle::ShataiTransformFontMatrix (PMMatrixpMatrix,
bool16 vertical,
PMRealwidthAdjustment = nil,
PMReal widthToEmRatio = 1.0,
PMMatrixrawShataiMatrix = nil 
) const
pure virtual
Transforms the given matrix to match the shatai (character obliquing) settings

Parameters
pMatrix[IN/OUT] font matrix of the text. Will be transformed with the shatai matrix.
vertical[IN] whether the text is vertical or not
widthAdjustment[OUT] amount to adjust the character widths
widthToEmRatio[IN] ratio of character width to em width
rawShataiMatrix[OUT] matrix with only shatai settings (no external scaling)