home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgLangD.iso / VCAFE.3.0A / Main.bin / TextBoundaryData.java < prev    next >
Text File  |  1998-09-22  |  11KB  |  280 lines

  1. /*
  2.  * @(#)TextBoundaryData.java    1.4 98/01/12
  3.  *
  4.  * (C) Copyright Taligent, Inc. 1996 - All Rights Reserved
  5.  * (C) Copyright IBM Corp. 1996 - All Rights Reserved
  6.  *
  7.  * Portions copyright (c) 1996 Sun Microsystems, Inc. All Rights Reserved.
  8.  *
  9.  *   The original version of this source code and documentation is copyrighted
  10.  * and owned by Taligent, Inc., a wholly-owned subsidiary of IBM. These
  11.  * materials are provided under terms of a License Agreement between Taligent
  12.  * and Sun. This technology is protected by multiple US and International
  13.  * patents. This notice and attribution to Taligent may not be removed.
  14.  *   Taligent is a registered trademark of Taligent, Inc.
  15.  *
  16.  * Permission to use, copy, modify, and distribute this software
  17.  * and its documentation for NON-COMMERCIAL purposes and without
  18.  * fee is hereby granted provided that this copyright notice
  19.  * appears in all copies. Please refer to the file "copyright.html"
  20.  * for further important copyright and licensing information.
  21.  *
  22.  * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF
  23.  * THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
  24.  * TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
  25.  * PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR
  26.  * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
  27.  * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
  28.  *
  29.  */
  30.  
  31. package java.text;
  32.  
  33. /**
  34.  * This class wraps up the data tables needed for SimpleTextBoundary.
  35.  * It is subclassed for each type of text boundary.
  36.  */
  37. abstract class TextBoundaryData
  38. {
  39.     public abstract WordBreakTable forward();
  40.     public abstract WordBreakTable backward();
  41.     public abstract UnicodeClassMapping map();
  42.  
  43.     // usefull Unicode constant
  44.     protected static final char ASCII_END_OF_TEXT
  45.         = '\u0003';
  46.     protected static final char ASCII_HORIZONTAL_TABULATION
  47.         = '\u0009';
  48.     protected static final char ASCII_LINEFEED
  49.         = (char)0x000A;
  50.     protected static final char ASCII_VERTICAL_TABULATION
  51.         = '\u000B';
  52.     protected static final char ASCII_FORM_FEED
  53.         = '\u000C';
  54.     protected static final char ASCII_CARRIAGE_RETURN
  55.         = (char)0x000D;
  56.     protected static final char ASCII_SPACE
  57.         = '\u0020';
  58.     protected static final char ASCII_EXCLAMATION_MARK
  59.         = '\u0021';
  60.     protected static final char ASCII_QUOTATION_MARK
  61.         = '\u0022';
  62.     protected static final char ASCII_NUMBER_SIGN
  63.         = '\u0023';
  64.     protected static final char ASCII_DOLLAR_SIGN
  65.         = '\u0024';
  66.     protected static final char ASCII_PERCENT
  67.         = '\u0025';
  68.     protected static final char ASCII_AMPERSAND
  69.         = '\u0026';
  70.     protected static final char ASCII_APOSTROPHE
  71.         = (char)0x0027;
  72.     protected static final char ASCII_COMMA
  73.         = '\u002C';
  74.     protected static final char ASCII_FULL_STOP
  75.         = '\u002E';
  76.     protected static final char ASCII_COLON
  77.         = '\u003A';
  78.     protected static final char ASCII_SEMICOLON
  79.         = '\u003B';
  80.     protected static final char ASCII_QUESTION_MARK
  81.         = '\u003F';
  82.     protected static final char ASCII_NONBREAKING_SPACE
  83.         = '\u00A0';
  84.     protected static final char ASCII_CENT_SIGN
  85.         = '\u00A2';
  86.     protected static final char ASCII_POUND_SIGN
  87.         = '\u00a3';
  88.     protected static final char ASCII_YEN_SIGN
  89.         = '\u00a5';
  90.     protected static final char LATIN1_SOFTHYPHEN
  91.         = '\u00AD';
  92.     protected static final char LATIN1_DEGREE_SIGN
  93.         = '\u00B0';
  94.     protected static final char ARABIC_PERCENT_SIGN
  95.         = '\u066A';
  96.     protected static final char ARABIC_DECIMAL_SEPARATOR
  97.         = '\u066B';
  98.     protected static final char HANGUL_CHOSEONG_LOW
  99.         = '\u1100';
  100.     protected static final char HANGUL_CHOSEONG_HIGH
  101.         = '\u115f';
  102.     protected static final char HANGUL_JUNGSEONG_LOW
  103.         = '\u1160';
  104.     protected static final char HANGUL_JUNGSEONG_HIGH
  105.         = '\u11A7';
  106.     protected static final char HANGUL_JONGSEONG_LOW
  107.         = '\u11A8';
  108.     protected static final char HANGUL_JONGSEONG_HIGH
  109.         = '\u11FF';
  110.     protected static final char FIGURE_SPACE
  111.         = '\u2007';
  112.     protected static final char NONBREAKING_HYPHEN
  113.         = '\u2011';
  114.     protected static final char PUNCTUATION_HYPHENATION_POINT
  115.         = '\u2027';
  116.     protected static final char PUNCTUATION_LINE_SEPARATOR
  117.         = '\u2028';
  118.     protected static final char PUNCTUATION_PARAGRAPH_SEPARATOR
  119.         = '\u2029';
  120.     protected static final char PER_MILLE_SIGN
  121.         = '\u2030';
  122.     protected static final char PER_TEN_THOUSAND_SIGN
  123.         = '\u2031';
  124.     protected static final char PRIME
  125.         = '\u2032';
  126.     protected static final char DOUBLE_PRIME
  127.         = '\u2033';
  128.     protected static final char TRIPLE_PRIME
  129.         = '\u2034';
  130.     protected static final char DEGREE_CELSIUS
  131.         = '\u2103';
  132.     protected static final char DEGREE_FAHRENHEIT
  133.         = '\u2109';
  134.     protected static final char PUNCTUATION_IDEOGRAPHIC_COMMA
  135.         = '\u3001';
  136.     protected static final char PUNCTUATION_IDEOGRAPHIC_FULL_STOP
  137.         = '\u3002';
  138.     protected static final char IDEOGRAPHIC_ITERATION_MARK
  139.         = '\u3005';
  140.     protected static final char HIRAGANA_LETTER_SMALL_A
  141.         = '\u3041';
  142.     protected static final char HIRAGANA_LETTER_A
  143.         = '\u3042';
  144.     protected static final char HIRAGANA_LETTER_SMALL_I
  145.         = '\u3043';
  146.     protected static final char HIRAGANA_LETTER_I
  147.         = '\u3044';
  148.     protected static final char HIRAGANA_LETTER_SMALL_U
  149.         = '\u3045';
  150.     protected static final char HIRAGANA_LETTER_U
  151.         = '\u3046';
  152.     protected static final char HIRAGANA_LETTER_SMALL_E
  153.         = '\u3047';
  154.     protected static final char HIRAGANA_LETTER_E
  155.         = '\u3048';
  156.     protected static final char HIRAGANA_LETTER_SMALL_O
  157.         = '\u3049';
  158.     protected static final char HIRAGANA_LETTER_O
  159.         = '\u304A';
  160.     protected static final char HIRAGANA_LETTER_DI
  161.         = '\u3062';
  162.     protected static final char HIRAGANA_LETTER_SMALL_TU
  163.         = '\u3063';
  164.     protected static final char HIRAGANA_LETTER_TU
  165.         = '\u3064';
  166.     protected static final char HIRAGANA_LETTER_MO
  167.         = '\u3082';
  168.     protected static final char HIRAGANA_LETTER_SMALL_YA
  169.         = '\u3083';
  170.     protected static final char HIRAGANA_LETTER_YA
  171.         = '\u3084';
  172.     protected static final char HIRAGANA_LETTER_SMALL_YU
  173.         = '\u3085';
  174.     protected static final char HIRAGANA_LETTER_YU
  175.         = '\u3086';
  176.     protected static final char HIRAGANA_LETTER_SMALL_YO
  177.         = '\u3087';
  178.     protected static final char HIRAGANA_LETTER_YO
  179.         = '\u3088';
  180.     protected static final char HIRAGANA_LETTER_RO
  181.         = '\u308D';
  182.     protected static final char HIRAGANA_LETTER_SMALL_WA
  183.         = '\u308E';
  184.     protected static final char HIRAGANA_LETTER_WA
  185.         = '\u308F';
  186.     protected static final char HIRAGANA_LETTER_VU
  187.         = '\u3094';
  188.     protected static final char COMBINING_KATAKANA_HIRAGANA_VOICED_SOUND_MARK
  189.         = '\u3099';
  190.     protected static final char HIRAGANA_SEMIVOICED_SOUND_MARK
  191.         = '\u309C';
  192.     protected static final char HIRAGANA_ITERATION_MARK
  193.         = '\u309D';
  194.     protected static final char HIRAGANA_VOICED_ITERATION_MARK
  195.         = '\u309E';
  196.     protected static final char KATAKANA_LETTER_SMALL_A
  197.         = '\u30A1';
  198.     protected static final char KATAKANA_LETTER_A
  199.         = '\u30A2';
  200.     protected static final char KATAKANA_LETTER_SMALL_I
  201.         = '\u30A3';
  202.     protected static final char KATAKANA_LETTER_I
  203.         = '\u30A4';
  204.     protected static final char KATAKANA_LETTER_SMALL_U
  205.         = '\u30A5';
  206.     protected static final char KATAKANA_LETTER_U
  207.         = '\u30A6';
  208.     protected static final char KATAKANA_LETTER_SMALL_E
  209.         = '\u30A7';
  210.     protected static final char KATAKANA_LETTER_E
  211.         = '\u30A8';
  212.     protected static final char KATAKANA_LETTER_SMALL_O
  213.         = '\u30A9';
  214.     protected static final char KATAKANA_LETTER_O
  215.         = '\u30AA';
  216.     protected static final char KATAKANA_LETTER_DI
  217.         = '\u30C2';
  218.     protected static final char KATAKANA_LETTER_SMALL_TU
  219.         = '\u30C3';
  220.     protected static final char KATAKANA_LETTER_TU
  221.         = '\u30C4';
  222.     protected static final char KATAKANA_LETTER_MO
  223.         = '\u30E2';
  224.     protected static final char KATAKANA_LETTER_SMALL_YA
  225.         = '\u30E3';
  226.     protected static final char KATAKANA_LETTER_YA
  227.         = '\u30E4';
  228.     protected static final char KATAKANA_LETTER_SMALL_YU
  229.         = '\u30E5';
  230.     protected static final char KATAKANA_LETTER_YU
  231.         = '\u30E6';
  232.     protected static final char KATAKANA_LETTER_SMALL_YO
  233.         = '\u30E7';
  234.     protected static final char KATAKANA_LETTER_YO
  235.         = '\u30E8';
  236.     protected static final char KATAKANA_LETTER_RO
  237.         = '\u30ED';
  238.     protected static final char KATAKANA_LETTER_SMALL_WA
  239.         = '\u30EE';
  240.     protected static final char KATAKANA_LETTER_WA
  241.         = '\u30EF';
  242.     protected static final char KATAKANA_LETTER_VU
  243.         = '\u30F4';
  244.     protected static final char KATAKANA_LETTER_SMALL_KA
  245.         = '\u30F5';
  246.     protected static final char KATAKANA_LETTER_SMALL_KE
  247.         = '\u30F6';
  248.     protected static final char KATAKANA_LETTER_VA
  249.         = '\u30F7';
  250.     protected static final char KATAKANA_LETTER_VO
  251.         = '\u30FA';
  252.     protected static final char KATAKANA_HIRAGANA_PROLONGED_SOUND_MARK
  253.         = '\u30FC';
  254.     protected static final char KATAKANA_ITERATION_MARK
  255.         = '\u30FD';
  256.     protected static final char KATAKANA_VOICED_ITERATION_MARK
  257.         = '\u30FE';
  258.     protected static final char UNICODE_LOW_BOUND_HAN
  259.         = '\u4E00';
  260.     protected static final char UNICODE_HIGH_BOUND_HAN
  261.         = '\u9FA5';
  262.     protected static final char HANGUL_SYL_LOW
  263.         = '\uAC00';
  264.     protected static final char HANGUL_SYL_HIGH
  265.         = '\uD7A3';
  266.     protected static final char CJK_COMPATIBILITY_F900
  267.         = '\uF900';
  268.     protected static final char CJK_COMPATIBILITY_FA2D
  269.         = '\uFA2D';
  270.     protected static final char UNICODE_ZERO_WIDTH_NON_BREAKING_SPACE
  271.         = '\uFEFF';
  272.  
  273.     // SimpleTextBoundary has an internal convention that the not-a-Unicode value
  274.     // $FFFF is used to signify the end of the string when looking a proper state
  275.     // transition for the end of the string
  276.     protected static final char END_OF_STRING
  277.         = '\uFFFF';
  278. }
  279.  
  280.