1 /* 2 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * 4 * This code is free software; you can redistribute it and/or modify it 5 * under the terms of the GNU General Public License version 2 only, as 6 * published by the Free Software Foundation. Oracle designates this 7 * particular file as subject to the "Classpath" exception as provided 8 * by Oracle in the LICENSE file that accompanied this code. 9 * 10 * This code is distributed in the hope that it will be useful, but WITHOUT 11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 13 * version 2 for more details (a copy is included in the LICENSE file that 14 * accompanied this code). 15 * 16 * You should have received a copy of the GNU General Public License version 17 * 2 along with this work; if not, write to the Free Software Foundation, 18 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 19 * 20 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 21 * or visit www.oracle.com if you need additional information or have any 22 * questions. 23 */ 24 /* 25 /** 26 ******************************************************************************* 27 * Copyright (C) 2004, International Business Machines Corporation and * 28 * others. All Rights Reserved. * 29 ******************************************************************************* 30 */ 31 // CHANGELOG 32 // 2005-05-19 Edward Wang 33 // - copy this file from icu4jsrc_3_2/src/com/ibm/icu/lang/UCharacterEnums.java 34 // - move from package com.ibm.icu.lang to package sun.net.idn 35 // 36 // 2011-09-06 Kurchi Subhra Hazra 37 // - Added @Deprecated tag to the following: 38 // - class UCharacterEnums 39 // - interfaces ECharacterCategory, ECharacterDirection 40 // - fields INITIAL_QUOTE_PUNCTUATION, FINAL_QUOTE_PUNCTUATION, 41 // DIRECTIONALITY_LEFT_TO_RIGHT, DIRECTIONALITY_RIGHT_TO_LEFT, 42 // DIRECTIONALITY_EUROPEAN_NUMBER, DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR 43 // DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR, DIRECTIONALITY_ARABIC_NUMBER, 44 // DIRECTIONALITY_COMMON_NUMBER_SEPARATOR, DIRECTIONALITY_PARAGRAPH_SEPARATOR, 45 // DIRECTIONALITY_SEGMENT_SEPARATOR, DIRECTIONALITY_WHITESPACE, 46 // DIRECTIONALITY_OTHER_NEUTRALS, DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING, 47 // DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE, DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC, 48 // DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING, DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE, 49 // DIRECTIONALITY_POP_DIRECTIONAL_FORMAT, DIRECTIONALITY_NON_SPACING_MARK, 50 // DIRECTIONALITY_BOUNDARY_NEUTRAL, DIRECTIONALITY_UNDEFINED 51 // 52 53 package sun.net.idn; 54 55 /** 56 * A container for the different 'enumerated types' used by UCharacter. 57 * @draft ICU 3.0 58 * @deprecated This is a draft API and might change in a future release of ICU. 59 */ 60 61 @Deprecated 62 class UCharacterEnums { 63 64 /** This is just a namespace, it is not instantiatable. */ UCharacterEnums()65 private UCharacterEnums() {}; 66 67 /** 68 * 'Enum' for the CharacterCategory constants. These constants are 69 * compatible in name <b>but not in value</b> with those defined in 70 * <code>java.lang.Character</code>. 71 * @see UCharacterCategory 72 * @draft ICU 3.0 73 * @deprecated This is a draft API and might change in a future release of ICU. 74 */ 75 @Deprecated 76 public static interface ECharacterCategory { 77 /** 78 * Unassigned character type 79 * @stable ICU 2.1 80 */ 81 public static final int UNASSIGNED = 0; 82 83 /** 84 * Character type Cn 85 * Not Assigned (no characters in [UnicodeData.txt] have this property) 86 * @stable ICU 2.6 87 */ 88 public static final int GENERAL_OTHER_TYPES = 0; 89 90 /** 91 * Character type Lu 92 * @stable ICU 2.1 93 */ 94 public static final int UPPERCASE_LETTER = 1; 95 96 /** 97 * Character type Ll 98 * @stable ICU 2.1 99 */ 100 public static final int LOWERCASE_LETTER = 2; 101 102 /** 103 * Character type Lt 104 * @stable ICU 2.1 105 */ 106 107 public static final int TITLECASE_LETTER = 3; 108 109 /** 110 * Character type Lm 111 * @stable ICU 2.1 112 */ 113 public static final int MODIFIER_LETTER = 4; 114 115 /** 116 * Character type Lo 117 * @stable ICU 2.1 118 */ 119 public static final int OTHER_LETTER = 5; 120 121 /** 122 * Character type Mn 123 * @stable ICU 2.1 124 */ 125 public static final int NON_SPACING_MARK = 6; 126 127 /** 128 * Character type Me 129 * @stable ICU 2.1 130 */ 131 public static final int ENCLOSING_MARK = 7; 132 133 /** 134 * Character type Mc 135 * @stable ICU 2.1 136 */ 137 public static final int COMBINING_SPACING_MARK = 8; 138 139 /** 140 * Character type Nd 141 * @stable ICU 2.1 142 */ 143 public static final int DECIMAL_DIGIT_NUMBER = 9; 144 145 /** 146 * Character type Nl 147 * @stable ICU 2.1 148 */ 149 public static final int LETTER_NUMBER = 10; 150 151 /** 152 * Character type No 153 * @stable ICU 2.1 154 */ 155 public static final int OTHER_NUMBER = 11; 156 157 /** 158 * Character type Zs 159 * @stable ICU 2.1 160 */ 161 public static final int SPACE_SEPARATOR = 12; 162 163 /** 164 * Character type Zl 165 * @stable ICU 2.1 166 */ 167 public static final int LINE_SEPARATOR = 13; 168 169 /** 170 * Character type Zp 171 * @stable ICU 2.1 172 */ 173 public static final int PARAGRAPH_SEPARATOR = 14; 174 175 /** 176 * Character type Cc 177 * @stable ICU 2.1 178 */ 179 public static final int CONTROL = 15; 180 181 /** 182 * Character type Cf 183 * @stable ICU 2.1 184 */ 185 public static final int FORMAT = 16; 186 187 /** 188 * Character type Co 189 * @stable ICU 2.1 190 */ 191 public static final int PRIVATE_USE = 17; 192 193 /** 194 * Character type Cs 195 * @stable ICU 2.1 196 */ 197 public static final int SURROGATE = 18; 198 199 /** 200 * Character type Pd 201 * @stable ICU 2.1 202 */ 203 public static final int DASH_PUNCTUATION = 19; 204 205 /** 206 * Character type Ps 207 * @stable ICU 2.1 208 */ 209 public static final int START_PUNCTUATION = 20; 210 211 /** 212 * Character type Pe 213 * @stable ICU 2.1 214 */ 215 public static final int END_PUNCTUATION = 21; 216 217 /** 218 * Character type Pc 219 * @stable ICU 2.1 220 */ 221 public static final int CONNECTOR_PUNCTUATION = 22; 222 223 /** 224 * Character type Po 225 * @stable ICU 2.1 226 */ 227 public static final int OTHER_PUNCTUATION = 23; 228 229 /** 230 * Character type Sm 231 * @stable ICU 2.1 232 */ 233 public static final int MATH_SYMBOL = 24; 234 235 /** 236 * Character type Sc 237 * @stable ICU 2.1 238 */ 239 public static final int CURRENCY_SYMBOL = 25; 240 241 /** 242 * Character type Sk 243 * @stable ICU 2.1 244 */ 245 public static final int MODIFIER_SYMBOL = 26; 246 247 /** 248 * Character type So 249 * @stable ICU 2.1 250 */ 251 public static final int OTHER_SYMBOL = 27; 252 253 /** 254 * Character type Pi 255 * @see #INITIAL_QUOTE_PUNCTUATION 256 * @stable ICU 2.1 257 */ 258 public static final int INITIAL_PUNCTUATION = 28; 259 260 /** 261 * Character type Pi 262 * This name is compatible with java.lang.Character's name for this type. 263 * @see #INITIAL_PUNCTUATION 264 * @draft ICU 2.8 265 * @deprecated This is a draft API and might change in a future release of ICU. 266 */ 267 @Deprecated 268 public static final int INITIAL_QUOTE_PUNCTUATION = 28; 269 270 /** 271 * Character type Pf 272 * @see #FINAL_QUOTE_PUNCTUATION 273 * @stable ICU 2.1 274 */ 275 public static final int FINAL_PUNCTUATION = 29; 276 277 /** 278 * Character type Pf 279 * This name is compatible with java.lang.Character's name for this type. 280 * @see #FINAL_PUNCTUATION 281 * @draft ICU 2.8 282 * @deprecated This is a draft API and might change in a future release of ICU. 283 */ 284 @Deprecated 285 public static final int FINAL_QUOTE_PUNCTUATION = 29; 286 287 /** 288 * Character type count 289 * @stable ICU 2.1 290 */ 291 public static final int CHAR_CATEGORY_COUNT = 30; 292 } 293 294 /** 295 * 'Enum' for the CharacterDirection constants. There are two sets 296 * of names, those used in ICU, and those used in the JDK. The 297 * JDK constants are compatible in name <b>but not in value</b> 298 * with those defined in <code>java.lang.Character</code>. 299 * @see UCharacterDirection 300 * @draft ICU 3.0 301 * @deprecated This is a draft API and might change in a future release of ICU. 302 */ 303 304 @Deprecated 305 public static interface ECharacterDirection { 306 /** 307 * Directional type L 308 * @stable ICU 2.1 309 */ 310 public static final int LEFT_TO_RIGHT = 0; 311 312 /** 313 * JDK-compatible synonum for LEFT_TO_RIGHT. 314 * @draft ICU 3.0 315 * @deprecated This is a draft API and might change in a future release of ICU. 316 */ 317 @Deprecated 318 public static final byte DIRECTIONALITY_LEFT_TO_RIGHT = (byte)LEFT_TO_RIGHT; 319 320 /** 321 * Directional type R 322 * @stable ICU 2.1 323 */ 324 public static final int RIGHT_TO_LEFT = 1; 325 326 /** 327 * JDK-compatible synonum for RIGHT_TO_LEFT. 328 * @draft ICU 3.0 329 * @deprecated This is a draft API and might change in a future release of ICU. 330 */ 331 @Deprecated 332 public static final byte DIRECTIONALITY_RIGHT_TO_LEFT = (byte)RIGHT_TO_LEFT; 333 334 /** 335 * Directional type EN 336 * @stable ICU 2.1 337 */ 338 public static final int EUROPEAN_NUMBER = 2; 339 340 /** 341 * JDK-compatible synonum for EUROPEAN_NUMBER. 342 * @draft ICU 3.0 343 * @deprecated This is a draft API and might change in a future release of ICU. 344 */ 345 @Deprecated 346 public static final byte DIRECTIONALITY_EUROPEAN_NUMBER = (byte)EUROPEAN_NUMBER; 347 348 /** 349 * Directional type ES 350 * @stable ICU 2.1 351 */ 352 public static final int EUROPEAN_NUMBER_SEPARATOR = 3; 353 354 /** 355 * JDK-compatible synonum for EUROPEAN_NUMBER_SEPARATOR. 356 * @draft ICU 3.0 357 * @deprecated This is a draft API and might change in a future release of ICU. 358 */ 359 @Deprecated 360 public static final byte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR = (byte)EUROPEAN_NUMBER_SEPARATOR; 361 362 /** 363 * Directional type ET 364 * @stable ICU 2.1 365 */ 366 public static final int EUROPEAN_NUMBER_TERMINATOR = 4; 367 368 /** 369 * JDK-compatible synonum for EUROPEAN_NUMBER_TERMINATOR. 370 * @draft ICU 3.0 371 * @deprecated This is a draft API and might change in a future release of ICU. 372 */ 373 @Deprecated 374 public static final byte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR = (byte)EUROPEAN_NUMBER_TERMINATOR; 375 376 /** 377 * Directional type AN 378 * @stable ICU 2.1 379 */ 380 public static final int ARABIC_NUMBER = 5; 381 382 /** 383 * JDK-compatible synonum for ARABIC_NUMBER. 384 * @draft ICU 3.0 385 * @deprecated This is a draft API and might change in a future release of ICU. 386 */ 387 @Deprecated 388 public static final byte DIRECTIONALITY_ARABIC_NUMBER = (byte)ARABIC_NUMBER; 389 390 /** 391 * Directional type CS 392 * @stable ICU 2.1 393 */ 394 public static final int COMMON_NUMBER_SEPARATOR = 6; 395 396 /** 397 * JDK-compatible synonum for COMMON_NUMBER_SEPARATOR. 398 * @draft ICU 3.0 399 * @deprecated This is a draft API and might change in a future release of ICU. 400 */ 401 @Deprecated 402 public static final byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR = (byte)COMMON_NUMBER_SEPARATOR; 403 404 /** 405 * Directional type B 406 * @stable ICU 2.1 407 */ 408 public static final int BLOCK_SEPARATOR = 7; 409 410 /** 411 * JDK-compatible synonum for BLOCK_SEPARATOR. 412 * @draft ICU 3.0 413 * @deprecated This is a draft API and might change in a future release of ICU. 414 */ 415 @Deprecated 416 public static final byte DIRECTIONALITY_PARAGRAPH_SEPARATOR = (byte)BLOCK_SEPARATOR; 417 418 /** 419 * Directional type S 420 * @stable ICU 2.1 421 */ 422 public static final int SEGMENT_SEPARATOR = 8; 423 424 /** 425 * JDK-compatible synonum for SEGMENT_SEPARATOR. 426 * @draft ICU 3.0 427 * @deprecated This is a draft API and might change in a future release of ICU. 428 */ 429 @Deprecated 430 public static final byte DIRECTIONALITY_SEGMENT_SEPARATOR = (byte)SEGMENT_SEPARATOR; 431 432 /** 433 * Directional type WS 434 * @stable ICU 2.1 435 */ 436 public static final int WHITE_SPACE_NEUTRAL = 9; 437 438 /** 439 * JDK-compatible synonum for WHITE_SPACE_NEUTRAL. 440 * @draft ICU 3.0 441 * @deprecated This is a draft API and might change in a future release of ICU. 442 */ 443 @Deprecated 444 public static final byte DIRECTIONALITY_WHITESPACE = (byte)WHITE_SPACE_NEUTRAL; 445 446 /** 447 * Directional type ON 448 * @stable ICU 2.1 449 */ 450 public static final int OTHER_NEUTRAL = 10; 451 452 /** 453 * JDK-compatible synonum for OTHER_NEUTRAL. 454 * @draft ICU 3.0 455 * @deprecated This is a draft API and might change in a future release of ICU. 456 */ 457 @Deprecated 458 public static final byte DIRECTIONALITY_OTHER_NEUTRALS = (byte)OTHER_NEUTRAL; 459 460 /** 461 * Directional type LRE 462 * @stable ICU 2.1 463 */ 464 public static final int LEFT_TO_RIGHT_EMBEDDING = 11; 465 466 /** 467 * JDK-compatible synonum for LEFT_TO_RIGHT_EMBEDDING. 468 * @draft ICU 3.0 469 * @deprecated This is a draft API and might change in a future release of ICU. 470 */ 471 @Deprecated 472 public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING = (byte)LEFT_TO_RIGHT_EMBEDDING; 473 474 /** 475 * Directional type LRO 476 * @stable ICU 2.1 477 */ 478 public static final int LEFT_TO_RIGHT_OVERRIDE = 12; 479 480 /** 481 * JDK-compatible synonum for LEFT_TO_RIGHT_OVERRIDE. 482 * @draft ICU 3.0 483 * @deprecated This is a draft API and might change in a future release of ICU. 484 */ 485 @Deprecated 486 public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE = (byte)LEFT_TO_RIGHT_OVERRIDE; 487 488 /** 489 * Directional type AL 490 * @stable ICU 2.1 491 */ 492 public static final int RIGHT_TO_LEFT_ARABIC = 13; 493 494 /** 495 * JDK-compatible synonum for RIGHT_TO_LEFT_ARABIC. 496 * @draft ICU 3.0 497 * @deprecated This is a draft API and might change in a future release of ICU. 498 */ 499 @Deprecated 500 public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC = (byte)RIGHT_TO_LEFT_ARABIC; 501 502 /** 503 * Directional type RLE 504 * @stable ICU 2.1 505 */ 506 public static final int RIGHT_TO_LEFT_EMBEDDING = 14; 507 508 /** 509 * JDK-compatible synonum for RIGHT_TO_LEFT_EMBEDDING. 510 * @draft ICU 3.0 511 * @deprecated This is a draft API and might change in a future release of ICU. 512 */ 513 @Deprecated 514 public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING = (byte)RIGHT_TO_LEFT_EMBEDDING; 515 516 /** 517 * Directional type RLO 518 * @stable ICU 2.1 519 */ 520 public static final int RIGHT_TO_LEFT_OVERRIDE = 15; 521 522 /** 523 * JDK-compatible synonum for RIGHT_TO_LEFT_OVERRIDE. 524 * @draft ICU 3.0 525 * @deprecated This is a draft API and might change in a future release of ICU. 526 */ 527 @Deprecated 528 public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE = (byte)RIGHT_TO_LEFT_OVERRIDE; 529 530 /** 531 * Directional type PDF 532 * @stable ICU 2.1 533 */ 534 public static final int POP_DIRECTIONAL_FORMAT = 16; 535 536 /** 537 * JDK-compatible synonum for POP_DIRECTIONAL_FORMAT. 538 * @draft ICU 3.0 539 * @deprecated This is a draft API and might change in a future release of ICU. 540 */ 541 @Deprecated 542 public static final byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT = (byte)POP_DIRECTIONAL_FORMAT; 543 544 /** 545 * Directional type NSM 546 * @stable ICU 2.1 547 */ 548 public static final int DIR_NON_SPACING_MARK = 17; 549 550 /** 551 * JDK-compatible synonum for DIR_NON_SPACING_MARK. 552 * @draft ICU 3.0 553 * @deprecated This is a draft API and might change in a future release of ICU. 554 */ 555 @Deprecated 556 public static final byte DIRECTIONALITY_NON_SPACING_MARK = (byte)DIR_NON_SPACING_MARK; 557 558 /** 559 * Directional type BN 560 * @stable ICU 2.1 561 */ 562 public static final int BOUNDARY_NEUTRAL = 18; 563 564 /** 565 * JDK-compatible synonum for BOUNDARY_NEUTRAL. 566 * @draft ICU 3.0 567 * @deprecated This is a draft API and might change in a future release of ICU. 568 */ 569 @Deprecated 570 public static final byte DIRECTIONALITY_BOUNDARY_NEUTRAL = (byte)BOUNDARY_NEUTRAL; 571 572 /** 573 * Number of directional types 574 * @stable ICU 2.1 575 */ 576 public static final int CHAR_DIRECTION_COUNT = 19; 577 578 /** 579 * Undefined bidirectional character type. Undefined <code>char</code> 580 * values have undefined directionality in the Unicode specification. 581 * @draft ICU 3.0 582 * @deprecated This is a draft API and might change in a future release of ICU. 583 */ 584 @Deprecated 585 public static final byte DIRECTIONALITY_UNDEFINED = -1; 586 } 587 } 588