Also appears in: Text Fragment, Text Arc, Text Area, Text Design, Glyph, Char, PowerGlyph, Text Path
Link to the Typography object. When standard glyphs or characters are used, this should be a link to the Typography (For Outline Fonts) object. When PowerGlyphs (or PowerChars in the future) are used, this should be a link to the Typography (For PowerFonts) object.
In either case, this link supplies typographic parameters.
Also appears in: Text Fragment, Text Arc, Text Area, Text Path
Link to the Typographic Frame object.
This link supplies parameters necessary to render frames of glyphs and characters.
Also appears in: Text Fragment, Text Arc, Text Area, Text Design, Text Path
This link supplies text layout attributes. When building the Text Design or Rich Text Design object, this is a link to the Text Layout (Manual) object. When building any other text object, this is a link to the Text Layout (Automatic) object.
Text Design and Rich Text Design utilize a manual text layout algorithm which means that the (x, y) position of each glyph/character must be supplied explicitly by the user. All other text objects utilize an automatic text layout algorithm which means that the position of their glyphs/characters is calculated automatically by the text layout engine while the user only supplies higher-level layout attributes such as direction, alignment, kerning, letter/row spacing etc.
Also appears in: Text Extras, Text Arc, Text Area, Rich Text Line, Rich Text Arc, Rich Text Area, Text Path, Rich Text Path
Link to the Baseline object.
This link supplies parameters necessary to render the baselines of text rows.
Also appears in: Text Fragment, Text Arc, Text Area, Text Path
Link to the Text Extras object.
Supported Compression Methods: 006
Also appears in: Text Fragment, Text Arc, Text Area, Text Design, Text Path
Text string, i.e. an array of character or glyph codes (variable length, 1 byte per code).
Sample values:
"Test"
"D-Type"
Supported Compression Methods: 004
Also appears in: Text Fragment, Text Arc, Text Area, Text Design, Text Path
Text string, i.e. an array of character or glyph codes (variable length, 2 bytes per code).
Sample values:
"54 00 65 00 73 00 74 00" ('T', 'e', 's', 't')
"44 00 2D 00 54 00 79 00 70 00 65 00" ('D', '-', 'T', 'y', 'p', 'e')
Supported Compression Methods: 002
Also appears in: Text Fragment, Text Arc, Text Area, Text Design, Text Path
Text string, i.e. an array of character or glyph codes (variable length, 3 bytes per code).
Sample values:
"54 00 00 65 00 00 73 00 00 74 00 00" ('T', 'e', 's', 't')
"44 00 00 2D 00 00 54 00 00 79 00 00 70 00 00 65 00 00" ('D', '-', 'T', 'y', 'p', 'e')
Supported Compression Methods: 000
Also appears in: Text Fragment, Text Arc, Text Area, Text Design, Text Path
Text string, i.e. an array of character or glyph codes (variable length, 4 bytes per code).
Sample values:
"54 00 00 00 65 00 00 00 73 00 00 00 74 00 00 00" ('T', 'e', 's', 't')
"44 00 00 00 2D 00 00 00 54 00 00 00 79 00 00 00 70 00 00 00 65 00 00 00" ('D', '-', 'T', 'y', 'p', 'e')
Also appears in: Text Fragment, Text Arc, Text Area, Text Design, Text Path
User-specific content (variable length)
This property allows end-user applications to store their own (i.e. user-specific) content with each text fragment. This property is suitable for user-specific content of variable length (e.g. strings, custom structures etc). D-Type Engine does not use or interpret this content in any way; the interpretation of the user-specific content is entirely up to the end-user application.
Note: Additional technical information about this property is available to customers with a support contract.
Also appears in: Text Design, Rich Text Line, Rich Text Design
Angle in degrees. Must be between 0 and 360.
Also appears in: Text Arc, Text Area, Rich Text Line, Rich Text Arc, Rich Text Area, Text Path, Rich Text Path
Global text direction and bidirectional text display method.
Supported values:
A) Horizontal Layout (Text in Rows) and Bidirectional Reordering:
0 = Left-to-Right, Top-to-Bottom (e.g. Latin, Cyrillic, Greek)
1 = Right-to-Left, Top-to-Bottom (e.g. Arabic, Hebrew)
2 = Left-to-Right, Bottom-to-Top
3 = Right-to-Left, Bottom-to-Top
4 = Same as 0 but swap Portrait & Landscape
5 = Same as 1 but swap Portrait & Landscape
6 = Same as 2 but swap Portrait & Landscape
7 = Same as 3 but swap Portrait & Landscape
B) Vertical Layout (Text in Columns) and Bidirectional Reordering:
8 = Top-to-Bottom, Right-to-Left (e.g. Vertical Chinese)
9 = Bottom-to-Top, Right-to-Left
10 = Top-to-Bottom, Left-to-Right
11 = Bottom-to-Top, Left-to-Right
12 = Same as 8 but swap Portrait & Landscape
13 = Same as 9 but swap Portrait & Landscape
14 = Same as 10 but swap Portrait & Landscape
15 = Same as 11 but swap Portrait & Landscape
C) Horizontal Layout (Text in Rows) and Bidirectional Rotation:
16 = Left-to-Right, Top-to-Bottom (e.g. Latin, Cyrillic, Greek)
17 = Right-to-Left, Top-to-Bottom (e.g. Arabic, Hebrew)
18 = Left-to-Right, Bottom-to-Top
19 = Right-to-Left, Bottom-to-Top
20 = Same as 16 but swap Portrait & Landscape
21 = Same as 17 but swap Portrait & Landscape
22 = Same as 18 but swap Portrait & Landscape
23 = Same as 19 but swap Portrait & Landscape
D) Vertical Layout (Text in Columns) and Bidirectional Rotation:
24 = Top-to-Bottom, Right-to-Left (e.g. Vertical Chinese)
25 = Bottom-to-Top, Right-to-Left
26 = Top-to-Bottom, Left-to-Right
27 = Bottom-to-Top, Left-to-Right
28 = Same as 24 but swap Portrait & Landscape
29 = Same as 25 but swap Portrait & Landscape
30 = Same as 26 but swap Portrait & Landscape
31 = Same as 27 but swap Portrait & Landscape
Notes:
D-Type Engine can display text in horizontal writing mode (text in rows) and vertical writing mode (text in columns). In horizontal writing mode, the global text progression can be Letf-to-Right/Top-to-Bottom, Right-to-Left/Top-to-Bottom, Letf-to-Right/Bottom-to-Top or Right-to-Left/Bottom-to-Top. In vertical writing mode, the global text progression can be Top-to-Bottom/Right-to-Left, Bottom-to-Top/Right-to-Left, Top-to-Bottom/Left-to-Right or Bottom-to-Top/Left-to-Right.
Additionally, D-Type Engine can display bidirectional text (e.g. a mixture of left-to-right text such as English or Chinese and right-to-left text such as Arabic or Hebrew) using two different methods: the first method is Bidirectional Reordering, the second method is Bidirectional Rotation. Visually, these two methods produce quite different output. However, both are suitable for displaying text that was processed by the Unicode Bidirectional Algorithm (BiDi).
With Bidirectional Reordering the characters are reordered for display depending on the relative direction of the containing text fragment. Thus, a left-to-right text fragment has its characters ordered (visually) in the opposite order from a right-to-left text fragment. While reading bidirectional text, from start to end, the reader must alternate the reading direction (left-to-right/right-to-left in horizontal writing mode or top-to-bottom/bottom-to-top in vertical writing mode) each time a change of direction occurs. This is also the progression of the cursor as it advances from one character to another. This means that with Bidirectional Reordering, the order in which the characters are displayed is not the same as the order in which they are stored in memory (logical or storage order).
With Bidirectional Rotation all characters are ordered uniformly (e.g. from left-to-right in horizontal writing mode or top-to-bottom in vertical writing mode) regardless of whether the containing text fragment has a left-to-right or right-to-left direction. However, their rotation depends on the relative direction of the containing text fragment. More specifically, characters that are part of a left-to-right text fragment are rotated 180 degrees relative to the characters that are part of a right-to-left text fragment. Thus, while reading bidirectional text, from start to end, the reader must rotate the display surface or tilt his/her head (clockwise or counterclockwise) each time a change of direction occurs. However, the reading direction and the progression of the cursor remain uniform. This also means that with Bidirectional Rotation, the order in which the characters are displayed is the same as the order in which they are stored in memory.
Bidirectional Reordering is frequently used in horizontal writing mode and also works well in vertical writing mode. Bidirectional Rotation is typically not used in horizontal writing mode due to the fact that almost all Unicode scripts, when displayed in horizontal writing mode, have their orientation set to portrait (meaning that the glyph's x-axis in font design space is parallel with the baseline). Using Bidirectional Rotation in this case would require the user to rotate the display surface by 180 degrees (clockwise or counterclockwise) each time a change of direction is encountered -- which is, needles to say, far from practical. However, Bidirectional Rotation works well in vertical writing mode. This is due to the fact that vertical writing is used mostly with CJK scripts (Chinese/Japanese/Korean) which typically have their orientation set to landscape (meaning that the glyph's x-axis in font design space is perpendicular to the baseline). Non-CJK scripts, such as Latin or Arabic then have their orientation set to portrait. Under this scheme, the reading direction and the progression of the cursor is always top-to-bottom. When reading the majority of content (i.e. CJK text), there is no need to rotate the display surface. However, when a left-to-right text fragment (e.g. English) is encountered, the reader rotates the display surface by 90 degrees clockwise. Similarly, when a right-to-left text fragment (e.g. Arabic) is encountered, the reader rotates the display surface by 90 degrees counterclockwise. In all three cases (Chinese, English and Arabic) the characters are ordered from top to bottom and the reader is never expected to alter the reading direction (which would otherwise be required if Bidirectional Reordering was used). This is not to say that Bidirectional Reordering cannot be used in vertical writing mode. However, Bidirectional Rotation might work better in certain applications as rotating the display surface by 90 degrees clockwise or counterclockwise relative to the vertical baseline is sometimes considered a more practical way of reading vertical bidirectional text.
Also appears in: Text Arc, Text Area, Rich Text Line, Rich Text Arc, Rich Text Area, Text Path, Rich Text Path
A flag that indicates whether and how the text is locked for user interactions. This flag is respected by D-Type Text Engine.
Supported values:
0 = Text is not locked (all user interactions are enabled)
1 = Text is completely locked (all user interactions are disabled)
2 = Text is locked for both editing and formatting/styling (but a user can still move the cursor and make text selections)
3 = Text is locked for editing but not for formatting/styling (and a user can still move the cursor and make text selections)
4 = Text is locked for formatting/styling but not for editing (and a user can still move the cursor and make text selections)
Also appears in: Text Arc, Text Area, Rich Text Line, Rich Text Arc, Rich Text Area, Text Path, Rich Text Path
Miscellaneous text handling flags respected by D-Type Text Engine.
Supported values:
Bit 0: If this bit is set, text selection and cursor movement operations will be processed normally by D-Type Text Engine but will not be shown to the user. It will appear as if the cursor and text selections are completely transparent.
Bits 1 - 7: Reserved for future use.
Also appears in: Text Area, Rich Text Line, Rich Text Area
Indicates whether text should be rendered in a device independent, device dependent or mixed mode. Review the "Rendering Great Looking Text With D-Type" document for a comprehensive overview.
Supported values:
0 = Device Independent Mode. Text will be rendered in a device independent mode, which means that text metrics are independent of the device, resolution or zoom factor and are mathematically accurate. Therefore, in text areas and rich text areas, characters that are supposed to vertically line up will always line up. In addition, all text lines will always fit within the width of the enclosing area. This is the default mode. Recommended for WYSIWYG applications.
1 = Device Dependent Mode #1. Text will be rendered in a device dependent mode, which means that text metrics are device specific. This mode utilizes a complex device dependent formula that is specially crafted to give good looking character spacing (calculated in whole-pixel units). This mode corresponds to the DV_TEXTMODE_DEVICE value in D-Type Standard Engine. See the dtxTextDoOutput family of functions in D-Type Standard Engine Manual for details.
Important note for text areas and rich text areas: Because this mode is device dependent, please be aware that the length of certain text lines will sometimes exceed the width of the enclosing area; also characters that are supposed to vertically line up will usually not line up. This behavior is by design.
2 = Device Dependent Mode #2. Text will be rendered in a device dependent mode, which means that text metrics are device specific. This mode is similar to Device Dependent Mode #1 since it also utilizes a complex device dependent formula crafted to give good looking character spacing. However, this mode produces even better looking and easier to read text, especially at smaller sizes. This is accomplished by artificially increasing the amount of character spacing between certain characters and in certain conditions. This mode corresponds to the DV_TEXTMODE_DEVICE_2 value in D-Type Standard Engine. See the dtxTextDoOutput family of functions in D-Type Standard Engine Manual for details.
Important note for text areas and rich text areas: Because this mode is device dependent (and also because the character spacing may be artificially increased), please be aware that the length of certain text lines will sometimes exceed the width of the enclosing area; also characters that are supposed to vertically line up will usually not line up. This behavior is by design.
101 = Mixed Mode #1. By default, the engine will render all text using Device Dependent Mode #1. In text areas and rich text areas, however, if there are any text lines whose length would exceed the width of the enclosing area, then those text lines will be rendered in a device independent manner. Consequently, for text areas and rich text areas, this mode guarantees that all text lines will always fit within the width of the enclosing area.
102 = Mixed Mode #2. By default, the engine will render all text using Device Dependent Mode #2. In text areas and rich text areas, however, if there are any text lines whose length would exceed the width of the enclosing area, then the engine will attempt to render those lines using Device Dependent Mode #1. If, after this, there are still some text lines whose length exceeds the width of the enclosing area, then those lines will be rendered in a device independent manner. Consequently, for text areas and rich text areas, this mode guarantees that all text lines will always fit within the width of the enclosing area. This mode usually produces great looking character spacing and is highly recommended whenever true WYSIWYG support is not a priority.
Also appears in: Text Arc, Text Area, Rich Text Line, Rich Text Arc, Rich Text Area, Text Path, Rich Text Path
Start glyph position within the first text fragment, i.e. the index of the glyph in the first text fragment from which the text layout and display starts. This value cannot be negative and must be less than the length of the first text fragment.
This property is useful when building text flows (i.e. when text fragments span more than one text area). In most other cases, this property should be omitted or its value should be set to 0.
Also appears in: Text Fragment, Text Arc, Text Area, Text Design, Text Path
Text encoding format. If this property is not specified, then the value 0 (Unicode character codes) is assumed.
Supported values:
0 = Unicode character codes
1 = Glyph codes (font dependent)
2 = Unicode PowerChar codes - reserved for future use
3 = PowerGlyph codes (font dependent)
Also appears in: Text Fragment, Text Arc, Text Area, Text Path
Text shaping. Complex features and scripts (e.g. ligatures, Arabic and various Indic scripts) require D-Type or TrueType/OpenType fonts with advanced typography tables.
Supported values:
0 = None
1 = Default
2 = Feature: Optional Latin Ligatures
3 = Feature: Standard Arabic Ligatures
4 = Feature: Discretionary Latin Ligatures
5 = Feature: Historical Latin Ligatures
6 = Feature: Vertical CJK Ideographic Forms
7 = Feature: Vertical Hiragana/Katakana Forms
101 = Script & Line Breaking: Default
102 = Script & Line Breaking: Latin
103 = Script & Line Breaking: Arabic
104 = Script & Line Breaking: Hebrew
105 = Script & Line Breaking: Greek
106 = Script & Line Breaking: CJK Ideographic
107 = Script & Line Breaking: Hiragana/Katakana
108 = Script & Line Breaking: Cyrillic
1001 = Script & Line Breaking: Vertical Default
1002 = Script & Line Breaking: Vertical Latin
1006 = Script & Line Breaking: Vertical CJK Ideographic
1007 = Script & Line Breaking: Vertical Hiragana/Katakana
10000 = Unicode Script & Line Breaking: Common
10001 = Unicode Script & Line Breaking: Inherited
10002 = Unicode Script & Line Breaking: Arabic
10003 = Unicode Script & Line Breaking: Armenian
10004 = Unicode Script & Line Breaking: Bengali
10005 = Unicode Script & Line Breaking: Bopomofo
10006 = Unicode Script & Line Breaking: Cherokee
10007 = Unicode Script & Line Breaking: Coptic
10008 = Unicode Script & Line Breaking: Cyrillic
10009 = Unicode Script & Line Breaking: Deseret
10010 = Unicode Script & Line Breaking: Devanagari
10011 = Unicode Script & Line Breaking: Ethiopic
10012 = Unicode Script & Line Breaking: Georgian
10013 = Unicode Script & Line Breaking: Gothic
10014 = Unicode Script & Line Breaking: Greek
10015 = Unicode Script & Line Breaking: Gujarati
10016 = Unicode Script & Line Breaking: Gurmukhi
10017 = Unicode Script & Line Breaking: Han
10018 = Unicode Script & Line Breaking: Hangul
10019 = Unicode Script & Line Breaking: Hebrew
10020 = Unicode Script & Line Breaking: Hiragana
10021 = Unicode Script & Line Breaking: Kannada
10022 = Unicode Script & Line Breaking: Katakana
10023 = Unicode Script & Line Breaking: Khmer
10024 = Unicode Script & Line Breaking: Lao
10025 = Unicode Script & Line Breaking: Latin
10026 = Unicode Script & Line Breaking: Malayalam
10027 = Unicode Script & Line Breaking: Mongolian
10028 = Unicode Script & Line Breaking: Myanmar
10029 = Unicode Script & Line Breaking: Ogham
10030 = Unicode Script & Line Breaking: Old Italic
10031 = Unicode Script & Line Breaking: Oriya
10032 = Unicode Script & Line Breaking: Runic
10033 = Unicode Script & Line Breaking: Sinhala
10034 = Unicode Script & Line Breaking: Syriac
10035 = Unicode Script & Line Breaking: Tamil
10036 = Unicode Script & Line Breaking: Telugu
10037 = Unicode Script & Line Breaking: Thaana
10038 = Unicode Script & Line Breaking: Thai
10039 = Unicode Script & Line Breaking: Tibetan
10040 = Unicode Script & Line Breaking: Unified Canadian Aboriginal Symbols
10041 = Unicode Script & Line Breaking: Yi syllables
10042 = Unicode Script & Line Breaking: Tagalog
10043 = Unicode Script & Line Breaking: Hanunoo
10044 = Unicode Script & Line Breaking: Buhid
10045 = Unicode Script & Line Breaking: Tagbanwa
Also appears in: Text Fragment, Text Arc, Text Area, Text Path
Language of the text. Although optional and rarely used, this value is primarily a hint needed to influence the text shaping process with certain Unicode scripts.
Supported values:
0 = None
1 = araLanguageCode = Arabic
2 = asmLanguageCode = Assamese
3 = benLanguageCode = Bengali
4 = farLanguageCode = Farsi
5 = gujLanguageCode = Gujarati
6 = hinLanguageCode = Hindi
7 = iwrLanguageCode = Hebrew
8 = jiiLanguageCode = Yiddish
9 = janLanguageCode = Japanese
10 = kanLanguageCode = Kannada
11 = kokLanguageCode = Konkani
12 = korLanguageCode = Korean
13 = kshLanguageCode = Kashmiri
14 = malLanguageCode = Malayalam Traditional
15 = marLanguageCode = Marathi
16 = mlrLanguageCode = Malayalam Reformed
17 = mniLanguageCode = Manipuri
18 = oriLanguageCode = Oriya
19 = sanLanguageCode = Sanskrit
20 = sndLanguageCode = Sindhi
21 = snhLanguageCode = Sinhalese
22 = syrLanguageCode = Syriac
23 = tamLanguageCode = Tamil
24 = telLanguageCode = Telugu
25 = thaLanguageCode = Thai
26 = urdLanguageCode = Urdu
27 = zhpLanguageCode = Chinese Phonetic
28 = zhsLanguageCode = Chinese Simplified
29 = zhtLanguageCode = Chinese Traditional
30 = afkLanguageCode = Afrikaans
31 = belLanguageCode = Belarussian
32 = bgrLanguageCode = Bulgarian
33 = catLanguageCode = Catalan
34 = cheLanguageCode = Chechen
35 = copLanguageCode = Coptic
36 = csyLanguageCode = Czech
37 = danLanguageCode = Danish
38 = deuLanguageCode = German
39 = dznLanguageCode = Dzongkha
40 = ellLanguageCode = Greek
41 = engLanguageCode = English
42 = espLanguageCode = Spanish
43 = etiLanguageCode = Estonian
44 = euqLanguageCode = Basque
45 = finLanguageCode = Finnish
46 = fraLanguageCode = French
47 = gaeLanguageCode = Gaelic
48 = hauLanguageCode = Hausa
49 = hrvLanguageCode = Croatian
50 = hunLanguageCode = Hungarian
51 = hyeLanguageCode = Armenian
52 = indLanguageCode = Indonesian
53 = itaLanguageCode = Italian
54 = khmLanguageCode = Khmer
55 = mngLanguageCode = Mongolian
56 = mtsLanguageCode = Maltese
57 = nepLanguageCode = Nepali
58 = nldLanguageCode = Dutch
59 = pasLanguageCode = Pashto
60 = plkLanguageCode = Polish
61 = ptgLanguageCode = Portuguese
62 = romLanguageCode = Romanian
63 = rusLanguageCode = Russian
64 = skyLanguageCode = Slovak
65 = slvLanguageCode = Slovenian
66 = sqiLanguageCode = Albanian
67 = srbLanguageCode = Serbian
68 = sveLanguageCode = Swedish
69 = tibLanguageCode = Tibetan
70 = trkLanguageCode = Turkish
71 = welLanguageCode = Welsh
Also appears in: Text Fragment, Text Arc, Text Area, Text Path
A value consisting of 4 independent bits. Each bit indicates whether a certain typographic feature for a script is enabled or disabled. This makes it possible to fine tune the text shaping process.
Supported values:
1 (bit 0 set) = Disable kerning
2 (bit 1 set) = Disable optional ligatures
131072 (bit 17 set) = Enable discretionary ligatures
262144 (bit 18 set) = Enable historical ligatures
Sample values:
3 = Disable kerning and optional ligatures
131074 = Enable discretionary ligatures and disable optional ligatures
393216 = Enable discretionary and historical ligatures
Also appears in: Text Fragment, Text Arc, Text Area, Text Path
A value consisting of 5 independent bits. Each bit indicates whether a line break is allowed after a certain user-selectble class of characters. This makes it possible to fine tune the behavior of the text wrapping algorithm (on arbitrary text selections) in order to improve the appearance of text.
Supported values:
Bit 0 - If set, line break is allowed after common punctuation marks (e.g. period, comma, exclamation mark, question mark, colon, semi-colon)
Bit 1 - If set, line break is allowed after other punctuation marks (e.g. middle dot, inverted exclamation mark, inverted question mark)
Bit 2 - If set, line break is allowed after minus/hyphen signs and dashes (e.g. en dash, em dash, horizontal bar)
Bit 3 - If set, line break is allowed after forward or backward slashes
Bit 4 - If set, line break is allowed after other separators (e.g. pipe)
Bit 5 - If set, line break is allowed after closing brackets/parentheses
Bit 6 - If set, line break is allowed after other terminating symbols (e.g. percent, degree, cent sign)
Sample values:
0 = Line break is not allowed after any user-selectable class of characters
1 = Line break is allowed after common punctuation marks
8 = Line break is allowed after forward or backward slashes
9 = Line break is allowed after common punctuation marks and forward or backward slashes
11 = Line break is allowed after common punctuation marks, other punctuation marks and forward or backward slashes
31 = Line break is allowed after all user-selectable classes of characters
Also appears in: Text Fragment, Text Arc, Text Area, Text Path
Index of the hyphenation dictionary (1 byte) followed by one reserved byte (must be zero) followed by an array of hyphen bits (variable length, one bit for each glyph or character).
This property makes it possible to apply language specific hyphenation rules to arbitrary text selections. This typically results in improved text wrapping behavior, especially when text is laid out in narrow columns. This is useful in high-end text layout applications that require more professional justification of text lines.
Hyphenation dictionaries are set up via dtype.inf. Each hyphenation dictionary is a file (steam) that contains specific hyphenation instructions and hyphenation patterns for the supported target language. The index of the hyphenation dictionary (first byte) simply references one of these files (streams). For example, index 1 references the first hyphenation dictionary set up via dtype.inf (which is the English hyphenation dictionary), index 2 references the second one (which is the French hyphenation dictionary) and so on. Consequently, a positive index enables automatic hyphenation while the index 0 disables the hyphenation (in which case no additional bytes are needed).
D-Type Power Engine by itself does not use the index of the hyphenation dictionary as parsing the hyphenation instructions and patterns in real time can be slow. The purpose of this index is to allow text processing clients to re-hyphenate text as the user makes changes to it and store processed hyphenation results in the array of hyphen bits. D-Type Power Engine then reads the array of hyphen bits to extract these processed hyphenation results. The array of hyphen bits tells D-Type Power Engine whether a hyphen is allowed after the glyph or character in the corresponding text fragment. If a bit in the array of hyphen bits is set (1), a hyphen is allowed after the corresponding glyph/character; if unset (0) then the hyphen is not allowed after the corresponding glyph/character. Any trailing unset bits can be omitted. This means that the number of bits in the array of hyphen bits can be less than the number of glyphs/characters in the corresponding text fragment.
Sample values:
0 = Disable hyphenation
1, 0, 12, 10, 128, 136 = Enable automatic hyphenation; use the English hyphenation dictionary to hyphenate text. The array 12, 10, 128, 136 (00001100, 00001010, 10000000, 10001000) means that a hyphen can be inserted after the 5th, 6th, 13th, 15th, 17th, 25th and 29th character in the corresponding text fragment.
2, 0, 33, 112, 128 = Enable automatic hyphenation; use the French hyphenation dictionary to hyphenate text. The array 33, 112, 128 (00100001, 01110000, 10000000) means that a hyphen can be inserted after the 3rd, 8th, 10th, 11th, 12th and 17th character in the corresponding text fragment.
Also appears in: Text Fragment, Text Arc, Text Area, Text Path
Misc Text Attributes
Bit 0: 1 = Don't allow line break at the end of the text fragment
C/C++
INTEGRAL DSL