chromium/third_party/icu/source/i18n/csrsbcs.h

// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html
/*
 **********************************************************************
 *   Copyright (C) 2005-2015, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 **********************************************************************
 */

#ifndef __CSRSBCS_H
#define __CSRSBCS_H

#include "unicode/uobject.h"

#if !UCONFIG_NO_CONVERSION

#include "csrecog.h"

U_NAMESPACE_BEGIN

class NGramParser : public UMemory
{};

#if !UCONFIG_ONLY_HTML_CONVERSION
class NGramParser_IBM420 : public NGramParser
{
public:
    NGramParser_IBM420(const int32_t *theNgramList, const uint8_t *theCharMap);
    ~NGramParser_IBM420();

private:
    int32_t alef;
    int32_t isLamAlef(int32_t b);
    int32_t nextByte(InputText *det) override;
    void parseCharacters(InputText *det) override;
};
#endif


class CharsetRecog_sbcs : public CharsetRecognizer
{};

class CharsetRecog_8859_1 : public CharsetRecog_sbcs
{};

class CharsetRecog_8859_2 : public CharsetRecog_sbcs
{};

class CharsetRecog_8859_5 : public CharsetRecog_sbcs
{};

class CharsetRecog_8859_6 : public CharsetRecog_sbcs
{};

class CharsetRecog_8859_7 : public CharsetRecog_sbcs
{};

class CharsetRecog_8859_8 : public CharsetRecog_sbcs
{};

class CharsetRecog_8859_9 : public CharsetRecog_sbcs
{};



class CharsetRecog_8859_5_ru : public CharsetRecog_8859_5
{};

class CharsetRecog_8859_6_ar : public CharsetRecog_8859_6
{};

class CharsetRecog_8859_7_el : public CharsetRecog_8859_7
{};

class CharsetRecog_8859_8_I_he : public CharsetRecog_8859_8
{};

class CharsetRecog_8859_8_he : public CharsetRecog_8859_8
{};

class CharsetRecog_8859_9_tr : public CharsetRecog_8859_9
{};

class CharsetRecog_windows_1256 : public CharsetRecog_sbcs
{};

class CharsetRecog_windows_1251 : public CharsetRecog_sbcs
{};


class CharsetRecog_KOI8_R : public CharsetRecog_sbcs
{};

#if !UCONFIG_ONLY_HTML_CONVERSION
class CharsetRecog_IBM424_he : public CharsetRecog_sbcs
{
public:
    virtual ~CharsetRecog_IBM424_he();

    const char *getLanguage() const override;
};

class CharsetRecog_IBM424_he_rtl : public CharsetRecog_IBM424_he {
public:
    virtual ~CharsetRecog_IBM424_he_rtl();
    
    const char *getName() const override;
    
    virtual UBool match(InputText *det, CharsetMatch *results) const override;
};

class CharsetRecog_IBM424_he_ltr : public CharsetRecog_IBM424_he {
    virtual ~CharsetRecog_IBM424_he_ltr();
    
    const char *getName() const override;
    
    virtual UBool match(InputText *det, CharsetMatch *results) const override;
};

class CharsetRecog_IBM420_ar : public CharsetRecog_sbcs
{
public:
    virtual ~CharsetRecog_IBM420_ar();

    const char *getLanguage() const override;
	int32_t match_sbcs(InputText *det, const int32_t ngrams[], const uint8_t charMap[]) const override;
    
};

class CharsetRecog_IBM420_ar_rtl : public CharsetRecog_IBM420_ar {
public:
    virtual ~CharsetRecog_IBM420_ar_rtl();
    
    const char *getName() const override;
    
    virtual UBool match(InputText *det, CharsetMatch *results) const override;
};

class CharsetRecog_IBM420_ar_ltr : public CharsetRecog_IBM420_ar {
    virtual ~CharsetRecog_IBM420_ar_ltr();
    
    const char *getName() const override;
    
    virtual UBool match(InputText *det, CharsetMatch *results) const override;
};
#endif

U_NAMESPACE_END

#endif /* !UCONFIG_NO_CONVERSION */
#endif /* __CSRSBCS_H */