]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/i18n/csrsbcs.h
ICU-491.11.1.tar.gz
[apple/icu.git] / icuSources / i18n / csrsbcs.h
index 456fc4dff439b1aaeb52f8a918bac10e642c4be8..21cbabe5663b54c4612d2dd3d6fe4ede2d790580 100644 (file)
@@ -1,6 +1,6 @@
 /*
  **********************************************************************
- *   Copyright (C) 2005-2006, International Business Machines
+ *   Copyright (C) 2005-2009, International Business Machines
  *   Corporation and others.  All Rights Reserved.
  **********************************************************************
  */
@@ -358,6 +358,69 @@ public:
     int32_t match(InputText *textIn);
 };
 
+class CharsetRecog_IBM424_he : public CharsetRecog_sbcs
+{
+public:
+    virtual ~CharsetRecog_IBM424_he();
+
+    const char *getLanguage() const;
+};
+
+class CharsetRecog_IBM424_he_rtl : public CharsetRecog_IBM424_he {
+public:
+    virtual ~CharsetRecog_IBM424_he_rtl();
+    
+    const char *getName() const;
+    
+    int32_t match(InputText *textIn);
+};
+
+class CharsetRecog_IBM424_he_ltr : public CharsetRecog_IBM424_he {
+    virtual ~CharsetRecog_IBM424_he_ltr();
+    
+    const char *getName() const;
+    
+    int32_t match(InputText *textIn);
+};
+
+class CharsetRecog_IBM420_ar : public CharsetRecog_sbcs
+{
+public:
+    virtual ~CharsetRecog_IBM420_ar();
+
+    const char *getLanguage() const;
+    
+protected:
+    void matchInit(InputText *textIn);
+    void matchFinish(InputText *textIn);
+    
+private:
+    uint8_t *prev_fInputBytes;
+    int32_t prev_fInputBytesLength;
+    UBool deleteBuffer;
+    
+    UBool isLamAlef(uint8_t b);
+    uint8_t *unshapeLamAlef(const uint8_t *inputBytes, int32_t inputBytesLength, int32_t &length);
+    uint8_t *unshape(const uint8_t *inputBytes, int32_t inputBytesLength, int32_t &length);
+};
+
+class CharsetRecog_IBM420_ar_rtl : public CharsetRecog_IBM420_ar {
+public:
+    virtual ~CharsetRecog_IBM420_ar_rtl();
+    
+    const char *getName() const;
+    
+    int32_t match(InputText *textIn);
+};
+
+class CharsetRecog_IBM420_ar_ltr : public CharsetRecog_IBM420_ar {
+    virtual ~CharsetRecog_IBM420_ar_ltr();
+    
+    const char *getName() const;
+    
+    int32_t match(InputText *textIn);
+};
+
 U_NAMESPACE_END
 
 #endif