RetroArch
|
Script-specific properties for caret navigation and justification. More...
#include <dwrite_1.h>
Public Attributes | |
UINT32 | isoScriptCode |
The standardized four character code for the given script. Note these only include the general Unicode scripts, not any additional ISO 15924 scripts for bibliographic distinction (for example, Fraktur Latin vs Gaelic Latin). http://unicode.org/iso15924/iso15924-codes.html More... | |
UINT32 | isoScriptNumber |
The standardized numeric code, ranging 0-999. http://unicode.org/iso15924/iso15924-codes.html More... | |
UINT32 | clusterLookahead |
Number of characters to estimate look-ahead for complex scripts. Latin and all Kana are generally 1. Indic scripts are up to 15, and most others are 8. Note that combining marks and variation selectors can produce clusters longer than these look-aheads, so this estimate is considered typical language use. Diacritics must be tested explicitly separately. More... | |
UINT32 | justificationCharacter |
Appropriate character to elongate the given script for justification. More... | |
UINT32 | restrictCaretToClusters: 1 |
Restrict the caret to whole clusters, like Thai and Devanagari. Scripts such as Arabic by default allow navigation between clusters. Others like Thai always navigate across whole clusters. More... | |
UINT32 | usesWordDividers: 1 |
The language uses dividers between words, such as spaces between Latin or the Ethiopic wordspace. More... | |
UINT32 | isDiscreteWriting: 1 |
The characters are discrete units from each other. This includes both block scripts and clustered scripts. More... | |
UINT32 | isBlockWriting: 1 |
The language is a block script, expanding between characters. More... | |
UINT32 | isDistributedWithinCluster: 1 |
The language is justified within glyph clusters, not just between glyph clusters. One such as the character sequence is Thai Lu and Sara Am (U+E026, U+E033) which form a single cluster but still expand between them. More... | |
UINT32 | isConnectedWriting: 1 |
The script's clusters are connected to each other (such as the baseline-linked Devanagari), and no separation should be added between characters. Note that cursively linked scripts like Arabic are also connected (but not all connected scripts are cursive). More... | |
UINT32 | isCursiveWriting: 1 |
The script is naturally cursive (Arabic/Syriac), meaning it uses other justification methods like kashida extension rather than intercharacter spacing. Note that although other scripts like Latin and Japanese may actually support handwritten cursive forms, they are not considered cursive scripts. More... | |
UINT32 | reserved: 25 |
Script-specific properties for caret navigation and justification.
UINT32 DWRITE_SCRIPT_PROPERTIES::clusterLookahead |
Number of characters to estimate look-ahead for complex scripts. Latin and all Kana are generally 1. Indic scripts are up to 15, and most others are 8. Note that combining marks and variation selectors can produce clusters longer than these look-aheads, so this estimate is considered typical language use. Diacritics must be tested explicitly separately.
UINT32 DWRITE_SCRIPT_PROPERTIES::isBlockWriting |
The language is a block script, expanding between characters.
Examples: Chinese, Japanese, Korean, Bopomofo.
UINT32 DWRITE_SCRIPT_PROPERTIES::isConnectedWriting |
The script's clusters are connected to each other (such as the baseline-linked Devanagari), and no separation should be added between characters. Note that cursively linked scripts like Arabic are also connected (but not all connected scripts are cursive).
Examples: Devanagari, Arabic, Syriac, Bengali, Gurmukhi, Ogham Excludes: Latin, Chinese, Thaana
UINT32 DWRITE_SCRIPT_PROPERTIES::isCursiveWriting |
The script is naturally cursive (Arabic/Syriac), meaning it uses other justification methods like kashida extension rather than intercharacter spacing. Note that although other scripts like Latin and Japanese may actually support handwritten cursive forms, they are not considered cursive scripts.
Examples: Arabic, Syriac, Mongolian Excludes: Thaana, Devanagari, Latin, Chinese
UINT32 DWRITE_SCRIPT_PROPERTIES::isDiscreteWriting |
The characters are discrete units from each other. This includes both block scripts and clustered scripts.
Examples: Latin, Greek, Cyrillic, Hebrew, Chinese, Thai
UINT32 DWRITE_SCRIPT_PROPERTIES::isDistributedWithinCluster |
The language is justified within glyph clusters, not just between glyph clusters. One such as the character sequence is Thai Lu and Sara Am (U+E026, U+E033) which form a single cluster but still expand between them.
Examples: Thai, Lao, Khmer
UINT32 DWRITE_SCRIPT_PROPERTIES::isoScriptCode |
The standardized four character code for the given script. Note these only include the general Unicode scripts, not any additional ISO 15924 scripts for bibliographic distinction (for example, Fraktur Latin vs Gaelic Latin). http://unicode.org/iso15924/iso15924-codes.html
UINT32 DWRITE_SCRIPT_PROPERTIES::isoScriptNumber |
The standardized numeric code, ranging 0-999. http://unicode.org/iso15924/iso15924-codes.html
UINT32 DWRITE_SCRIPT_PROPERTIES::justificationCharacter |
Appropriate character to elongate the given script for justification.
Examples: Arabic - U+0640 Tatweel Ogham - U+1680 Ogham Space Mark
UINT32 DWRITE_SCRIPT_PROPERTIES::reserved |
UINT32 DWRITE_SCRIPT_PROPERTIES::restrictCaretToClusters |
Restrict the caret to whole clusters, like Thai and Devanagari. Scripts such as Arabic by default allow navigation between clusters. Others like Thai always navigate across whole clusters.
UINT32 DWRITE_SCRIPT_PROPERTIES::usesWordDividers |
The language uses dividers between words, such as spaces between Latin or the Ethiopic wordspace.
Examples: Latin, Greek, Devanagari, Ethiopic Excludes: Chinese, Korean, Thai.