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

#include <IMojikumiTable.h>

Inheritance diagram for IMojikumiTable:
IPMUnknown

Public Types

enum  { kDefaultIID = IID_IMOJIKUMITABLE }
 
enum  YakumonoSpacingSet {
  kYakumonoSpacing_None = 0, kYakumonoSpacing_FixedHalf, kYakumonoSpacing_HalfToFull, kYakumonoSpacing_FullToHalf,
  kYakumonoSpacing_FixedFull, kYakumonoSpacing_HalfOrFull, kYakumonoSpacing_FullOrHalf
}
 
enum  YakumonoKind { kYakumono_None, kYakumono_Okoshi, kYakumono_Uke, kYakumono_Middle }
 

Public Member Functions

virtual void GetBeforeSpacingWidth (MojikumiClass target, MojikumiClass previousClass, PMReal charWidth, MojikumiElement *element, bool16 isVertical) const =0
 
virtual void GetAfterSpacingWidth (MojikumiClass target, MojikumiClass afterClass, PMReal charWidth, MojikumiElement *element, bool16 isVertical) const =0
 
virtual bool16 GetBeforeSpacingRules (MojikumiClass target, MojikumiClass previousClass, MojikumiElement *element) const =0
 
virtual bool16 GetAfterSpacingRules (MojikumiClass target, MojikumiClass afterClass, MojikumiElement *element) const =0
 
virtual bool16 SetBeforeSpacingRules (MojikumiClass target, MojikumiClass previousClass, const MojikumiElement &element)=0
 
virtual bool16 SetAfterSpacingRules (MojikumiClass target, MojikumiClass afterClass, const MojikumiElement &element)=0
 
virtual bool16 GetBaseClassSpacingRules (int32 index, MojikumiClass *target, MojikumiBaseSpacing *element) const =0
 
virtual bool16 GetOverrideSpacingRules (int32 index, MojikumiOverrideSpacing *element) const =0
 
virtual int32 GetNumOfOverrideSpacingRules () const =0
 
virtual void CopyMojikumiData (const IMojikumiTable *from)=0
 
virtual int32 GetNumOfCharacterClasses () const =0
 
virtual MojikumiClass GetCharacterClass (UTF32TextChar code, bool16 isVertical, const IKinsokuTable *kinsokuTable=nil, Text::GlyphID glyph=kInvalidGlyphID, const IPMFont *font=nil, bool16 *usedCID=nil) const =0
 
virtual bool16 HasTsumeTable () const =0
 
virtual bool16 GetTsumeValue (UTF32TextChar chr, PMReal *before, PMReal *after, bool16 isVertical, Text::GlyphID glyph=kInvalidGlyphID, const IPMFont *font=nil) const =0
 
virtual UID GetTsumeTableUID () const =0
 
virtual void SetTsumeTableUID (UID tsumeUID)=0
 
virtual UID GetMojikumiClassListUID () const =0
 
virtual void SetMojikumiClassListUID (UID classListUID)=0
 
virtual void SetSpacingAtEdgeOfLine (YakumonoSpacingSet lineEndComma=kYakumonoSpacing_None, YakumonoSpacingSet lineEndPeriod=kYakumonoSpacing_None, YakumonoSpacingSet lineEndParen=kYakumonoSpacing_None, YakumonoSpacingSet lineEndMidPunc=kYakumonoSpacing_None, YakumonoSpacingSet lineTopParen=kYakumonoSpacing_None, YakumonoSpacingSet paraTopParen=kYakumonoSpacing_None, int32 jisage=0, bool16 ignoreParenJisage=kFalse)=0
 
virtual bool16 GetEditability () const =0
 
virtual int32 GetDefaultDoubleByteClassIndex () const =0
 
virtual int32 GetDefaultSingleByteClassIndex () const =0
 
virtual int32 GetBeginParagraphClassIndex () const =0
 
virtual int32 GetEdgeOfLineClassIndex () const =0
 
virtual int16 GetBasedOn () const =0
 
virtual void SetBasedOn (int16 which)=0
 
- Public Member Functions inherited from IPMUnknown
virtual IPMUnknownQueryInterface (PMIID interfaceID) const =0
 
virtual void AddRef () const =0
 
virtual void Release () const =0
 

Detailed Description

Used with Mojikumi name table entries

Member Function Documentation

virtual void IMojikumiTable::CopyMojikumiData (const IMojikumiTablefrom)
pure virtual

Copy spacing data from other Mojikumi table

virtual bool16 IMojikumiTable::GetAfterSpacingRules (MojikumiClass target,
MojikumiClass afterClass,
MojikumiElementelement 
) const
pure virtual

Get spacing rules after character for Mojikumi

virtual void IMojikumiTable::GetAfterSpacingWidth (MojikumiClass target,
MojikumiClass afterClass,
PMReal charWidth,
MojikumiElementelement,
bool16 isVertical 
) const
pure virtual

Get spacing width after character for Mojikumi

virtual bool16 IMojikumiTable::GetBeforeSpacingRules (MojikumiClass target,
MojikumiClass previousClass,
MojikumiElementelement 
) const
pure virtual

Get spacing rules before character for Mojikumi

virtual void IMojikumiTable::GetBeforeSpacingWidth (MojikumiClass target,
MojikumiClass previousClass,
PMReal charWidth,
MojikumiElementelement,
bool16 isVertical 
) const
pure virtual

Get spacing width before character for Mojikumi

virtual MojikumiClass IMojikumiTable::GetCharacterClass (UTF32TextChar code,
bool16 isVertical,
const IKinsokuTablekinsokuTable = nil,
Text::GlyphID glyph = kInvalidGlyphID,
const IPMFontfont = nil,
bool16 * usedCID = nil 
) const
pure virtual

Get Mojikumi character class

virtual int32 IMojikumiTable::GetDefaultDoubleByteClassIndex () const
pure virtual

Get default chararacter class Index

virtual bool16 IMojikumiTable::GetEditability () const
pure virtual

Return kTrue if this mojikumi table is editable

virtual UID IMojikumiTable::GetMojikumiClassListUID () const
pure virtual

Get Mojikumi character class list UID

virtual int32 IMojikumiTable::GetNumOfCharacterClasses () const
pure virtual

Return number of registered character classes

virtual UID IMojikumiTable::GetTsumeTableUID () const
pure virtual

Get Tsume table UID

virtual bool16 IMojikumiTable::GetTsumeValue (UTF32TextChar chr,
PMRealbefore,
PMRealafter,
bool16 isVertical,
Text::GlyphID glyph = kInvalidGlyphID,
const IPMFontfont = nil 
) const
pure virtual

Get Tsume value. Mojikumi aki and tsume are related: aki is the spacing the user sets for each character class, based on the widths after tsume has been taken out. The tsume amount is the difference between the glyph width in the font and the width set by JIS X 4051 for that character, in em. Because of this dependency, tsume tables are attached to mojikumi tables, and accessing tsume amounts should be accomplished using IMojikumiTable::GetTsumeValue().

See Also
ITsumeTable
IPMFont
Parameters
chrthe raw Unicode codepoint
beforethe left side tsume amount in em (i.e. -0.5 means -1/2 the point size)
afterthe right side tsume amount in em
isVerticalwhether the character is being drawn upright in vertical text
glyphIDfor CID-based mojikumi, the glyph ID being drawn
fontfor CID-based mojikumi, the font being used. CID-based mojikumi and tsume uses an IPMFont and the glyphID. When passing glyphID, you must also pass an IPMFont *, or the CID will not be used and the amount for the raw Unicode will be returned.
virtual bool16 IMojikumiTable::HasTsumeTable () const
pure virtual

Return kTrue if this mojikumi table has Tsume table

virtual bool16 IMojikumiTable::SetAfterSpacingRules (MojikumiClass target,
MojikumiClass afterClass,
const MojikumiElementelement 
)
pure virtual

Set spacing rules after character for Mojikumi

virtual bool16 IMojikumiTable::SetBeforeSpacingRules (MojikumiClass target,
MojikumiClass previousClass,
const MojikumiElementelement 
)
pure virtual

Set spacing rules before character for Mojikumi

virtual void IMojikumiTable::SetMojikumiClassListUID (UID classListUID)
pure virtual

Set Mojikumi character class list UID

virtual void IMojikumiTable::SetSpacingAtEdgeOfLine (YakumonoSpacingSet lineEndComma = kYakumonoSpacing_None,
YakumonoSpacingSet lineEndPeriod = kYakumonoSpacing_None,
YakumonoSpacingSet lineEndParen = kYakumonoSpacing_None,
YakumonoSpacingSet lineEndMidPunc = kYakumonoSpacing_None,
YakumonoSpacingSet lineTopParen = kYakumonoSpacing_None,
YakumonoSpacingSet paraTopParen = kYakumonoSpacing_None,
int32 jisage = 0,
bool16 ignoreParenJisage = kFalse 
)
pure virtual

Set spacing at edge of line (top line and end line)

virtual void IMojikumiTable::SetTsumeTableUID (UID tsumeUID)
pure virtual

Set Tsume table UID