Also appears in: Text Line, 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 Line, 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 Line, 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: Rich Text Line, Rich Text Arc, Rich Text Area, Rich Text Design, Rich Text Path, Rich Text Box, Rich Button, Rich List Box
Link to the Text Fragment object.
This link in used to establish a link to the next text fragment. This can be the first text fragment or the fragment that follows the current one.
Also appears in: Text Area, Text Path
Link to the Text Ruler (Horizontal) object.
This links associates a text ruler with the current text fragment. The Text Ruler (Horizontal) object supplies indents and tab stop positions to be respected during the text layout process.
Also appears in: Text Line, Text Arc, Text Area, Text Path
Link to the Text Extras object.
Supported Compression Methods: 006
Also appears in: Text Line, 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 Line, 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 Line, 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 Line, 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 Line, 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 Line, 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 Line, 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 Line, 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 Line, 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 Line, 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 Line, 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 Line, 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