Home | History | Annotate | Download | only in text
      1 /* GENERATED SOURCE. DO NOT MODIFY. */
      2 //  2016 and later: Unicode, Inc. and others.
      3 // License & terms of use: http://www.unicode.org/copyright.html#License
      4 /*
      5  *******************************************************************************
      6  * Copyright (C) 1996-2007, International Business Machines Corporation and    *
      7  * others. All Rights Reserved.                                                *
      8  *******************************************************************************
      9  */
     10 
     11 package android.icu.text;
     12 
     13 /**
     14  * An interface defining  constants for the Standard Compression Scheme
     15  * for Unicode (SCSU) as outlined in <A
     16  * HREF="http://www.unicode.org/unicode/reports/tr6">Unicode Technical
     17  * Report #6</A>.
     18  *
     19  * @author Stephen F. Booth
     20  * @version 1.1 05 Aug 99
     21  * @version 1.0 26 Jul 99
     22  */
     23 interface SCSU
     24 {
     25     //==========================
     26     // Generic window shift
     27     //==========================
     28     final static int COMPRESSIONOFFSET           = 0x80;
     29 
     30     //==========================
     31     // Number of windows
     32     //==========================
     33     final static int NUMWINDOWS                  = 8;
     34     final static int NUMSTATICWINDOWS            = 8;
     35 
     36     //==========================
     37     // Indicates a window index is invalid
     38     //==========================
     39     final static int INVALIDWINDOW               = -1;
     40 
     41     //==========================
     42     // Indicates a character doesn't exist in input (past end of buffer)
     43     //==========================
     44     final static int INVALIDCHAR                 = -1;
     45 
     46     //==========================
     47     // Compression modes
     48     //==========================
     49     final static int SINGLEBYTEMODE              = 0;
     50     final static int UNICODEMODE                 = 1;
     51 
     52     //==========================
     53     // Maximum value for a window's index
     54     //==========================
     55     final static int MAXINDEX                    = 0xFF;
     56 
     57     //==========================
     58     // Reserved index value (characters belongs to first block)
     59     //==========================
     60     final static int RESERVEDINDEX               = 0x00;
     61 
     62     //==========================
     63     // Indices for scripts which cross a half-block boundary
     64     //==========================
     65     final static int LATININDEX                  = 0xF9;
     66     final static int IPAEXTENSIONINDEX           = 0xFA;
     67     final static int GREEKINDEX                  = 0xFB;
     68     final static int ARMENIANINDEX               = 0xFC;
     69     final static int HIRAGANAINDEX               = 0xFD;
     70     final static int KATAKANAINDEX               = 0xFE;
     71     final static int HALFWIDTHKATAKANAINDEX      = 0xFF;
     72 
     73     //==========================
     74     // Single-byte mode tags
     75     //==========================
     76     final static int SDEFINEX                    = 0x0B;
     77     final static int SRESERVED                   = 0x0C;  // reserved value
     78     final static int SQUOTEU                     = 0x0E;
     79     final static int SCHANGEU                    = 0x0F;
     80 
     81     final static int SQUOTE0                     = 0x01;
     82     final static int SQUOTE1                     = 0x02;
     83     final static int SQUOTE2                     = 0x03;
     84     final static int SQUOTE3                     = 0x04;
     85     final static int SQUOTE4                     = 0x05;
     86     final static int SQUOTE5                     = 0x06;
     87     final static int SQUOTE6                     = 0x07;
     88     final static int SQUOTE7                     = 0x08;
     89 
     90     final static int SCHANGE0                    = 0x10;
     91     final static int SCHANGE1                    = 0x11;
     92     final static int SCHANGE2                    = 0x12;
     93     final static int SCHANGE3                    = 0x13;
     94     final static int SCHANGE4                    = 0x14;
     95     final static int SCHANGE5                    = 0x15;
     96     final static int SCHANGE6                    = 0x16;
     97     final static int SCHANGE7                    = 0x17;
     98 
     99     final static int SDEFINE0                    = 0x18;
    100     final static int SDEFINE1                    = 0x19;
    101     final static int SDEFINE2                    = 0x1A;
    102     final static int SDEFINE3                    = 0x1B;
    103     final static int SDEFINE4                    = 0x1C;
    104     final static int SDEFINE5                    = 0x1D;
    105     final static int SDEFINE6                    = 0x1E;
    106     final static int SDEFINE7                    = 0x1F;
    107 
    108     //==========================
    109     // Unicode mode tags
    110     //==========================
    111     final static int UCHANGE0                    = 0xE0;
    112     final static int UCHANGE1                    = 0xE1;
    113     final static int UCHANGE2                    = 0xE2;
    114     final static int UCHANGE3                    = 0xE3;
    115     final static int UCHANGE4                    = 0xE4;
    116     final static int UCHANGE5                    = 0xE5;
    117     final static int UCHANGE6                    = 0xE6;
    118     final static int UCHANGE7                    = 0xE7;
    119 
    120     final static int UDEFINE0                    = 0xE8;
    121     final static int UDEFINE1                    = 0xE9;
    122     final static int UDEFINE2                    = 0xEA;
    123     final static int UDEFINE3                    = 0xEB;
    124     final static int UDEFINE4                    = 0xEC;
    125     final static int UDEFINE5                    = 0xED;
    126     final static int UDEFINE6                    = 0xEE;
    127     final static int UDEFINE7                    = 0xEF;
    128 
    129     final static int UQUOTEU                     = 0xF0;
    130     final static int UDEFINEX                    = 0xF1;
    131     final static int URESERVED                   = 0xF2;  // reserved value
    132 
    133 
    134     //==========================
    135     // Class variables
    136     //==========================
    137 
    138     /** For window offset mapping */
    139     final static int [] sOffsetTable = {
    140         // table generated by CompressionTableGenerator
    141         0x0, 0x80, 0x100, 0x180, 0x200, 0x280, 0x300, 0x380, 0x400,
    142     0x480, 0x500, 0x580, 0x600, 0x680, 0x700, 0x780, 0x800, 0x880,
    143     0x900, 0x980, 0xa00, 0xa80, 0xb00, 0xb80, 0xc00, 0xc80, 0xd00,
    144     0xd80, 0xe00, 0xe80, 0xf00, 0xf80, 0x1000, 0x1080, 0x1100,
    145     0x1180, 0x1200, 0x1280, 0x1300, 0x1380, 0x1400, 0x1480,
    146     0x1500, 0x1580, 0x1600, 0x1680, 0x1700, 0x1780, 0x1800,
    147     0x1880, 0x1900, 0x1980, 0x1a00, 0x1a80, 0x1b00, 0x1b80,
    148     0x1c00, 0x1c80, 0x1d00, 0x1d80, 0x1e00, 0x1e80, 0x1f00,
    149     0x1f80, 0x2000, 0x2080, 0x2100, 0x2180, 0x2200, 0x2280,
    150     0x2300, 0x2380, 0x2400, 0x2480, 0x2500, 0x2580, 0x2600,
    151     0x2680, 0x2700, 0x2780, 0x2800, 0x2880, 0x2900, 0x2980,
    152     0x2a00, 0x2a80, 0x2b00, 0x2b80, 0x2c00, 0x2c80, 0x2d00,
    153     0x2d80, 0x2e00, 0x2e80, 0x2f00, 0x2f80, 0x3000, 0x3080,
    154     0x3100, 0x3180, 0x3200, 0x3280, 0x3300, 0x3380, 0xe000,
    155     0xe080, 0xe100, 0xe180, 0xe200, 0xe280, 0xe300, 0xe380,
    156     0xe400, 0xe480, 0xe500, 0xe580, 0xe600, 0xe680, 0xe700,
    157     0xe780, 0xe800, 0xe880, 0xe900, 0xe980, 0xea00, 0xea80,
    158     0xeb00, 0xeb80, 0xec00, 0xec80, 0xed00, 0xed80, 0xee00,
    159     0xee80, 0xef00, 0xef80, 0xf000, 0xf080, 0xf100, 0xf180,
    160     0xf200, 0xf280, 0xf300, 0xf380, 0xf400, 0xf480, 0xf500,
    161     0xf580, 0xf600, 0xf680, 0xf700, 0xf780, 0xf800, 0xf880,
    162     0xf900, 0xf980, 0xfa00, 0xfa80, 0xfb00, 0xfb80, 0xfc00,
    163     0xfc80, 0xfd00, 0xfd80, 0xfe00, 0xfe80, 0xff00, 0xff80, 0x0,
    164     0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    165     0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    166     0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    167     0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    168     0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    169     0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    170     0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0x250, 0x370,
    171     0x530, 0x3040, 0x30a0, 0xff60
    172     };
    173 
    174     /** Static compression window offsets */
    175     final static int [] sOffsets = {
    176         0x0000,  // for quoting single-byte mode tags
    177         0x0080,  // Latin-1 Supplement
    178         0x0100,  // Latin Extended-A
    179         0x0300,  // Combining Diacritical Marks
    180         0x2000,  // General Punctuation
    181         0x2080,  // Curency Symbols
    182         0x2100,  // Letterlike Symbols and Number Forms
    183         0x3000   // CJK Symbols and Punctuation
    184     };
    185 
    186 }
    187 
    188