Back to index

php5  5.3.10
Defines | Functions | Variables
iso8859_5.c File Reference
#include "regenc.h"

Go to the source code of this file.

Defines

#define ENC_ISO_8859_5_TO_LOWER_CASE(c)   EncISO_8859_5_ToLowerCaseTable[c]
#define ENC_IS_ISO_8859_5_CTYPE(code, ctype)   ((EncISO_8859_5_CtypeTable[code] & ctype) != 0)

Functions

static int iso_8859_5_mbc_to_normalize (OnigAmbigType flag, const UChar **pp, const UChar *end, UChar *lower)
static int iso_8859_5_is_mbc_ambiguous (OnigAmbigType flag, const UChar **pp, const UChar *end)
static int iso_8859_5_is_code_ctype (OnigCodePoint code, unsigned int ctype)
static int iso_8859_5_get_all_pair_ambig_codes (OnigAmbigType flag, const OnigPairAmbigCodes **ccs)

Variables

static const UChar EncISO_8859_5_ToLowerCaseTable [256]
static const unsigned short EncISO_8859_5_CtypeTable [256]
OnigEncodingType OnigEncodingISO_8859_5

Define Documentation

#define ENC_IS_ISO_8859_5_CTYPE (   code,
  ctype 
)    ((EncISO_8859_5_CtypeTable[code] & ctype) != 0)

Definition at line 33 of file iso8859_5.c.

Definition at line 32 of file iso8859_5.c.


Function Documentation

static int iso_8859_5_get_all_pair_ambig_codes ( OnigAmbigType  flag,
const OnigPairAmbigCodes **  ccs 
) [static]

Definition at line 154 of file iso8859_5.c.

{
  static const OnigPairAmbigCodes cc[] = {
    { 0xa1, 0xf1 },
    { 0xa2, 0xf2 },
    { 0xa3, 0xf3 },
    { 0xa4, 0xf4 },
    { 0xa5, 0xf5 },
    { 0xa6, 0xf6 },
    { 0xa7, 0xf7 },
    { 0xa8, 0xf8 },
    { 0xa9, 0xf9 },
    { 0xaa, 0xfa },
    { 0xab, 0xfb },
    { 0xac, 0xfc },
    { 0xae, 0xfe },
    { 0xaf, 0xff },

    { 0xb0, 0xd0 },
    { 0xb1, 0xd1 },
    { 0xb2, 0xd2 },
    { 0xb3, 0xd3 },
    { 0xb4, 0xd4 },
    { 0xb5, 0xd5 },
    { 0xb6, 0xd6 },
    { 0xb7, 0xd7 },
    { 0xb8, 0xd8 },
    { 0xb9, 0xd9 },
    { 0xba, 0xda },
    { 0xbb, 0xdb },
    { 0xbc, 0xdc },
    { 0xbd, 0xdd },
    { 0xbe, 0xdf },
    { 0xbf, 0xdf },

    { 0xc0, 0xe0 },
    { 0xc1, 0xe1 },
    { 0xc2, 0xe2 },
    { 0xc3, 0xe3 },
    { 0xc4, 0xe4 },
    { 0xc5, 0xe5 },
    { 0xc6, 0xe6 },
    { 0xc7, 0xe7 },
    { 0xc8, 0xe8 },
    { 0xc9, 0xe9 },
    { 0xca, 0xea },
    { 0xcb, 0xeb },
    { 0xcc, 0xec },
    { 0xcd, 0xed },
    { 0xce, 0xee },
    { 0xcf, 0xef },

    { 0xd0, 0xb0 },
    { 0xd1, 0xb1 },
    { 0xd2, 0xb2 },
    { 0xd3, 0xb3 },
    { 0xd4, 0xb4 },
    { 0xd5, 0xb5 },
    { 0xd6, 0xb6 },
    { 0xd7, 0xb7 },
    { 0xd8, 0xb8 },
    { 0xd9, 0xb9 },
    { 0xda, 0xba },
    { 0xdb, 0xbb },
    { 0xdc, 0xbc },
    { 0xdd, 0xbd },
    { 0xde, 0xbe },
    { 0xdf, 0xbf },

    { 0xe0, 0xc0 },
    { 0xe1, 0xc1 },
    { 0xe2, 0xc2 },
    { 0xe3, 0xc3 },
    { 0xe4, 0xc4 },
    { 0xe5, 0xc5 },
    { 0xe6, 0xc6 },
    { 0xe7, 0xc7 },
    { 0xe8, 0xc8 },
    { 0xe9, 0xc9 },
    { 0xea, 0xca },
    { 0xeb, 0xcb },
    { 0xec, 0xcc },
    { 0xed, 0xcd },
    { 0xee, 0xce },
    { 0xef, 0xcf },

    { 0xf1, 0xa1 },
    { 0xf2, 0xa2 },
    { 0xf3, 0xa3 },
    { 0xf4, 0xa4 },
    { 0xf5, 0xa5 },
    { 0xf6, 0xa6 },
    { 0xf7, 0xa7 },
    { 0xf8, 0xa8 },
    { 0xf9, 0xa9 },
    { 0xfa, 0xaa },
    { 0xfb, 0xab },
    { 0xfc, 0xac },
    { 0xfe, 0xae },
    { 0xff, 0xaf }
  };

  if (flag == ONIGENC_AMBIGUOUS_MATCH_ASCII_CASE) {
    *ccs = OnigAsciiPairAmbigCodes;
    return 52;
  }
  if (flag == ONIGENC_AMBIGUOUS_MATCH_NONASCII_CASE) {
    *ccs = cc;
    return sizeof(cc) / sizeof(OnigPairAmbigCodes);
  }
  else
    return 0;
}
static int iso_8859_5_is_code_ctype ( OnigCodePoint  code,
unsigned int  ctype 
) [static]

Definition at line 145 of file iso8859_5.c.

{
  if (code < 256)
    return ENC_IS_ISO_8859_5_CTYPE(code, ctype);
  else
    return FALSE;
}
static int iso_8859_5_is_mbc_ambiguous ( OnigAmbigType  flag,
const UChar **  pp,
const UChar end 
) [static]

Definition at line 127 of file iso8859_5.c.

{
  const UChar* p = *pp;

  (*pp)++;
  if (((flag & ONIGENC_AMBIGUOUS_MATCH_ASCII_CASE) != 0 &&
       ONIGENC_IS_MBC_ASCII(p)) ||
      ((flag & ONIGENC_AMBIGUOUS_MATCH_NONASCII_CASE) != 0 &&
       !ONIGENC_IS_MBC_ASCII(p))) {
    int v = (EncISO_8859_5_CtypeTable[*p] &
             (ONIGENC_CTYPE_UPPER | ONIGENC_CTYPE_LOWER));
    return (v != 0 ? TRUE : FALSE);
  }
  return FALSE;
}
static int iso_8859_5_mbc_to_normalize ( OnigAmbigType  flag,
const UChar **  pp,
const UChar end,
UChar lower 
) [static]

Definition at line 107 of file iso8859_5.c.

{
  const UChar* p = *pp;

  if (((flag & ONIGENC_AMBIGUOUS_MATCH_ASCII_CASE) != 0 &&
       ONIGENC_IS_MBC_ASCII(p)) ||
      ((flag & ONIGENC_AMBIGUOUS_MATCH_NONASCII_CASE) != 0 &&
       !ONIGENC_IS_MBC_ASCII(p))) {
    *lower = ENC_ISO_8859_5_TO_LOWER_CASE(*p);
  }
  else {
    *lower = *p;
  }

  (*pp)++;
  return 1; /* return byte length of converted char to lower */
}

Variable Documentation

const unsigned short EncISO_8859_5_CtypeTable[256] [static]

Definition at line 71 of file iso8859_5.c.

Definition at line 36 of file iso8859_5.c.