The document describes how text attributes can be set and queried using the textmodel::set_attr and textmodel::get_attr functions.
InDesign® knows an almost unbelievable number of attributes for text design. There is actually nothing that does not exist. With the all-rounders textmodel::set_attr and textmodel::get_attr (almost) all of these attributes can be edited. You only need to specify three things:
The most difficult part of the job is finding the right attribute to a text property. In the C++ interface to InDesign®, these attributes are called Boss Classes. We have deliberately used the same names :
So if you don't know the corresponding attribute for a text property, you have to search: First by name, then everywhere. If you remain unsuccessful (but please only then!), you are also welcome to contact us.
Unfortunately, there is no complete documentation from Adobe about all supported text attributes and their values. The table of text attributes is the result of long and patient searching in various (sometimes very old) sources. If you find any errors or discover additional text attributes, we would be very happy if you send us a short message to paul@priint.com.
If you find a text attribute boss class that is not included in the following text attribute table, you cannot use this class directly The plug-ins will not know this boss class! And it is also not enough to enter the so-called ClassID, which you may find for the Boss class, as a number! From the boss class to the document it is still a bit to run - and we have to do that. So here too: Mail to paul@priint.com.
CJK stands for Chinese/Japanese/Korean. A large number of the text attributes are only applicable in these writing systems. In latin texts, there is simply noTate-chu-yoko. For CJK attributes, the texts may have to be vertically aligned, but in any case they must be set with a Japanese composer. Otherwise your attribute has no effect.
You do not need a special version of InDesign® to use CJK Attributes. Nor does your version need to be localized accordingly. Every InDesign® can set and apply the attributes. Only some panles are missing.
In the Table of Text Attributes, the CJK Attributes are located in the lower part of the table and are displayed in slanted font.
A few attributes are not implemented. These attributes are marked with n/a in theTable of Text Attributes.
Text attributes have of course different parameters. The attribute parameters always start with the fifth function parameter, i.e. directly after the Boss class. In the table of text attributes, the necessary parameters and their types are specified in the Parameter column. Make absolutely sure to always use the correct data types. Incorrect values or value types can cause InDesign® to crash!
Setting and querying the values usually have the same parameter types.
BUT! When fetching the values, you must pass a pointer to a variable! And please keep in mind: char* and String are already pointers but int and float Variables need the address operator &.
In the example, the font and font size of the beginning of the text are determined and placed in the current text selection.
int fontsize; char fontname [512]; textmodel::get_attr (gFrame, 0, 0, kTextAttrFontUIDBoss, fontname); textmodel::get_attr (gFrame, 0, 0, kTextAttrPointSizeBoss, &fontsize); textmodel::set_attr (gFrame, kSelection, 0, kTextAttrFontUIDBoss, fontname); textmodel::set_attr (gFrame, kSelection, 0, kTextAttrPointSizeBoss, fontsize);
Colors can be specified by by their swatch names or by their color values. In addition, you still need the additional information about the color space when fetching the color. Color attributes expect the following parameter.
Up to four parameters are expected. The first parameter must always be a string (char*). If this string is non-empty, it designates the Swatch to be used. If the string is empty or 0, either three int numbers with the RGB (0-255) or four float numbers with the CMYK values (0.0-1.0) of the color can follow. Lab colors are not supported by us at this time. So you have one of the three possibilities:
The following three calls, provided that the color field "Orange" is defined correctly, will color the current text selection orange.
textmodel::set_attr (gFrame, kSelection, 0, kTextAttrColorBoss, "Orange"); textmodel::set_attr (gFrame, kSelection, 0, kTextAttrColorBoss, "", 255, 128, 0); textmodel::set_attr (gFrame, kSelection, 0, kTextAttrColorBoss, "", 0.0, 0.61, 0.94, 0.0);
When querying colors, up to seven parameters can be passed :
1. char* - Swatch name
2. int* - Color space (5 : RGB, 6 : CMYK, 7 : Lab)
3.-6. float*, float*, float*, float* - Color components (RGB 0.0-255.0, CMYK 0.0-1.0)
7. int* - Process color (or spot) (0 | 1)
Any of the parameters may be 0, but if it is not 0, it must be of the specified type.
You can use the preserved values at RGB again for setting. Note, however, that you've got float values. To convert them int o int values use the toint function.
Write the current font color into the log. Note the & (and that there is no & before colname)!
#include "internal/text.h" #include "internal/textattributes.h" int main () { int len; char colname [512]; int colspace, isProcess; float c1, c2, c3, c4; textmodel::get_attr (gFrame, kSelection, &len, kTextAttrColorBoss, colname, &colspace, &c1, &c2, &c3, &c4, &isProcess); wlog ("", "color for next %d letters : '%s', %d [%f %f %f %f], %d\n", len, colname, colspace, c1, c2, c3, c4, isProcess); return 0; }
The following table shows all supported line types for underlining, etc. .
Line Type | Description (Name) |
0 | Solid Path |
1 | Dashed |
2 | Dash 4x4 |
3 | Dash 3x2 |
4 | Dotted |
5 | Single Wavy |
6 | Straight Hash |
7 | Right Slant Hash |
8 | Left Slant Hash |
9 | White Diamond |
10 | Japanese Dots |
11 | Thin - Thin |
12 | Thin - Thick |
13 | Thick - Thin |
14 | Thick - Thick |
15 | Thin - Thick - Thin |
16 | Thick - Thin - Thick |
17 | Triple |
18 | Table Stripe |
The following list contains all languages and dialects available in InDesign® 2021, on the left the name used in the UI, on the right the internally used names. The spaces between : and dialect are important!
UI | Key |
[No Language] | Neutral |
Arabic | Arabic |
Bengali (India) | bn_IN |
Bulgarian | Bulgarian |
Burmese (Mynamar [Burma]) | my_MM |
Catalan | Catalan |
Croatian | Croatian |
Czech | Czech |
Danish | Danish |
Dutch: 2005 Reform | nl_NL_2005 |
Dutch: Old Rules | Dutch |
English: Canadian | English: Canadian |
English: UK | English: UK |
English: USA | English: USA |
English: USA Legal | English: USA Legal |
English: USA Medical | English: USA Medical |
Estonian | Estonian |
Finnish | Finnish |
French | French |
French: Canadian | French: Canadian |
German: 1996 Reform | German: Reformed |
German: 2006 Reform | de_DE_2006 |
German: Old Rules | German |
German: Austria 2006 Reform | German: Austrian |
German: Swiss | German: Swiss |
German: Swiss 2066 Reform | de_CH_2006 |
Greek | Greek |
Gujarati (India) | gu_IN |
Hebrew | Hebrew |
Hindi (India) | hi_IN |
Hungarian | Hungarian |
Indonesian (Indonesia) | id_ID |
Italian | Italian |
Kannada (India) | kn_IN |
Khmer (Cambodia) | km_KH |
Lao (Laos) | lo_LA |
Latvian | Latvian |
Lithuanian | Lithuanian |
Malayalam (India) | ml_IN |
Marathie (India) | mr_IN |
Norwegian: Bokmål | Norwegian: Bokmal |
Norwegian: Nynorsk | Norwegian: Nynorsk |
Orya (India) | or_IN |
Polish | Polish |
Portuguese | Portuguese |
Portuguese: Brazilian | Portuguese: Brazilian |
Portuguese: Orthographic Agreement | Portuguese: Orthographic Agreement |
Punjabi (India) | pa_IN |
Romanian | Romanian |
Russian | Russian |
Sinhala (Sri Lanka) | si_LK |
Slovak | Slovak |
Slovenian | Slovenian |
Spanish | Spanish: Castilian |
Schwedish | Swedish |
Tamil (India) | ta_IN |
Telugu (India) | te_IN |
Thai | Thai |
Turkish | Turkish |
Ukrainian | Ukrainian |
Set an own kenten 'A' with defined font and color to the current text selection
#include "internal/text.h" #include "internal/textattributes.h" // text attribute bosses int main () { textmodel::set_attr (gFrame, kSelection, 0, kTAKentenKindBoss, 11); // Custom textmodel::set_attr (gFrame, kSelection, 0, kTAKentenCharacterBoss, 65); // Letter A textmodel::set_attr (gFrame, kSelection, 0, kTAKentenCharacterSetBoss, 0); // ShiftJIS textmodel::set_attr (gFrame, kSelection, 0, kTAKentenColorBoss, "", 255, 128, 0); // Orange (RGB) textmodel::set_attr (gFrame, kSelection, 0, kTAKentenFontFamilyBoss, "Geogrotesque"); textmodel::set_attr (gFrame, kSelection, 0, kTAKentenFontStyleBoss, "SemiBold Italic"); return 0; }
Toggle capital mode
#include "internal/text.h" #include "internal/textattributes.h" // text attribute bosses int main () { int al; textmodel::get_attr (gFrame, kSelection, 0, kTextAttrCapitalModeBoss, &al); wlog ("", "aaa-a %d\n", al); al++; if (al > 3) al = 0; textmodel::set_attr (gFrame, kSelection, 0, kTextAttrCapitalModeBoss, al); textmodel::get_attr (gFrame, kSelection, 0, kTextAttrCapitalModeBoss, &al); wlog ("", "aaa-b %d\n", al); return 0; }
The following table contains all supported about 250 text attributes. Default values, if present and not equal to 0, are highlighted in bold. The Workspace indicates whether an attribute is a paragraph or a character property. CJK attributes start hier.
Attribut | Type | Parameter | Domain | |
General Attributes | ||||
kTextAttrAlignmentBoss | int | 0 kLeft 1 kCenter 2 kRight 3 kJustify 4 kJustifyLeft 5 kJustifyCenter 6 kJustifyRight 7 kJustifyAuto 8 kJustifyToBinding 9 kJustifyAwayBinding |
Paragraph | |
kTextAttrAlignSingleBoss | int | 0
kLeft 1 kCenter 2 kRight 3 kJustify 4 kJustifyLeft 5 kJustifyCenter 6 kJustifyRight 7 kJustifyAuto 8 kJustifyToBinding 9 kJustifyAwayBinding |
Paragraph | |
kTextAttrAlternateCharBoss | int | Character | ||
kTextAttrAutoLeadBoss | float | value in percent (1.0 for 100%), default 1.2 | Paragraph | |
kTextAttrBLShiftBoss | float | Character | ||
kTextAttrBreakBeforeBoss | int | 0 No forced break, start anywhere 1 at column 2 at page 3 at frame box 4 at odd page 5 at even page |
Paragraph | |
kTextAttrCapitalModeBoss | 0 normal 1 kCapSmallLowercase 2 kCapAll 3 kCapSmallEverything |
Character | ||
kTextAttrCharacterHangBoss | int | 0
baseline 1 em Center 2 em Bottom 3 em top 4 ICF bottom 5 ICF top |
Character | |
kTextAttrColorBoss | Color | Character | ||
kTextAttrComposerBoss | int | 0x2000+ 2 : Adobe Paragraph Composer 0x2000+ 1 : Adobe Single-line Composer 0x2000+ 16 : Adobe Japanese Paragraph Composer 0x2000+ 17 : Adobe Japanese Single-line Composer 0x2000+ 120 : Global Adobe Paragraph Composer (Arabic, ...) 0x2000+ 121 : Global Adobe Single-line Composer (Arabic, ...) 0x2000+ 102 : Linnaeus Composer |
Paragraph | |
kTextAttrDropCapCharsBoss | int | Paragraph | ||
kTextAttrDropCapLinesBoss | int | Paragraph | ||
kTextAttrFigureStyleBoss | int | 0
LiningTabular - consistent width, "tall" figures 1 OldstyleProp- proportional width, "lowercase" figures 2 LiningProp- proportional width "tall" figures 3 OldstyleTabular- consistent width "lowercase" figures 4 Default - use whatever the font says is the default |
Character | |
kTextAttrFontStyleBoss | char* | valid style of font | Character | |
kTextAttrFontUIDBoss | char* | Missleading name! FontUID stands for fontname!
valid font name |
Character | |
kTextAttrForceVerticalGlyphsBoss | int | 0 | 1 | Character | |
kTextAttrGlyphscaleDesBoss | float | percent (1.0 for 100%), default 1.0 | Paragraph | |
kTextAttrGlyphscaleMaxBoss | float | percent (1.0 for 100%), default 1.0 | Paragraph | |
kTextAttrGlyphscaleMinBoss | float | percent (1.0 for 100%), default 1.0 | Paragraph | |
kTextAttrGotoNextXBoss | int | 0 No forced break, start anywhere 1 at column 2 at page 3 at frame box 4 at odd page 5 at even page |
Character | |
kTextAttrGradAngleBoss | float | Character | ||
kTextAttrGradCenterBoss | float, float | Character | ||
kTextAttrGradLengthBoss | float | Character | ||
kTextAttrHiliteAngleBoss | float | |||
kTextAttrHiliteLengthBoss | float | Character | ||
kTextAttrHyphenCapBoss | int | Paragraph | ||
kTextAttrHyphenLadderBoss | int | any, default 3 | Paragraph | |
kTextAttrHyphenModeBoss | int | 0
off 1 manual 2 dictionary 3 alogrithm |
Paragraph | |
kTextAttrHyphenWeightBoss | int | any, default 5 | Paragraph | |
kTextAttrHyphenZoneBoss | float | any, default 3p0 | Paragraph | |
kTextAttrHyphenLastBoss | int | 0 | 1 | ||
kTextAttrILGShiftBoss | float | Character | ||
kTextAttrIndent1LBoss | float | Paragraph | ||
kTextAttrIndentLastRightBoss | float | |||
kTextAttrIndentBLBoss | float | Paragraph | ||
kTextAttrIndentBRBoss | float | Paragraph | ||
kTextAttrKeepFirstNLinesBoss | int | any, default 2 | Paragraph | |
kTextAttrKeepLastNLinesBoss | int | any, default 2 | Paragraph | |
kTextAttrKeepLinesBoss | int | 0 | 1 | Paragraph | |
kTextAttrKeepTogetherBoss | int | 0 | 1 | Paragraph | |
kTextAttrKeepWithNextBoss | int | Paragraph | ||
kTextAttrLanguageBoss | char* | Siehe Tabelle der verfügbaren Sprachen. | Character | |
kTextAttrLeadBoss | float | Character | ||
kTextAttrLetterspaceDesBoss | float | Paragraph | ||
kTextAttrLetterspaceMaxBoss | float | Paragraph | ||
kTextAttrLetterspaceMinBoss | float | Paragraph | ||
kTextAttrLigaturesBoss | int | 0 | 1 | Character | |
kTextAttrMinAfterBoss | int | Paragraph | ||
kTextAttrMinBeforeBoss | int | Paragraph | ||
kTextAttrNoBreakBoss | int | 0 | 1 | Character | |
kTextAttrOTFContextAltBoss | int | 0 | 1 | Character | |
kTextAttrOTFDiscLigBoss | int | 0 | 1 | Character | |
kTextAttrOTFFractionBoss | int | 0 | 1 | Character | |
kTextAttrOTFOrdinalBoss | int | 0 | 1 | Character | |
kTextAttrOTFStylisticAltBoss | int | Character | ||
kTextAttrOTFSwashBoss | int | 0 | 1 | Character | |
kTextAttrOTFTitlingBoss | int | 0 | 1 | Character | |
kTextAttrOutlineBoss | float | Character | ||
kTextAttrOverprintBoss | int | 0 | 1 | Character | |
kTextAttrPageNumberTypeBoss | int | 0 ThisPage 1 PreviousPage 2 NextPage 3 TextVariable |
Character | |
kTextAttrPairKernBoss | float | Character | ||
kTextAttrPairKernMethodBoss | int | 0x0200+
33 : Off 0x3E00 +100 : Metrics 0x3E00 +101 : Latin only 0x13800+ 3 : Optical |
Character | |
kTextAttrPointSizeBoss | float | Missleading name! This is FontSize! any, default 12 pt |
Character | |
kTextAttrPositionModeBoss | int | 0 Normal 1 Superscript 2 Subscript 3 Superior 4 Inferior 5 Numerator 6 Denominator |
Character | |
kTextAttrPRAColorBoss | Color | Missleading name! This is PRA stands for ParagraphRuleAfter - the line after a paragraph! | Paragraph | |
kTextAttrPRAGapColorBoss | Color | Paragraph | ||
kTextAttrPRAGapTintBoss | float | Paragraph | ||
kTextAttrPRAIndentLBoss | float | Paragraph | ||
kTextAttrPRAIndentRBoss | float | Paragraph | ||
kTextAttrPRAModeBoss | int | 0 None // obsolete, but left in for conversion purposes 1 Column width 2 Text width |
Paragraph | |
kTextAttrPRAOffsetBoss | float | Paragraph | ||
kTextAttrPRAOverprintBoss | int | 0 | 1 | Paragraph | |
kTextAttrPRARuleOnBoss | int | 0 | 1 | Paragraph | |
kTextAttrPRAStrokeBoss | float | Paragraph | ||
kTextAttrPRATintBoss | float | Paragraph | ||
kTextAttrPRBColorBoss | Color | Missleading name! This is PRB stands for ParagraphRuleBefore - the line before a paragraph! | Paragraph | |
kTextAttrPRBGapColorBoss | Color | Paragraph | ||
kTextAttrPRBGapTintBoss | float | Paragraph | ||
kTextAttrPRBIndentLBoss | float | Paragraph | ||
kTextAttrPRBIndentRBoss | float | Paragraph | ||
kTextAttrPRBModeBoss | int | 0 None
// obsolete, but left in for conversion purposes 1 Column width 2 Text width |
Paragraph | |
kTextAttrPRBOffsetBoss | float | Paragraph | ||
kTextAttrPRBOverprintBoss | int | 0 | 1 | Paragraph | |
kTextAttrPRBRuleOnBoss | int | 0 | 1 | Paragraph | |
kTextAttrPRBStrokeBoss | float | Paragraph | ||
kTextAttrPRBTintBoss | float | Paragraph | ||
kTextAttrShortestWordBoss | int | any value, default 5 | Paragraph | |
kTextAttrSkewAngleBoss | float | Character | ||
kTextAttrSpaceAfterBoss | float | Paragraph | ||
kTextAttrSpaceBeforeBoss | float | Paragraph | ||
kTextAttrSpecialGlyphBoss | int,char* | set : glyphID, fontname get : glyphID, glyphName |
Character | |
kTextAttrStrikethruBoss | int | 0 | 1 | Character | |
kTextAttrStrokeColorBoss | Color | Character | ||
kTextAttrStrokeGradAngleBoss | float | Missleading name! Grad is Gradient! | Character | |
kTextAttrStrokeGradCenterBoss | float,float | Character | ||
kTextAttrStrokeGradLengthBoss | float | Character | ||
kTextAttrStrokeHiliteAngleBoss | float | Character | ||
kTextAttrStrokeHiliteLengthBoss | float | Character | ||
kTextAttrStrokeOverprintBoss | int | Character | ||
kTextAttrStrokeTintBoss | float | Character | ||
kTextAttrTabsBoss | n/a | Paragraph | ||
kTextAttrTintBoss | float | Character | ||
kTextAttrTrackKernBoss | float | Character | ||
kTextAttrUnderlineBoss | int | 0 none 1 single |
Character | |
kTextAttrWordspaceDesBoss | float | percent (1.0 for 100%), default 1.0 | Paragraph | |
kTextAttrWordspaceMaxBoss | float | percent (1.0 for 100%), default 1.33 | Paragraph | |
kTextAttrWordspaceMinBoss | float | percent (1.0 for 100%), default 0.8 | Paragraph | |
kTextAttrXGlyphScaleBoss | float | percent (1.0 for 100%), default 1.0 | Character | |
kTextAttrYGlyphScaleBoss | float | percent (1.0 for 100%), default 1.0 | Character | |
kTextAttrCharUnderlineColorBoss | Color | Character | ||
kTextAttrCharUnderlineGapColorBoss | Color | Character | ||
kTextAttrCharUnderlineGapOverprintBoss | int | 0 | 1 | Character | |
kTextAttrCharUnderlineGapTintBoss | float | Character | ||
kTextAttrCharUnderlineOffsetBoss | float | Character | ||
kTextAttrCharUnderlineOverprintBoss | int | 0 | 1 | Character | |
kTextAttrCharUnderlineTintBoss | float | Character | ||
kTextAttrCharUnderlineWeightOffsetBoss | float | Missleading name! This is UnderlineWeight! | Character | |
kTextAttrCharUnderlineTypeBoss | Line Type | Character | ||
kTextAttrCharStrikeThroughColorBoss | Color | Character | ||
kTextAttrCharStrikeThroughGapColorBoss | Color | Character | ||
kTextAttrCharStrikeThroughGapOverprintBoss | int | 0 | 1 | Character | |
kTextAttrCharStrikeThroughGapTintBoss | float | Character | ||
kTextAttrCharStrikeThroughOffsetBoss | float | Character | ||
kTextAttrCharStrikeThroughOverprintBoss | int | 0 | 1 | Character | |
kTextAttrCharStrikeThroughTintBoss | float | Character | ||
kTextAttrCharStrikeThroughTypeBoss | Line Type | Character | ||
kTextAttrCharStrikeThroughWeightOffsetBoss | float | Missleading name! This is StrikeTroughWeight! | Character | |
kTextAttrBalancedLinesBoss | 0 | 1 | Paragraph | ||
kTextAttrPRAGapOverprintBoss | int | Missleading name! This PRA stands for Paragraph rule after, the line after a paragraph!
0 | 1 |
Paragraph | |
kTextAttrPRBGapOverprintBoss | int | Missleading name! This PRB stands for Paragraph rule before, the line before a paragraph!
0 | 1 |
Paragraph | |
kOTMarkPositioningBoss | int | 0 | 1 | Character | |
kOTLocaleFeatureBoss | int | 0 | 1 | Character | |
kSlashedZeroOTFBoss | int | 0 | 1 | Character | |
kOTPositionalFormsBoss | int | 0 no features. 1 automatically generates the 4 positional features listed below based on the underlying text 2 beginning of word form. 3 middle of word form. 4 end of word form. 5 by itself (one character word) form |
Character | |
kTextAttrCrossFrameHyphenBoss | int | 0 | 1 | Character | |
kTextAttrPRAKeepInFrameBoss | int | Missleading name! This PRA stands for Paragraph rule after, the line after a paragraph!
0 | 1 |
Paragraph | |
kTextAttrPRAStrokeTypeBoss | Line Type | Missleading name! This PRA stands for Paragraph rule after, the line after a paragraph! | Paragraph | |
kTextAttrPRBStrokeTypeBoss | Line Type | Missleading name! This PRB stands for Paragraph rule before, the line before a paragraph! | Paragraph | |
kTextAttrIgnoreEdgeAlignBoss | int | 0 | 1 | Paragraph | |
kTextAttrKeepWithPrevBoss | int | 0 | 1 | Character | |
kBNNumberingCFPreviousBoss | int | 0 | 1 | Paragraph | |
kBNShouldRestartBoss | int | 0 | 1 | Paragraph | |
kBNNumberStartAtBoss | int | any number | Paragraph | |
kBNBulletAlignmentBoss | int | 0 : left 1 : center 2 : right |
Paragraph | |
kBNNumberAlignmentBoss | int | 0 : left 1 : center 2 : right |
Paragraph | |
kBNNumberingNumberBoss | char* | Missleading name! Text to display as 'bullet point'. | Paragraph | |
kBNBulletTextAfterBoss | char* | Paragraph | ||
kBNListTypeBoss | int | 0 None 1 Bullet list 2 Numbering list |
Paragraph | |
kBNBulletCharacterBoss | int, int | Paragraph | ||
kBNBulletFontUIDBoss | char* | Missleading name! FontUID stands for fontname!
Valid font name |
Paragraph | |
kBNBulletFontStyleBoss | char* | Valid style name according to font name | Paragraph | |
kBNNumberingStyleBoss | 1 1, 2, 3, 4... 2 01, 02, 03, 04... 3 001,002,003... 4 0001,0002,0003... 5 I, II, II, IV... 6 i, ii, iii, iv... 7 A, B, C, D... 8 a, b, c, d... 9 Kanji 10 Katakana Modern 11 Katakana Traditional |
Paragraph | ||
kBNListStyleBoss | char* | Missleading name! Define list styles using the menu Font -> Bullet and numbering lists -> Define List ... . Set the list type in the popup "List:" of the dialog. Valid list style name or "" for default |
Paragraph | |
kBNListLevelBoss | int | Paragraph | ||
kBNBulletCharStyleBoss | char* | Name of character style | Paragraph | |
kBNNumberCharStyleBoss | char* | Name of character style | Paragraph | |
kTextAttrSpanColumnTypeBoss | int | 0 single column paragraph 1 paragraph spans columns 2 paragraph splits the column |
Paragraph | |
kDropCapDetailBoss | int | Optical settings are trying to align the glyph ink itself to the dropcap bounding box:
0 None 0x0F00 kFitDropCapOnJapaneseGrid 0x0101 Default (kPadWidth4JapaneseGrid + HonorLeftGlyphEdge) |
Paragraph | |
kTextAttrSpanColumnCountBoss | int | Paragraph | ||
kTextAttrStrokeAlignmentBoss | int | 0 center 1 inner 2 outer |
Character | |
kTextAttrOutlineJoinBoss | int | ? | Character | |
kTextAttrSplitColumnInsideGutterBoss | float | Paragraph | ||
kTextAttrSplitColumnOutsideGutterBoss | float | Paragraph | ||
kTextAttrSpanColumnMinSpaceBeforeBoss | float | Paragraph | ||
kTextAttrSpanColumnMinSpaceAfterBoss | float | Paragraph | ||
kTextAttrMiterLimitBoss | float | Character | ||
CJK Attributes | ||||
kTABunriKinshiBoss | int | 0 | 1 | Paragraph | |
kTACJKHangingBoss | int | 0 none (no burasagari) 1 regular (IDJ 1.0 style burasagari) 2 force (AI style burasagari) |
Paragraph | |
kTAGridAlignOnlyFirstLineReportBoss | int | 0 | 1 | Paragraph | |
kTAGridGyoudoriReportBoss | int | Paragraph | ||
kTAGridJidoriReportBoss | int | Character | ||
kTAIMECompModeBoss | int | 0 Confirmed 1 Unconverted 2 Converted 3 Selected |
Character | |
kTAKentenAlignmentBoss | int | 0
Left 1 Center 2 Right |
Character | |
kTAKentenCharacterBoss | int | Unicode of character | Character | |
kTAKentenCharacterSetBoss | int | 0 ShiftJIS 1 JIS 2 Unicode 3 Kuten |
Character | |
kTAKentenColorBoss | Color | Character | ||
kTAKentenFontFamilyBoss | char* | valid font name | Character | |
kTAKentenFontStyleBoss | char* | valid style of font | Character | |
kTAKentenKindBoss | int | 0 none 1 Black SesamDot 2 White SesamDot 3 Fish eye 4 Black Circle 5 Small Black Circle 6 Bulls eye 7 Black Triangle 8 White Triangle 9 White Circle 10 Small white circle 11 Custom (use kTAKentenCharacterBoss) |
Character | |
kTAKentenOutlineBoss | float | Character | ||
kTAKentenOverprintBoss | int | Character | ||
kTAKentenPositionBoss | int | 0 | 1 | Character | |
kTAKentenRelatedSizeBoss | float | Character | ||
kTAKentenSizeBoss | float | Character | ||
kTAKentenStrokeColorBoss | Color | Character | ||
kTAKentenStrokeOverprintBoss | int | Character | ||
kTAKentenStrokeTintBoss | float | Character | ||
kTAKentenTintBoss | float | Character | ||
kTAKentenXScaleBoss | float | percent (1.0 for 100%), default 1.0 | Character | |
kTAKentenYOffsetBoss | float | Character | ||
kTAKentenYScaleBoss | float | percent (1.0 for 100%), default 1.0 | Character | |
kTAKinsokuTableBoss | n/a | Paragraph | ||
kTAKinsokuTypeBoss | int | 0 push in first 1 push out first 2 push out only 3 push in always |
Paragraph | |
kTAKumiNumberReportBoss | int | Paragraph | ||
kTAKumiNumberWithRomanReportBoss | int | 0 | 1 | Paragraph | |
kTALeadingModelBoss | int | 0 Roman
leading model - Current Roman baseline to previous Roman baseline 1 JAkiBelow- Current embox top to next embox top (InDesign-J 1.0 Gyou-okuri model) 2 JAkiAbove - Current embox top to previous embox top (Opposite of ID-J: Aki is above the line) 3 Center Leading Model - Current embox center to previous embox center 4 ForceSpaceAfter- Similar to kJAkiBelow except that when lines with this leading model are next a different leading model no proportional adjustments are made, this line "wins". 5 center down- Current embox center to next embox center |
Paragraph | |
kTAMojikumiAdjustPeriodBoss | int | 0 | 1 | Paragraph | |
kTAMojikumiForceAfterSpacingBoss | float | Character | ||
kTAMojikumiForceBeforeSpacingBoss | float | Character | ||
kTAMojikumiFullAdjustBoss | int | 0 | 1 | Paragraph | |
kTAMojikumiRensuujiBoss | int | 0 | 1 | Paragraph | |
kTAMojikumiRomanWidthBoss | int | 0 | 1 | Paragraph | |
kTAMojikumiTableBoss | n/a | Paragraph | ||
kTAMojiRubyBoss | int | 0 | 1 | Character | |
kTAOTFHVKanaBoss | int | 0 | 1 | Character | |
kTAOTFProportionalBoss | int | 0 | 1 | Character | |
kTAOTFRomanItalicsBoss | int | 0 | 1 | Character | |
kTARotateRomanBoss | int | 0 | 1 | Paragraph | |
kTARubyAdjustParentBoss | int | 0
None 1 Both sides 2 Mojikumi 3 Equal Aki 4 Justify |
Character | |
kTARubyAlignmentBoss | int | 0
Left 1 Center 2 Right 3 Justify 4 JIS rule 5 Equal space 6 Edge one ruby |
Character | |
kTARubyAttrBoss | int | 0 | 1 | Character | |
kTARubyAutoScaleMinBoss | float | Values in percent (1.0 for 100%), default 0.66 | Character | |
kTARubyAutoScalingBoss | int | 0 | 1 | Character | |
kTARubyColorBoss | Color | Character | ||
kTARubyEdgeSpaceBoss | int | 0 | 1 | Character | |
kTARubyFontStyleBoss | char* | valid style of font | Character | |
kTARubyFontUIDBoss | char* | Missleading name! FontUID stands for fontname!
valid font name |
Character | |
kTARubyOTProBoss | int | 0 | 1 | Character | |
kTARubyOutlineBoss | float | Character | ||
kTARubyOverhangBoss | int | 0
None 1 OneRuby 2 HalfRuby 3 OneChar 4 HalfChar 5 NoLimit |
Character | |
kTARubyOverhangFlagBoss | int | 0 | 1 | Character | |
kTARubyOverprintBoss | int | Character | ||
kTARubyPointSizeBoss | float | Missleading name! This is FontSize! | Character | |
kTARubyPositionBoss | int | 0 | 1 | Character | |
kTARubyRelativeSizeBoss | float | Character | ||
kTARubyStringBoss | char* | Character | ||
kTARubyStrokeColorBoss | Color | Character | ||
kTARubyStrokeOverprintBoss | int | Character | ||
kTARubyStrokeTintBoss | float | Character | ||
kTARubyTintBoss | float | Character | ||
kTARubyXOffsetBoss | float | Character | ||
kTARubyXScaleBoss | float | percent (1.0 for 100%), default 1.0 | Character | |
kTARubyYOffsetBoss | float | Character | ||
kTARubyYScaleBoss | float | percent (1.0 for 100%), default 1.0 | Character | |
kTAShataiAdjustRotationBoss | int | 0 | 1 | Character | |
kTAShataiAdjustTsumeBoss | int | 0 | 1 | Character | |
kTAShataiAngleBoss | float | Angle in degrees, default 45� | Character | |
kTAShataiMagnificationBoss | float | Values in percent (1.0 for 100%) | Character | |
kTATatechuyokoAttrBoss | int | 0 | 1 | Character | |
kTATatechuyokoXOffsetBoss | float | Character | ||
kTATatechuyokoYOffsetBoss | float | Character | ||
kTATsumeTableBoss | n/a | Character | ||
kTAWarichuAlignmentBoss | int | 0 kLeft 1 kCenter 2 kRight 3 kJustify 4 kJustifyLeft 5 kJustifyCenter 6 kJustifyRight 7 kJustifyAuto 8 kJustifyToBinding 9 kJustifyAwayBinding |
Character | |
kTAWarichuAttrBoss | int | 0 | 1 | Character | |
kTAWarichuAutoResizeParenBoss | int | 0 | 1 | Character | |
kTAWarichuLineSpacingBoss | float | Character | ||
kTAWarichuMinCharsAfterBreakBoss | int | any, default 2 | Character | |
kTAWarichuMinCharsBeforeBreakBoss | int | any, default 2 | Character | |
kTAWarichuNumOfLineBoss | int | any, default 2 | Character | |
kTACharRotateAngleReportBoss | float | Character | ||
kTAScaleAffectsLineHeightBoss | int | 0 | 1 | Character | |
kTextAttrGlyphFormBoss | int | 0 NoForm 1 FirstValidForm 2 ExpertForm 3 JIS78Form 4 JIS83Form 5 HalfWidthForm 6 ThirdWidthForm 7 QuarterWidthForm 8 NLCForm 9 ProportionalWidthForm 10 FullWidthForm 11 JIS04Form 12 JIS90Form 13 BeyondEndForm |
Character | |
kTextAttrOTFeatureListBoss | n/a | Character | ||
kTACJKGridTrackingBoss | int | Character | ||
kTARotateRomanBoss | int | Paragraph | ||
kTextAttrGridAlignmentBoss | int | 0 None 1 Baseline 2 EmTop 3 EmCenter 4 EmBottom 5 ICFTop 6 ICFBottom 7 CapHeight |
Paragraph | |
kTARubyAutoTCYAutoScaleBoss | int | Character | ||
kTARubyAutoTCYIncludeRomanBoss | int | Character | ||
kTARubyAutoTCYNumDigitsBoss | int | Character | ||
kTAWarichuRelativeSizeBoss | float | value in percent (1.0 for 100%), default 0.5 | Character | |
Same Paragraph [since v4.2 R32600 and InDesign® 2023] | ||||
kTextAttrSameParaSpacingBoss | float | Paragraph | ||
Paragraph Border Shading (PBS) [since v4.2 R32600 and InDesign® 2023] | ||||
kTextAttrPBSFillColorBoss | Color | Represents the fill color of paragraph border and shading. | Paragraph | |
kTextAttrPBSFillTintBoss | float | Represents the fill percentage tint of paragraph border and shading. | Paragraph | |
kTextAttrPBSFillOverprintBoss | int |
Represents whether to overprint the fill of paragraph border and shading. 0 | 1 |
Paragraph | |
kTextAttrPBSWidthBoss | int |
Represents the width to be text/column width for paragraph border and shading. 0 : column width 1 : text width |
Paragraph | |
kTextAttrPBSFillOnBoss | int |
Represents whether the fill is on for paragraph border and shading. 0 | 1 |
Paragraph | |
kTextAttrPBSClipToFrameBoss | int |
Represents whether the paragraph border and shading should be kept within frame/cropped to frame 0 | 1 |
Paragraph | |
kTextAttrPBSSuppressPrintingBoss | int |
Represents whether to suppress printing of paragraph border and shading 0 | 1 |
Paragraph | |
kTextAttrPBSOffsetLBoss kTextAttrPBSOffsetTBoss kTextAttrPBSOffsetRBoss kTextAttrPBSOffsetBBoss |
float | Represents left/top/right/bottom offset of paragraph shading | Paragraph | |
kTextAttrPBSTopOriginBoss | int |
Represents the top origin to be based on cap-height, ascender or baseline for paragraph border and shading. 0 : ascent top origin 1 : baseline top origin 2 : leading top origin 3 : em box top origin 4 : cap height top origin 5 : x height top origin 6 : em box center top origin |
Paragraph | |
kTextAttrPBSBottomOriginBoss | int |
Represents the bottom origin to be based on descender or baseline for paragraph border and shading. 0 : descent bottom origin 1 : baseline bottom origin 2 : em box bottom origin 3 : em box center bottom origin |
Paragraph | |
kTextAttrPBSStrokeColorBoss | Color | Represents the stroke color of paragraph border and shading. | Paragraph | |
kTextAttrPBSStrokeTintBoss | float | Represents the stroke percentage tint of paragraph border and shading. | Paragraph | |
kTextAttrPBSStrokeOverprintBoss | int |
Represents whether to overprint the stroke of paragraph border and shading. 0 | 1 |
Paragraph | |
kTextAttrPBSStrokeOnBoss | int |
Represents whether the stroke is on for paragraph border and shading. 0 | 1 |
Paragraph | |
kTextAttrPBSStrokeGapColorBoss | Color | Represents the stroke gap color of paragraph border and shading. | Paragraph | |
kTextAttrPBSStrokeGapTintBoss | float | Represents the stroke gap percentage tint of paragraph border and shading. | Paragraph | |
kTextAttrPBSStrokeOnBoss | int |
Represents whether to overprint the stroke gap of paragraph border and shading. 0 | 1 |
Paragraph | |
kTextAttrPBSStrokeTypeBoss | Line Type | This helds the line type of the paragraph border. | Paragraph | |
kTextAttrPBSStrokeWeightBoss | float | Represents the stroke weight applied to the paragraph border and shading. | Paragraph | |
kTextAttrParaBorderOffsetLBoss kTextAttrParaBorderOffsetTBoss kTextAttrParaBorderOffsetRBoss kTextAttrParaBorderOffsetBBoss |
float | Represents left/top/right/bottom offset of paragraph border. | Paragraph | |
kTextAttrPBSStrokeJoinTypeBoss | int |
Represents the stroke join type of paragraph border. 0 : miter 1 : round 2 : bevel |
Paragraph | |
kTextAttrPBSCornerTypeTLAttrBoss kTextAttrPBSCornerTypeTRAttrBoss kTextAttrPBSCornerTypeBLAttrBoss kTextAttrPBSCornerTypeBRAttrBoss |
int |
Represents the top-left/top-right/bottom-left/bottom-right corner type applied to the paragraph border. 0 : rectangular 1 : rounded 2 : inverse rounded 3 : inset 4 : bevel 5 : fancy |
Paragraph | |
kTextAttrPBSCornerRadiusTLAttrBoss kTextAttrPBSCornerRadiusTRAttrBoss kTextAttrPBSCornerRadiusBLAttrBoss kTextAttrPBSCornerRadiusBRAttrBoss |
float | Represents the top left corner radius value applied to the paragraph border. | Paragraph | |
kTextAttrPSCornerTypeTLAttrBoss kTextAttrPSCornerTypeTRAttrBoss kTextAttrPSCornerTypeBLAttrBoss kTextAttrPSCornerTypeBRAttrBoss |
int |
Represents the top-left/top-right/bottom-left/bottom-right corner type applied to the paragraph shading. 0 : rectangular 1 : rounded 2 : inverse rounded 3 : inset 4 : bevel 5 : fancy |
Paragraph | |
kTextAttrPSCornerRadiusTLAttrBoss kTextAttrPSCornerRadiusTRAttrBoss kTextAttrPSCornerRadiusBLAttrBoss kTextAttrPSCornerRadiusBRAttrBoss |
float | Represents the top left corner radius value applied to the paragraph shading. | Paragraph | |
kTextAttrPBSStrokeCapTypeBoss | int |
Represents the stroke cap type of paragraph border. 0 : ButCap 1 : RoundCap 2 : ProjectingCap |
Paragraph | |
kTextAttrProviderHyphStyleBoss | int |
Represents the hyphenation style of the provider. 0 : all 1 : all but unaesthetic 2 : aesthetic 3 : preferred aesthetic |
Paragraph |