Newer
Older
* libpyzy - The Chinese PinYin and Bopomofo conversion library.
*
* Copyright (c) 2008-2010 Peng Huang <shawn.p.huang@gmail.com>
*
* This library is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of the
* License, or (at your option) any later version.
* This library is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
* USA
#ifndef __PYZY_TYPES_H_
#define __PYZY_TYPES_H_
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
namespace PyZy {
#define PINYIN_ID_VOID (-1)
#define PINYIN_ID_ZERO (0)
#define PINYIN_ID_B (1)
#define PINYIN_ID_C (2)
#define PINYIN_ID_CH (3)
#define PINYIN_ID_D (4)
#define PINYIN_ID_F (5)
#define PINYIN_ID_G (6)
#define PINYIN_ID_H (7)
#define PINYIN_ID_J (8)
#define PINYIN_ID_K (9)
#define PINYIN_ID_L (10)
#define PINYIN_ID_M (11)
#define PINYIN_ID_N (12)
#define PINYIN_ID_P (13)
#define PINYIN_ID_Q (14)
#define PINYIN_ID_R (15)
#define PINYIN_ID_S (16)
#define PINYIN_ID_SH (17)
#define PINYIN_ID_T (18)
#define PINYIN_ID_W (19)
#define PINYIN_ID_X (20)
#define PINYIN_ID_Y (21)
#define PINYIN_ID_Z (22)
#define PINYIN_ID_ZH (23)
#define PINYIN_ID_A (24)
#define PINYIN_ID_AI (25)
#define PINYIN_ID_AN (26)
#define PINYIN_ID_ANG (27)
#define PINYIN_ID_AO (28)
#define PINYIN_ID_E (29)
#define PINYIN_ID_EI (30)
#define PINYIN_ID_EN (31)
#define PINYIN_ID_ENG (32)
#define PINYIN_ID_ER (33)
#define PINYIN_ID_I (34)
#define PINYIN_ID_IA (35)
#define PINYIN_ID_IAN (36)
#define PINYIN_ID_IANG (37)
#define PINYIN_ID_IAO (38)
#define PINYIN_ID_IE (39)
#define PINYIN_ID_IN (40)
#define PINYIN_ID_ING (41)
#define PINYIN_ID_IONG (42)
#define PINYIN_ID_IU (43)
#define PINYIN_ID_O (44)
#define PINYIN_ID_ONG (45)
#define PINYIN_ID_OU (46)
#define PINYIN_ID_U (47)
#define PINYIN_ID_UA (48)
#define PINYIN_ID_UAI (49)
#define PINYIN_ID_UAN (50)
#define PINYIN_ID_UANG (51)
#define PINYIN_ID_UE (52)
#define PINYIN_ID_VE PINYIN_ID_UE
#define PINYIN_ID_UI (53)
#define PINYIN_ID_UN (54)
#define PINYIN_ID_UO (55)
#define PINYIN_ID_V (56)
#define PINYIN_ID_NG PINYIN_ID_VOID
struct Pinyin {
const char *sheng;
const char *yun;
unsigned char sheng;
unsigned char yun;
const size_t len;
const unsigned int flags;
};
#define MAX_UTF8_LEN 6
#define MAX_PHRASE_LEN 16
}; // namespace PyZy