source-class-Com.Tecnick.Unicode.Data.Constant

It appears that you are using AdBlocking software. The cost of running this website is covered by advertisements. If you like it please feel free to a small amount of money to secure the future of this website.
  1: <?php
  2: /**
  3:  * Constant.php
  4:  *
  5:  * @since       2011-05-23
  6:  * @category    Library
  7:  * @package     UnicodeData
  8:  * @author      Nicola Asuni <info@tecnick.com>
  9:  * @copyright   2011-2015 Nicola Asuni - Tecnick.com LTD
 10:  * @license     http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT)
 11:  * @link        https://github.com/tecnickcom/tc-lib-unicode-data
 12:  *
 13:  * This file is part of tc-lib-unicode-data software library.
 14:  */
 15: 
 16: namespace Com\Tecnick\Unicode\Data;
 17: 
 18: /**
 19:  * Com\Tecnick\Unicode\Data\Constant
 20:  *
 21:  * @since       2011-05-23
 22:  * @category    Library
 23:  * @package     UnicodeData
 24:  * @author      Nicola Asuni <info@tecnick.com>
 25:  * @copyright   2011-2015 Nicola Asuni - Tecnick.com LTD
 26:  * @license     http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT)
 27:  * @link        https://github.com/tecnickcom/tc-lib-unicode-data
 28:  */
 29: class Constant
 30: {
 31:     /*
 32:      * Explicit Directional Embeddings
 33:      * -------------------------------
 34:      * The following characters signal that a piece of text is to be treated as embedded.
 35:      * For example, an English quotation in the middle of an Arabic sentence could be marked
 36:      * as being embedded left-to-right text. If there were a Hebrew phrase in the middle of
 37:      * the English quotation, that phrase could be marked as being embedded right-to-left text.
 38:      * Embeddings can be nested one inside another, and in isolates and overrides.
 39:      */
 40: 
 41:     /**
 42:      * (U+202A) LEFT-TO-RIGHT EMBEDDING
 43:      * Treat the following text as embedded left-to-right
 44:      */
 45:     const LRE = 8234;
 46: 
 47:     /**
 48:      * (U+202B) RIGHT-TO-LEFT EMBEDDING
 49:      * Treat the following text as embedded right-to-left
 50:      */
 51:     const RLE = 8235;
 52: 
 53:     /*
 54:      * Explicit Directional Overrides
 55:      * ------------------------------
 56:      * The following characters allow the bidirectional character types to be overridden when
 57:      * required for special cases, such as for part numbers. They are to be avoided wherever possible,
 58:      * because of security concerns. For more information, see [UTR36].
 59:      * Directional overrides can be nested one inside another, and in embeddings and isolates.
 60:      */
 61: 
 62:     /**
 63:      * (U+202D) for LEFT-TO-RIGHT OVERRIDE
 64:      * Force following characters to be treated as strong left-to-right characters
 65:      */
 66:     const LRO = 8237;
 67: 
 68:     /**
 69:      * (U+202E) RIGHT-TO-LEFT OVERRIDE
 70:      * Force following characters to be treated as strong right-to-left characters
 71:      */
 72:     const RLO = 8238;
 73: 
 74:     /*
 75:      * Terminating Explicit Directional Embeddings and Overrides
 76:      * ---------------------------------------------------------
 77:      */
 78: 
 79:     /**
 80:      * (U+202C) POP DIRECTIONAL FORMATTING
 81:      * End the scope of the last LRE, RLE, RLO, or LRO whose scope has not yet been terminated
 82:      */
 83:     const PDF = 8236;
 84: 
 85:     /*
 86:      * Explicit Directional Isolates
 87:      * -----------------------------
 88:      * The following characters signal that a piece of text is to be treated as directionally isolated
 89:      * from its surroundings. They are very similar to the explicit embedding formatting characters.
 90:      * However, while an embedding roughly has the effect of a strong character on the ordering of the
 91:      * surrounding text, an isolate has the effect of a neutral like U+FFFC OBJECT REPLACEMENT CHARACTER,
 92:      * and is assigned the corresponding display position in the surrounding text.
 93:      * Furthermore, the text inside the isolate has no effect on the ordering of the text outside it, and vice versa.
 94:      *
 95:      * In addition to allowing the embedding of strongly directional text without unduly affecting the bidirectional
 96:      * order of its surroundings, one of the isolate formatting characters also offers an extra feature:
 97:      * embedding text while inferring its direction heuristically from its constituent characters.
 98:      *
 99:      * Isolates can be nested one inside another, and in embeddings and overrides.
100:      */
101: 
102:     /**
103:      * (U+2066) LEFT-TO-RIGHT ISOLATE
104:      * Treat the following text as isolated and left-to-right
105:      */
106:     const LRI = 8294;
107: 
108:     /**
109:      * (U+2067) RIGHT-TO-LEFT ISOLATE
110:      * Treat the following text as isolated and right-to-left
111:      */
112:     const RLI = 8295;
113: 
114:     /**
115:      * (U+2068) FIRST STRONG ISOLATE
116:      * Treat the following text as isolated and in the direction of its first
117:      * strong directional character that is not inside a nested isolate
118:      */
119:     const FSI = 8296;
120: 
121:     /*
122:      * Terminating Explicit Directional Isolates
123:      * -----------------------------------------
124:      * The following character terminates the scope of the last LRI, RLI, or FSI whose scope
125:      * has not yet been terminated, as well as the scopes of any subsequent LREs, RLEs, LROs, or RLOs
126:      * whose scopes have not yet been terminated.
127:      */
128: 
129:     /**
130:      * (U+2069) POP DIRECTIONAL ISOLATE
131:      * End the scope of the last LRI, RLI, or FSI
132:      */
133:     const PDI = 8297;
134:     
135:     /*
136:      * Implicit Directional Marks
137:      * --------------------------
138:      * These characters are very light-weight formatting.
139:      * They act exactly like right-to-left or left-to-right characters,
140:      * except that they do not display or have any other semantic effect.
141:      * Their use is more convenient than using explicit embeddings or overrides because their scope is much more local.
142:     
143:     /**
144:      * (U+200E) LEFT-TO-RIGHT MARK
145:      * Left-to-right zero-width character
146:      */
147:     const LRM = 8206;
148: 
149:     /**
150:      * (U+200F) RIGHT-TO-LEFT MARK
151:      * Right-to-left zero-width non-Arabic character
152:      */
153:     const RLM = 8207;
154: 
155:     /**
156:      * (U+061C) ARABIC LETTER MARK
157:      * Right-to-left zero-width Arabic character
158:      */
159:     const ALM = 1564;
160: 
161:     /*
162:      * Other useful characters
163:      * -----------------------
164:      */
165: 
166:     /**
167:      * (U+0020) SPACE
168:      */
169:     const SPACE = 32;
170: 
171:     /**
172:      * (U+200C) ZERO WIDTH NON-JOINER
173:      */
174:     const ZERO_WIDTH_NON_JOINER = 8204;
175: }
176: 
 

© 2004-2017 – Nicola Asuni - Tecnick.com - All rights reserved.
about - disclaimer - privacy