Modify error type, remove unused code, and replace uuid code to uuid library. 38/40338/3
authorMinje Ahn <minje.ahn@samsung.com>
Tue, 2 Jun 2015 12:33:27 +0000 (21:33 +0900)
committerMinje ahn <minje.ahn@samsung.com>
Thu, 4 Jun 2015 05:11:38 +0000 (22:11 -0700)
Change-Id: I543ef8b9e937ed997c1b8b8b9f2acbe3316f9456
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
40 files changed:
CMakeLists.txt
include/media-svc-error.h [deleted file]
include/media-svc.h
libmedia-service.manifest [new file with mode: 0644]
md5/media-svc-hash.c
packaging/libmedia-service.changes [deleted file]
packaging/libmedia-service.manifest [deleted file]
packaging/libmedia-service.spec
plugin/media-content-plugin.c
src/common/media-svc-album.c
src/common/media-svc-db-utils.c
src/common/media-svc-debug.c
src/common/media-svc-localize-utils.c
src/common/media-svc-localize_ch.c
src/common/media-svc-localize_tw.c [new file with mode: 0755]
src/common/media-svc-media-folder.c
src/common/media-svc-media.c
src/common/media-svc-noti.c
src/common/media-svc-util.c
src/common/media-svc.c
src/include/common/media-svc-debug.h
src/include/common/media-svc-localize_tw.h [new file with mode: 0644]
src/include/common/media-svc-noti.h
src/include/common/media-svc-util.h
test/CMakeLists.txt
test/plugin/media_svc_plugin_test.c
uuid/clear.c [deleted file]
uuid/compare.c [deleted file]
uuid/copy.c [deleted file]
uuid/gen_uuid.c [deleted file]
uuid/isnull.c [deleted file]
uuid/pack.c [deleted file]
uuid/parse.c [deleted file]
uuid/unpack.c [deleted file]
uuid/unparse.c [deleted file]
uuid/uuid.h [deleted file]
uuid/uuidP.h [deleted file]
uuid/uuid_time.c [deleted file]
uuid/uuid_types.h [deleted file]
uuid/uuidd.h [deleted file]

index ebf4777..f130e13 100755 (executable)
@@ -7,17 +7,6 @@ SET(MEDIASERVICE-LIB "media-service")
 SET(MEDIASERVICE-HASH-LIB "media-svc-hash")
 SET(MEDIACONTENT-PLUGIN-LIB "media-content-plugin")
 SET(SRCS 
-       uuid/clear.c
-       uuid/compare.c
-       uuid/copy.c
-       uuid/gen_uuid.c
-       uuid/isnull.c
-       uuid/pack.c
-       uuid/parse.c
-       uuid/unpack.c
-       uuid/unparse.c
-       uuid/uuid_time.c
-
        src/common/media-svc.c
        src/common/media-svc-media.c
        src/common/media-svc-album.c
@@ -28,6 +17,7 @@ SET(SRCS
        src/common/media-svc-noti.c
        src/common/media-svc-localize-utils.c
        src/common/media-svc-localize_ch.c
+       src/common/media-svc-localize_tw.c
        )
 
 SET(HASH_SRCS
@@ -49,6 +39,7 @@ SET(PREFIX ${CMAKE_INSTALL_PREFIX})
 SET(BINDIR "${PREFIX}/bin")
 SET(DATADIR "${PREFIX}/share")
 SET(EXEC_PREFIX "\${prefix}")
+SET(LIBDIR "\${prefix}/lib")
 SET(INCLUDEDIR "\${prefix}/include")
 
 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
@@ -58,10 +49,12 @@ MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
 
 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/src/include/common ${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/uuid ${CMAKE_SOURCE_DIR}/md5)
 
-INCLUDE(FindPkgConfig)
-pkg_check_modules(pkgs REQUIRED glib-2.0 dlog sqlite3 db-util libexif mm-common mm-fileinfo drm-client media-thumbnail libmedia-utils aul)
+FIND_PROGRAM(UNAME NAMES uname)
+EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
 
 
+INCLUDE(FindPkgConfig)
+pkg_check_modules(pkgs REQUIRED glib-2.0 dlog sqlite3 db-util libexif mm-common mm-fileinfo media-thumbnail libmedia-utils aul uuid vconf iniparser drm-client)
 
 FOREACH(flag ${pkgs_CFLAGS})
        SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
@@ -71,8 +64,6 @@ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC")
 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
 SET(CMAKE_C_FLAGS_RELEASE "-O2 -fPIC")
 
-FIND_PROGRAM(UNAME NAMES uname)
-EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
 IF("${ARCH}" STREQUAL "arm")
        ADD_DEFINITIONS("-DTARGET")
        MESSAGE("add -DTARGET")
@@ -83,8 +74,6 @@ ADD_DEFINITIONS("-DPACKAGE=\"${PACKAGE}\"")
 ADD_DEFINITIONS("-DPACKAGE_NAME=\"${PKGNAME}\"")
 ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
 ADD_DEFINITIONS("-D_FILE_OFFSET_BITS=64")
-#ADD_DEFINITIONS("-D_PERFORMANCE_CHECK_")
-#ADD_DEFINITIONS("-D_USE_LOG_FILE_")
 
 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -Wl,--hash-style=both")
 CONFIGURE_FILE(libmedia-service.pc.in libmedia-service.pc @ONLY)
@@ -111,5 +100,4 @@ INSTALL(TARGETS ${MEDIASERVICE-HASH-LIB} LIBRARY DESTINATION ${LIB_INSTALL_DIR})
 INSTALL(TARGETS ${MEDIACONTENT-PLUGIN-LIB} LIBRARY DESTINATION ${LIB_INSTALL_DIR})
 
 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/media-svc.h DESTINATION include/media-service/)
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/media-svc-error.h DESTINATION include/media-service/)
 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/media-svc-types.h DESTINATION include/media-service/)
diff --git a/include/media-svc-error.h b/include/media-svc-error.h
deleted file mode 100755 (executable)
index a5741d0..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * libmedia-service
- *
- * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Hyunjun Ko <zzoon.ko@samsung.com>, Haejeong Kim <backto.kim@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-
-
-#ifndef _MEDIA_SVC_ERROR_H_
-#define _MEDIA_SVC_ERROR_H_
-
-/**
-       @addtogroup MEDIA_SVC
-        @{
-        * @file                media-svc-error.h
-        * @brief       This file defines error codes for media service.
-
- */
-
-/**
-        @defgroup MEDIA_SVC_COMMON  Global data structure and error code
-        @{
-
-        @par
-         type definition and error code
- */
-
-
-#define MEDIA_INFO_ERROR_NONE                                                  0                       /**< No Error */
-
-#define MEDIA_INFO_ERROR_INVALID_PARAMETER                     -1                      /**< Invalid parameter */
-#define MEDIA_INFO_ERROR_INVALID_MEDIA                         -2                      /**< Invalid media */
-#define MEDIA_INFO_ERROR_INVALID_FILE_FORMAT                   -3                      /**< Invalid file format */
-#define MEDIA_INFO_ERROR_INVALID_PATH                          -4                      /**< Invalid file path */
-#define MEDIA_INFO_ERROR_OUT_OF_MEMORY                         -5                      /**< Out of memory */
-#define MEDIA_INFO_ERROR_OUT_OF_STORAGE                                -6                      /**< Out of storage */
-#define MEDIA_INFO_ERROR_INSERT_FAIL                                   -7                      /**< Insert failed  */
-#define MEDIA_INFO_ERROR_DRM_INSERT_FAIL                               -8                      /**< DRM file insert failed */
-
-#define MEDIA_INFO_ERROR_ITEM_NOT_FOUND                                -11                     /**< Item not found */
-#define MEDIA_INFO_ERROR_FILE_NOT_FOUND                                -12                     /**< File not found */
-#define MEDIA_INFO_ERROR_APPEND_ITEM_FAILED                    -13                     /**< Append item failed */
-#define MEDIA_INFO_ERROR_REMOVE_ITEM_FAILED                    -14                     /**< Remove item failed */
-#define MEDIA_INFO_ERROR_GET_ITEM_FAILED                               -15                     /**< Get item failed */
-#define MEDIA_INFO_ERROR_REMOVE_FILE_FAILED                    -16                     /**< Remove file failed */
-#define MEDIA_INFO_ERROR_EXTRACT_FAILED                                -17                     /**< Extract Failed */
-#define MEDIA_INFO_ERROR_MAKE_PLAYLIST_NAME_FAILED     -18                     /**< fail to make new playlist name */
-
-#define MEDIA_INFO_ERROR_DATABASE_CONNECT                      -100            /**< DB connect error */
-#define MEDIA_INFO_ERROR_DATABASE_DISCONNECT           -101            /**< DB disconnect error */
-#define MEDIA_INFO_ERROR_DATABASE_QUERY                                -104            /**< DB query error */
-#define MEDIA_INFO_ERROR_DATABASE_TABLE_OPEN           -105            /**< DB table open error */
-#define MEDIA_INFO_ERROR_DATABASE_INVALID                      -106            /**< DB invalid error */
-#define MEDIA_INFO_ERROR_DATABASE_INTERNAL                     -107            /**< DB internal error */
-#define MEDIA_INFO_ERROR_DATABASE_NO_RECORD            -108            /**< Item not found in DB */
-
-#define MEDIA_INFO_ERROR_SOCKET_CONN                                   -201            /**< Socket connect error */
-#define MEDIA_INFO_ERROR_SOCKET_MSG                                    -202            /**< Socket message error */
-#define MEDIA_INFO_ERROR_SOCKET_SEND                                   -203            /**< Socket send error */
-#define MEDIA_INFO_ERROR_SOCKET_RECEIVE                                -204            /**< Socket receive error */
-#define MEDIA_INFO_ERROR_SOCKET_RECEIVE_TIMEOUT                -205            /**< Socket time out */
-
-#define MEDIA_INFO_ERROR_SEND_NOTI_FAIL                                -301            /**< Sending Notifications fail */
-
-#define MEDIA_INFO_ERROR_INTERNAL                                              -998            /**< Internal error */
-#define MEDIA_INFO_ERROR_UNKNOWN                                       -999            /**< Unknown error */
-#define MEDIA_INFO_ERROR_NOT_IMPLEMENTED                       -200            /**< Not implemented */
-/**
-       @}
-*/
-
-/**
-       @}
-*/
-
-#endif /*_MEDIA_SVC_ERROR_H_*/
index 91e7152..34ac2c9 100755 (executable)
@@ -25,7 +25,6 @@
 #define _MEDIA_SVC_H_
 
 #include "media-svc-types.h"
-#include "media-svc-error.h"
 #include <media-util-noti.h>
 #include <stdbool.h>
 #ifdef __cplusplus
diff --git a/libmedia-service.manifest b/libmedia-service.manifest
new file mode 100644 (file)
index 0000000..ca37499
--- /dev/null
@@ -0,0 +1,6 @@
+<manifest>
+       <request>
+               <domain name="_" />
+       </request>
+</manifest>
+
index ae8209d..b3e5eea 100755 (executable)
@@ -29,7 +29,7 @@
 #include <string.h>
 #include <alloca.h>
 #include "media-svc-hash.h"
-#include "media-svc-error.h"
+#include "media-util-err.h"
 
 
 static const char ACCEPTABLE_URI_CHARS[96] = {
@@ -116,18 +116,18 @@ int mb_svc_generate_hash_code(const char *origin_path, char *hash_code, int max_
        char *hash = NULL;
 
        if (max_length < ((2 * MD5_HASHBYTES) + 1)) {
-               return MEDIA_INFO_ERROR_INVALID_PARAMETER;
+               return MS_MEDIA_ERR_INVALID_PARAMETER;
        }
 
        hash = _mb_svc_generate_hash_name(origin_path);
 
        if (hash == NULL) {
-               return MEDIA_INFO_ERROR_INTERNAL;
+               return MS_MEDIA_ERR_INTERNAL;
        }
 
        strncpy(hash_code, hash, max_length);
        hash_code[strlen(hash_code)] ='\0';
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
diff --git a/packaging/libmedia-service.changes b/packaging/libmedia-service.changes
deleted file mode 100644 (file)
index ecfb8ae..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-* Wed May 29 2013 Xavier Roche <xavrock.os@gmail.com> accepted/tizen/20130520.101126@e2cbc11
-- Fix hardcoded lib path, and typedef definition for 64b compatibility
-
diff --git a/packaging/libmedia-service.manifest b/packaging/libmedia-service.manifest
deleted file mode 100644 (file)
index 017d22d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<manifest>
- <request>
-    <domain name="_"/>
- </request>
-</manifest>
index 038e3b3..f42892b 100755 (executable)
@@ -5,7 +5,6 @@ Release:    3
 Group:      System/Libraries
 License:    Apache License, Version 2.0
 Source0:    %{name}-%{version}.tar.gz
-Source1001:    libmedia-service.manifest
 
 Requires(post): /sbin/ldconfig
 Requires(postun): /sbin/ldconfig
@@ -22,7 +21,9 @@ BuildRequires:  pkgconfig(mm-fileinfo)
 BuildRequires:  pkgconfig(media-thumbnail)
 BuildRequires:  pkgconfig(drm-client)
 BuildRequires:  pkgconfig(libmedia-utils)
+BuildRequires:  pkgconfig(uuid)
 BuildRequires:  pkgconfig(libtzplatform-config)
+BuildRequires:  pkgconfig(iniparser)
 
 %description
 Media information service library for multimedia applications
@@ -35,10 +36,8 @@ Requires:   %{name} = %{version}-%{release}
 %description devel
 Media information service library for multimedia applications. (development files)
 
-
 %prep
 %setup -q 
-cp %{SOURCE1001} .
 
 
 %build
index f73ed7b..a4dc19d 100755 (executable)
@@ -23,6 +23,7 @@
 #include <mm_file.h>
 #include <media-thumbnail.h>
 #include "media-svc.h"
+#include "media-svc-util.h"
 
 #define MEDIA_SVC_PLUGIN_ERROR_NONE            0
 #define MEDIA_SVC_PLUGIN_ERROR                 -1
@@ -44,74 +45,6 @@ typedef enum{
        ERR_MAX,
 }media_svc_error_type_e;
 
-#define MS_CATEGORY_UNKNOWN    0x00000000      /**< Default */
-#define MS_CATEGORY_ETC                0x00000001      /**< ETC category */
-#define MS_CATEGORY_IMAGE              0x00000002      /**< Image category */
-#define MS_CATEGORY_VIDEO              0x00000004      /**< Video category */
-#define MS_CATEGORY_MUSIC              0x00000008      /**< Music category */
-#define MS_CATEGORY_SOUND      0x00000010      /**< Sound category */
-
-#define CONTENT_TYPE_NUM 4
-#define MUSIC_MIME_NUM 29
-#define SOUND_MIME_NUM 1
-#define MIME_TYPE_LENGTH 255
-#define MIME_LENGTH 50
-#define _3GP_FILE ".3gp"
-#define _MP4_FILE ".mp4"
-
-
-typedef struct {
-       char content_type[15];
-       int category_by_mime;
-} fex_content_table_t;
-
-static const fex_content_table_t content_category[CONTENT_TYPE_NUM] = {
-       {"audio", MS_CATEGORY_SOUND},
-       {"image", MS_CATEGORY_IMAGE},
-       {"video", MS_CATEGORY_VIDEO},
-       {"application", MS_CATEGORY_ETC},
-};
-
-static const char music_mime_table[MUSIC_MIME_NUM][MIME_LENGTH] = {
-       /*known mime types of normal files*/
-       "mpeg",
-       "ogg",
-       "x-ms-wma",
-       "x-flac",
-       "mp4",
-       /* known mime types of drm files*/
-       "mp3",
-       "x-mp3", /*alias of audio/mpeg*/
-       "x-mpeg", /*alias of audio/mpeg*/
-       "3gpp",
-       "x-ogg", /*alias of  audio/ogg*/
-       "vnd.ms-playready.media.pya:*.pya", /*playready*/
-       "wma",
-       "aac",
-       "x-m4a", /*alias of audio/mp4*/
-       /* below mimes are rare*/
-       "x-vorbis+ogg",
-       "x-flac+ogg",
-       "x-matroska",
-       "ac3",
-       "mp2",
-       "x-ape",
-       "x-ms-asx",
-       "vnd.rn-realaudio",
-
-       "x-vorbis", /*alias of audio/x-vorbis+ogg*/
-       "vorbis", /*alias of audio/x-vorbis+ogg*/
-       "x-oggflac",
-       "x-mp2", /*alias of audio/mp2*/
-       "x-pn-realaudio", /*alias of audio/vnd.rn-realaudio*/
-       "vnd.m-realaudio", /*alias of audio/vnd.rn-realaudio*/
-       "x-wav",
-};
-
-static const char sound_mime_table[SOUND_MIME_NUM][MIME_LENGTH] = {
-       "x-smaf",
-};
-
 static void __set_error_message(int err_type, char ** err_msg);
 
 static void __set_error_message(int err_type, char ** err_msg)
@@ -135,18 +68,20 @@ static void __set_error_message(int err_type, char ** err_msg)
                *err_msg = strdup("invalid storage type");
        else if(err_type == ERR_CHECK_ITEM)
                *err_msg = strdup("item does not exist");
-       else if(err_type == MEDIA_INFO_ERROR_DATABASE_CONNECT)
+       else if(err_type == MS_MEDIA_ERR_DB_CONNECT_FAIL)
                *err_msg = strdup("DB connect error");
-       else if(err_type == MEDIA_INFO_ERROR_DATABASE_DISCONNECT)
+       else if(err_type == MS_MEDIA_ERR_DB_DISCONNECT_FAIL)
                *err_msg = strdup("DB disconnect error");
-       else if(err_type == MEDIA_INFO_ERROR_INVALID_PARAMETER)
+       else if(err_type == MS_MEDIA_ERR_INVALID_PARAMETER)
                *err_msg = strdup("invalid parameter");
-       else if(err_type == MEDIA_INFO_ERROR_DATABASE_INTERNAL)
+       else if(err_type == MS_MEDIA_ERR_DB_INTERNAL)
                *err_msg = strdup("DB internal error");
-       else if(err_type == MEDIA_INFO_ERROR_DATABASE_NO_RECORD)
+       else if(err_type == MS_MEDIA_ERR_DB_NO_RECORD)
                *err_msg = strdup("not found in DB");
-       else if(err_type == MEDIA_INFO_ERROR_INTERNAL)
+       else if(err_type == MS_MEDIA_ERR_INTERNAL)
                *err_msg = strdup("media service internal error");
+       else if(err_type == MS_MEDIA_ERR_DB_CORRUPT)
+               *err_msg = strdup("DB corrupt error");
        else
                *err_msg = strdup("error unknown");
 
@@ -163,7 +98,7 @@ int check_item(const char *file_path, char ** err_msg)
        return MEDIA_SVC_PLUGIN_ERROR_NONE;
 }
 
-int connect(void ** handle, uid_t uid, char ** err_msg)
+int connect_db(void ** handle, uid_t uid, char ** err_msg)
 {
        int ret = media_svc_connect(handle,uid);
 
@@ -175,7 +110,7 @@ int connect(void ** handle, uid_t uid, char ** err_msg)
        return MEDIA_SVC_PLUGIN_ERROR_NONE;
 }
 
-int disconnect(void * handle, char ** err_msg)
+int disconnect_db(void * handle, char ** err_msg)
 {
        int ret = MEDIA_SVC_PLUGIN_ERROR_NONE;
 
@@ -213,8 +148,9 @@ int check_item_exist(void* handle, const char *file_path, int storage_type, char
        }
 
        ret = media_svc_check_item_exist_by_path(handle, file_path);
-       if(ret == MEDIA_INFO_ERROR_NONE)
+       if(ret == MS_MEDIA_ERR_NONE) {
                return MEDIA_SVC_PLUGIN_ERROR_NONE;     //exist
+       }
 
        __set_error_message(ERR_CHECK_ITEM, err_msg);
 
index fb34d49..7a1c7b9 100755 (executable)
@@ -19,8 +19,8 @@
  *
  */
 
+#include <media-util-err.h>
 #include "media-svc-album.h"
-#include "media-svc-error.h"
 #include "media-svc-debug.h"
 #include "media-svc-env.h"
 #include "media-svc-util.h"
 
 int _media_svc_get_album_id(sqlite3 *handle, const char *album, const char *artist, int * album_id)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        sqlite3_stmt *sql_stmt = NULL;
        char *sql = NULL;
 
-       media_svc_retvm_if(album == NULL, MEDIA_INFO_ERROR_INVALID_PARAMETER, "album is NULL");
+       media_svc_retvm_if(album == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "album is NULL");
 
        if(artist != NULL) {
                sql = sqlite3_mprintf("SELECT album_id FROM %s WHERE name = '%q' AND artist = '%q';", MEDIA_SVC_DB_TABLE_ALBUM, album, artist);
@@ -42,8 +42,8 @@ int _media_svc_get_album_id(sqlite3 *handle, const char *album, const char *arti
 
        ret = _media_svc_sql_prepare_to_step(handle, sql, &sql_stmt);
 
-       if (ret != MEDIA_INFO_ERROR_NONE) {
-               if(ret == MEDIA_INFO_ERROR_DATABASE_NO_RECORD) {
+       if (ret != MS_MEDIA_ERR_NONE) {
+               if(ret == MS_MEDIA_ERR_DB_NO_RECORD) {
                        media_svc_debug("there is no album.");
                }
                else {
@@ -61,7 +61,7 @@ int _media_svc_get_album_id(sqlite3 *handle, const char *album, const char *arti
 
 int _media_svc_get_album_art_by_album_id(sqlite3 *handle, int album_id, char **album_art)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        sqlite3_stmt *sql_stmt = NULL;
        char *value = NULL;
 
@@ -69,12 +69,12 @@ int _media_svc_get_album_art_by_album_id(sqlite3 *handle, int album_id, char **a
 
        ret = _media_svc_sql_prepare_to_step(handle, sql, &sql_stmt);
 
-       if (ret != MEDIA_INFO_ERROR_NONE) {
-               if(ret == MEDIA_INFO_ERROR_DATABASE_NO_RECORD) {
+       if (ret != MS_MEDIA_ERR_NONE) {
+               if(ret == MS_MEDIA_ERR_DB_NO_RECORD) {
                        media_svc_debug("there is no album_id.");
                }
                else {
-                       media_svc_error("error when _media_svc_get_folder_id_by_foldername. err = [%d]", ret);
+                       media_svc_error("error when get album_art. err = [%d]", ret);
                }
                return ret;
        }
@@ -83,8 +83,7 @@ int _media_svc_get_album_art_by_album_id(sqlite3 *handle, int album_id, char **a
 
        if (STRING_VALID(value)) {
                ret = __media_svc_malloc_and_strncpy(album_art, value);
-               if (ret < 0) {
-                       media_svc_error("__media_svc_malloc_and_strncpy failed: %d", ret);
+               if (ret != MS_MEDIA_ERR_NONE) {
                        SQLITE3_FINALIZE(sql_stmt);
                        return ret;
                }
@@ -94,48 +93,42 @@ int _media_svc_get_album_art_by_album_id(sqlite3 *handle, int album_id, char **a
 
        SQLITE3_FINALIZE(sql_stmt);
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 int _media_svc_append_album(sqlite3 *handle, const char *album, const char *artist, const char *album_art, int * album_id, uid_t uid)
 {
-       int err = -1;
+       int ret = MS_MEDIA_ERR_NONE;
 
        char *sql = sqlite3_mprintf("INSERT INTO %s (name, artist, album_art, album_art) values (%Q, %Q, %Q, %Q); ",
                                             MEDIA_SVC_DB_TABLE_ALBUM, album, artist, album_art, album_art);
-       err = _media_svc_sql_query(handle, sql, uid);
+       ret = _media_svc_sql_query(handle, sql, uid);
        sqlite3_free(sql);
-       if (err != SQLITE_OK) {
-               media_svc_error("failed to insert albums");
-               return MEDIA_INFO_ERROR_DATABASE_INTERNAL;
-       }
+       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
        //*album_id = sqlite3_last_insert_rowid(handle);
        int inserted_album_id = 0;
-       err = _media_svc_get_album_id(handle, album, artist, &inserted_album_id);
-       if (err < 0) {
-               media_svc_error("Failed _media_svc_get_album_id : %d", err);
-               return err;
-       }
+       ret = _media_svc_get_album_id(handle, album, artist, &inserted_album_id);
+       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
        *album_id = inserted_album_id;
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 int _media_svc_get_media_count_with_album_id_by_path(sqlite3 *handle, const char *path, int *count)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        sqlite3_stmt *sql_stmt = NULL;
        char *sql = NULL;
 
-       media_svc_retvm_if(path == NULL, MEDIA_INFO_ERROR_INVALID_PARAMETER, "path is NULL");
+       media_svc_retvm_if(path == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "path is NULL");
 
        sql = sqlite3_mprintf("select count(media_uuid) from %s INNER JOIN (select album_id from %s where path=%Q and album_id > 0) as album ON album.album_id=media.album_id;", MEDIA_SVC_DB_TABLE_MEDIA, MEDIA_SVC_DB_TABLE_MEDIA, path);
        ret = _media_svc_sql_prepare_to_step(handle, sql, &sql_stmt);
 
-       if (ret != MEDIA_INFO_ERROR_NONE) {
-               if(ret == MEDIA_INFO_ERROR_DATABASE_NO_RECORD) {
+       if (ret != MS_MEDIA_ERR_NONE) {
+               if(ret == MS_MEDIA_ERR_DB_NO_RECORD) {
                        media_svc_debug("there is no media in relted to this media's album.");
                }
                else {
index db18750..f9815de 100755 (executable)
  */
 
 #include <unistd.h>
+#include <sys/stat.h>
 #include <db-util.h>
 #include <media-util.h>
+#include <errno.h>
 #include "media-svc-env.h"
 #include "media-svc-debug.h"
-#include "media-svc-error.h"
 #include "media-svc-util.h"
 #include "media-svc-db-utils.h"
+#include "media-util-err.h"
 #include "media-util-db.h"
+#include "media-svc-media.h"
 
 static int __media_svc_create_update_media_table(sqlite3 *db_handle);
 
@@ -117,7 +120,7 @@ static int __media_svc_busy_handler(void *pData, int count)
 
 int _media_svc_connect_db_with_handle(sqlite3 **db_handle)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
 
        media_svc_debug_func();
 
@@ -128,7 +131,7 @@ int _media_svc_connect_db_with_handle(sqlite3 **db_handle)
 
                media_svc_error("error when db open");
                *db_handle = NULL;
-               return MEDIA_INFO_ERROR_DATABASE_CONNECT;
+               return MS_MEDIA_ERR_DB_INTERNAL;
        }
 
        /*Register busy handler*/
@@ -144,19 +147,19 @@ int _media_svc_connect_db_with_handle(sqlite3 **db_handle)
                        db_util_close(*db_handle);
                        *db_handle = NULL;
 
-                       return MEDIA_INFO_ERROR_DATABASE_CONNECT;
+                       return MS_MEDIA_ERR_DB_INTERNAL;
                }
        } else {
                *db_handle = NULL;
-               return MEDIA_INFO_ERROR_DATABASE_CONNECT;
+               return MS_MEDIA_ERR_DB_INTERNAL;
        }
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 int _media_svc_disconnect_db_with_handle(sqlite3 *db_handle)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
 
        media_svc_debug_func();
 
@@ -165,28 +168,28 @@ int _media_svc_disconnect_db_with_handle(sqlite3 *db_handle)
        if (SQLITE_OK != ret) {
                media_svc_error("Error when db close : %s", sqlite3_errmsg(db_handle));
                db_handle = NULL;
-               return MEDIA_INFO_ERROR_DATABASE_DISCONNECT;
+               return MS_MEDIA_ERR_DB_INTERNAL;
        }
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 int _media_svc_create_media_table(sqlite3 *db_handle, uid_t uid)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
-       char * sql = NULL;
+       int ret = MS_MEDIA_ERR_NONE;
+       char *sql = NULL;
 
        media_svc_debug_func();
 
        sql = sqlite3_mprintf(MEDIA_DB_SCHEMA, MEDIA_SVC_DB_TABLE_MEDIA);
 
-       media_svc_retv_if(sql == NULL, MEDIA_INFO_ERROR_OUT_OF_MEMORY);
+       media_svc_retv_if(sql == NULL, MS_MEDIA_ERR_OUT_OF_MEMORY);
 
        ret = _media_svc_sql_query(db_handle, sql, uid);
        sqlite3_free(sql);
        if (ret != SQLITE_OK) {
                media_svc_error("It failed to create db table (%d)", ret);
-               return MEDIA_INFO_ERROR_DATABASE_TABLE_OPEN;
+               return MS_MEDIA_ERR_DB_INTERNAL;
        }
 
        /* Create Index*/
@@ -226,22 +229,22 @@ int _media_svc_create_media_table(sqlite3 *db_handle, uid_t uid)
                                                MEDIA_SVC_DB_TABLE_MEDIA,
                                                MEDIA_SVC_DB_TABLE_MEDIA);
 
-       media_svc_retv_if(sql == NULL, MEDIA_INFO_ERROR_OUT_OF_MEMORY);
+       media_svc_retv_if(sql == NULL, MS_MEDIA_ERR_OUT_OF_MEMORY);
 
        ret = _media_svc_sql_query(db_handle, sql, uid);
        sqlite3_free(sql);
        if (ret != SQLITE_OK) {
                media_svc_error("It failed to create db table (%d)", ret);
-               return MEDIA_INFO_ERROR_DATABASE_TABLE_OPEN;
+               return MS_MEDIA_ERR_DB_INTERNAL;
        }
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 int _media_svc_create_folder_table(sqlite3 *db_handle, uid_t uid)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
-       char * sql = NULL;
+       int ret = MS_MEDIA_ERR_NONE;
+       char *sql = NULL;
 
        media_svc_debug_func();
 
@@ -256,13 +259,13 @@ int _media_svc_create_folder_table(sqlite3 *db_handle, uid_t uid)
                                );",
                                MEDIA_SVC_DB_TABLE_FOLDER);
 
-       media_svc_retv_if(sql == NULL, MEDIA_INFO_ERROR_OUT_OF_MEMORY);
+       media_svc_retv_if(sql == NULL, MS_MEDIA_ERR_OUT_OF_MEMORY);
 
        ret = _media_svc_sql_query(db_handle, sql, uid);
        sqlite3_free(sql);
        if (ret != SQLITE_OK) {
                media_svc_error("It failed to create db table (%d)", ret);
-               return MEDIA_INFO_ERROR_DATABASE_TABLE_OPEN;
+               return MS_MEDIA_ERR_DB_INTERNAL;
        }
 
        /* Create Trigger to remove folder which have no content from folder when media remove from media_table*/
@@ -271,13 +274,13 @@ int _media_svc_create_folder_table(sqlite3 *db_handle, uid_t uid)
                                WHERE (SELECT count(*) FROM %s WHERE folder_uuid=old.folder_uuid)=1 AND folder_uuid=old.folder_uuid;END;",
                                MEDIA_SVC_DB_TABLE_MEDIA, MEDIA_SVC_DB_TABLE_FOLDER, MEDIA_SVC_DB_TABLE_MEDIA);
 
-       media_svc_retv_if(sql == NULL, MEDIA_INFO_ERROR_OUT_OF_MEMORY);
+       media_svc_retv_if(sql == NULL, MS_MEDIA_ERR_OUT_OF_MEMORY);
 
        ret = _media_svc_sql_query(db_handle, sql, uid);
        sqlite3_free(sql);
        if (ret != SQLITE_OK) {
                media_svc_error("It failed to create trigger (%d)", ret);
-               return MEDIA_INFO_ERROR_DATABASE_TABLE_OPEN;
+               return MS_MEDIA_ERR_DB_INTERNAL;
        }
 
        /* Create Index*/
@@ -285,17 +288,17 @@ int _media_svc_create_folder_table(sqlite3 *db_handle, uid_t uid)
                                                ",
                                                MEDIA_SVC_DB_TABLE_FOLDER);
 
-       media_svc_retv_if(sql == NULL, MEDIA_INFO_ERROR_OUT_OF_MEMORY);
+       media_svc_retv_if(sql == NULL, MS_MEDIA_ERR_OUT_OF_MEMORY);
 
        ret = _media_svc_sql_query(db_handle, sql, uid);
        sqlite3_free(sql);
-       media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
-       return MEDIA_INFO_ERROR_NONE;
+       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
+       return MS_MEDIA_ERR_NONE;
 }
 
 int _media_svc_create_playlist_table(sqlite3 *db_handle, uid_t uid)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        char * sql = NULL;
 
        media_svc_debug_func();
@@ -309,13 +312,13 @@ int _media_svc_create_playlist_table(sqlite3 *db_handle, uid_t uid)
                                );",
                                MEDIA_SVC_DB_TABLE_PLAYLIST);
 
-       media_svc_retv_if(sql == NULL, MEDIA_INFO_ERROR_OUT_OF_MEMORY);
+       media_svc_retv_if(sql == NULL, MS_MEDIA_ERR_OUT_OF_MEMORY);
 
        ret = _media_svc_sql_query(db_handle, sql, uid);
        sqlite3_free(sql);
        if (ret != SQLITE_OK) {
                media_svc_error("It failed to create db table (%d)", ret);
-               return MEDIA_INFO_ERROR_DATABASE_TABLE_OPEN;
+               return MS_MEDIA_ERR_DB_INTERNAL;
        }
 
        /*Create playlist_map table*/
@@ -327,13 +330,13 @@ int _media_svc_create_playlist_table(sqlite3 *db_handle, uid_t uid)
                                );",
                                MEDIA_SVC_DB_TABLE_PLAYLIST_MAP);
 
-       media_svc_retv_if(sql == NULL, MEDIA_INFO_ERROR_OUT_OF_MEMORY);
+       media_svc_retv_if(sql == NULL, MS_MEDIA_ERR_OUT_OF_MEMORY);
 
        ret = _media_svc_sql_query(db_handle, sql, uid);
        sqlite3_free(sql);
        if (ret != SQLITE_OK) {
                media_svc_error("It failed to create db table (%d)", ret);
-               return MEDIA_INFO_ERROR_DATABASE_TABLE_OPEN;
+               return MS_MEDIA_ERR_DB_INTERNAL;
        }
 
        /* Create playlist_view*/
@@ -352,24 +355,24 @@ int _media_svc_create_playlist_table(sqlite3 *db_handle, uid_t uid)
                                WHERE playlist_id IN (select pm.playlist_id from playlist_map AS pm INNER JOIN media AS m ON (pm.media_uuid= m.media_uuid) AND m.validity=0); \
                ");
 
-       media_svc_retv_if(sql == NULL, MEDIA_INFO_ERROR_OUT_OF_MEMORY);
+       media_svc_retv_if(sql == NULL, MS_MEDIA_ERR_OUT_OF_MEMORY);
 
        ret = _media_svc_sql_query(db_handle, sql, uid);
        sqlite3_free(sql);
-       media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
        /* Create Trigger to remove media from playlist_map when media remove from media_table*/
        sql = sqlite3_mprintf("CREATE TRIGGER IF NOT EXISTS playlist_map_cleanup \
                                DELETE ON %s BEGIN DELETE FROM %s WHERE media_uuid=old.media_uuid;END;",
                                MEDIA_SVC_DB_TABLE_MEDIA, MEDIA_SVC_DB_TABLE_PLAYLIST_MAP);
 
-       media_svc_retv_if(sql == NULL, MEDIA_INFO_ERROR_OUT_OF_MEMORY);
+       media_svc_retv_if(sql == NULL, MS_MEDIA_ERR_OUT_OF_MEMORY);
 
        ret = _media_svc_sql_query(db_handle, sql, uid);
        sqlite3_free(sql);
        if (ret != SQLITE_OK) {
                media_svc_error("It failed to create trigger (%d)", ret);
-               return MEDIA_INFO_ERROR_DATABASE_TABLE_OPEN;
+               return MS_MEDIA_ERR_DB_INTERNAL;
        }
 
        /* Create Trigger to remove media from playlist_map when playlist removed from playlist table*/
@@ -377,21 +380,21 @@ int _media_svc_create_playlist_table(sqlite3 *db_handle, uid_t uid)
                                DELETE ON %s BEGIN DELETE FROM %s WHERE playlist_id=old.playlist_id;END;",
                                MEDIA_SVC_DB_TABLE_PLAYLIST, MEDIA_SVC_DB_TABLE_PLAYLIST_MAP);
 
-       media_svc_retv_if(sql == NULL, MEDIA_INFO_ERROR_OUT_OF_MEMORY);
+       media_svc_retv_if(sql == NULL, MS_MEDIA_ERR_OUT_OF_MEMORY);
 
        ret = _media_svc_sql_query(db_handle, sql, uid);
        sqlite3_free(sql);
        if (ret != SQLITE_OK) {
                media_svc_error("It failed to create trigger (%d)", ret);
-               return MEDIA_INFO_ERROR_DATABASE_TABLE_OPEN;
+               return MS_MEDIA_ERR_DB_INTERNAL;
        }
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 int _media_svc_create_album_table(sqlite3 *db_handle, uid_t uid)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        char * sql = NULL;
 
        media_svc_debug_func();
@@ -405,13 +408,13 @@ int _media_svc_create_album_table(sqlite3 *db_handle, uid_t uid)
                                );",
                                MEDIA_SVC_DB_TABLE_ALBUM);
 
-       media_svc_retv_if(sql == NULL, MEDIA_INFO_ERROR_OUT_OF_MEMORY);
+       media_svc_retv_if(sql == NULL, MS_MEDIA_ERR_OUT_OF_MEMORY);
 
        ret = _media_svc_sql_query(db_handle, sql, uid);
        sqlite3_free(sql);
        if (ret != SQLITE_OK) {
                media_svc_error("It failed to create db table (%d)", ret);
-               return MEDIA_INFO_ERROR_DATABASE_TABLE_OPEN;
+               return MS_MEDIA_ERR_DB_INTERNAL;
        }
 
        /* Create Trigger to remove album when media remove from media_table*/
@@ -420,21 +423,21 @@ int _media_svc_create_album_table(sqlite3 *db_handle, uid_t uid)
                                WHERE (SELECT count(*) FROM %s WHERE album_id=old.album_id)=1 AND album_id=old.album_id;END;",
                                MEDIA_SVC_DB_TABLE_MEDIA, MEDIA_SVC_DB_TABLE_ALBUM, MEDIA_SVC_DB_TABLE_MEDIA);
 
-       media_svc_retv_if(sql == NULL, MEDIA_INFO_ERROR_OUT_OF_MEMORY);
+       media_svc_retv_if(sql == NULL, MS_MEDIA_ERR_OUT_OF_MEMORY);
 
        ret = _media_svc_sql_query(db_handle, sql, uid);
        sqlite3_free(sql);
        if (ret != SQLITE_OK) {
                media_svc_error("It failed to create trigger (%d)", ret);
-               return MEDIA_INFO_ERROR_DATABASE_TABLE_OPEN;
+               return MS_MEDIA_ERR_DB_INTERNAL;
        }
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 int _media_svc_create_tag_table(sqlite3 *db_handle, uid_t uid)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        char * sql = NULL;
 
        media_svc_debug_func();
@@ -447,13 +450,13 @@ int _media_svc_create_tag_table(sqlite3 *db_handle, uid_t uid)
                                );",
                                MEDIA_SVC_DB_TABLE_TAG);
 
-       media_svc_retv_if(sql == NULL, MEDIA_INFO_ERROR_OUT_OF_MEMORY);
+       media_svc_retv_if(sql == NULL, MS_MEDIA_ERR_OUT_OF_MEMORY);
 
        ret = _media_svc_sql_query(db_handle, sql, uid);
        sqlite3_free(sql);
        if (ret != SQLITE_OK) {
                media_svc_error("It failed to create db table (%d)", ret);
-               return MEDIA_INFO_ERROR_DATABASE_TABLE_OPEN;
+               return MS_MEDIA_ERR_DB_INTERNAL;
        }
 
        /*Create tag_map table*/
@@ -465,13 +468,13 @@ int _media_svc_create_tag_table(sqlite3 *db_handle, uid_t uid)
                                );",
                                MEDIA_SVC_DB_TABLE_TAG_MAP);
 
-       media_svc_retv_if(sql == NULL, MEDIA_INFO_ERROR_OUT_OF_MEMORY);
+       media_svc_retv_if(sql == NULL, MS_MEDIA_ERR_OUT_OF_MEMORY);
 
        ret = _media_svc_sql_query(db_handle, sql, uid);
        sqlite3_free(sql);
        if (ret != SQLITE_OK) {
                media_svc_error("It failed to create db table (%d)", ret);
-               return MEDIA_INFO_ERROR_DATABASE_TABLE_OPEN;
+               return MS_MEDIA_ERR_DB_INTERNAL;
        }
 
        /*Create tag_view*/
@@ -490,24 +493,24 @@ int _media_svc_create_tag_table(sqlite3 *db_handle, uid_t uid)
                                NOT IN (select tag_id from tag_map); \
                                ");
 
-       media_svc_retv_if(sql == NULL, MEDIA_INFO_ERROR_OUT_OF_MEMORY);
+       media_svc_retv_if(sql == NULL, MS_MEDIA_ERR_OUT_OF_MEMORY);
 
        ret = _media_svc_sql_query(db_handle, sql, uid);
        sqlite3_free(sql);
-       media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
        /* Create Trigger to remove media from tag_map when media remove from media_table*/
        sql = sqlite3_mprintf("CREATE TRIGGER IF NOT EXISTS tag_map_cleanup \
                                DELETE ON %s BEGIN DELETE FROM %s WHERE media_uuid=old.media_uuid;END;",
                                MEDIA_SVC_DB_TABLE_MEDIA, MEDIA_SVC_DB_TABLE_TAG_MAP);
 
-       media_svc_retv_if(sql == NULL, MEDIA_INFO_ERROR_OUT_OF_MEMORY);
+       media_svc_retv_if(sql == NULL, MS_MEDIA_ERR_OUT_OF_MEMORY);
 
        ret = _media_svc_sql_query(db_handle, sql, uid);
        sqlite3_free(sql);
        if (ret != SQLITE_OK) {
                media_svc_error("It failed to create trigger (%d)", ret);
-               return MEDIA_INFO_ERROR_DATABASE_TABLE_OPEN;
+               return MS_MEDIA_ERR_DB_INTERNAL;
        }
 
        /* Create Trigger to remove media from tag_map when tag removed from tag table*/
@@ -515,20 +518,20 @@ int _media_svc_create_tag_table(sqlite3 *db_handle, uid_t uid)
                                DELETE ON %s BEGIN DELETE FROM %s WHERE tag_id=old.tag_id;END;",
                                MEDIA_SVC_DB_TABLE_TAG, MEDIA_SVC_DB_TABLE_TAG_MAP);
 
-       media_svc_retv_if(sql == NULL, MEDIA_INFO_ERROR_OUT_OF_MEMORY);
+       media_svc_retv_if(sql == NULL, MS_MEDIA_ERR_OUT_OF_MEMORY);
 
        ret = _media_svc_sql_query(db_handle, sql, uid);
        sqlite3_free(sql);
        if (ret != SQLITE_OK) {
                media_svc_error("It failed to create trigger (%d)", ret);
-               return MEDIA_INFO_ERROR_DATABASE_TABLE_OPEN;
+               return MS_MEDIA_ERR_DB_INTERNAL;
        }
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 int _media_svc_create_bookmark_table(sqlite3 *db_handle, uid_t uid)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        char * sql = NULL;
 
        media_svc_debug_func();
@@ -542,13 +545,13 @@ int _media_svc_create_bookmark_table(sqlite3 *db_handle, uid_t uid)
                                );",
                                MEDIA_SVC_DB_TABLE_BOOKMARK);
 
-       media_svc_retv_if(sql == NULL, MEDIA_INFO_ERROR_OUT_OF_MEMORY);
+       media_svc_retv_if(sql == NULL, MS_MEDIA_ERR_OUT_OF_MEMORY);
 
        ret = _media_svc_sql_query(db_handle, sql, uid);
        sqlite3_free(sql);
        if (ret != SQLITE_OK) {
                media_svc_error("It failed to create db table (%d)", ret);
-               return MEDIA_INFO_ERROR_DATABASE_TABLE_OPEN;
+               return MS_MEDIA_ERR_DB_INTERNAL;
        }
 
        /* Create Trigger to remove media from tag_map when media remove from media_table*/
@@ -556,21 +559,21 @@ int _media_svc_create_bookmark_table(sqlite3 *db_handle, uid_t uid)
                                DELETE ON %s BEGIN DELETE FROM %s WHERE media_uuid=old.media_uuid;END;",
                                MEDIA_SVC_DB_TABLE_MEDIA, MEDIA_SVC_DB_TABLE_BOOKMARK);
 
-       media_svc_retv_if(sql == NULL, MEDIA_INFO_ERROR_OUT_OF_MEMORY);
+       media_svc_retv_if(sql == NULL, MS_MEDIA_ERR_OUT_OF_MEMORY);
 
        ret = _media_svc_sql_query(db_handle, sql, uid);
        sqlite3_free(sql);
        if (ret != SQLITE_OK) {
                media_svc_error("It failed to create trigger (%d)", ret);
-               return MEDIA_INFO_ERROR_DATABASE_TABLE_OPEN;
+               return MS_MEDIA_ERR_DB_INTERNAL;
        }
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 int _media_svc_create_custom_table(sqlite3 *db_handle, uid_t uid)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        char * sql = NULL;
 
        media_svc_debug_func();
@@ -588,13 +591,13 @@ int _media_svc_create_custom_table(sqlite3 *db_handle, uid_t uid)
                                );",
                                MEDIA_SVC_DB_TABLE_CUSTOM);
 
-       media_svc_retv_if(sql == NULL, MEDIA_INFO_ERROR_OUT_OF_MEMORY);
+       media_svc_retv_if(sql == NULL, MS_MEDIA_ERR_OUT_OF_MEMORY);
 
        ret = _media_svc_sql_query(db_handle, sql, uid);
        sqlite3_free(sql);
        if (ret != SQLITE_OK) {
                media_svc_error("It failed to create db table (%d)", ret);
-               return MEDIA_INFO_ERROR_DATABASE_TABLE_OPEN;
+               return MS_MEDIA_ERR_DB_INTERNAL;
        }
 
        /* Create Trigger to remove media from tag_map when media remove from media_table*/
@@ -602,13 +605,13 @@ int _media_svc_create_custom_table(sqlite3 *db_handle, uid_t uid)
                                DELETE ON %s BEGIN DELETE FROM %s WHERE media_uuid=old.media_uuid;END;",
                                MEDIA_SVC_DB_TABLE_MEDIA, MEDIA_SVC_DB_TABLE_CUSTOM);
 
-       media_svc_retv_if(sql == NULL, MEDIA_INFO_ERROR_OUT_OF_MEMORY);
+       media_svc_retv_if(sql == NULL, MS_MEDIA_ERR_OUT_OF_MEMORY);
 
        ret = _media_svc_sql_query(db_handle, sql, uid);
        sqlite3_free(sql);
        if (ret != SQLITE_OK) {
                media_svc_error("It failed to create trigger (%d)", ret);
-               return MEDIA_INFO_ERROR_DATABASE_TABLE_OPEN;
+               return MS_MEDIA_ERR_DB_INTERNAL;
        }
 
        /* Create Index*/
@@ -616,16 +619,16 @@ int _media_svc_create_custom_table(sqlite3 *db_handle, uid_t uid)
                                                ",
                                                MEDIA_SVC_DB_TABLE_CUSTOM);
 
-       media_svc_retv_if(sql == NULL, MEDIA_INFO_ERROR_OUT_OF_MEMORY);
+       media_svc_retv_if(sql == NULL, MS_MEDIA_ERR_OUT_OF_MEMORY);
 
        ret = _media_svc_sql_query(db_handle, sql, uid);
        sqlite3_free(sql);
        if (ret != SQLITE_OK) {
                media_svc_error("It failed to create db table (%d)", ret);
-               return MEDIA_INFO_ERROR_DATABASE_TABLE_OPEN;
+               return MS_MEDIA_ERR_DB_INTERNAL;
        }
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 int _media_svc_request_update_db(const char *sql_str, uid_t uid)
@@ -639,30 +642,14 @@ int _media_svc_request_update_db(const char *sql_str, uid_t uid)
 
 int _media_svc_sql_query(sqlite3 *db_handle, const char *sql_str, uid_t uid)
 {
-       int err = -1;
+       int ret = MS_MEDIA_ERR_NONE;
 
        media_svc_debug("[SQL query] : %s", sql_str);
-#if 1
-       //DB will be updated by Media Server.
-       err = _media_svc_request_update_db(sql_str, uid);
-
-       return _media_svc_error_convert(err);
-#else
-       char *zErrMsg = NULL;
-       media_svc_retvm_if(sql_str == NULL, MEDIA_INFO_ERROR_INVALID_PARAMETER, "sql_str is NULL");
-
-       err = sqlite3_exec(db_handle, sql_str, NULL, NULL, &zErrMsg);
 
-       if (SQLITE_OK != err) {
-               media_svc_error("failed to execute [%s], err[%d]", zErrMsg, err);
-       } else {
-               media_svc_debug("query success");
-       }
+       //DB will be updated by Media Server.
+       ret = _media_svc_request_update_db(sql_str, uid);
 
-       if (zErrMsg)
-               sqlite3_free (zErrMsg);
-       return err;
-#endif
+       return ret;
 }
 
 int _media_svc_sql_prepare_to_step(sqlite3 *handle, const char *sql_str, sqlite3_stmt** stmt)
@@ -675,105 +662,66 @@ int _media_svc_sql_prepare_to_step(sqlite3 *handle, const char *sql_str, sqlite3
        sqlite3_free((char *)sql_str);
 
        if (err != SQLITE_OK) {
-               media_svc_error ("prepare error [%s]", sqlite3_errmsg(handle));
-               return MEDIA_INFO_ERROR_DATABASE_INTERNAL;
+               media_svc_error ("prepare error %d[%s]", err, sqlite3_errmsg(handle));
+               return MS_MEDIA_ERR_DB_INTERNAL;
        }
 
        err = sqlite3_step(*stmt);
        if (err != SQLITE_ROW) {
                media_svc_error("Item not found. end of row [%s]", sqlite3_errmsg(handle));
                SQLITE3_FINALIZE(*stmt);
-               return MEDIA_INFO_ERROR_DATABASE_NO_RECORD;
+               return MS_MEDIA_ERR_DB_NO_RECORD;
        }
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 int _media_svc_sql_begin_trans(sqlite3 *handle, uid_t uid)
 {
-       int err = MEDIA_INFO_ERROR_NONE;
-
-       media_svc_debug("========_media_svc_sql_begin_trans");
-#if 1
-       //err = _media_svc_request_update_db("BEGIN IMMEDIATE;");
-       err = media_db_request_update_db_batch_start("BEGIN IMMEDIATE;", uid);
+       int ret = MS_MEDIA_ERR_NONE;
 
-       return _media_svc_error_convert(err);
-#else
-       char *err_msg = NULL;
+       media_svc_error("========_media_svc_sql_begin_trans");
 
-       if (SQLITE_OK != sqlite3_exec(handle, "BEGIN IMMEDIATE;", NULL, NULL, &err_msg)) {
-               media_svc_error("Error:failed to begin transaction: error=%s", err_msg);
-               sqlite3_free(err_msg);
-               return MEDIA_INFO_ERROR_DATABASE_INTERNAL;
-       }
+       ret = media_db_request_update_db_batch_start("BEGIN IMMEDIATE;", uid);
 
-       sqlite3_free(err_msg);
-       return err;
-#endif
+       return ret;
 }
 
 int _media_svc_sql_end_trans(sqlite3 *handle, uid_t uid)
 {
-       int err = MEDIA_INFO_ERROR_NONE;
-
-       media_svc_debug("========_media_svc_sql_end_trans");
-#if 1
-       err = media_db_request_update_db_batch_end("COMMIT;", uid);
-       //err = _media_svc_request_update_db("COMMIT;");
-       return _media_svc_error_convert(err);
-#else
-       char *err_msg = NULL;
-       if (SQLITE_OK != sqlite3_exec(handle, "COMMIT;", NULL, NULL, &err_msg)) {
-               media_svc_error("Error:failed to end transaction: error=%s", err_msg);
-               sqlite3_free(err_msg);
-               return MEDIA_INFO_ERROR_DATABASE_INTERNAL;
-       }
+       int ret = MS_MEDIA_ERR_NONE;
+
+       media_svc_error("========_media_svc_sql_end_trans");
 
-       sqlite3_free(err_msg);
-       return err;
-#endif
+       ret = media_db_request_update_db_batch_end("COMMIT;", uid);
+
+       return ret;
 }
 
 int _media_svc_sql_rollback_trans(sqlite3 *handle, uid_t uid)
 {
-       int err = MEDIA_INFO_ERROR_NONE;
-
-       media_svc_debug("========_media_svc_sql_rollback_trans");
-#if 1
-       err = _media_svc_request_update_db("ROLLBACK;", uid);
-       return _media_svc_error_convert(err);
-#else
-       char *err_msg = NULL;
-       if (SQLITE_OK != sqlite3_exec(handle, "ROLLBACK;", NULL, NULL, &err_msg)) {
-               media_svc_error("Error:failed to rollback transaction: error=%s", err_msg);
-               sqlite3_free(err_msg);
-               return MEDIA_INFO_ERROR_DATABASE_INTERNAL;
-       }
+       media_svc_error("========_media_svc_sql_rollback_trans");
+
+       return _media_svc_request_update_db("ROLLBACK;", uid);
 
-       sqlite3_free(err_msg);
-       return err;
-#endif
 }
 
 int _media_svc_sql_query_list(sqlite3 *handle, GList **query_list, uid_t uid)
 {
-       int i = 0;
+       int ret = MS_MEDIA_ERR_NONE;
+       int idx = 0;
        int length = g_list_length(*query_list);
-       int err = -1;
        char *sql = NULL;
 
        media_svc_debug("query list length : [%d]", length);
 
-       for (i = 0; i < length; i++) {
-               sql = (char*)g_list_nth_data(*query_list, i);
+       for (idx = 0; idx < length; idx++) {
+               sql = (char*)g_list_nth_data(*query_list, idx);
                if(sql != NULL) {
-                       //err = _media_svc_sql_query(handle, sql);
-                       err = media_db_request_update_db_batch(sql, uid);
-                       //if (err != SQLITE_OK) {
-                       //      media_svc_error("A query failed in batch");
-                       if (err < MS_MEDIA_ERR_NONE) {
-                               media_svc_error("media_db_request_update_db_batch failed : %d", err);
+                       //ret = _media_svc_sql_query(handle, sql);
+                       ret = media_db_request_update_db_batch(sql, uid);
+                       if (ret != MS_MEDIA_ERR_NONE) {
+                               media_svc_error("media_db_request_update_db_batch failed : %d", ret);
                        }
                        sqlite3_free(sql);
                        sql = NULL;
@@ -782,7 +730,7 @@ int _media_svc_sql_query_list(sqlite3 *handle, GList **query_list, uid_t uid)
 
        _media_svc_sql_query_release(query_list);
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 
 }
 
index 53617c6..2ec252f 100755 (executable)
@@ -92,7 +92,7 @@ void mediainfo_print_debug_time(char *time_string)
            (double)(time.tv_sec * 1000000 + time.tv_usec -
                     g_time_usec) / CLOCKS_PER_SEC;
 
-       media_svc_debug("time [%s] : %f \n", time_string, totaltime);
+       media_svc_debug("time [%s] : %f", time_string, totaltime);
 #endif
 }
 
@@ -105,7 +105,7 @@ mediainfo_print_debug_time_ex(long start, long end, const char *func_name,
 
        totaltime = (double)(end - start) / CLOCKS_PER_SEC;
 
-       media_svc_debug("time [%s: %s] : %f \n", func_name, time_string,
+       media_svc_debug("time [%s: %s] : %f", func_name, time_string,
                      totaltime);
 #endif
 }
index 1037f23..d2468c7 100755 (executable)
@@ -17,7 +17,8 @@
  *
  */
 
-#include "media-svc-error.h"
+#include "media-util-err.h"
+#include "media-svc-debug.h"
 #include "media-svc-localize-utils.h"
 
 int _media_svc_check_utf8(char c)
@@ -35,6 +36,6 @@ int _media_svc_check_utf8(char c)
        else if ((c & (char)0xfe) == (char)0xfc)
                return 6;
        else
-               return MEDIA_INFO_ERROR_INVALID_PARAMETER;
+               return MS_MEDIA_ERR_INVALID_PARAMETER;
 }
 
index fc2f867..0c99181 100755 (executable)
@@ -23,7 +23,7 @@
 #include <stdbool.h>
 #include <string.h>
 
-#include "media-svc-error.h"
+#include "media-util-err.h"
 #include "media-svc-types.h"
 #include "media-svc-debug.h"
 #include "media-svc-localize_ch.h"
@@ -2138,7 +2138,7 @@ static inline int __media_svc_get_pinyinspell(UChar src, char spell[CHINESE_DUOY
        int count=0;
 
        offset = src - CHINESE_UNICODE_START;
-       media_svc_retvm_if(offset < 0 || offset >= CHINESE_COUNT , MEDIA_INFO_ERROR_INVALID_PARAMETER, "src is invalid");
+       media_svc_retvm_if(offset < 0 || offset >= CHINESE_COUNT , MS_MEDIA_ERR_INVALID_PARAMETER, "src is invalid");
 
        len = strlen(pinyin_spell_table[offset]);
 
@@ -2208,13 +2208,13 @@ int _media_svc_convert_chinese_to_pinyin(const char *src, pinyin_name_s **name,
 
        *size = 0;
 
-       media_svc_retvm_if(src==NULL, MEDIA_INFO_ERROR_INVALID_PARAMETER, "src is NULL");
-       media_svc_retvm_if(!*src, MEDIA_INFO_ERROR_INVALID_PARAMETER, "*src is NULL");
+       media_svc_retvm_if(src==NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "src is NULL");
+       media_svc_retvm_if(!*src, MS_MEDIA_ERR_INVALID_PARAMETER, "*src is NULL");
 
        u_strFromUTF8(temp_result, array_sizeof(temp_result), NULL, src, -1, &status);
        if (U_FAILURE(status)){
                media_svc_error("u_strFromUTF8 Failed(%s)", u_errorName(status));
-               return MEDIA_INFO_ERROR_INTERNAL;
+               return MS_MEDIA_ERR_INTERNAL;
        }
 
        len = u_strlen(temp_result);
@@ -2231,7 +2231,7 @@ int _media_svc_convert_chinese_to_pinyin(const char *src, pinyin_name_s **name,
 
                if (__media_svc_is_chinese(&temp_result[count])) {
                        ret = __media_svc_get_pinyinspell(temp_result[count], spell[count]);
-                       media_svc_retvm_if(ret < MEDIA_INFO_ERROR_NONE, MEDIA_INFO_ERROR_INTERNAL, "__media_svc_get_pinyinspell() Failed(%d)", ret);
+                       media_svc_retvm_if(ret < MS_MEDIA_ERR_NONE, MS_MEDIA_ERR_INTERNAL, "__media_svc_get_pinyinspell() Failed(%d)", ret);
                        if (multi_pinyin_count >= MEDIA_SVC_CHINESE_MULTIPLE_PINYIN_MAX_LEN)
                                ret = 1;
 
@@ -2251,7 +2251,7 @@ int _media_svc_convert_chinese_to_pinyin(const char *src, pinyin_name_s **name,
                        temp[0] = temp_result[count];
                        temp[1] = 0x00;
                        u_strToUTF8(spell[count][0], 10, &temp_size, temp, -1, &status);
-                       media_svc_retvm_if(U_FAILURE(status), MEDIA_INFO_ERROR_INTERNAL, "u_strToUTF8() Failed(%s)", u_errorName(status));
+                       media_svc_retvm_if(U_FAILURE(status), MS_MEDIA_ERR_INTERNAL, "u_strToUTF8() Failed(%s)", u_errorName(status));
                        spell[count][0][temp_size]='\0';
                        pinyin_spell_count[count] = 1;
                }
@@ -2259,7 +2259,7 @@ int _media_svc_convert_chinese_to_pinyin(const char *src, pinyin_name_s **name,
 
        *size = total_count;
        temp_name = calloc(total_count, sizeof(pinyin_name_s));
-       media_svc_retvm_if(temp_name == NULL, MEDIA_INFO_ERROR_OUT_OF_MEMORY,"calloc Failed()");
+       media_svc_retvm_if(temp_name == NULL, MS_MEDIA_ERR_OUT_OF_MEMORY,"calloc Failed()");
 
        int repeat = 1;
        int name_len[total_count];
@@ -2308,7 +2308,7 @@ int _media_svc_convert_chinese_to_pinyin(const char *src, pinyin_name_s **name,
 
        *name = temp_name;
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 void _media_svc_pinyin_free(pinyin_name_s *pinyinname, int size)
diff --git a/src/common/media-svc-localize_tw.c b/src/common/media-svc-localize_tw.c
new file mode 100755 (executable)
index 0000000..7a177ee
--- /dev/null
@@ -0,0 +1,14436 @@
+/*
+ * Contacts Service
+ *
+ * Copyright (c) 2010 - 2012 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+*/
+
+#include <unicode/uchar.h>
+#include <unicode/utypes.h>
+#include <unicode/putil.h>
+#include <unicode/uiter.h>
+#include <unicode/ustring.h>
+
+#include <stdlib.h>
+#include <stdbool.h>
+#include <string.h>
+
+#include "media-util-err.h"
+#include "media-svc-types.h"
+#include "media-svc-debug.h"
+#include "media-svc-localize-utils.h"
+#include "media-svc-localize_tw.h"
+
+typedef struct {
+       UChar han;
+       UChar yi_syllable;
+}han_map;
+
+#define MAX_BPMF_COUNT 4
+
+typedef struct {
+       UChar yi_syllable;
+       UChar bopomofo[MAX_BPMF_COUNT + 1];
+}bopomofo_map;
+
+static bopomofo_map UNICODES[] = {
+       { 0xA001, { 0x3105, 0x0, 0x0 , 0x0}},                    // B
+       { 0xA002, { 0x3105, 0x3127, 0x0 , 0x0}},                 // B_I
+       { 0xA003, { 0x3105, 0x3127, 0x311D , 0x0}},              // B_I_EH
+       { 0xA004, { 0x3105, 0x3127, 0x3120 , 0x0}},              // B_I_AU
+       { 0xA005, { 0x3105, 0x3127, 0x3122 , 0x0}},              // B_I_AN
+       { 0xA006, { 0x3105, 0x3127, 0x3123 , 0x0}},              // B_I_EN
+       { 0xA007, { 0x3105, 0x3127, 0x3125 , 0x0}},              // B_I_ENG
+       { 0xA008, { 0x3105, 0x3128, 0x0 , 0x0}},                 // B_U
+       { 0xA009, { 0x3105, 0x311A, 0x0 , 0x0}},                 // B_A
+       { 0xA00A, { 0x3105, 0x311B , 0x0, 0x0}},                 // B_O
+       { 0xA00B, { 0x3105, 0x311E, 0x0, 0x0}},                          // B_AI
+       { 0xA00C, { 0x3105, 0x311F, 0x0 , 0x0}},                 // B_EI
+       { 0xA00D, { 0x3105, 0x3120, 0x0 , 0x0}},                 // B_AU
+       { 0xA00E, { 0x3105, 0x3122, 0x0 , 0x0}},                 // B_AN
+       { 0xA00F, { 0x3105, 0x3123, 0x0 , 0x0}},                 // B_EN
+       { 0xA010, { 0x3105, 0x3124 , 0x0, 0x0}},                 // B_ANG
+       { 0xA011, { 0x3105, 0x3125, 0x0 , 0x0}},                 // B_ENG
+       { 0xA012, { 0x3106, 0x0, 0x0 } },                                // P
+       { 0xA013, { 0x3106, 0x3127, 0x0 , 0x0}},                         // P_I
+       { 0xA014, { 0x3106, 0x3127, 0x311D , 0x0}},              // P_I_EH
+       { 0xA015, { 0x3106, 0x3127, 0x3120 , 0x0}},              // P_I_AU
+       { 0xA016, { 0x3106, 0x3127, 0x3122 , 0x0}},              // P_I_AN
+       { 0xA017, { 0x3106, 0x3127, 0x3123 , 0x0}},              // P_I_EN
+       { 0xA018, { 0x3106, 0x3127, 0x3125 , 0x0}},              // P_I_ENG
+       { 0xA019, { 0x3106, 0x3128, 0x0 , 0x0}},                         // P_U
+       { 0xA01A, { 0x3106, 0x311A , 0x0, 0x0}},                                                                                  // P_A
+       { 0xA01B, { 0x3106, 0x311B, 0x0 , 0x0}},                                                                                  // P_O
+       { 0xA01C, { 0x3106, 0x311E, 0x0 , 0x0}},                                                                                        // P_AI
+       { 0xA01D, { 0x3106, 0x311F, 0x0 , 0x0}},                                                                                        // P_EI
+       { 0xA01E, { 0x3106, 0x3120, 0x0 , 0x0}},                                                                                        // P_AU
+       { 0xA01F, { 0x3106, 0x3121 , 0x0, 0x0}},                                                                                        // P_OU
+       { 0xA020, { 0x3106, 0x3122 , 0x0, 0x0}},                                                                                        // P_AN
+       { 0xA021, { 0x3106, 0x3123, 0x0 , 0x0}},                                                                                        // P_EN
+       { 0xA022, { 0x3106, 0x3124, 0x0 , 0x0}},                                                                                        // P_ANG
+       { 0xA023, { 0x3106, 0x3125 , 0x0, 0x0}},                                                                                        // P_ENG
+       { 0xA024, { 0x3107, 0x0, 0x0, 0x0}},                                                                                                    // M
+       { 0xA025, { 0x3107, 0x3127, 0x0 , 0x0}},                                                                                        // M_I
+       { 0xA026, { 0x3107, 0x3127, 0x311D, 0x0}},                                                              // M_I_EH
+       { 0xA027, { 0x3107, 0x3127,0x3120, 0x0}},                                                                 // M_I_AU
+       { 0xA028, { 0x3107, 0x3127,0x3121 , 0x0}},                                                              // M_I_OU
+       { 0xA029, { 0x3107, 0x3127,0x3122 , 0x0}},                                                              // M_I_AN
+       { 0xA02A, { 0x3107, 0x3127,0x3123 , 0x0}},                                                              // M_I_EN
+       { 0xA02B, { 0x3107, 0x3127,0x3124 , 0x0}},                                                              // M_I_ENG
+       { 0xA02C, { 0x3107, 0x3128 , 0x0} },                             // M_U
+       { 0xA02D, { 0x3107, 0x311A, 0x0 , 0x0}},                         // M_A
+       { 0xA02E, { 0x3107, 0x311B, 0x0, 0x0}},                                                   // M_O
+       { 0xA02F, { 0x3107, 0x311C , 0x0, 0x0}},                                                  // M_E
+       { 0xA030, { 0x3107, 0x311E, 0x0 , 0x0}},                                                  // M_AI
+       { 0xA031, { 0x3107, 0x311F , 0x0, 0x0}},                                                  // M_EI
+       { 0xA032, { 0x3107, 0x3120 , 0x0, 0x0}},                                                  // M_AU
+       { 0xA033, { 0x3107, 0x3121, 0x0 , 0x0}},                         // M_OU
+       { 0xA034, { 0x3107, 0x3122, 0x0 , 0x0}},                         // M_AN
+       { 0xA035, { 0x3107, 0x3123 , 0x0, 0x0}},                         // M_EN
+       { 0xA036, { 0x3107, 0x3124, 0x0 , 0x0}},                         // M_ANG
+       { 0xA037, { 0x3107, 0x3125, 0x0 , 0x0}},                         // M_ENG
+       { 0xA038, { 0x3108, 0x0, 0x0 , 0x0}},                                                   // F
+       { 0xA039, { 0x3108, 0x3128 , 0x0, 0x0}},                         // F_U
+       { 0xA03A, { 0x3108, 0x311A, 0x0, 0x0}},                          // F_A
+       { 0xA03B, { 0x3108, 0x311B, 0x0 , 0x0}},                         // F_O
+       { 0xA03C, { 0x3108, 0x311F, 0x0 , 0x0}},                         // F_EI
+       { 0xA03D, { 0x3108, 0x3121, 0x0 , 0x0}},                         // F_OU
+       { 0xA03E, { 0x3108, 0x3122, 0x0 , 0x0}},                         // F_AN
+       { 0xA03F, { 0x3108, 0x3123 , 0x0, 0x0}},                         // F_EN
+       { 0xA040, { 0x3108, 0x3124, 0x0 , 0x0}},                         // F_ANG
+       { 0xA041, { 0x3108, 0x3125 , 0x0, 0x0}},                         // F_ENG
+       { 0xA042, { 0x3109, 0x0, 0x0 , 0x0}},                                                   // D
+       { 0xA043, { 0x3109, 0x3127, 0x0 , 0x0}},                         // D_I
+       { 0xA044, { 0x3109, 0x3127, 0x311A , 0x0}},                      // D_I_A
+       { 0xA045, { 0x3109, 0x3127, 0x311D , 0x0}},                                                     //D_I_EH
+       { 0xA046, { 0x3109, 0x3127, 0x3120 , 0x0}},                                                     //D_I_AU
+       { 0xA047, { 0x3109, 0x3127, 0x3121 , 0x0}},                                                     //D_I_OU
+       { 0xA048, { 0x3109, 0x3127, 0x3122 , 0x0}},                                                     //D_I_AN
+       { 0xA049, { 0x3109, 0x3127, 0x3124 , 0x0}},                                                     //D_I_ENG
+       { 0xA04A, { 0x3109, 0x3128, 0x0, 0x0}},                                                                                 //D_U
+       { 0xA04B, { 0x3109, 0x3128, 0x311B , 0x0}},                                                     //D_U_O
+       { 0xA04C, { 0x3109, 0x3128, 0x311F , 0x0}},                                                     //D_U_EI
+       { 0xA04D, { 0x3109, 0x3128, 0x3122 , 0x0}},                                                     //D_U_AN
+       { 0xA04E, { 0x3109, 0x3128, 0x3123 , 0x0}},                                                     //D_U_EN
+       { 0xA04F, { 0x3109, 0x3128, 0x3125 , 0x0}},                                                     //D_U_ENG
+       { 0xA050, { 0x3109, 0x311A, 0x0 , 0x0}},                                                                                //D_A
+       { 0xA051, { 0x3109, 0x311C , 0x0, 0x0}},                                                                                //D_E
+       { 0xA052, { 0x3109, 0x311E, 0x0 , 0x0}},                                                                                //D_AI
+       { 0xA053, { 0x3109, 0x3120, 0x0 , 0x0}},                                                                                //D_AU
+       { 0xA054, { 0x3109, 0x3121, 0x0 , 0x0}},                                                                                //D_OU
+       { 0xA055, { 0x3109, 0x3122 , 0x0, 0x0}},                                                                                //D_AN
+       { 0xA056, { 0x3109, 0x3124, 0x0 , 0x0}},                                                                                //D_ANG
+       { 0xA057, { 0x3109, 0x3125, 0x0 , 0x0}},                                                                                //D_ENG
+       { 0xA058, { 0x310A, 0x0, 0x0 , 0x0}},                                                                                                   //T
+       { 0xA059, { 0x310A, 0x3127, 0x0 , 0x0}},                                                                                //T_I
+       { 0xA05A, { 0x310A, 0x3127, 0x311D , 0x0}},                                                     //T_I_EH
+       { 0xA05B, { 0x310A, 0x3127, 0x3120 , 0x0}},                                                     //T_I_AU
+       { 0xA05C, { 0x310A, 0x3127, 0x3122 , 0x0}},                                                     //T_I_AN
+       { 0xA05D, { 0x310A, 0x3127, 0x3125 , 0x0}},                                                     //T_I_ENG
+       { 0xA05E, { 0x310A, 0x3128, 0x0 , 0x0}},                                                                                //T_U
+       { 0xA05F, { 0x310A, 0x3128, 0x311B , 0x0}},                                                     //T_U_O
+       { 0xA060, { 0x310A, 0x3128, 0x311F , 0x0}},                                                     //T_U_EI
+       { 0xA061, { 0x310A, 0x3128, 0x3122 , 0x0}},                                                     //T_U_AN
+       { 0xA062, { 0x310A, 0x3128, 0x3123 , 0x0}},                                                     //T_U_EN
+       { 0xA063, { 0x310A, 0x3127, 0x3125 , 0x0}},                                                     //T_U_ENG
+       { 0xA064, { 0x310A, 0x311A, 0x0 , 0x0}},                                                                                //T_A
+       { 0xA065, { 0x310A, 0x311C, 0x0 , 0x0}},                                                                                //T_E
+       { 0xA066, { 0x310A, 0x311E, 0x0 , 0x0}},                                                                                //T_AI
+       { 0xA067, { 0x310A, 0x3120, 0x0 , 0x0}},                                                                                //T_AU
+       { 0xA068, { 0x310A, 0x3121, 0x0 , 0x0}},                                                                                //T_OU
+       { 0xA069, { 0x310A, 0x3122 , 0x0, 0x0}},                                                                                //T_AN
+       { 0xA06A, { 0x310A, 0x3124, 0x0 , 0x0}},                                                                                //T_ANG
+       { 0xA06B, { 0x310A, 0x3125 , 0x0, 0x0}},                                                                                //T_ENG
+       { 0xA06C, { 0x310B, 0x0, 0x0 , 0x0}},                                                                                                   //N
+       { 0xA06D, { 0x310B, 0x3127, 0x0 , 0x0}},                                                                                //N_I
+       { 0xA06E, { 0x310B, 0x3127, 0x311D , 0x0}},                                                     //N_I_EH
+       { 0xA06F, { 0x310B, 0x3127, 0x3120 , 0x0}},                                                     //N_I_AU
+       { 0xA070, { 0x310B, 0x3127, 0x3121 , 0x0}},                                                     //N_I_OU
+       { 0xA071, { 0x310B, 0x3127, 0x3122 , 0x0}},                                                     //N_I_AN
+       { 0xA072, { 0x310B, 0x3127, 0x3123 , 0x0}},                                                     //N_I_EN
+       { 0xA073, { 0x310B, 0x3127, 0x3124 , 0x0}},                                                     //N_I_ANG
+       { 0xA074, { 0x310B, 0x3127, 0x3125 , 0x0}},                                                     //N_I_ENG
+       { 0xA075, { 0x310B, 0x3128, 0x0 , 0x0}},                                                                                //N_U
+       { 0xA076, { 0x310B, 0x3128, 0x311B , 0x0}},                                                     //N_U_O
+       { 0xA077, { 0x310B, 0x3128, 0x3122 , 0x0}},                                                     //N_U_AN
+       { 0xA078, { 0x310B, 0x3128, 0x3125 , 0x0}},                                                     //N_U_ENG
+       { 0xA079, { 0x310B, 0x3129 , 0x0, 0x0}},                                                                                //N_IU
+       { 0xA07A, { 0x310B, 0x3129, 0x311D , 0x0}},                                                     //N_IU_EH
+       { 0xA07B, { 0x310B, 0x311A , 0x0, 0x0}},                                                                                //N_A
+       { 0xA07C, { 0x310B, 0x311C , 0x0, 0x0}},                                                                                //N_E
+       { 0xA07D, { 0x310B, 0x311E , 0x0, 0x0}},                                                                                //N_AI
+       { 0xA07E, { 0x310B, 0x311F , 0x0, 0x0}},                                                                                //N_EI
+       { 0xA07F, { 0x310B, 0x3120 , 0x0, 0x0}},                                                                                //N_AU
+       { 0xA080, { 0x310B, 0x3121 , 0x0, 0x0}},                                                                                //N_OU
+       { 0xA081, { 0x310B, 0x3122 , 0x0, 0x0}},                                                                                //N_AN
+       { 0xA082, { 0x310B, 0x3123 , 0x0, 0x0}},                                                                                //N_EN
+       { 0xA083, { 0x310B, 0x3124 , 0x0, 0x0}},                                                                                //N_ANG
+       { 0xA084, { 0x310B, 0x3125 , 0x0, 0x0}},                                                                                //N_ENG
+       { 0xA085, { 0x310C, 0x0 , 0x0, 0x0}},                                                                                                   //L
+       { 0xA086, { 0x310C, 0x3127 , 0x0, 0x0}},                                                                                //L_I
+       { 0xA087, { 0x310C, 0x3127, 0x311D , 0x0}},                                                     //L_I_EH
+       { 0xA088, { 0x310C, 0x3127, 0x3120 , 0x0}},                                                     //L_I_AU
+       { 0xA089, { 0x310C, 0x3127, 0x3121 , 0x0}},                                                     //L_I_OU
+       { 0xA08A, { 0x310C, 0x3127, 0x3122 , 0x0}},                                                     //L_I_AN
+       { 0xA08B, { 0x310C, 0x3127, 0x3123 , 0x0}},                                                     //L_I_EN
+       { 0xA08C, { 0x310C, 0x3127, 0x3124 , 0x0}},                                                     //L_I_ANG
+       { 0xA08D, { 0x310C, 0x3127, 0x3125 , 0x0}},                                                     //L_I_ENG
+       { 0xA08E, { 0x310C, 0x3128, 0x0 , 0x0}},                                                                                //L_U
+       { 0xA08F, { 0x310C, 0x3128, 0x311B , 0x0}},                                                     //L_U_O
+       { 0xA090, { 0x310C, 0x3128, 0x3122 , 0x0}},                                                     //L_U_AN
+       { 0xA091, { 0x310C, 0x3128, 0x3123 , 0x0}},                                                     //L_U_EN
+       { 0xA092, { 0x310C, 0x3128, 0x3125 , 0x0}},                                                     //L_U_ENG
+       { 0xA093, { 0x310C, 0x3129, 0x0, 0x0}},                                                                                  // L_IU
+       { 0xA094, { 0x310C, 0x3129, 0x311D, 0x0}},                                                        // L_IU_EH
+       { 0xA095, { 0x310C, 0x311A , 0x0, 0x0}},                                                                                 // L_A
+       { 0xA096, { 0x310C, 0x311C , 0x0, 0x0}},                                                                                 // L_E
+       { 0xA097, { 0x310C, 0x311E , 0x0, 0x0}},                                                                                 // L_AI
+       { 0xA098, { 0x310C,0x311F , 0x0, 0x0}},                                                                                  // L_EI
+       { 0xA099, { 0x310C, 0x3120 , 0x0, 0x0}},                                                                                 // L_AU
+       { 0xA09A, { 0x310C, 0x3121 , 0x0, 0x0}},                                                                                // L_OU
+       { 0xA09B, { 0x310C, 0x3122, 0x0, 0x0}},                                                                                  // L_AN
+       { 0xA09C, { 0x310C, 0x3124 , 0x0, 0x0}},                                                                                 // L_ANG
+       { 0xA09D, { 0x310C, 0x3125 , 0x0, 0x0}},                                                                                 // L_ENG
+       { 0xA09E, { 0x310D, 0x0, 0x0, 0x0}},                                                                                                     // G
+       { 0xA09F, { 0x310D, 0x3128, 0x0, 0x0}},                                                                                  // G_U
+       { 0xA0A0, { 0x310D, 0x3128, 0x311A , 0x0}},                                                                                      // G_U_A
+       { 0xA0A1, { 0x310D, 0x3128, 0x311B , 0x0}},                                                                                      // G_U_O
+       { 0xA0A2, { 0x310D, 0x3128, 0x311E, 0x0}},                                                                                      // G_U_AI
+       { 0xA0A3, { 0x310D, 0x3128, 0x311F, 0x0}},                                                                                      // G_U_EI
+       { 0xA0A4, { 0x310D, 0x3128, 0x3122, 0x0}},                                                                                       // G_U_AN
+       { 0xA0A5, { 0x310D, 0x3128, 0x3123 , 0x0}},                                                                               // G_U_EN
+       { 0xA0A6, { 0x310D, 0x3128, 0x3124 , 0x0}},                                                                               // G_U_ANG
+       { 0xA0A7, { 0x310D, 0x3128, 0x3125, 0x0}},                                                                                       // G_U_ENG
+       { 0xA0A8, { 0x310D, 0x311A , 0x0, 0x0}},                                                                                        // G_A
+       { 0xA0A9, { 0x310D, 0x311C , 0x0, 0x0}},                                                                                        // G_E
+       { 0xA0AA, { 0x310D, 0x311E , 0x0, 0x0}},                                                                                        // G_AI
+       { 0xA0AB, { 0x310D, 0x311F , 0x0, 0x0}},                                                                                        // G_EI
+       { 0xA0AC, { 0x310D, 0x3120 , 0x0, 0x0}},                                                                                        // G_AU
+       { 0xA0AD, { 0x310D, 0x311B, 0x3128, 0x0}},                                                                                              // G_OU
+       { 0xA0AE, { 0x310D, 0x3122 , 0x0, 0x0}},                                                                                 // G_AN
+       { 0xA0AF, { 0x310D, 0x3123 , 0x0, 0x0}},                                                                                 // G_EN
+       { 0xA0B0, { 0x310D, 0x3124 , 0x0, 0x0}},                                                                                 // G_ANG
+       { 0xA0B1, { 0x310D, 0x3125 , 0x0, 0x0}},                                                                                // G_ENG
+       { 0xA0B2, { 0x310E , 0x0, 0x0, 0x0}},                                                                                                   // K
+       { 0xA0B3, { 0x310E, 0x3128 , 0x0, 0x0}},                                                                                        // K_U
+       { 0xA0B4, { 0x310E, 0x3128, 0x311A , 0x0}},                                                                                      // K_U_A
+       { 0xA0B5, { 0x310E, 0x3128, 0x311B, 0x0}},                                                                                               // K_U_O
+       { 0xA0B6, { 0x310E, 0x3128, 0x311E , 0x0}},                                                                                      // K_U_AI
+       { 0xA0B7, { 0x310E, 0x3128, 0x311F , 0x0}},                                                                                       // K_U_EI
+       { 0xA0B8, { 0x310E, 0x3128, 0x3122 , 0x0}},                                                                                      // K_U_AN
+       { 0xA0B9, { 0x310E, 0x3128, 0x3123 , 0x0}},                                                                                      // K_U_EN
+       { 0xA0BA, { 0x310E, 0x3128, 0x3124 , 0x0}},                                                                                      // K_U_ANG
+       { 0xA0BB, { 0x310E, 0x3128, 0x3125 , 0x0}},                                                                                      // K_U_ENG
+       { 0xA0BC, { 0x310E, 0x311A , 0x0, 0x0}},                                                                                  // K_A
+       { 0xA0BD, { 0x310E, 0x311C , 0x0, 0x0}},                                                                                  // K_E
+       { 0xA0BE, { 0x310E, 0x312F , 0x0, 0x0}},                                                                                        // K_EI
+       { 0xA0BF, { 0x310E, 0x3120 , 0x0, 0x0}},                                                                                        // K_AU
+       { 0xA0C0, { 0x310E, 0x3121 , 0x0, 0x0}},                                                                                        // K_OU
+       { 0xA0C1, { 0x310E, 0x3122 , 0x0, 0x0}},                                                                                        // K_AN
+       { 0xA0C2, { 0x310E, 0x3123 , 0x0, 0x0}},                                                                                        // K_EN
+       { 0xA0C3, { 0x310E, 0x3124 , 0x0, 0x0}},                                                                                        // K_ANG
+       { 0xA0C4, { 0x310E, 0x3125 , 0x0, 0x0}},                                                                                        // K_ENG
+       { 0xA0C5, { 0x310F, 0x0 , 0x0, 0x0}},                                                                                                           //H
+       { 0xA0C6, { 0x310F, 0x3128 , 0x0, 0x0}},                                                                                        //H_U
+       { 0xA0C7, { 0x310F, 0x3128, 0x311A , 0x0}},                                                             //H_U_A
+       { 0xA0C8, { 0x310F, 0x3128, 0x311B , 0x0}},                                                             //H_U_O
+       { 0xA0C9, { 0x310F, 0x3128, 0x311E , 0x0}},                                                             //H_U_AI
+       { 0xA0CA, { 0x310F, 0x3128, 0x311F , 0x0}},                                                             //H_U_EI
+       { 0xA0CB, { 0x310F, 0x3128, 0x3122 , 0x0}},                                                             //H_U_AN
+       { 0xA0CC, { 0x310F, 0x3128, 0x3123 , 0x0}},                                                             //H_U_EN
+       { 0xA0CD, { 0x310F, 0x3128, 0x3124 , 0x0}},                                                             //H_U_ANG
+       { 0xA0CE, { 0x310F, 0x3128, 0x3125 , 0x0}},                                                             //H_U_ENG
+       { 0xA0CF, { 0x310F, 0x311A , 0x0, 0x0}},                                                                                  //H_A
+       { 0xA0D0, { 0x310F, 0x311C , 0x0, 0x0}},                                                                                  //H_E
+       { 0xA0D1, { 0x310F, 0x311E , 0x0, 0x0}},                                                                                  //H_AI
+       { 0xA0D2, { 0x310F, 0x311F , 0x0, 0x0}},                                                                                  //H_EI
+       { 0xA0D3, { 0x310F, 0x3120 , 0x0, 0x0}},                                                                                  //H_AU
+       { 0xA0D4, { 0x310F, 0x3121 , 0x0, 0x0}},                                                                                  //H_OU
+       { 0xA0D5, { 0x310F, 0x3122 , 0x0, 0x0}},                                                                                  //H_AN
+       { 0xA0D6, { 0x310F, 0x3123 , 0x0, 0x0}},                                                                                  //H_EN
+       { 0xA0D7, { 0x310F, 0x3124 , 0x0, 0x0}},                                                                                  //H_ANG
+       { 0xA0D8, { 0x310F, 0x3125 , 0x0, 0x0}},                                                                                  //H_ENG
+       { 0xA0D9, { 0x3110, 0x0 , 0x0, 0x0}},                                                                                                     //J
+       { 0xA0DA, { 0x3110, 0x3127 , 0x0, 0x0}},                                                                                  //J_I
+       { 0xA0DB, { 0x3110, 0x3127, 0x311A , 0x0}},                                                       //J_I_A
+       { 0xA0DC, { 0x3110, 0x3127, 0x311D , 0x0}},                                                       //J_I_EH
+       { 0xA0DD, { 0x3110, 0x3127, 0x3120 , 0x0}},                                                       //J_I_AU
+       { 0xA0DE, { 0x3110, 0x3127, 0x3121 , 0x0}},                                                       //J_I_OU
+       { 0xA0DF, { 0x3110, 0x3127, 0x3122 , 0x0}},                                                       //J_I_AN
+       { 0xA0E0, { 0x3110, 0x3127, 0x3123 , 0x0}},                                                       //J_I_EN
+       { 0xA0E1, { 0x3110, 0x3127, 0x3124 , 0x0}},                                                       //J_I_ANG
+       { 0xA0E2, { 0x3110, 0x3127, 0x3125 , 0x0}},                                                       //J_I_ENG
+       { 0xA0E3, { 0x3110, 0x3129, 0x0 , 0x0}},                                                                                  //J_IU
+       { 0xA0E4, { 0x3110, 0x3129, 0x311D , 0x0}},                                                       //J_IU_EH
+       { 0xA0E5, { 0x3110, 0x3129, 0x3122 , 0x0}},                                                       //J_IU_AN
+       { 0xA0E6, { 0x3110, 0x3129, 0x3123 , 0x0}},                                                       //J_IU_EN
+       { 0xA0E7, { 0x3110, 0x3129, 0x3125 , 0x0}},                                                       //J_IU_ENG
+       { 0xA0E8, { 0x3111, 0x0, 0x0 , 0x0}},                                                                                                     //Q
+       { 0xA0E9, { 0x3111, 0x3127, 0x0 , 0x0}},                                                                                  //Q_I
+       { 0xA0EA, { 0x3111, 0x3127, 0x311A , 0x0}},                                                       //Q_I_A
+       { 0xA0EB, { 0x3111, 0x3127, 0x311D , 0x0}},                                                       //Q_I_EH
+       { 0xA0EC, { 0x3111, 0x3127, 0x3120 , 0x0}},                                                       //Q_I_AU
+       { 0xA0ED, { 0x3111, 0x3127, 0x3121 , 0x0}},                                                       //Q_I_OU
+       { 0xA0EE, { 0x3111, 0x3127, 0x3122 , 0x0}},                                                       //Q_I_AN
+       { 0xA0EF, { 0x3111, 0x3127, 0x3123 , 0x0}},                                                       //Q_I_EN
+       { 0xA0F0, { 0x3111, 0x3127, 0x3124 , 0x0}},                                                       //Q_I_ANG
+       { 0xA0F1, { 0x3111, 0x3127, 0x3125 , 0x0}},                                                       //Q_I_ENG
+       { 0xA0F2, { 0x3111, 0x3129, 0x0 , 0x0}},                                                                                  //Q_IU
+       { 0xA0F3, { 0x3111, 0x3129, 0x311D , 0x0}},                                                       //Q_IU_EH
+       { 0xA0F4, { 0x3111, 0x3129, 0x3122 , 0x0}},                                                       //Q_IU_AN
+       { 0xA0F5, { 0x3111, 0x3129, 0x3123 , 0x0}},                                                       //Q_IU_EN
+       { 0xA0F6, { 0x3111, 0x3129, 0x3125 , 0x0}},                                                       //Q_IU_ENG
+       { 0xA0F7, { 0x3112, 0x0 , 0x0, 0x0}},                                                                                                     //X
+       { 0xA0F8, { 0x3112, 0x3127, 0x0 , 0x0}},                                                                                  //X_I
+       { 0xA0F9, { 0x3112, 0x3127, 0x311A , 0x0}},                                                       //X_I_A
+       { 0xA0FA, { 0x3112, 0x3127, 0x311D , 0x0}},                                                       //X_I_EH
+       { 0xA0FB, { 0x3112, 0x3127, 0x3120 , 0x0}},                                                       //X_I_AU
+       { 0xA0FC, { 0x3112, 0x3127, 0x3121 , 0x0}},                                                       //X_I_OU
+       { 0xA0FD, { 0x3112, 0x3127, 0x3122 , 0x0}},                                                       //X_I_AN
+       { 0xA0FE, { 0x3112, 0x3127, 0x3123 , 0x0}},                                                       //X_I_EN
+       { 0xA0FF, { 0x3112, 0x3127, 0x3124 , 0x0}},                                                       //X_I_ANG
+       { 0xA100, { 0x3112, 0x3127, 0x3125 , 0x0}},                                                       //X_I_ENG
+       { 0xA101, { 0x3112, 0x3129, 0x0 , 0x0}},                                                                                  //X_IU
+       { 0xA102, { 0x3112, 0x3129, 0x311D , 0x0}},                                                       //X_IU_EH
+       { 0xA103, { 0x3112, 0x3129, 0x3122 , 0x0}},                                                       //X_IU_AN
+       { 0xA104, { 0x3112, 0x3129, 0x3123 , 0x0}},                                                       //X_IU_EN
+       { 0xA105, { 0x3112, 0x3129, 0x3125 , 0x0}},                                                       //X_IU_ENG
+       { 0xA106, { 0x3113 , 0x0, 0x0, 0x0}},                                                                                                    //ZH
+       { 0xA107, { 0x3113, 0x3128 , 0x0, 0x0}},                                                                                 //ZH_U
+       { 0xA108, { 0x3113, 0x3128, 0x311A , 0x0}},                                                      //ZH_U_A
+       { 0xA109, { 0x3113, 0x3128, 0x311B , 0x0}},                                                      //ZH_U_O
+       { 0xA10A, { 0x3113, 0x3128, 0x311E , 0x0}},                                                      //ZH_U_AI
+       { 0xA10B, { 0x3113, 0x3128, 0x311F , 0x0}},                                                      //ZH_U_EI
+       { 0xA10C, { 0x3113, 0x3128, 0x3122 , 0x0}},                                                      //ZH_U_AN
+       { 0xA10D, { 0x3113, 0x3128, 0x3123 , 0x0}},                                                      //ZH_U_EN
+       { 0xA10E, { 0x3113, 0x3128, 0x3124 , 0x0}},                                                      //ZH_U_ANG
+       { 0xA10F, { 0x3113, 0x3128, 0x3125 , 0x0}},                                                      //ZH_U_ENG
+       { 0xA110, { 0x3113, 0x311A , 0x0, 0x0}},                                                                                 //ZH_A
+       { 0xA111, { 0x3113, 0x311C , 0x0, 0x0}},                                                                                 //ZH_E
+       { 0xA112, { 0x3113, 0x311E , 0x0, 0x0}},                                                                                 //ZH_AI
+       { 0xA113, { 0x3113, 0x3120 , 0x0, 0x0}},                                                                                 //ZH_AU
+       { 0xA114, { 0x3113, 0x3121 , 0x0, 0x0}},                                                                                 //ZH_OU
+       { 0xA115, { 0x3113, 0x3122 , 0x0, 0x0}},                                                                                 //ZH_AN
+       { 0xA116, { 0x3113, 0x3123 , 0x0, 0x0}},                                                                                 //ZH_EN
+       { 0xA117, { 0x3113, 0x3124 , 0x0, 0x0}},                                                                                 //ZH_ANG
+       { 0xA118, { 0x3113, 0x3125 , 0x0, 0x0}},                                                                                 //ZH_ENG
+       { 0xA119, { 0x3114, 0x0 , 0x0, 0x0}},                                                                                   // CH
+       { 0xA11A, { 0x3114, 0x3128 , 0x0, 0x0}},                                        // CH_U
+       { 0xA11B, { 0x3114, 0x3128, 0x311B , 0x0}},                      // CH_U_O
+       { 0xA11C, { 0x3114, 0x3128, 0x311E , 0x0}},                      // CH_U_AI
+       { 0xA11D, { 0x3114, 0x3128, 0x311F , 0x0}},                      // CH_U_EI
+       { 0xA11E, { 0x3114, 0x3128, 0x3122 , 0x0}},                      // CH_U_AN
+       { 0xA11F, { 0x3114, 0x3128, 0x3123 , 0x0}},                      // CH_U_EN
+       { 0xA120, { 0x3114, 0x3128, 0x3124 , 0x0}},                      // CH_U_ANG
+       { 0xA121, { 0x3114, 0x3128, 0x3125 , 0x0}},                      // CH_U_ENG
+       { 0xA122, { 0x3114, 0x311A , 0x0, 0x0}},                         // CH_A
+       { 0xA123, { 0x3114, 0x311C , 0x0, 0x0}},                         // CH_E
+       { 0xA124, { 0x3114, 0x311E , 0x0, 0x0}},                         // CH_AI
+       { 0xA125, { 0x3114, 0x3120 , 0x0, 0x0}},                         // CH_AU
+       { 0xA126, { 0x3114, 0x3121 , 0x0, 0x0}},                         // CH_OU
+       { 0xA127, { 0x3114, 0x3122 , 0x0, 0x0}},                         // CH_AN
+       { 0xA128, { 0x3114, 0x3123 , 0x0, 0x0}},                         // CH_EN
+       { 0xA129, { 0x3114, 0x3124 , 0x0, 0x0}},                         // CH_ANG
+       { 0xA12A, { 0x3114, 0x3125 , 0x0, 0x0}},                         // CH_ENG
+       { 0xA12B, { 0x3115 , 0x0, 0x0, 0x0}},                                    // SH
+       { 0xA12C, { 0x3115, 0x3128 , 0x0, 0x0}},                         // SH_U
+       { 0xA12D, { 0x3115, 0x3128, 0x311A , 0x0}},                      // SH_U_A
+       { 0xA12E, { 0x3115, 0x3128, 0x311B , 0x0}},                      // SH_U_O
+       { 0xA12F, { 0x3115, 0x3128, 0x311E , 0x0}},                      // SH_U_AI
+       { 0xA130, { 0x3115, 0x3128, 0x311F , 0x0}},                      // SH_U_EI
+       { 0xA131, { 0x3115, 0x3128, 0x3122 , 0x0}},                      // SH_U_AN
+       { 0xA132, { 0x3115, 0x3128, 0x3123 , 0x0}},                      // SH_U_EN
+       { 0xA133, { 0x3115, 0x3128, 0x3124 , 0x0}},                      // SH_U_ANG
+       { 0xA134, { 0x3115, 0x311A , 0x0, 0x0}},                         // SH_A
+       { 0xA135, { 0x3115, 0x311C , 0x0, 0x0}},                         // SH_E
+       { 0xA136, { 0x3115, 0x311E , 0x0, 0x0}},                         // SH_AI
+       { 0xA137, { 0x3115, 0x311F , 0x0, 0x0}},                         // SH_EI
+       { 0xA138, { 0x3115, 0x3120 , 0x0, 0x0}},                         // SH_AU
+       { 0xA139, { 0x3115, 0x3121 , 0x0, 0x0}},                         // SH_OU
+       { 0xA13A, { 0x3115, 0x3122 , 0x0, 0x0}},                         // SH_AN
+       { 0xA13B, { 0x3115, 0x3123 , 0x0, 0x0}},                         // SH_EN
+       { 0xA13C, { 0x3115, 0x3124 , 0x0, 0x0}},                         // SH_ANG
+       { 0xA13D, { 0x3115, 0x3125 , 0x0, 0x0}},                         // SH_ENG
+       { 0xA13E, { 0x3116 , 0x0, 0x0, 0x0}},                                                   // R
+       { 0xA13F, { 0x3116, 0x3128 , 0x0, 0x0}},                         // R_U
+       { 0xA140, { 0x3116, 0x3128, 0x311B , 0x0}},                      // R_U_O
+       { 0xA141, { 0x3116, 0x3128, 0x311F , 0x0}},                      // R_U_EI
+       { 0xA142, { 0x3116, 0x3128, 0x3122 , 0x0}},                      // R_U_AN
+       { 0xA143, { 0x3116, 0x3128, 0x3123 , 0x0}},                      // R_U_EN
+       { 0xA144, { 0x3116, 0x3128, 0x3125 , 0x0}},                      // R_U_ENG
+       { 0xA145, { 0x3116, 0x311C , 0x0, 0x0}},                         // R_E
+       { 0xA146, { 0x3116, 0x3120 , 0x0, 0x0}},                         // R_AU
+       { 0xA147, { 0x3116, 0x3121 , 0x0, 0x0}},                         // R_OU
+       { 0xA148, { 0x3116, 0x3122 , 0x0, 0x0}},                         // R_AN
+       { 0xA149, { 0x3116, 0x3123 , 0x0, 0x0}},                         // R_EN
+       { 0xA14A, { 0x3116, 0x3124 , 0x0, 0x0}},                         // R_ANG
+       { 0xA14B, { 0x3116, 0x3125 , 0x0, 0x0}},                         // R_ENG
+       { 0xA14C, { 0x3117, 0x0 , 0x0, 0x0}},                                                                                             //Z
+       { 0xA14D, { 0x3117, 0x3128 , 0x0, 0x0}},                                                                          //Z_U
+       { 0xA14E, { 0x3117, 0x3128, 0x311B , 0x0}},                                               //Z_U_O
+       { 0xA14F, { 0x3117, 0x3128, 0x311F , 0x0}},                                     //Z_U_EI
+       { 0xA150, { 0x3117, 0x3128, 0x3122 , 0x0}},                                               //Z_U_AN
+       { 0xA151, { 0x3117, 0x3128, 0x3123 , 0x0}},                                                       //Z_U_EN
+       { 0xA152, { 0x3117, 0x3128, 0x3125 , 0x0}},                                               //Z_U_ENG
+       { 0xA153, { 0x3117, 0x311A , 0x0, 0x0}},                                                                          //Z_A
+       { 0xA154, { 0x3117, 0x311C , 0x0, 0x0}},                                                                 //Z_E
+       { 0xA155, { 0x3117, 0x311E , 0x0, 0x0}},                                                                          //Z_AI
+       { 0xA156, { 0x3117, 0x311F , 0x0, 0x0}},                                                                 //Z_EI
+       { 0xA157, { 0x3117, 0x3120 , 0x0, 0x0}},                                                                 //Z_AU
+       { 0xA158, { 0x3117, 0x3121 , 0x0, 0x0}},                                                                                //Z_OU
+       { 0xA159, { 0x3117, 0x3122 , 0x0, 0x0}},                                                                                //Z_AN
+       { 0xA15A, { 0x3117, 0x3123 , 0x0, 0x0}},                                                                                //Z_EN
+       { 0xA15B, { 0x3117, 0x3124 , 0x0, 0x0}},                                                                                //Z_ANG
+       { 0xA15C, { 0x3117, 0x3125 , 0x0, 0x0}},                                                                                //Z_ENG
+       { 0xA15D, { 0x3118, 0x0 , 0x0, 0x0}},                                                                           //C
+       { 0xA15E, { 0x3118, 0x3128 , 0x0, 0x0}},                                                                                //C_U
+       { 0xA15F, { 0x3118, 0x3128, 0x311B , 0x0}},                                                     //C_U_O
+       { 0xA160, { 0x3118, 0x3128, 0x311F , 0x0}},                                                     //C_U_EI
+       { 0xA161, { 0x3118, 0x3128, 0x3122 , 0x0}},                                                     //C_U_AN
+       { 0xA162, { 0x3118, 0x3128, 0x3123 , 0x0}},                                                     //C_U_EN
+       { 0xA163, { 0x3118, 0x3128, 0x3125 , 0x0}},                                                     //C_U_ENG
+       { 0xA164, { 0x3118, 0x311A , 0x0, 0x0}},                                                                                 //C_A
+       { 0xA165, { 0x3118, 0x311C , 0x0, 0x0}},                                                                                 //C_E
+       { 0xA166, { 0x3118, 0x311E , 0x0, 0x0}},                                                                                 //C_AI
+       { 0xA167, { 0x3118, 0x3120 , 0x0, 0x0}},                                                                                 //C_AU
+       { 0xA168, { 0x3118, 0x3121 , 0x0, 0x0}},                                                                                 //C_OU
+       { 0xA169, { 0x3118, 0x3122 , 0x0, 0x0}},                                                                                 //C_AN
+       { 0xA16A, { 0x3118, 0x3123 , 0x0, 0x0}},                                                                                 //C_EN
+       { 0xA16B, { 0x3118, 0x3124 , 0x0, 0x0}},                                                                                //C_ANG
+       { 0xA16C, { 0x3118, 0x3125 , 0x0, 0x0}},                                                                                //C_ENG
+       { 0xA16D, { 0x3119 , 0x0, 0x0, 0x0}},                                           // S
+       { 0xA16E, { 0x3119, 0x3128 , 0x0, 0x0}},                                          // S_U
+       { 0xA16F, { 0x3119, 0x3128, 0x311B , 0x0}},              // S_U_O
+       { 0xA170, { 0x3119, 0x3128, 0x311F , 0x0}},              // S_U_EI
+       { 0xA171, { 0x3119, 0x3128, 0x3122 , 0x0}},              // S_U_AN
+       { 0xA172, { 0x3119, 0x3128, 0x3123 , 0x0}},              // S_U_EN
+       { 0xA173, { 0x3119, 0x3128, 0x3125 , 0x0}},              // S_U_ENG
+       { 0xA174, { 0x3119, 0x311A , 0x0, 0x0}},                 // S_A
+       { 0xA175, { 0x3119, 0x311C , 0x0, 0x0}},                 // S_E
+       { 0xA176, { 0x3119, 0x311E , 0x0, 0x0}},                 // S_AI
+       { 0xA177, { 0x3119, 0x3120 , 0x0, 0x0}},                 // S_AU
+       { 0xA178, { 0x3119, 0x3121 , 0x0, 0x0}},                 // S_OU
+       { 0xA179, { 0x3119, 0x3122 , 0x0, 0x0}},                 // S_AN
+       { 0xA17A, { 0x3119, 0x3123 , 0x0, 0x0}},                 // S_EN
+       { 0xA17B, { 0x3119, 0x3124 , 0x0, 0x0}},                 // S_ANG
+       { 0xA17C, { 0x3119, 0x3125 , 0x0, 0x0}},                 // S_ENG
+       { 0xA17D, { 0x3127, 0x0, 0x0} },                                 // I
+       { 0xA17E, { 0x3127, 0x311A , 0x0, 0x0}},                 // I_A
+       { 0xA17F, { 0x3127, 0x311B , 0x0, 0x0}},                         // I_O
+       { 0xA180, { 0x3127, 0x311D , 0x0, 0x0}},                         // I_EH
+       { 0xA181, { 0x3127, 0x311E , 0x0, 0x0}},                                // I_AI
+       { 0xA182, { 0x3127, 0x3120 , 0x0, 0x0}},                         // I_AU
+       { 0xA183, { 0x3127, 0x3121 , 0x0, 0x0}},                         // I_OU
+       { 0xA184, { 0x3127, 0x3122 , 0x0, 0x0}},                 // I_AN
+       { 0xA185, { 0x3127, 0x3123 , 0x0, 0x0}},                 // I_EN
+       { 0xA186, { 0x3127, 0x3124 , 0x0, 0x0}},                  // I_ANG
+       { 0xA187, { 0x3127, 0x3125 , 0x0, 0x0}},                  // I_ENG
+       { 0xA188, { 0x3128 , 0x0, 0x0, 0x0}},                                                                           // U
+       { 0xA189, { 0x3128, 0x311A , 0x0, 0x0}},                                                        // U_A
+       { 0xA18A, { 0x3128, 0x311B , 0x0, 0x0}},                                                         // U_O
+       { 0xA18B, { 0x3128, 0x311E , 0x0, 0x0}},                                                         // U_AI
+       { 0xA18C, { 0x3128, 0x311F , 0x0, 0x0}},                                                         // U_EI
+       { 0xA18D, { 0x3128, 0x3122 , 0x0, 0x0}},                                                         // U_AN
+       { 0xA18E, { 0x3128, 0x3123 , 0x0, 0x0}},                                                         // U_EN
+       { 0xA18F, { 0x3128, 0x3124 , 0x0, 0x0}},                                                         // U_ANG
+       { 0xA190, { 0x3128, 0x3125 , 0x0, 0x0}},                                                          // U_ENG
+       { 0xA191, { 0x3129, 0x0, 0x0 } },                                                                                 // IU
+       { 0xA192, { 0x3129, 0x311D , 0x0, 0x0}},                                                          // IU_EH
+       { 0xA193, { 0x3129, 0x3122 , 0x0, 0x0}},                                                          // IU_AN
+       { 0xA194, { 0x3129, 0x3123 , 0x0, 0x0}},                                                          // IU_EN
+       { 0xA195, { 0x3129, 0x3125 , 0x0, 0x0}},                                                          // IU_ENG
+       { 0xA196, { 0x311A , 0x0, 0x0, 0x0}},                                                                             // A
+       { 0xA197, { 0x311B , 0x0, 0x0, 0x0}},                                                                             // O
+       { 0xA198, { 0x311C , 0x0, 0x0, 0x0}},                                                                             // E
+       { 0xA199, { 0x311E , 0x0, 0x0, 0x0}},                                                                             // AI
+       { 0xA19A, { 0x311F , 0x0, 0x0, 0x0}},                                                                             // EI
+       { 0xA19B, { 0x3120 , 0x0, 0x0, 0x0}},                                                                             // AU
+       { 0xA19C, { 0x3121 , 0x0, 0x0, 0x0}},                                                                             // OU
+       { 0xA19D, { 0x3122 , 0x0, 0x0, 0x0}},                                                                             // AN
+       { 0xA19E, { 0x3123 , 0x0, 0x0, 0x0}},                                                                             // EN
+       { 0xA19F, { 0x3124 , 0x0, 0x0, 0x0}},                                                                             // ANG
+       { 0xA1A0, { 0x3125 , 0x0, 0x0, 0x0}},                                                                                   // ENG
+       { 0xA1A1, { 0x3126 , 0x0, 0x0, 0x0}},                                                                             // ER
+       { 0xA1A2, { 0x311D , 0x0, 0x0, 0x0}},                                                                             // ER
+};
+
+#define  ALP_ORDER_BOPOMOFO_LETTER_B   0xA001
+#define  ALP_ORDER_BOPOMOFO_LETTER_B_I   0xA002
+#define  ALP_ORDER_BOPOMOFO_LETTER_B_I_EH   0xA003
+#define  ALP_ORDER_BOPOMOFO_LETTER_B_I_AU   0xA004
+#define  ALP_ORDER_BOPOMOFO_LETTER_B_I_AN   0xA005
+#define  ALP_ORDER_BOPOMOFO_LETTER_B_I_EN   0xA006
+#define  ALP_ORDER_BOPOMOFO_LETTER_B_I_ENG   0xA007
+#define  ALP_ORDER_BOPOMOFO_LETTER_B_U   0xA008
+#define  ALP_ORDER_BOPOMOFO_LETTER_B_A   0xA009
+#define  ALP_ORDER_BOPOMOFO_LETTER_B_O   0xA00A
+#define  ALP_ORDER_BOPOMOFO_LETTER_B_AI   0xA00B
+#define  ALP_ORDER_BOPOMOFO_LETTER_B_EI   0xA00C
+#define  ALP_ORDER_BOPOMOFO_LETTER_B_AU   0xA00D
+#define  ALP_ORDER_BOPOMOFO_LETTER_B_AN   0xA00E
+#define  ALP_ORDER_BOPOMOFO_LETTER_B_EN   0xA00F
+#define  ALP_ORDER_BOPOMOFO_LETTER_B_ANG   0xA010
+#define  ALP_ORDER_BOPOMOFO_LETTER_B_ENG   0xA011
+#define  ALP_ORDER_BOPOMOFO_LETTER_P   0xA012
+#define  ALP_ORDER_BOPOMOFO_LETTER_P_I   0xA013
+#define  ALP_ORDER_BOPOMOFO_LETTER_P_I_EH   0xA014
+#define  ALP_ORDER_BOPOMOFO_LETTER_P_I_AU   0xA015
+#define  ALP_ORDER_BOPOMOFO_LETTER_P_I_AN   0xA016
+#define  ALP_ORDER_BOPOMOFO_LETTER_P_I_EN   0xA017
+#define  ALP_ORDER_BOPOMOFO_LETTER_P_I_ENG   0xA018
+#define  ALP_ORDER_BOPOMOFO_LETTER_P_U   0xA019
+#define  ALP_ORDER_BOPOMOFO_LETTER_P_A   0xA01A
+#define  ALP_ORDER_BOPOMOFO_LETTER_P_O   0xA01B
+#define  ALP_ORDER_BOPOMOFO_LETTER_P_AI   0xA01C
+#define  ALP_ORDER_BOPOMOFO_LETTER_P_EI   0xA01D
+#define  ALP_ORDER_BOPOMOFO_LETTER_P_AU   0xA01E
+#define  ALP_ORDER_BOPOMOFO_LETTER_P_OU   0xA01F
+#define  ALP_ORDER_BOPOMOFO_LETTER_P_AN   0xA020
+#define  ALP_ORDER_BOPOMOFO_LETTER_P_EN   0xA021
+#define  ALP_ORDER_BOPOMOFO_LETTER_P_ANG   0xA022
+#define  ALP_ORDER_BOPOMOFO_LETTER_P_ENG   0xA023
+#define  ALP_ORDER_BOPOMOFO_LETTER_M   0xA024
+#define  ALP_ORDER_BOPOMOFO_LETTER_M_I   0xA025
+#define  ALP_ORDER_BOPOMOFO_LETTER_M_I_EH   0xA026
+#define  ALP_ORDER_BOPOMOFO_LETTER_M_I_AU   0xA027
+#define  ALP_ORDER_BOPOMOFO_LETTER_M_I_OU   0xA028
+#define  ALP_ORDER_BOPOMOFO_LETTER_M_I_AN   0xA029
+#define  ALP_ORDER_BOPOMOFO_LETTER_M_I_EN   0xA02A
+#define  ALP_ORDER_BOPOMOFO_LETTER_M_I_ENG   0xA02B
+#define  ALP_ORDER_BOPOMOFO_LETTER_M_U   0xA02C
+#define  ALP_ORDER_BOPOMOFO_LETTER_M_A   0xA02D
+#define  ALP_ORDER_BOPOMOFO_LETTER_M_O   0xA02E
+#define  ALP_ORDER_BOPOMOFO_LETTER_M_E   0xA02F
+#define  ALP_ORDER_BOPOMOFO_LETTER_M_AI   0xA030
+#define  ALP_ORDER_BOPOMOFO_LETTER_M_EI   0xA031
+#define  ALP_ORDER_BOPOMOFO_LETTER_M_AU   0xA032
+#define  ALP_ORDER_BOPOMOFO_LETTER_M_OU   0xA033
+#define  ALP_ORDER_BOPOMOFO_LETTER_M_AN   0xA034
+#define  ALP_ORDER_BOPOMOFO_LETTER_M_EN   0xA035
+#define  ALP_ORDER_BOPOMOFO_LETTER_M_ANG   0xA036
+#define  ALP_ORDER_BOPOMOFO_LETTER_M_ENG   0xA037
+#define  ALP_ORDER_BOPOMOFO_LETTER_F   0xA038
+#define  ALP_ORDER_BOPOMOFO_LETTER_F_U   0xA039
+#define  ALP_ORDER_BOPOMOFO_LETTER_F_A   0xA03A
+#define  ALP_ORDER_BOPOMOFO_LETTER_F_O   0xA03B
+#define  ALP_ORDER_BOPOMOFO_LETTER_F_EI   0xA03C
+#define  ALP_ORDER_BOPOMOFO_LETTER_F_OU   0xA03D
+#define  ALP_ORDER_BOPOMOFO_LETTER_F_AN   0xA03E
+#define  ALP_ORDER_BOPOMOFO_LETTER_F_EN   0xA03F
+#define  ALP_ORDER_BOPOMOFO_LETTER_F_ANG   0xA040
+#define  ALP_ORDER_BOPOMOFO_LETTER_F_ENG   0xA041
+#define  ALP_ORDER_BOPOMOFO_LETTER_D   0xA042
+#define  ALP_ORDER_BOPOMOFO_LETTER_D_I   0xA043
+#define  ALP_ORDER_BOPOMOFO_LETTER_D_I_A   0xA044
+#define  ALP_ORDER_BOPOMOFO_LETTER_D_I_EH   0xA045
+#define  ALP_ORDER_BOPOMOFO_LETTER_D_I_AU   0xA046
+#define  ALP_ORDER_BOPOMOFO_LETTER_D_I_OU   0xA047
+#define  ALP_ORDER_BOPOMOFO_LETTER_D_I_AN   0xA048
+#define  ALP_ORDER_BOPOMOFO_LETTER_D_I_ENG   0xA049
+#define  ALP_ORDER_BOPOMOFO_LETTER_D_U   0xA04A
+#define  ALP_ORDER_BOPOMOFO_LETTER_D_U_O   0xA04B
+#define  ALP_ORDER_BOPOMOFO_LETTER_D_U_EI   0xA04C
+#define  ALP_ORDER_BOPOMOFO_LETTER_D_U_AN   0xA04D
+#define  ALP_ORDER_BOPOMOFO_LETTER_D_U_EN   0xA04E
+#define  ALP_ORDER_BOPOMOFO_LETTER_D_U_ENG   0xA04F
+#define  ALP_ORDER_BOPOMOFO_LETTER_D_A   0xA050
+#define  ALP_ORDER_BOPOMOFO_LETTER_D_E   0xA051
+#define  ALP_ORDER_BOPOMOFO_LETTER_D_AI   0xA052
+#define  ALP_ORDER_BOPOMOFO_LETTER_D_AU   0xA053
+#define  ALP_ORDER_BOPOMOFO_LETTER_D_OU   0xA054
+#define  ALP_ORDER_BOPOMOFO_LETTER_D_AN   0xA055
+#define  ALP_ORDER_BOPOMOFO_LETTER_D_ANG   0xA056
+#define  ALP_ORDER_BOPOMOFO_LETTER_D_ENG   0xA057
+#define  ALP_ORDER_BOPOMOFO_LETTER_T   0xA058
+#define  ALP_ORDER_BOPOMOFO_LETTER_T_I   0xA059
+#define  ALP_ORDER_BOPOMOFO_LETTER_T_I_EH   0xA05A
+#define  ALP_ORDER_BOPOMOFO_LETTER_T_I_AU   0xA05B
+#define  ALP_ORDER_BOPOMOFO_LETTER_T_I_AN   0xA05C
+#define  ALP_ORDER_BOPOMOFO_LETTER_T_I_ENG   0xA05D
+#define  ALP_ORDER_BOPOMOFO_LETTER_T_U   0xA05E
+#define  ALP_ORDER_BOPOMOFO_LETTER_T_U_O   0xA05F
+#define  ALP_ORDER_BOPOMOFO_LETTER_T_U_EI   0xA060
+#define  ALP_ORDER_BOPOMOFO_LETTER_T_U_AN   0xA061
+#define  ALP_ORDER_BOPOMOFO_LETTER_T_U_EN   0xA062
+#define  ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG   0xA063
+#define  ALP_ORDER_BOPOMOFO_LETTER_T_A   0xA064
+#define  ALP_ORDER_BOPOMOFO_LETTER_T_E   0xA065
+#define  ALP_ORDER_BOPOMOFO_LETTER_T_AI   0xA066
+#define  ALP_ORDER_BOPOMOFO_LETTER_T_AU   0xA067
+#define  ALP_ORDER_BOPOMOFO_LETTER_T_OU   0xA068
+#define  ALP_ORDER_BOPOMOFO_LETTER_T_AN   0xA069
+#define  ALP_ORDER_BOPOMOFO_LETTER_T_ANG   0xA06A
+#define  ALP_ORDER_BOPOMOFO_LETTER_T_ENG   0xA06B
+#define  ALP_ORDER_BOPOMOFO_LETTER_N   0xA06C
+#define  ALP_ORDER_BOPOMOFO_LETTER_N_I   0xA06D
+#define  ALP_ORDER_BOPOMOFO_LETTER_N_I_EH   0xA06E
+#define  ALP_ORDER_BOPOMOFO_LETTER_N_I_AU   0xA06F
+#define  ALP_ORDER_BOPOMOFO_LETTER_N_I_OU   0xA070
+#define  ALP_ORDER_BOPOMOFO_LETTER_N_I_AN   0xA071
+#define  ALP_ORDER_BOPOMOFO_LETTER_N_I_EN   0xA072
+#define  ALP_ORDER_BOPOMOFO_LETTER_N_I_ANG   0xA073
+#define  ALP_ORDER_BOPOMOFO_LETTER_N_I_ENG   0xA074
+#define  ALP_ORDER_BOPOMOFO_LETTER_N_U   0xA075
+#define  ALP_ORDER_BOPOMOFO_LETTER_N_U_O   0xA076
+#define  ALP_ORDER_BOPOMOFO_LETTER_N_U_AN   0xA077
+#define  ALP_ORDER_BOPOMOFO_LETTER_N_U_ENG   0xA078
+#define  ALP_ORDER_BOPOMOFO_LETTER_N_IU   0xA079
+#define  ALP_ORDER_BOPOMOFO_LETTER_N_IU_EH   0xA07A
+#define  ALP_ORDER_BOPOMOFO_LETTER_N_A   0xA07B
+#define  ALP_ORDER_BOPOMOFO_LETTER_N_E   0xA07C
+#define  ALP_ORDER_BOPOMOFO_LETTER_N_AI   0xA07D
+#define  ALP_ORDER_BOPOMOFO_LETTER_N_EI   0xA07E
+#define  ALP_ORDER_BOPOMOFO_LETTER_N_AU   0xA07F
+#define  ALP_ORDER_BOPOMOFO_LETTER_N_OU   0xA080
+#define  ALP_ORDER_BOPOMOFO_LETTER_N_AN   0xA081
+#define  ALP_ORDER_BOPOMOFO_LETTER_N_EN   0xA082
+#define  ALP_ORDER_BOPOMOFO_LETTER_N_ANG   0xA083
+#define  ALP_ORDER_BOPOMOFO_LETTER_N_ENG   0xA084
+#define  ALP_ORDER_BOPOMOFO_LETTER_L   0xA085
+#define  ALP_ORDER_BOPOMOFO_LETTER_L_I   0xA086
+#define  ALP_ORDER_BOPOMOFO_LETTER_L_I_EH   0xA087
+#define  ALP_ORDER_BOPOMOFO_LETTER_L_I_AU   0xA088
+#define  ALP_ORDER_BOPOMOFO_LETTER_L_I_OU   0xA089
+#define  ALP_ORDER_BOPOMOFO_LETTER_L_I_AN   0xA08A
+#define  ALP_ORDER_BOPOMOFO_LETTER_L_I_EN   0xA08B
+#define  ALP_ORDER_BOPOMOFO_LETTER_L_I_ANG   0xA08C
+#define  ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG   0xA08D
+#define  ALP_ORDER_BOPOMOFO_LETTER_L_U   0xA08E
+#define  ALP_ORDER_BOPOMOFO_LETTER_L_U_O   0xA08F
+#define  ALP_ORDER_BOPOMOFO_LETTER_L_U_AN   0xA090
+#define  ALP_ORDER_BOPOMOFO_LETTER_L_U_EN   0xA091
+#define  ALP_ORDER_BOPOMOFO_LETTER_L_U_ENG   0xA092
+#define  ALP_ORDER_BOPOMOFO_LETTER_L_IU   0xA093
+#define  ALP_ORDER_BOPOMOFO_LETTER_L_IU_EH   0xA094
+#define  ALP_ORDER_BOPOMOFO_LETTER_L_A   0xA095
+#define  ALP_ORDER_BOPOMOFO_LETTER_L_E   0xA096
+#define  ALP_ORDER_BOPOMOFO_LETTER_L_AI   0xA097
+#define  ALP_ORDER_BOPOMOFO_LETTER_L_EI   0xA098
+#define  ALP_ORDER_BOPOMOFO_LETTER_L_AU   0xA099
+#define  ALP_ORDER_BOPOMOFO_LETTER_L_OU   0xA09A
+#define  ALP_ORDER_BOPOMOFO_LETTER_L_AN   0xA09B
+#define  ALP_ORDER_BOPOMOFO_LETTER_L_ANG   0xA09C
+#define  ALP_ORDER_BOPOMOFO_LETTER_L_ENG   0xA09D
+#define  ALP_ORDER_BOPOMOFO_LETTER_G   0xA09E
+#define  ALP_ORDER_BOPOMOFO_LETTER_G_U   0xA09F
+#define  ALP_ORDER_BOPOMOFO_LETTER_G_U_A   0xA0A0
+#define  ALP_ORDER_BOPOMOFO_LETTER_G_U_O   0xA0A1
+#define  ALP_ORDER_BOPOMOFO_LETTER_G_U_AI   0xA0A2
+#define  ALP_ORDER_BOPOMOFO_LETTER_G_U_EI   0xA0A3
+#define  ALP_ORDER_BOPOMOFO_LETTER_G_U_AN   0xA0A4
+#define  ALP_ORDER_BOPOMOFO_LETTER_G_U_EN   0xA0A5
+#define  ALP_ORDER_BOPOMOFO_LETTER_G_U_ANG   0xA0A6
+#define  ALP_ORDER_BOPOMOFO_LETTER_G_U_ENG   0xA0A7
+#define  ALP_ORDER_BOPOMOFO_LETTER_G_A   0xA0A8
+#define  ALP_ORDER_BOPOMOFO_LETTER_G_E   0xA0A9
+#define  ALP_ORDER_BOPOMOFO_LETTER_G_AI   0xA0AA
+#define  ALP_ORDER_BOPOMOFO_LETTER_G_EI   0xA0AB
+#define  ALP_ORDER_BOPOMOFO_LETTER_G_AU   0xA0AC
+#define  ALP_ORDER_BOPOMOFO_LETTER_G_OU   0xA0AD
+#define  ALP_ORDER_BOPOMOFO_LETTER_G_AN   0xA0AE
+#define  ALP_ORDER_BOPOMOFO_LETTER_G_EN   0xA0AF
+#define  ALP_ORDER_BOPOMOFO_LETTER_G_ANG   0xA0B0
+#define  ALP_ORDER_BOPOMOFO_LETTER_G_ENG   0xA0B1
+#define  ALP_ORDER_BOPOMOFO_LETTER_K   0xA0B2
+#define  ALP_ORDER_BOPOMOFO_LETTER_K_U   0xA0B3
+#define  ALP_ORDER_BOPOMOFO_LETTER_K_U_A   0xA0B4
+#define  ALP_ORDER_BOPOMOFO_LETTER_K_U_O   0xA0B5
+#define  ALP_ORDER_BOPOMOFO_LETTER_K_U_AI   0xA0B6
+#define  ALP_ORDER_BOPOMOFO_LETTER_K_U_EI   0xA0B7
+#define  ALP_ORDER_BOPOMOFO_LETTER_K_U_AN   0xA0B8
+#define  ALP_ORDER_BOPOMOFO_LETTER_K_U_EN   0xA0B9
+#define  ALP_ORDER_BOPOMOFO_LETTER_K_U_ANG   0xA0BA
+#define  ALP_ORDER_BOPOMOFO_LETTER_K_U_ENG   0xA0BB
+#define  ALP_ORDER_BOPOMOFO_LETTER_K_A   0xA0BC
+#define  ALP_ORDER_BOPOMOFO_LETTER_K_E   0xA0BD
+#define  ALP_ORDER_BOPOMOFO_LETTER_K_EI   0xA0BE
+#define  ALP_ORDER_BOPOMOFO_LETTER_K_AU   0xA0BF
+#define  ALP_ORDER_BOPOMOFO_LETTER_K_OU   0xA0C0
+#define  ALP_ORDER_BOPOMOFO_LETTER_K_AN   0xA0C1
+#define  ALP_ORDER_BOPOMOFO_LETTER_K_EN   0xA0C2
+#define  ALP_ORDER_BOPOMOFO_LETTER_K_ANG   0xA0C3
+#define  ALP_ORDER_BOPOMOFO_LETTER_K_ENG   0xA0C4
+#define  ALP_ORDER_BOPOMOFO_LETTER_H   0xA0C5
+#define  ALP_ORDER_BOPOMOFO_LETTER_H_U   0xA0C6
+#define  ALP_ORDER_BOPOMOFO_LETTER_H_U_A   0xA0C7
+#define  ALP_ORDER_BOPOMOFO_LETTER_H_U_O   0xA0C8
+#define  ALP_ORDER_BOPOMOFO_LETTER_H_U_AI   0xA0C9
+#define  ALP_ORDER_BOPOMOFO_LETTER_H_U_EI   0xA0CA
+#define  ALP_ORDER_BOPOMOFO_LETTER_H_U_AN   0xA0CB
+#define  ALP_ORDER_BOPOMOFO_LETTER_H_U_EN   0xA0CC
+#define  ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG   0xA0CD
+#define  ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG   0xA0CE
+#define  ALP_ORDER_BOPOMOFO_LETTER_H_A   0xA0CF
+#define  ALP_ORDER_BOPOMOFO_LETTER_H_E   0xA0D0
+#define  ALP_ORDER_BOPOMOFO_LETTER_H_AI   0xA0D1
+#define  ALP_ORDER_BOPOMOFO_LETTER_H_EI   0xA0D2
+#define  ALP_ORDER_BOPOMOFO_LETTER_H_AU   0xA0D3
+#define  ALP_ORDER_BOPOMOFO_LETTER_H_OU   0xA0D4
+#define  ALP_ORDER_BOPOMOFO_LETTER_H_AN   0xA0D5
+#define  ALP_ORDER_BOPOMOFO_LETTER_H_EN   0xA0D6
+#define  ALP_ORDER_BOPOMOFO_LETTER_H_ANG   0xA0D7
+#define  ALP_ORDER_BOPOMOFO_LETTER_H_ENG   0xA0D8
+#define  ALP_ORDER_BOPOMOFO_LETTER_J   0xA0D9
+#define  ALP_ORDER_BOPOMOFO_LETTER_J_I   0xA0DA
+#define  ALP_ORDER_BOPOMOFO_LETTER_J_I_A   0xA0DB
+#define  ALP_ORDER_BOPOMOFO_LETTER_J_I_EH   0xA0DC
+#define  ALP_ORDER_BOPOMOFO_LETTER_J_I_AU   0xA0DD
+#define  ALP_ORDER_BOPOMOFO_LETTER_J_I_OU   0xA0DE
+#define  ALP_ORDER_BOPOMOFO_LETTER_J_I_AN   0xA0DF
+#define  ALP_ORDER_BOPOMOFO_LETTER_J_I_EN   0xA0E0
+#define  ALP_ORDER_BOPOMOFO_LETTER_J_I_ANG   0xA0E1
+#define  ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG   0xA0E2
+#define  ALP_ORDER_BOPOMOFO_LETTER_J_IU   0xA0E3
+#define  ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH   0xA0E4
+#define  ALP_ORDER_BOPOMOFO_LETTER_J_IU_AN   0xA0E5
+#define  ALP_ORDER_BOPOMOFO_LETTER_J_IU_EN   0xA0E6
+#define  ALP_ORDER_BOPOMOFO_LETTER_J_IU_ENG   0xA0E7
+#define  ALP_ORDER_BOPOMOFO_LETTER_Q   0xA0E8
+#define  ALP_ORDER_BOPOMOFO_LETTER_Q_I   0xA0E9
+#define  ALP_ORDER_BOPOMOFO_LETTER_Q_I_A   0xA0EA
+#define  ALP_ORDER_BOPOMOFO_LETTER_Q_I_EH   0xA0EB
+#define  ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU   0xA0EC
+#define  ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU   0xA0ED
+#define  ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN   0xA0EE
+#define  ALP_ORDER_BOPOMOFO_LETTER_Q_I_EN   0xA0EF
+#define  ALP_ORDER_BOPOMOFO_LETTER_Q_I_ANG   0xA0F0
+#define  ALP_ORDER_BOPOMOFO_LETTER_Q_I_ENG   0xA0F1
+#define  ALP_ORDER_BOPOMOFO_LETTER_Q_IU   0xA0F2
+#define  ALP_ORDER_BOPOMOFO_LETTER_Q_IU_EH   0xA0F3
+#define  ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN   0xA0F4
+#define  ALP_ORDER_BOPOMOFO_LETTER_Q_IU_EN   0xA0F5
+#define  ALP_ORDER_BOPOMOFO_LETTER_Q_IU_ENG   0xA0F6
+#define  ALP_ORDER_BOPOMOFO_LETTER_X   0xA0F7
+#define  ALP_ORDER_BOPOMOFO_LETTER_X_I   0xA0F8
+#define  ALP_ORDER_BOPOMOFO_LETTER_X_I_A   0xA0F9
+#define  ALP_ORDER_BOPOMOFO_LETTER_X_I_EH   0xA0FA
+#define  ALP_ORDER_BOPOMOFO_LETTER_X_I_AU   0xA0FB
+#define  ALP_ORDER_BOPOMOFO_LETTER_X_I_OU   0xA0FC
+#define  ALP_ORDER_BOPOMOFO_LETTER_X_I_AN   0xA0FD
+#define  ALP_ORDER_BOPOMOFO_LETTER_X_I_EN   0xA0FE
+#define  ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG   0xA0FF
+#define  ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG   0xA100
+#define  ALP_ORDER_BOPOMOFO_LETTER_X_IU   0xA101
+#define  ALP_ORDER_BOPOMOFO_LETTER_X_IU_EH   0xA102
+#define  ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN   0xA103
+#define  ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN   0xA104
+#define  ALP_ORDER_BOPOMOFO_LETTER_X_IU_ENG   0xA105
+#define  ALP_ORDER_BOPOMOFO_LETTER_ZH   0xA106
+#define  ALP_ORDER_BOPOMOFO_LETTER_ZH_U   0xA107
+#define  ALP_ORDER_BOPOMOFO_LETTER_ZH_U_A   0xA108
+#define  ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O   0xA109
+#define  ALP_ORDER_BOPOMOFO_LETTER_ZH_U_AI   0xA10A
+#define  ALP_ORDER_BOPOMOFO_LETTER_ZH_U_EI   0xA10B
+#define  ALP_ORDER_BOPOMOFO_LETTER_ZH_U_AN   0xA10C
+#define  ALP_ORDER_BOPOMOFO_LETTER_ZH_U_EN   0xA10D
+#define  ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ANG   0xA10E
+#define  ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ENG   0xA10F
+#define  ALP_ORDER_BOPOMOFO_LETTER_ZH_A   0xA110
+#define  ALP_ORDER_BOPOMOFO_LETTER_ZH_E   0xA111
+#define  ALP_ORDER_BOPOMOFO_LETTER_ZH_AI   0xA112
+#define  ALP_ORDER_BOPOMOFO_LETTER_ZH_AU   0xA113
+#define  ALP_ORDER_BOPOMOFO_LETTER_ZH_OU   0xA114
+#define  ALP_ORDER_BOPOMOFO_LETTER_ZH_AN   0xA115
+#define  ALP_ORDER_BOPOMOFO_LETTER_ZH_EN   0xA116
+#define  ALP_ORDER_BOPOMOFO_LETTER_ZH_ANG   0xA117
+#define  ALP_ORDER_BOPOMOFO_LETTER_ZH_ENG   0xA118
+#define  ALP_ORDER_BOPOMOFO_LETTER_CH   0xA119
+#define  ALP_ORDER_BOPOMOFO_LETTER_CH_U   0xA11A
+#define  ALP_ORDER_BOPOMOFO_LETTER_CH_U_O   0xA11B
+#define  ALP_ORDER_BOPOMOFO_LETTER_CH_U_AI   0xA11C
+#define  ALP_ORDER_BOPOMOFO_LETTER_CH_U_EI   0xA11D
+#define  ALP_ORDER_BOPOMOFO_LETTER_CH_U_AN   0xA11E
+#define  ALP_ORDER_BOPOMOFO_LETTER_CH_U_EN   0xA11F
+#define  ALP_ORDER_BOPOMOFO_LETTER_CH_U_ANG   0xA120
+#define  ALP_ORDER_BOPOMOFO_LETTER_CH_U_ENG   0xA121
+#define  ALP_ORDER_BOPOMOFO_LETTER_CH_A   0xA122
+#define  ALP_ORDER_BOPOMOFO_LETTER_CH_E   0xA123
+#define  ALP_ORDER_BOPOMOFO_LETTER_CH_AI   0xA124
+#define  ALP_ORDER_BOPOMOFO_LETTER_CH_AU   0xA125
+#define  ALP_ORDER_BOPOMOFO_LETTER_CH_OU   0xA126
+#define  ALP_ORDER_BOPOMOFO_LETTER_CH_AN   0xA127
+#define  ALP_ORDER_BOPOMOFO_LETTER_CH_EN   0xA128
+#define  ALP_ORDER_BOPOMOFO_LETTER_CH_ANG   0xA129
+#define  ALP_ORDER_BOPOMOFO_LETTER_CH_ENG   0xA12A
+#define  ALP_ORDER_BOPOMOFO_LETTER_SH   0xA12B
+#define  ALP_ORDER_BOPOMOFO_LETTER_SH_U   0xA12C
+#define  ALP_ORDER_BOPOMOFO_LETTER_SH_U_A   0xA12D
+#define  ALP_ORDER_BOPOMOFO_LETTER_SH_U_O   0xA12E
+#define  ALP_ORDER_BOPOMOFO_LETTER_SH_U_AI   0xA12F
+#define  ALP_ORDER_BOPOMOFO_LETTER_SH_U_EI   0xA130
+#define  ALP_ORDER_BOPOMOFO_LETTER_SH_U_AN   0xA131
+#define  ALP_ORDER_BOPOMOFO_LETTER_SH_U_EN   0xA132
+#define  ALP_ORDER_BOPOMOFO_LETTER_SH_U_ANG   0xA133
+#define  ALP_ORDER_BOPOMOFO_LETTER_SH_A   0xA134
+#define  ALP_ORDER_BOPOMOFO_LETTER_SH_E   0xA135
+#define  ALP_ORDER_BOPOMOFO_LETTER_SH_AI   0xA136
+#define  ALP_ORDER_BOPOMOFO_LETTER_SH_EI   0xA137
+#define  ALP_ORDER_BOPOMOFO_LETTER_SH_AU   0xA138
+#define  ALP_ORDER_BOPOMOFO_LETTER_SH_OU   0xA139
+#define  ALP_ORDER_BOPOMOFO_LETTER_SH_AN   0xA13A
+#define  ALP_ORDER_BOPOMOFO_LETTER_SH_EN   0xA13B
+#define  ALP_ORDER_BOPOMOFO_LETTER_SH_ANG   0xA13C
+#define  ALP_ORDER_BOPOMOFO_LETTER_SH_ENG   0xA13D
+#define  ALP_ORDER_BOPOMOFO_LETTER_R   0xA13E
+#define  ALP_ORDER_BOPOMOFO_LETTER_R_U   0xA13F
+#define  ALP_ORDER_BOPOMOFO_LETTER_R_U_O   0xA140
+#define  ALP_ORDER_BOPOMOFO_LETTER_R_U_EI   0xA141
+#define  ALP_ORDER_BOPOMOFO_LETTER_R_U_AN   0xA142
+#define  ALP_ORDER_BOPOMOFO_LETTER_R_U_EN   0xA143
+#define  ALP_ORDER_BOPOMOFO_LETTER_R_U_ENG   0xA144
+#define  ALP_ORDER_BOPOMOFO_LETTER_R_E   0xA145
+#define  ALP_ORDER_BOPOMOFO_LETTER_R_AU   0xA146
+#define  ALP_ORDER_BOPOMOFO_LETTER_R_OU   0xA147
+#define  ALP_ORDER_BOPOMOFO_LETTER_R_AN   0xA148
+#define  ALP_ORDER_BOPOMOFO_LETTER_R_EN   0xA149
+#define  ALP_ORDER_BOPOMOFO_LETTER_R_ANG   0xA14A
+#define  ALP_ORDER_BOPOMOFO_LETTER_R_ENG   0xA14B
+#define  ALP_ORDER_BOPOMOFO_LETTER_Z   0xA14C
+#define  ALP_ORDER_BOPOMOFO_LETTER_Z_U   0xA14D
+#define  ALP_ORDER_BOPOMOFO_LETTER_Z_U_O   0xA14E
+#define  ALP_ORDER_BOPOMOFO_LETTER_Z_U_EI   0xA14F
+#define  ALP_ORDER_BOPOMOFO_LETTER_Z_U_AN   0xA150
+#define  ALP_ORDER_BOPOMOFO_LETTER_Z_U_EN   0xA151
+#define  ALP_ORDER_BOPOMOFO_LETTER_Z_U_ENG   0xA152
+#define  ALP_ORDER_BOPOMOFO_LETTER_Z_A   0xA153
+#define  ALP_ORDER_BOPOMOFO_LETTER_Z_E   0xA154
+#define  ALP_ORDER_BOPOMOFO_LETTER_Z_AI   0xA155
+#define  ALP_ORDER_BOPOMOFO_LETTER_Z_EI   0xA156
+#define  ALP_ORDER_BOPOMOFO_LETTER_Z_AU   0xA157
+#define  ALP_ORDER_BOPOMOFO_LETTER_Z_OU   0xA158
+#define  ALP_ORDER_BOPOMOFO_LETTER_Z_AN   0xA159
+#define  ALP_ORDER_BOPOMOFO_LETTER_Z_EN   0xA15A
+#define  ALP_ORDER_BOPOMOFO_LETTER_Z_ANG   0xA15B
+#define  ALP_ORDER_BOPOMOFO_LETTER_Z_ENG   0xA15C
+#define  ALP_ORDER_BOPOMOFO_LETTER_C   0xA15D
+#define  ALP_ORDER_BOPOMOFO_LETTER_C_U   0xA15E
+#define  ALP_ORDER_BOPOMOFO_LETTER_C_U_O   0xA15F
+#define  ALP_ORDER_BOPOMOFO_LETTER_C_U_EI   0xA160
+#define          ALP_ORDER_BOPOMOFO_LETTER_C_U_AN   0xA161
+#define          ALP_ORDER_BOPOMOFO_LETTER_C_U_EN   0xA162
+#define          ALP_ORDER_BOPOMOFO_LETTER_C_U_ENG   0xA163
+#define          ALP_ORDER_BOPOMOFO_LETTER_C_A   0xA164
+#define          ALP_ORDER_BOPOMOFO_LETTER_C_E   0xA165
+#define          ALP_ORDER_BOPOMOFO_LETTER_C_AI   0xA166
+#define          ALP_ORDER_BOPOMOFO_LETTER_C_AU   0xA167
+#define          ALP_ORDER_BOPOMOFO_LETTER_C_OU   0xA168
+#define          ALP_ORDER_BOPOMOFO_LETTER_C_AN   0xA169
+#define          ALP_ORDER_BOPOMOFO_LETTER_C_EN   0xA16A
+#define          ALP_ORDER_BOPOMOFO_LETTER_C_ANG   0xA16B
+#define          ALP_ORDER_BOPOMOFO_LETTER_C_ENG   0xA16C
+#define          ALP_ORDER_BOPOMOFO_LETTER_S   0xA16D
+#define          ALP_ORDER_BOPOMOFO_LETTER_S_U   0xA16E
+#define          ALP_ORDER_BOPOMOFO_LETTER_S_U_O   0xA16F
+#define          ALP_ORDER_BOPOMOFO_LETTER_S_U_EI   0xA170
+#define          ALP_ORDER_BOPOMOFO_LETTER_S_U_AN   0xA171
+#define          ALP_ORDER_BOPOMOFO_LETTER_S_U_EN   0xA172
+#define          ALP_ORDER_BOPOMOFO_LETTER_S_U_ENG   0xA173
+#define          ALP_ORDER_BOPOMOFO_LETTER_S_A   0xA174
+#define          ALP_ORDER_BOPOMOFO_LETTER_S_E   0xA175
+#define          ALP_ORDER_BOPOMOFO_LETTER_S_AI   0xA176
+#define          ALP_ORDER_BOPOMOFO_LETTER_S_AU   0xA177
+#define          ALP_ORDER_BOPOMOFO_LETTER_S_OU   0xA178
+#define          ALP_ORDER_BOPOMOFO_LETTER_S_AN   0xA179
+#define          ALP_ORDER_BOPOMOFO_LETTER_S_EN   0xA17A
+#define          ALP_ORDER_BOPOMOFO_LETTER_S_ANG   0xA17B
+#define          ALP_ORDER_BOPOMOFO_LETTER_S_ENG   0xA17C
+#define          ALP_ORDER_BOPOMOFO_LETTER_I   0xA17D
+#define          ALP_ORDER_BOPOMOFO_LETTER_I_A   0xA17E
+#define          ALP_ORDER_BOPOMOFO_LETTER_I_O   0xA17F
+#define          ALP_ORDER_BOPOMOFO_LETTER_I_EH   0xA180
+#define          ALP_ORDER_BOPOMOFO_LETTER_I_AI   0xA181
+#define          ALP_ORDER_BOPOMOFO_LETTER_I_AU   0xA182
+#define          ALP_ORDER_BOPOMOFO_LETTER_I_OU   0xA183
+#define          ALP_ORDER_BOPOMOFO_LETTER_I_AN   0xA184
+#define          ALP_ORDER_BOPOMOFO_LETTER_I_EN   0xA185
+#define          ALP_ORDER_BOPOMOFO_LETTER_I_ANG   0xA186
+#define          ALP_ORDER_BOPOMOFO_LETTER_I_ENG   0xA187
+#define          ALP_ORDER_BOPOMOFO_LETTER_U   0xA188
+#define          ALP_ORDER_BOPOMOFO_LETTER_U_A   0xA189
+#define          ALP_ORDER_BOPOMOFO_LETTER_U_O   0xA18A
+#define          ALP_ORDER_BOPOMOFO_LETTER_U_AI   0xA18B
+#define          ALP_ORDER_BOPOMOFO_LETTER_U_EI   0xA18C
+#define          ALP_ORDER_BOPOMOFO_LETTER_U_AN   0xA18D
+#define          ALP_ORDER_BOPOMOFO_LETTER_U_EN   0xA18E
+#define          ALP_ORDER_BOPOMOFO_LETTER_U_ANG   0xA18F
+#define          ALP_ORDER_BOPOMOFO_LETTER_U_ENG   0xA190
+#define          ALP_ORDER_BOPOMOFO_LETTER_IU   0xA191
+#define          ALP_ORDER_BOPOMOFO_LETTER_IU_EH   0xA192
+#define          ALP_ORDER_BOPOMOFO_LETTER_IU_AN   0xA193
+#define          ALP_ORDER_BOPOMOFO_LETTER_IU_EN   0xA194
+#define          ALP_ORDER_BOPOMOFO_LETTER_IU_ENG   0xA195
+#define          ALP_ORDER_BOPOMOFO_LETTER_A   0xA196
+#define          ALP_ORDER_BOPOMOFO_LETTER_O   0xA197
+#define          ALP_ORDER_BOPOMOFO_LETTER_E   0xA198
+#define          ALP_ORDER_BOPOMOFO_LETTER_AI   0xA199
+#define          ALP_ORDER_BOPOMOFO_LETTER_EI   0xA19A
+#define          ALP_ORDER_BOPOMOFO_LETTER_AU   0xA19B
+#define          ALP_ORDER_BOPOMOFO_LETTER_OU   0xA19C
+#define          ALP_ORDER_BOPOMOFO_LETTER_AN   0xA19D
+#define          ALP_ORDER_BOPOMOFO_LETTER_EN   0xA19E
+#define          ALP_ORDER_BOPOMOFO_LETTER_ANG   0xA19F
+#define          ALP_ORDER_BOPOMOFO_LETTER_ENG   0xA1A0
+#define          ALP_ORDER_BOPOMOFO_LETTER_ER   0xA1A1
+#define          ALP_ORDER_BOPOMOFO_LETTER_EH   0xA1A2
+
+static han_map HANZI_TO_BPMF_MAP_1[] = {
+       { 0x4e00, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x4e01, ALP_ORDER_BOPOMOFO_LETTER_D_I_ENG },
+       { 0x4e03, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x4e07, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x4e08, ALP_ORDER_BOPOMOFO_LETTER_ZH_ANG },
+       { 0x4e09, ALP_ORDER_BOPOMOFO_LETTER_S_AN },
+       { 0x4e0a, ALP_ORDER_BOPOMOFO_LETTER_SH_ANG },
+       { 0x4e0b, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x4e0c, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x4e0d, ALP_ORDER_BOPOMOFO_LETTER_B_U },
+       { 0x4e0e, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x4e0f, ALP_ORDER_BOPOMOFO_LETTER_M_I_AN },
+       { 0x4e10, ALP_ORDER_BOPOMOFO_LETTER_G_AI },
+       { 0x4e11, ALP_ORDER_BOPOMOFO_LETTER_CH_OU },
+       { 0x4e14, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EH },
+       { 0x4e15, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x4e16, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x4e18, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x4e19, ALP_ORDER_BOPOMOFO_LETTER_B_I_ENG },
+       { 0x4e1e, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x4e1f, ALP_ORDER_BOPOMOFO_LETTER_D_I_OU },
+       { 0x4e26, ALP_ORDER_BOPOMOFO_LETTER_B_I_ENG },
+       { 0x4e2b, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x4e2d, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ENG },
+       { 0x4e2e, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x4e30, ALP_ORDER_BOPOMOFO_LETTER_F_ENG },
+       { 0x4e31, ALP_ORDER_BOPOMOFO_LETTER_G_U_AN },
+       { 0x4e32, ALP_ORDER_BOPOMOFO_LETTER_CH_U_AN },
+       { 0x4e33, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x4e38, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x4e39, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x4e3b, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x4e3c, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x4e42, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x4e43, ALP_ORDER_BOPOMOFO_LETTER_N_AI },
+       { 0x4e45, ALP_ORDER_BOPOMOFO_LETTER_J_I_OU },
+       { 0x4e47, ALP_ORDER_BOPOMOFO_LETTER_ZH_E },
+       { 0x4e48, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x4e4b, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x4e4d, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x4e4e, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x4e4f, ALP_ORDER_BOPOMOFO_LETTER_F_A },
+       { 0x4e52, ALP_ORDER_BOPOMOFO_LETTER_P_I_ENG },
+       { 0x4e53, ALP_ORDER_BOPOMOFO_LETTER_P_ANG },
+       { 0x4e56, ALP_ORDER_BOPOMOFO_LETTER_G_U_AI },
+       { 0x4e58, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x4e59, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x4e5c, ALP_ORDER_BOPOMOFO_LETTER_M_I_EH },
+       { 0x4e5d, ALP_ORDER_BOPOMOFO_LETTER_J_I_OU },
+       { 0x4e5e, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x4e5f, ALP_ORDER_BOPOMOFO_LETTER_I_EH },
+       { 0x4e69, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x4e73, ALP_ORDER_BOPOMOFO_LETTER_R_U },
+       { 0x4e7e, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x4e7f, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x4e82, ALP_ORDER_BOPOMOFO_LETTER_L_U_AN },
+       { 0x4e83, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x4e84, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x4e86, ALP_ORDER_BOPOMOFO_LETTER_L_E },
+       { 0x4e88, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x4e8b, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x4e8c, ALP_ORDER_BOPOMOFO_LETTER_ER },
+       { 0x4e8d, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x4e8e, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x4e91, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x4e92, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x4e93, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x4e94, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x4e95, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x4e99, ALP_ORDER_BOPOMOFO_LETTER_G_EN },
+       { 0x4e9b, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x4e9e, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x4e9f, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x4ea1, ALP_ORDER_BOPOMOFO_LETTER_U_ANG },
+       { 0x4ea2, ALP_ORDER_BOPOMOFO_LETTER_K_ANG },
+       { 0x4ea4, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x4ea5, ALP_ORDER_BOPOMOFO_LETTER_H_AI },
+       { 0x4ea6, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x4ea8, ALP_ORDER_BOPOMOFO_LETTER_H_ENG },
+       { 0x4eab, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x4eac, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x4ead, ALP_ORDER_BOPOMOFO_LETTER_T_I_ENG },
+       { 0x4eae, ALP_ORDER_BOPOMOFO_LETTER_L_I_ANG },
+       { 0x4eb3, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x4eb6, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x4eb9, ALP_ORDER_BOPOMOFO_LETTER_M_EN },
+       { 0x4eba, ALP_ORDER_BOPOMOFO_LETTER_R_EN },
+       { 0x4ec0, ALP_ORDER_BOPOMOFO_LETTER_SH_E },
+       { 0x4ec1, ALP_ORDER_BOPOMOFO_LETTER_R_EN },
+       { 0x4ec2, ALP_ORDER_BOPOMOFO_LETTER_L_E },
+       { 0x4ec3, ALP_ORDER_BOPOMOFO_LETTER_D_I_ENG },
+       { 0x4ec4, ALP_ORDER_BOPOMOFO_LETTER_Z_E },
+       { 0x4ec6, ALP_ORDER_BOPOMOFO_LETTER_P_U },
+       { 0x4ec7, ALP_ORDER_BOPOMOFO_LETTER_CH_OU },
+       { 0x4ec8, ALP_ORDER_BOPOMOFO_LETTER_B_A },
+       { 0x4ec9, ALP_ORDER_BOPOMOFO_LETTER_ZH_ANG },
+       { 0x4eca, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x4ecb, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x4ecd, ALP_ORDER_BOPOMOFO_LETTER_R_ENG },
+       { 0x4ed4, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x4ed5, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x4ed6, ALP_ORDER_BOPOMOFO_LETTER_T_A },
+       { 0x4ed7, ALP_ORDER_BOPOMOFO_LETTER_ZH_ANG },
+       { 0x4ed8, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x4ed9, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x4eda, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x4edc, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x4edd, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x4ede, ALP_ORDER_BOPOMOFO_LETTER_R_EN },
+       { 0x4edf, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x4ee1, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x4ee3, ALP_ORDER_BOPOMOFO_LETTER_D_AI },
+       { 0x4ee4, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x4ee5, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x4ee8, ALP_ORDER_BOPOMOFO_LETTER_S_A },
+       { 0x4ee9, ALP_ORDER_BOPOMOFO_LETTER_SH_ANG },
+       { 0x4ef0, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x4ef1, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x4ef2, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ENG },
+       { 0x4ef3, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x4ef4, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x4ef5, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x4ef6, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x4ef7, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x4efb, ALP_ORDER_BOPOMOFO_LETTER_R_EN },
+       { 0x4efd, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x4eff, ALP_ORDER_BOPOMOFO_LETTER_F_ANG },
+       { 0x4f00, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ENG },
+       { 0x4f01, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x4f02, ALP_ORDER_BOPOMOFO_LETTER_P_EI },
+       { 0x4f04, ALP_ORDER_BOPOMOFO_LETTER_D_I_AU },
+       { 0x4f05, ALP_ORDER_BOPOMOFO_LETTER_D_U_EN },
+       { 0x4f08, ALP_ORDER_BOPOMOFO_LETTER_X_I_EN },
+       { 0x4f09, ALP_ORDER_BOPOMOFO_LETTER_K_ANG },
+       { 0x4f0a, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x4f0b, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x4f0d, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x4f0e, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x4f0f, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x4f10, ALP_ORDER_BOPOMOFO_LETTER_F_A },
+       { 0x4f11, ALP_ORDER_BOPOMOFO_LETTER_X_I_OU },
+       { 0x4f12, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x4f13, ALP_ORDER_BOPOMOFO_LETTER_B_EI },
+       { 0x4f14, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x4f15, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x4f18, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x4f19, ALP_ORDER_BOPOMOFO_LETTER_H_U_O },
+       { 0x4f1d, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x4f22, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x4f2c, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x4f2d, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x4f2f, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x4f30, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x4f33, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x4f34, ALP_ORDER_BOPOMOFO_LETTER_B_AN },
+       { 0x4f36, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x4f38, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x4f3a, ALP_ORDER_BOPOMOFO_LETTER_C },
+       { 0x4f3b, ALP_ORDER_BOPOMOFO_LETTER_B_ENG },
+       { 0x4f3c, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x4f3d, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x4f3e, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x4f3f, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x4f41, ALP_ORDER_BOPOMOFO_LETTER_AI },
+       { 0x4f43, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x4f46, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x4f47, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x4f48, ALP_ORDER_BOPOMOFO_LETTER_B_U },
+       { 0x4f49, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x4f4c, ALP_ORDER_BOPOMOFO_LETTER_C },
+       { 0x4f4d, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x4f4e, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x4f4f, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x4f50, ALP_ORDER_BOPOMOFO_LETTER_Z_U_O },
+       { 0x4f51, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x4f52, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x4f53, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x4f54, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x4f55, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x4f56, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x4f57, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x4f58, ALP_ORDER_BOPOMOFO_LETTER_SH_E },
+       { 0x4f59, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x4f5a, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x4f5b, ALP_ORDER_BOPOMOFO_LETTER_F_O },
+       { 0x4f5c, ALP_ORDER_BOPOMOFO_LETTER_Z_U_O },
+       { 0x4f5d, ALP_ORDER_BOPOMOFO_LETTER_K_OU },
+       { 0x4f5e, ALP_ORDER_BOPOMOFO_LETTER_N_I_ENG },
+       { 0x4f5f, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x4f60, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x4f61, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x4f62, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x4f63, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x4f64, ALP_ORDER_BOPOMOFO_LETTER_U_A },
+       { 0x4f67, ALP_ORDER_BOPOMOFO_LETTER_K_A },
+       { 0x4f69, ALP_ORDER_BOPOMOFO_LETTER_P_EI },
+       { 0x4f6a, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x4f6b, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x4f6c, ALP_ORDER_BOPOMOFO_LETTER_L_AU },
+       { 0x4f6e, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x4f6f, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x4f70, ALP_ORDER_BOPOMOFO_LETTER_B_AI },
+       { 0x4f73, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x4f74, ALP_ORDER_BOPOMOFO_LETTER_ER },
+       { 0x4f75, ALP_ORDER_BOPOMOFO_LETTER_B_I_ENG },
+       { 0x4f76, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x4f77, ALP_ORDER_BOPOMOFO_LETTER_H_ENG },
+       { 0x4f78, ALP_ORDER_BOPOMOFO_LETTER_H_U_O },
+       { 0x4f79, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x4f7a, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x4f7b, ALP_ORDER_BOPOMOFO_LETTER_T_I_AU },
+       { 0x4f7c, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x4f7d, ALP_ORDER_BOPOMOFO_LETTER_C },
+       { 0x4f7e, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x4f7f, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x4f80, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x4f81, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x4f82, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x4f83, ALP_ORDER_BOPOMOFO_LETTER_K_AN },
+       { 0x4f84, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x4f85, ALP_ORDER_BOPOMOFO_LETTER_G_AI },
+       { 0x4f86, ALP_ORDER_BOPOMOFO_LETTER_L_AI },
+       { 0x4f87, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x4f88, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x4f89, ALP_ORDER_BOPOMOFO_LETTER_K_U_A },
+       { 0x4f8b, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x4f8d, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x4f8f, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x4f90, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x4f91, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x4f92, ALP_ORDER_BOPOMOFO_LETTER_AN },
+       { 0x4f94, ALP_ORDER_BOPOMOFO_LETTER_M_OU },
+       { 0x4f95, ALP_ORDER_BOPOMOFO_LETTER_ER },
+       { 0x4f96, ALP_ORDER_BOPOMOFO_LETTER_L_U_EN },
+       { 0x4f97, ALP_ORDER_BOPOMOFO_LETTER_D_U_ENG },
+       { 0x4f98, ALP_ORDER_BOPOMOFO_LETTER_CH_A },
+       { 0x4f9a, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x4f9b, ALP_ORDER_BOPOMOFO_LETTER_G_U_ENG },
+       { 0x4f9c, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x4f9d, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x4f9e, ALP_ORDER_BOPOMOFO_LETTER_R_U },
+       { 0x4fae, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x4faf, ALP_ORDER_BOPOMOFO_LETTER_H_OU },
+       { 0x4fb2, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x4fb3, ALP_ORDER_BOPOMOFO_LETTER_C_U_O },
+       { 0x4fb5, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EN },
+       { 0x4fb6, ALP_ORDER_BOPOMOFO_LETTER_L_IU },
+       { 0x4fb7, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x4fb9, ALP_ORDER_BOPOMOFO_LETTER_T_I_ENG },
+       { 0x4fba, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x4fbb, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x4fbf, ALP_ORDER_BOPOMOFO_LETTER_B_I_AN },
+       { 0x4fc0, ALP_ORDER_BOPOMOFO_LETTER_T_U_EI },
+       { 0x4fc1, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x4fc2, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x4fc3, ALP_ORDER_BOPOMOFO_LETTER_C_U },
+       { 0x4fc4, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x4fc5, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x4fc7, ALP_ORDER_BOPOMOFO_LETTER_G_U_ANG },
+       { 0x4fc9, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x4fca, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EN },
+       { 0x4fcb, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x4fcd, ALP_ORDER_BOPOMOFO_LETTER_L_I_ANG },
+       { 0x4fce, ALP_ORDER_BOPOMOFO_LETTER_Z_U },
+       { 0x4fcf, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x4fd0, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x4fd1, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x4fd3, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x4fd4, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x4fd6, ALP_ORDER_BOPOMOFO_LETTER_P_AI },
+       { 0x4fd7, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x4fd8, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x4fd9, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x4fda, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x4fdb, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x4fdc, ALP_ORDER_BOPOMOFO_LETTER_P_I_ENG },
+       { 0x4fdd, ALP_ORDER_BOPOMOFO_LETTER_B_AU },
+       { 0x4fde, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x4fdf, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x4fe0, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x4fe1, ALP_ORDER_BOPOMOFO_LETTER_X_I_EN },
+       { 0x4fec, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x4fee, ALP_ORDER_BOPOMOFO_LETTER_X_I_OU },
+       { 0x4fef, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x4ff1, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x4ff3, ALP_ORDER_BOPOMOFO_LETTER_P_AI },
+       { 0x4ff4, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x4ff5, ALP_ORDER_BOPOMOFO_LETTER_B_I_AU },
+       { 0x4ff6, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x4ff7, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x4ff8, ALP_ORDER_BOPOMOFO_LETTER_F_ENG },
+       { 0x4ffa, ALP_ORDER_BOPOMOFO_LETTER_AN },
+       { 0x4ffe, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x5000, ALP_ORDER_BOPOMOFO_LETTER_CH_ANG },
+       { 0x5005, ALP_ORDER_BOPOMOFO_LETTER_C_U_EI },
+       { 0x5006, ALP_ORDER_BOPOMOFO_LETTER_L_I_ANG },
+       { 0x5007, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x5009, ALP_ORDER_BOPOMOFO_LETTER_C_ANG },
+       { 0x500b, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x500c, ALP_ORDER_BOPOMOFO_LETTER_G_U_AN },
+       { 0x500d, ALP_ORDER_BOPOMOFO_LETTER_B_EI },
+       { 0x500e, ALP_ORDER_BOPOMOFO_LETTER_T_I_AN },
+       { 0x500f, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x5011, ALP_ORDER_BOPOMOFO_LETTER_M_EN },
+       { 0x5012, ALP_ORDER_BOPOMOFO_LETTER_D_AU },
+       { 0x5013, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x5014, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x5015, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EI },
+       { 0x5016, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x5017, ALP_ORDER_BOPOMOFO_LETTER_P_ENG },
+       { 0x5018, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x5019, ALP_ORDER_BOPOMOFO_LETTER_H_OU },
+       { 0x501a, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x501b, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x501c, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x501e, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x501f, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x5020, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x5021, ALP_ORDER_BOPOMOFO_LETTER_CH_ANG },
+       { 0x5022, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x5023, ALP_ORDER_BOPOMOFO_LETTER_F_ANG },
+       { 0x5025, ALP_ORDER_BOPOMOFO_LETTER_K_U_ENG },
+       { 0x5026, ALP_ORDER_BOPOMOFO_LETTER_J_IU_AN },
+       { 0x5027, ALP_ORDER_BOPOMOFO_LETTER_Z_U_ENG },
+       { 0x5028, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x5029, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x502a, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x502b, ALP_ORDER_BOPOMOFO_LETTER_L_U_EN },
+       { 0x502c, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O },
+       { 0x502d, ALP_ORDER_BOPOMOFO_LETTER_U_O },
+       { 0x502f, ALP_ORDER_BOPOMOFO_LETTER_S_U_ENG },
+       { 0x5030, ALP_ORDER_BOPOMOFO_LETTER_L_ENG },
+       { 0x5031, ALP_ORDER_BOPOMOFO_LETTER_H_U_EN },
+       { 0x5033, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x5035, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x5037, ALP_ORDER_BOPOMOFO_LETTER_N_AI },
+       { 0x503c, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x5040, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x5041, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x5043, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x5045, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ENG },
+       { 0x5046, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EN },
+       { 0x5047, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x5048, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x5049, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x504a, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x504b, ALP_ORDER_BOPOMOFO_LETTER_B_I_ENG },
+       { 0x504c, ALP_ORDER_BOPOMOFO_LETTER_R_U_O },
+       { 0x504d, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x504e, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x504f, ALP_ORDER_BOPOMOFO_LETTER_P_I_AN },
+       { 0x5051, ALP_ORDER_BOPOMOFO_LETTER_F_ENG },
+       { 0x5053, ALP_ORDER_BOPOMOFO_LETTER_U_O },
+       { 0x5055, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x5057, ALP_ORDER_BOPOMOFO_LETTER_SH_ENG },
+       { 0x505a, ALP_ORDER_BOPOMOFO_LETTER_Z_U_O },
+       { 0x505b, ALP_ORDER_BOPOMOFO_LETTER_CH_A },
+       { 0x505c, ALP_ORDER_BOPOMOFO_LETTER_T_I_ENG },
+       { 0x505d, ALP_ORDER_BOPOMOFO_LETTER_B_EI },
+       { 0x505e, ALP_ORDER_BOPOMOFO_LETTER_I_EH },
+       { 0x505f, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x5060, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x5061, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x5062, ALP_ORDER_BOPOMOFO_LETTER_CH_OU },
+       { 0x5063, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x5064, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x5065, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x5068, ALP_ORDER_BOPOMOFO_LETTER_CH_AI },
+       { 0x5069, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x506a, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x506b, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x506d, ALP_ORDER_BOPOMOFO_LETTER_M_I_AN },
+       { 0x506e, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x506f, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x5070, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x5072, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x5073, ALP_ORDER_BOPOMOFO_LETTER_D_U_AN },
+       { 0x5074, ALP_ORDER_BOPOMOFO_LETTER_C_E },
+       { 0x5075, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x5076, ALP_ORDER_BOPOMOFO_LETTER_OU },
+       { 0x5077, ALP_ORDER_BOPOMOFO_LETTER_T_OU },
+       { 0x507a, ALP_ORDER_BOPOMOFO_LETTER_Z_A },
+       { 0x507d, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x5080, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x5082, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x5083, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x5085, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x5087, ALP_ORDER_BOPOMOFO_LETTER_R_U_ENG },
+       { 0x508b, ALP_ORDER_BOPOMOFO_LETTER_G_OU },
+       { 0x508c, ALP_ORDER_BOPOMOFO_LETTER_M_A },
+       { 0x508d, ALP_ORDER_BOPOMOFO_LETTER_B_ANG },
+       { 0x508e, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x5091, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x5092, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x5094, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x5095, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x5096, ALP_ORDER_BOPOMOFO_LETTER_C_ANG },
+       { 0x5098, ALP_ORDER_BOPOMOFO_LETTER_S_AN },
+       { 0x5099, ALP_ORDER_BOPOMOFO_LETTER_B_EI },
+       { 0x509a, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x509b, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x509c, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x509d, ALP_ORDER_BOPOMOFO_LETTER_T_A },
+       { 0x509e, ALP_ORDER_BOPOMOFO_LETTER_S_U_O },
+       { 0x50a2, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x50a3, ALP_ORDER_BOPOMOFO_LETTER_D_AI },
+       { 0x50ac, ALP_ORDER_BOPOMOFO_LETTER_C_U_EI },
+       { 0x50ad, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x50ae, ALP_ORDER_BOPOMOFO_LETTER_Z_AU },
+       { 0x50af, ALP_ORDER_BOPOMOFO_LETTER_Z_U_ENG },
+       { 0x50b0, ALP_ORDER_BOPOMOFO_LETTER_P_ENG },
+       { 0x50b1, ALP_ORDER_BOPOMOFO_LETTER_S_U_ENG },
+       { 0x50b2, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x50b3, ALP_ORDER_BOPOMOFO_LETTER_CH_U_AN },
+       { 0x50b4, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x50b5, ALP_ORDER_BOPOMOFO_LETTER_ZH_AI },
+       { 0x50b6, ALP_ORDER_BOPOMOFO_LETTER_Z_U },
+       { 0x50b7, ALP_ORDER_BOPOMOFO_LETTER_SH_ANG },
+       { 0x50b8, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ANG },
+       { 0x50ba, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x50bb, ALP_ORDER_BOPOMOFO_LETTER_SH_A },
+       { 0x50bd, ALP_ORDER_BOPOMOFO_LETTER_ZH_ANG },
+       { 0x50be, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ENG },
+       { 0x50bf, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x50c1, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x50c2, ALP_ORDER_BOPOMOFO_LETTER_L_OU },
+       { 0x50c4, ALP_ORDER_BOPOMOFO_LETTER_P_I_AU },
+       { 0x50c5, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x50c6, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x50c7, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x50c8, ALP_ORDER_BOPOMOFO_LETTER_M_AN },
+       { 0x50c9, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x50ca, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x50cb, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x50ce, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_AN },
+       { 0x50cf, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x50d1, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x50d3, ALP_ORDER_BOPOMOFO_LETTER_T_U_EI },
+       { 0x50d4, ALP_ORDER_BOPOMOFO_LETTER_Z_U_EN },
+       { 0x50d5, ALP_ORDER_BOPOMOFO_LETTER_P_U },
+       { 0x50d6, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x50d7, ALP_ORDER_BOPOMOFO_LETTER_L_AU },
+       { 0x50da, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x50db, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x50dd, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x50e0, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x50e3, ALP_ORDER_BOPOMOFO_LETTER_T_I_EH },
+       { 0x50e4, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x50e5, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x50e6, ALP_ORDER_BOPOMOFO_LETTER_J_I_OU },
+       { 0x50e7, ALP_ORDER_BOPOMOFO_LETTER_S_ENG },
+       { 0x50e8, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x50e9, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x50ea, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x50ec, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x50ed, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x50ee, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x50ef, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x50f0, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x50f1, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x50f3, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x50f5, ALP_ORDER_BOPOMOFO_LETTER_J_I_ANG },
+       { 0x50f6, ALP_ORDER_BOPOMOFO_LETTER_M_I_EN },
+       { 0x50f8, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x50f9, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x50fb, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x50fd, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x50fe, ALP_ORDER_BOPOMOFO_LETTER_AI },
+       { 0x50ff, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x5100, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x5102, ALP_ORDER_BOPOMOFO_LETTER_N_U_ENG },
+       { 0x5103, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x5104, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x5105, ALP_ORDER_BOPOMOFO_LETTER_D_ANG },
+       { 0x5106, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x5107, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x5108, ALP_ORDER_BOPOMOFO_LETTER_K_U_AI },
+       { 0x5109, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x510a, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x510b, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x510c, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x5110, ALP_ORDER_BOPOMOFO_LETTER_B_I_EN },
+       { 0x5111, ALP_ORDER_BOPOMOFO_LETTER_AN },
+       { 0x5112, ALP_ORDER_BOPOMOFO_LETTER_R_U },
+       { 0x5113, ALP_ORDER_BOPOMOFO_LETTER_T_AI },
+       { 0x5114, ALP_ORDER_BOPOMOFO_LETTER_CH_OU },
+       { 0x5115, ALP_ORDER_BOPOMOFO_LETTER_CH_AI },
+       { 0x5117, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x5118, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x511a, ALP_ORDER_BOPOMOFO_LETTER_M_ENG },
+       { 0x511c, ALP_ORDER_BOPOMOFO_LETTER_N_I_ENG },
+       { 0x511f, ALP_ORDER_BOPOMOFO_LETTER_CH_ANG },
+       { 0x5120, ALP_ORDER_BOPOMOFO_LETTER_L_I_EH },
+       { 0x5121, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x5122, ALP_ORDER_BOPOMOFO_LETTER_L_IU },
+       { 0x5124, ALP_ORDER_BOPOMOFO_LETTER_B_AU },
+       { 0x5125, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x5126, ALP_ORDER_BOPOMOFO_LETTER_B_I_AU },
+       { 0x5129, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x512a, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x512d, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x512e, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x5130, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x5131, ALP_ORDER_BOPOMOFO_LETTER_L_U_ENG },
+       { 0x5132, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x5133, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x5134, ALP_ORDER_BOPOMOFO_LETTER_R_ANG },
+       { 0x5135, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x5137, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x5138, ALP_ORDER_BOPOMOFO_LETTER_L_U_O },
+       { 0x5139, ALP_ORDER_BOPOMOFO_LETTER_Z_AN },
+       { 0x513a, ALP_ORDER_BOPOMOFO_LETTER_N_U_O },
+       { 0x513b, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x513c, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x513d, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x513f, ALP_ORDER_BOPOMOFO_LETTER_ER },
+       { 0x5140, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x5141, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x5143, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x5144, ALP_ORDER_BOPOMOFO_LETTER_X_IU_ENG },
+       { 0x5145, ALP_ORDER_BOPOMOFO_LETTER_CH_U_ENG },
+       { 0x5146, ALP_ORDER_BOPOMOFO_LETTER_ZH_AU },
+       { 0x5147, ALP_ORDER_BOPOMOFO_LETTER_X_IU_ENG },
+       { 0x5148, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x5149, ALP_ORDER_BOPOMOFO_LETTER_G_U_ANG },
+       { 0x514b, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x514c, ALP_ORDER_BOPOMOFO_LETTER_D_U_EI },
+       { 0x514d, ALP_ORDER_BOPOMOFO_LETTER_M_I_AN },
+       { 0x5152, ALP_ORDER_BOPOMOFO_LETTER_ER },
+       { 0x5154, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x5155, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x5157, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x5159, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x515a, ALP_ORDER_BOPOMOFO_LETTER_D_ANG },
+       { 0x515b, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x515c, ALP_ORDER_BOPOMOFO_LETTER_D_OU },
+       { 0x515d, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x515e, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x515f, ALP_ORDER_BOPOMOFO_LETTER_X_I_EN },
+       { 0x5161, ALP_ORDER_BOPOMOFO_LETTER_B_AI },
+       { 0x5162, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x5163, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x5165, ALP_ORDER_BOPOMOFO_LETTER_R_U },
+       { 0x5167, ALP_ORDER_BOPOMOFO_LETTER_N_EI },
+       { 0x5168, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x5169, ALP_ORDER_BOPOMOFO_LETTER_L_I_ANG },
+       { 0x516b, ALP_ORDER_BOPOMOFO_LETTER_B_A },
+       { 0x516c, ALP_ORDER_BOPOMOFO_LETTER_G_U_ENG },
+       { 0x516d, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x516e, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x5171, ALP_ORDER_BOPOMOFO_LETTER_G_U_ENG },
+       { 0x5175, ALP_ORDER_BOPOMOFO_LETTER_B_I_ENG },
+       { 0x5176, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x5177, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x5178, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x517c, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x5180, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x5187, ALP_ORDER_BOPOMOFO_LETTER_M_OU },
+       { 0x5189, ALP_ORDER_BOPOMOFO_LETTER_R_AN },
+       { 0x518a, ALP_ORDER_BOPOMOFO_LETTER_C_E },
+       { 0x518d, ALP_ORDER_BOPOMOFO_LETTER_Z_AI },
+       { 0x518f, ALP_ORDER_BOPOMOFO_LETTER_J_IU_ENG },
+       { 0x5191, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x5192, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x5193, ALP_ORDER_BOPOMOFO_LETTER_G_OU },
+       { 0x5194, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x5195, ALP_ORDER_BOPOMOFO_LETTER_M_I_AN },
+       { 0x5197, ALP_ORDER_BOPOMOFO_LETTER_R_U_ENG },
+       { 0x5198, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x519e, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x51a0, ALP_ORDER_BOPOMOFO_LETTER_G_U_AN },
+       { 0x51a2, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ENG },
+       { 0x51a4, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x51a5, ALP_ORDER_BOPOMOFO_LETTER_M_I_ENG },
+       { 0x51aa, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x51ac, ALP_ORDER_BOPOMOFO_LETTER_D_U_ENG },
+       { 0x51b0, ALP_ORDER_BOPOMOFO_LETTER_B_I_ENG },
+       { 0x51b1, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x51b6, ALP_ORDER_BOPOMOFO_LETTER_I_EH },
+       { 0x51b7, ALP_ORDER_BOPOMOFO_LETTER_L_ENG },
+       { 0x51b9, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x51bc, ALP_ORDER_BOPOMOFO_LETTER_SH_ENG },
+       { 0x51bd, ALP_ORDER_BOPOMOFO_LETTER_L_I_EH },
+       { 0x51be, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x51c4, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x51c5, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x51c6, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_EN },
+       { 0x51c8, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x51ca, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ENG },
+       { 0x51cb, ALP_ORDER_BOPOMOFO_LETTER_D_I_AU },
+       { 0x51cc, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x51cd, ALP_ORDER_BOPOMOFO_LETTER_D_U_ENG },
+       { 0x51ce, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x51d0, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x51d4, ALP_ORDER_BOPOMOFO_LETTER_C_ANG },
+       { 0x51d7, ALP_ORDER_BOPOMOFO_LETTER_C_U_EI },
+       { 0x51d8, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x51dc, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x51dd, ALP_ORDER_BOPOMOFO_LETTER_N_I_ENG },
+       { 0x51de, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x51e0, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x51e1, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x51f0, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x51f1, ALP_ORDER_BOPOMOFO_LETTER_K_EI },
+       { 0x51f3, ALP_ORDER_BOPOMOFO_LETTER_D_ENG },
+       { 0x51f5, ALP_ORDER_BOPOMOFO_LETTER_K_AN },
+       { 0x51f6, ALP_ORDER_BOPOMOFO_LETTER_X_IU_ENG },
+       { 0x51f8, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x51f9, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x51fa, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x51fd, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x5200, ALP_ORDER_BOPOMOFO_LETTER_D_AU },
+       { 0x5201, ALP_ORDER_BOPOMOFO_LETTER_D_I_AU },
+       { 0x5203, ALP_ORDER_BOPOMOFO_LETTER_R_EN },
+       { 0x5206, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x5207, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EH },
+       { 0x5208, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x5209, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x520a, ALP_ORDER_BOPOMOFO_LETTER_K_AN },
+       { 0x520c, ALP_ORDER_BOPOMOFO_LETTER_C_U_EN },
+       { 0x520e, ALP_ORDER_BOPOMOFO_LETTER_U_EN },
+       { 0x5210, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x5211, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x5212, ALP_ORDER_BOPOMOFO_LETTER_H_U_A },
+       { 0x5213, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x5216, ALP_ORDER_BOPOMOFO_LETTER_IU_EH },
+       { 0x5217, ALP_ORDER_BOPOMOFO_LETTER_L_I_EH },
+       { 0x521c, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x521d, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x521e, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x5221, ALP_ORDER_BOPOMOFO_LETTER_M_I_EN },
+       { 0x5224, ALP_ORDER_BOPOMOFO_LETTER_P_AN },
+       { 0x5225, ALP_ORDER_BOPOMOFO_LETTER_B_I_EH },
+       { 0x5228, ALP_ORDER_BOPOMOFO_LETTER_B_AU },
+       { 0x5229, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x522a, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x522e, ALP_ORDER_BOPOMOFO_LETTER_G_U_A },
+       { 0x5230, ALP_ORDER_BOPOMOFO_LETTER_D_AU },
+       { 0x5231, ALP_ORDER_BOPOMOFO_LETTER_CH_U_ANG },
+       { 0x5232, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x5233, ALP_ORDER_BOPOMOFO_LETTER_K_U },
+       { 0x5235, ALP_ORDER_BOPOMOFO_LETTER_ER },
+       { 0x5236, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x5237, ALP_ORDER_BOPOMOFO_LETTER_SH_U_A },
+       { 0x5238, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x523a, ALP_ORDER_BOPOMOFO_LETTER_C },
+       { 0x523b, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x5241, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x5243, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x5244, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x5246, ALP_ORDER_BOPOMOFO_LETTER_L_U_O },
+       { 0x5247, ALP_ORDER_BOPOMOFO_LETTER_Z_E },
+       { 0x5249, ALP_ORDER_BOPOMOFO_LETTER_C_U_O },
+       { 0x524a, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x524b, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x524c, ALP_ORDER_BOPOMOFO_LETTER_L_A },
+       { 0x524d, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x524e, ALP_ORDER_BOPOMOFO_LETTER_CH_A },
+       { 0x5252, ALP_ORDER_BOPOMOFO_LETTER_C_U_O },
+       { 0x5254, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x5255, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x5256, ALP_ORDER_BOPOMOFO_LETTER_P_OU },
+       { 0x525a, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x525b, ALP_ORDER_BOPOMOFO_LETTER_G_ANG },
+       { 0x525c, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x525d, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x525e, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x525f, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x5261, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x5262, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O },
+       { 0x5269, ALP_ORDER_BOPOMOFO_LETTER_SH_ENG },
+       { 0x526a, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x526b, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x526c, ALP_ORDER_BOPOMOFO_LETTER_D_U_AN },
+       { 0x526d, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x526e, ALP_ORDER_BOPOMOFO_LETTER_G_U_A },
+       { 0x526f, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x5272, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x5274, ALP_ORDER_BOPOMOFO_LETTER_K_EI },
+       { 0x5275, ALP_ORDER_BOPOMOFO_LETTER_CH_U_ANG },
+       { 0x5277, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x5278, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_AN },
+       { 0x527a, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x527b, ALP_ORDER_BOPOMOFO_LETTER_F_OU },
+       { 0x527c, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x527d, ALP_ORDER_BOPOMOFO_LETTER_P_I_AU },
+       { 0x527f, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x5280, ALP_ORDER_BOPOMOFO_LETTER_G_U_A },
+       { 0x5281, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x5282, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x5283, ALP_ORDER_BOPOMOFO_LETTER_H_U_A },
+       { 0x5284, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x5287, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x5288, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x5289, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x528a, ALP_ORDER_BOPOMOFO_LETTER_K_U_AI },
+       { 0x528b, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x528c, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x528d, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x5291, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x5293, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x5296, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x5297, ALP_ORDER_BOPOMOFO_LETTER_C_U_AN },
+       { 0x5298, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x5299, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x529b, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x529f, ALP_ORDER_BOPOMOFO_LETTER_G_U_ENG },
+       { 0x52a0, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x52a3, ALP_ORDER_BOPOMOFO_LETTER_L_I_EH },
+       { 0x52a6, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x52a9, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x52aa, ALP_ORDER_BOPOMOFO_LETTER_N_U },
+       { 0x52ab, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x52ac, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x52ad, ALP_ORDER_BOPOMOFO_LETTER_SH_AU },
+       { 0x52ae, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x52bb, ALP_ORDER_BOPOMOFO_LETTER_K_U_ANG },
+       { 0x52bc, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x52be, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x52c0, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x52c1, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x52c2, ALP_ORDER_BOPOMOFO_LETTER_H_AU },
+       { 0x52c3, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x52c7, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x52c9, ALP_ORDER_BOPOMOFO_LETTER_M_I_AN },
+       { 0x52cd, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ENG },
+       { 0x52d2, ALP_ORDER_BOPOMOFO_LETTER_L_E },
+       { 0x52d3, ALP_ORDER_BOPOMOFO_LETTER_K_EI },
+       { 0x52d5, ALP_ORDER_BOPOMOFO_LETTER_D_U_ENG },
+       { 0x52d6, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x52d7, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x52d8, ALP_ORDER_BOPOMOFO_LETTER_K_AN },
+       { 0x52d9, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x52db, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x52dd, ALP_ORDER_BOPOMOFO_LETTER_SH_ENG },
+       { 0x52de, ALP_ORDER_BOPOMOFO_LETTER_L_AU },
+       { 0x52df, ALP_ORDER_BOPOMOFO_LETTER_M_U },
+       { 0x52e2, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x52e3, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x52e4, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EN },
+       { 0x52e6, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x52e9, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x52eb, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x52ef, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x52f0, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x52f1, ALP_ORDER_BOPOMOFO_LETTER_M_AI },
+       { 0x52f3, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x52f4, ALP_ORDER_BOPOMOFO_LETTER_L_IU },
+       { 0x52f5, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x52f7, ALP_ORDER_BOPOMOFO_LETTER_R_ANG },
+       { 0x52f8, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x52fa, ALP_ORDER_BOPOMOFO_LETTER_SH_U_O },
+       { 0x52fb, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x52fc, ALP_ORDER_BOPOMOFO_LETTER_J_I_OU },
+       { 0x52fe, ALP_ORDER_BOPOMOFO_LETTER_G_OU },
+       { 0x52ff, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x5305, ALP_ORDER_BOPOMOFO_LETTER_B_AU },
+       { 0x5306, ALP_ORDER_BOPOMOFO_LETTER_C_U_ENG },
+       { 0x5308, ALP_ORDER_BOPOMOFO_LETTER_X_IU_ENG },
+       { 0x5309, ALP_ORDER_BOPOMOFO_LETTER_P_ENG },
+       { 0x530a, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x530b, ALP_ORDER_BOPOMOFO_LETTER_T_AU },
+       { 0x530d, ALP_ORDER_BOPOMOFO_LETTER_P_U },
+       { 0x530e, ALP_ORDER_BOPOMOFO_LETTER_AN },
+       { 0x530f, ALP_ORDER_BOPOMOFO_LETTER_P_AU },
+       { 0x5310, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x5311, ALP_ORDER_BOPOMOFO_LETTER_G_U_ENG },
+       { 0x5312, ALP_ORDER_BOPOMOFO_LETTER_D_A },
+       { 0x5315, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x5316, ALP_ORDER_BOPOMOFO_LETTER_H_U_A },
+       { 0x5317, ALP_ORDER_BOPOMOFO_LETTER_B_EI },
+       { 0x5319, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x531a, ALP_ORDER_BOPOMOFO_LETTER_F_ANG },
+       { 0x531c, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x531d, ALP_ORDER_BOPOMOFO_LETTER_Z_A },
+       { 0x531f, ALP_ORDER_BOPOMOFO_LETTER_K_ANG },
+       { 0x5320, ALP_ORDER_BOPOMOFO_LETTER_J_I_ANG },
+       { 0x5321, ALP_ORDER_BOPOMOFO_LETTER_K_U_ANG },
+       { 0x5322, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x5323, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x532a, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x532d, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x532f, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x5330, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x5331, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x5334, ALP_ORDER_BOPOMOFO_LETTER_S_U_AN },
+       { 0x5337, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x5339, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x533c, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x533d, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x533e, ALP_ORDER_BOPOMOFO_LETTER_B_I_AN },
+       { 0x533f, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x5340, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x5341, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x5343, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x5344, ALP_ORDER_BOPOMOFO_LETTER_N_I_AN },
+       { 0x5345, ALP_ORDER_BOPOMOFO_LETTER_S_A },
+       { 0x5347, ALP_ORDER_BOPOMOFO_LETTER_SH_ENG },
+       { 0x5348, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x5349, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x534a, ALP_ORDER_BOPOMOFO_LETTER_B_AN },
+       { 0x534c, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x534d, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x5351, ALP_ORDER_BOPOMOFO_LETTER_B_EI },
+       { 0x5352, ALP_ORDER_BOPOMOFO_LETTER_Z_U },
+       { 0x5353, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O },
+       { 0x5354, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x5357, ALP_ORDER_BOPOMOFO_LETTER_N_AN },
+       { 0x535a, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x535c, ALP_ORDER_BOPOMOFO_LETTER_B_U },
+       { 0x535e, ALP_ORDER_BOPOMOFO_LETTER_B_I_AN },
+       { 0x5360, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x5361, ALP_ORDER_BOPOMOFO_LETTER_K_A },
+       { 0x5363, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x5366, ALP_ORDER_BOPOMOFO_LETTER_G_U_A },
+       { 0x536c, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x536e, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x536f, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x5370, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x5371, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x5372, ALP_ORDER_BOPOMOFO_LETTER_SH_AU },
+       { 0x5373, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x5375, ALP_ORDER_BOPOMOFO_LETTER_L_U_AN },
+       { 0x5377, ALP_ORDER_BOPOMOFO_LETTER_J_IU_AN },
+       { 0x5378, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x5379, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x537b, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_EH },
+       { 0x537c, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x537f, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ENG },
+       { 0x5382, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x5384, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x538a, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x538e, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x538f, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x5392, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x5394, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x5396, ALP_ORDER_BOPOMOFO_LETTER_P_ANG },
+       { 0x5397, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x5398, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x5399, ALP_ORDER_BOPOMOFO_LETTER_SH_E },
+       { 0x539a, ALP_ORDER_BOPOMOFO_LETTER_H_OU },
+       { 0x539c, ALP_ORDER_BOPOMOFO_LETTER_Z_U_EI },
+       { 0x539d, ALP_ORDER_BOPOMOFO_LETTER_C_U_O },
+       { 0x539e, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x539f, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x53a4, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x53a5, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x53a7, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x53ac, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x53ad, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x53b2, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x53b4, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x53b9, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x53bb, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x53c3, ALP_ORDER_BOPOMOFO_LETTER_C_AN },
+       { 0x53c8, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x53c9, ALP_ORDER_BOPOMOFO_LETTER_CH_A },
+       { 0x53ca, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x53cb, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x53cd, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x53d4, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x53d6, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x53d7, ALP_ORDER_BOPOMOFO_LETTER_SH_OU },
+       { 0x53db, ALP_ORDER_BOPOMOFO_LETTER_P_AN },
+       { 0x53df, ALP_ORDER_BOPOMOFO_LETTER_S_OU },
+       { 0x53e1, ALP_ORDER_BOPOMOFO_LETTER_R_U_EI },
+       { 0x53e2, ALP_ORDER_BOPOMOFO_LETTER_C_U_ENG },
+       { 0x53e3, ALP_ORDER_BOPOMOFO_LETTER_K_OU },
+       { 0x53e4, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x53e5, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x53e6, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x53e8, ALP_ORDER_BOPOMOFO_LETTER_D_AU },
+       { 0x53e9, ALP_ORDER_BOPOMOFO_LETTER_K_OU },
+       { 0x53ea, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x53eb, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x53ec, ALP_ORDER_BOPOMOFO_LETTER_ZH_AU },
+       { 0x53ed, ALP_ORDER_BOPOMOFO_LETTER_B_A },
+       { 0x53ee, ALP_ORDER_BOPOMOFO_LETTER_D_I_ENG },
+       { 0x53ef, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x53f0, ALP_ORDER_BOPOMOFO_LETTER_T_AI },
+       { 0x53f1, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x53f2, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x53f3, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x53f5, ALP_ORDER_BOPOMOFO_LETTER_P_O },
+       { 0x53f8, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x53fb, ALP_ORDER_BOPOMOFO_LETTER_L_E },
+       { 0x53fc, ALP_ORDER_BOPOMOFO_LETTER_D_I_AU },
+       { 0x5401, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x5403, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x5404, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x5406, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x5407, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x5408, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x5409, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x540a, ALP_ORDER_BOPOMOFO_LETTER_D_I_AU },
+       { 0x540b, ALP_ORDER_BOPOMOFO_LETTER_C_U_EN },
+       { 0x540c, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x540d, ALP_ORDER_BOPOMOFO_LETTER_M_I_ENG },
+       { 0x540e, ALP_ORDER_BOPOMOFO_LETTER_H_OU },
+       { 0x540f, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x5410, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x5411, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x5412, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x5418, ALP_ORDER_BOPOMOFO_LETTER_OU },
+       { 0x5419, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EH },
+       { 0x541b, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EN },
+       { 0x541c, ALP_ORDER_BOPOMOFO_LETTER_CH_OU },
+       { 0x541d, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x541e, ALP_ORDER_BOPOMOFO_LETTER_T_U_EN },
+       { 0x541f, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x5420, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x5424, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x5425, ALP_ORDER_BOPOMOFO_LETTER_P_OU },
+       { 0x5426, ALP_ORDER_BOPOMOFO_LETTER_F_OU },
+       { 0x5427, ALP_ORDER_BOPOMOFO_LETTER_B_A },
+       { 0x5428, ALP_ORDER_BOPOMOFO_LETTER_T_U_EN },
+       { 0x5429, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x542a, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x542b, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x542c, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x542d, ALP_ORDER_BOPOMOFO_LETTER_K_ENG },
+       { 0x542e, ALP_ORDER_BOPOMOFO_LETTER_SH_U_EN },
+       { 0x5430, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x5431, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x5433, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x5435, ALP_ORDER_BOPOMOFO_LETTER_CH_AU },
+       { 0x5436, ALP_ORDER_BOPOMOFO_LETTER_N_A },
+       { 0x5437, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EH },
+       { 0x5438, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x5439, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EI },
+       { 0x543b, ALP_ORDER_BOPOMOFO_LETTER_U_EN },
+       { 0x543c, ALP_ORDER_BOPOMOFO_LETTER_H_OU },
+       { 0x543d, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x543e, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x5440, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x5441, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EN },
+       { 0x5442, ALP_ORDER_BOPOMOFO_LETTER_L_IU },
+       { 0x5443, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x5445, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x5446, ALP_ORDER_BOPOMOFO_LETTER_D_AI },
+       { 0x5447, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x5448, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x544a, ALP_ORDER_BOPOMOFO_LETTER_G_AU },
+       { 0x544e, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x544f, ALP_ORDER_BOPOMOFO_LETTER_SH_ENG },
+       { 0x5454, ALP_ORDER_BOPOMOFO_LETTER_D_AI },
+       { 0x5460, ALP_ORDER_BOPOMOFO_LETTER_P_EN },
+       { 0x5461, ALP_ORDER_BOPOMOFO_LETTER_U_EN },
+       { 0x5462, ALP_ORDER_BOPOMOFO_LETTER_N_E },
+       { 0x5463, ALP_ORDER_BOPOMOFO_LETTER_M_OU },
+       { 0x5464, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x5465, ALP_ORDER_BOPOMOFO_LETTER_R_AN },
+       { 0x5466, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x5467, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x5468, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x546b, ALP_ORDER_BOPOMOFO_LETTER_T_I_EH },
+       { 0x546c, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x546f, ALP_ORDER_BOPOMOFO_LETTER_P_I_ENG },
+       { 0x5470, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x5471, ALP_ORDER_BOPOMOFO_LETTER_G_U_A },
+       { 0x5472, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x5473, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x5474, ALP_ORDER_BOPOMOFO_LETTER_H_OU },
+       { 0x5475, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x5476, ALP_ORDER_BOPOMOFO_LETTER_N_AU },
+       { 0x5477, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x5478, ALP_ORDER_BOPOMOFO_LETTER_P_EI },
+       { 0x547a, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x547b, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x547c, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x547d, ALP_ORDER_BOPOMOFO_LETTER_M_I_ENG },
+       { 0x547e, ALP_ORDER_BOPOMOFO_LETTER_D_A },
+       { 0x547f, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x5480, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x5481, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x5482, ALP_ORDER_BOPOMOFO_LETTER_Z_A },
+       { 0x5484, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x5486, ALP_ORDER_BOPOMOFO_LETTER_P_AU },
+       { 0x5487, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x5488, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x548b, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x548c, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x548d, ALP_ORDER_BOPOMOFO_LETTER_H_AI },
+       { 0x548e, ALP_ORDER_BOPOMOFO_LETTER_J_I_OU },
+       { 0x5490, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x5491, ALP_ORDER_BOPOMOFO_LETTER_D_A },
+       { 0x5492, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x5495, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x5496, ALP_ORDER_BOPOMOFO_LETTER_K_A },
+       { 0x5498, ALP_ORDER_BOPOMOFO_LETTER_B_U },
+       { 0x549a, ALP_ORDER_BOPOMOFO_LETTER_D_U_ENG },
+       { 0x54a0, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x54a1, ALP_ORDER_BOPOMOFO_LETTER_ER },
+       { 0x54a2, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x54a5, ALP_ORDER_BOPOMOFO_LETTER_D_I_EH },
+       { 0x54a6, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x54a7, ALP_ORDER_BOPOMOFO_LETTER_L_I_EH },
+       { 0x54a8, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x54a9, ALP_ORDER_BOPOMOFO_LETTER_M_I_EH },
+       { 0x54aa, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x54ab, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x54ac, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x54ad, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x54ae, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x54af, ALP_ORDER_BOPOMOFO_LETTER_L_U_O },
+       { 0x54b0, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x54b1, ALP_ORDER_BOPOMOFO_LETTER_Z_A },
+       { 0x54b3, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x54b6, ALP_ORDER_BOPOMOFO_LETTER_H_U_AI },
+       { 0x54b7, ALP_ORDER_BOPOMOFO_LETTER_T_AU },
+       { 0x54b8, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x54ba, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x54bb, ALP_ORDER_BOPOMOFO_LETTER_X_I_OU },
+       { 0x54bc, ALP_ORDER_BOPOMOFO_LETTER_K_U_AI },
+       { 0x54bd, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x54be, ALP_ORDER_BOPOMOFO_LETTER_L_AU },
+       { 0x54bf, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x54c0, ALP_ORDER_BOPOMOFO_LETTER_AI },
+       { 0x54c1, ALP_ORDER_BOPOMOFO_LETTER_P_I_EN },
+       { 0x54c2, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x54c3, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x54c4, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x54c5, ALP_ORDER_BOPOMOFO_LETTER_X_IU_ENG },
+       { 0x54c6, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x54c7, ALP_ORDER_BOPOMOFO_LETTER_U_A },
+       { 0x54c8, ALP_ORDER_BOPOMOFO_LETTER_H_A },
+       { 0x54c9, ALP_ORDER_BOPOMOFO_LETTER_Z_AI },
+       { 0x54ce, ALP_ORDER_BOPOMOFO_LETTER_AI },
+       { 0x54cf, ALP_ORDER_BOPOMOFO_LETTER_G_EN },
+       { 0x54d6, ALP_ORDER_BOPOMOFO_LETTER_N_I_AN },
+       { 0x54de, ALP_ORDER_BOPOMOFO_LETTER_M_OU },
+       { 0x54e0, ALP_ORDER_BOPOMOFO_LETTER_H_AU },
+       { 0x54e1, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x54e2, ALP_ORDER_BOPOMOFO_LETTER_L_U_ENG },
+       { 0x54e4, ALP_ORDER_BOPOMOFO_LETTER_M_ANG },
+       { 0x54e5, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x54e6, ALP_ORDER_BOPOMOFO_LETTER_O },
+       { 0x54e7, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x54e8, ALP_ORDER_BOPOMOFO_LETTER_SH_AU },
+       { 0x54e9, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x54ea, ALP_ORDER_BOPOMOFO_LETTER_N_A },
+       { 0x54eb, ALP_ORDER_BOPOMOFO_LETTER_Z_U },
+       { 0x54ed, ALP_ORDER_BOPOMOFO_LETTER_K_U },
+       { 0x54ee, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x54f1, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x54f2, ALP_ORDER_BOPOMOFO_LETTER_ZH_E },
+       { 0x54f3, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x54f7, ALP_ORDER_BOPOMOFO_LETTER_L_E },
+       { 0x54f8, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x54fa, ALP_ORDER_BOPOMOFO_LETTER_B_U },
+       { 0x54fb, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x54fc, ALP_ORDER_BOPOMOFO_LETTER_H_ENG },
+       { 0x54fd, ALP_ORDER_BOPOMOFO_LETTER_G_ENG },
+       { 0x54ff, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x5501, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x5503, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x5504, ALP_ORDER_BOPOMOFO_LETTER_B_AI },
+       { 0x5505, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x5506, ALP_ORDER_BOPOMOFO_LETTER_S_U_O },
+       { 0x5507, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EN },
+       { 0x5508, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x5509, ALP_ORDER_BOPOMOFO_LETTER_AI },
+       { 0x550a, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x550b, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x550c, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x550e, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x550f, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x5510, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x5511, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x5512, ALP_ORDER_BOPOMOFO_LETTER_M_I_OU },
+       { 0x5514, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x5517, ALP_ORDER_BOPOMOFO_LETTER_D_OU },
+       { 0x551a, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EN },
+       { 0x5526, ALP_ORDER_BOPOMOFO_LETTER_SH_A },
+       { 0x5527, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x552a, ALP_ORDER_BOPOMOFO_LETTER_F_ENG },
+       { 0x552c, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x552d, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x552e, ALP_ORDER_BOPOMOFO_LETTER_SH_OU },
+       { 0x552f, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x5530, ALP_ORDER_BOPOMOFO_LETTER_SH_U_A },
+       { 0x5531, ALP_ORDER_BOPOMOFO_LETTER_CH_ANG },
+       { 0x5532, ALP_ORDER_BOPOMOFO_LETTER_ER },
+       { 0x5533, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x5534, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ANG },
+       { 0x5535, ALP_ORDER_BOPOMOFO_LETTER_AN },
+       { 0x5536, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x5537, ALP_ORDER_BOPOMOFO_LETTER_I_O },
+       { 0x5538, ALP_ORDER_BOPOMOFO_LETTER_N_I_AN },
+       { 0x5539, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x553b, ALP_ORDER_BOPOMOFO_LETTER_L_AI },
+       { 0x553c, ALP_ORDER_BOPOMOFO_LETTER_SH_A },
+       { 0x553e, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x5540, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x5541, ALP_ORDER_BOPOMOFO_LETTER_J_I_OU },
+       { 0x5543, ALP_ORDER_BOPOMOFO_LETTER_K_EN },
+       { 0x5544, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O },
+       { 0x5545, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O },
+       { 0x5546, ALP_ORDER_BOPOMOFO_LETTER_SH_ANG },
+       { 0x5548, ALP_ORDER_BOPOMOFO_LETTER_H_ENG },
+       { 0x554a, ALP_ORDER_BOPOMOFO_LETTER_A },
+       { 0x554b, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x554d, ALP_ORDER_BOPOMOFO_LETTER_T_U_EN },
+       { 0x554e, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x554f, ALP_ORDER_BOPOMOFO_LETTER_U_EN },
+       { 0x5550, ALP_ORDER_BOPOMOFO_LETTER_C_U_EI },
+       { 0x5551, ALP_ORDER_BOPOMOFO_LETTER_D_I_EH },
+       { 0x5552, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x5555, ALP_ORDER_BOPOMOFO_LETTER_T_AU },
+       { 0x5556, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x5557, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x555c, ALP_ORDER_BOPOMOFO_LETTER_CH_U_O },
+       { 0x555e, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x555f, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x5561, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x5562, ALP_ORDER_BOPOMOFO_LETTER_L_I_ANG },
+       { 0x5563, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x5564, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x5565, ALP_ORDER_BOPOMOFO_LETTER_SH_A },
+       { 0x5566, ALP_ORDER_BOPOMOFO_LETTER_L_A },
+       { 0x556a, ALP_ORDER_BOPOMOFO_LETTER_P_A },
+       { 0x5575, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x5576, ALP_ORDER_BOPOMOFO_LETTER_D_I_ENG },
+       { 0x5577, ALP_ORDER_BOPOMOFO_LETTER_L_ANG },
+       { 0x557b, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x557c, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x557d, ALP_ORDER_BOPOMOFO_LETTER_AN },
+       { 0x557e, ALP_ORDER_BOPOMOFO_LETTER_J_I_OU },
+       { 0x557f, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x5580, ALP_ORDER_BOPOMOFO_LETTER_K_A },
+       { 0x5581, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x5582, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x5583, ALP_ORDER_BOPOMOFO_LETTER_N_AN },
+       { 0x5584, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x5587, ALP_ORDER_BOPOMOFO_LETTER_L_A },
+       { 0x5588, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x5589, ALP_ORDER_BOPOMOFO_LETTER_H_OU },
+       { 0x558a, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x558b, ALP_ORDER_BOPOMOFO_LETTER_D_I_EH },
+       { 0x558c, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x558d, ALP_ORDER_BOPOMOFO_LETTER_CH_AI },
+       { 0x558e, ALP_ORDER_BOPOMOFO_LETTER_K_U_AI },
+       { 0x558f, ALP_ORDER_BOPOMOFO_LETTER_R_E },
+       { 0x5591, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x5592, ALP_ORDER_BOPOMOFO_LETTER_Z_AN },
+       { 0x5593, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x5594, ALP_ORDER_BOPOMOFO_LETTER_O },
+       { 0x5595, ALP_ORDER_BOPOMOFO_LETTER_M_I_AN },
+       { 0x5598, ALP_ORDER_BOPOMOFO_LETTER_CH_U_AN },
+       { 0x5599, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x559a, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x559c, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x559d, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x559f, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x55a1, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x55a2, ALP_ORDER_BOPOMOFO_LETTER_SH_A },
+       { 0x55a3, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x55a4, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x55a5, ALP_ORDER_BOPOMOFO_LETTER_D_U },
+       { 0x55a6, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x55a7, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x55a8, ALP_ORDER_BOPOMOFO_LETTER_L_I_ANG },
+       { 0x55aa, ALP_ORDER_BOPOMOFO_LETTER_S_ANG },
+       { 0x55ab, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x55ac, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x55ad, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x55ae, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x55b1, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x55b2, ALP_ORDER_BOPOMOFO_LETTER_I_O },
+       { 0x55b3, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x55b5, ALP_ORDER_BOPOMOFO_LETTER_M_I_AU },
+       { 0x55bb, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x55bf, ALP_ORDER_BOPOMOFO_LETTER_C_AU },
+       { 0x55c0, ALP_ORDER_BOPOMOFO_LETTER_H_U_O },
+       { 0x55c2, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x55c3, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x55c4, ALP_ORDER_BOPOMOFO_LETTER_A },
+       { 0x55c5, ALP_ORDER_BOPOMOFO_LETTER_X_I_OU },
+       { 0x55c6, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ANG },
+       { 0x55c7, ALP_ORDER_BOPOMOFO_LETTER_S_E },
+       { 0x55c8, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x55c9, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x55ca, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x55cb, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x55cc, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x55cd, ALP_ORDER_BOPOMOFO_LETTER_SH_U_O },
+       { 0x55ce, ALP_ORDER_BOPOMOFO_LETTER_M_A },
+       { 0x55cf, ALP_ORDER_BOPOMOFO_LETTER_CH_A },
+       { 0x55d0, ALP_ORDER_BOPOMOFO_LETTER_H_AI },
+       { 0x55d1, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x55d2, ALP_ORDER_BOPOMOFO_LETTER_T_A },
+       { 0x55d3, ALP_ORDER_BOPOMOFO_LETTER_S_ANG },
+       { 0x55d4, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x55d5, ALP_ORDER_BOPOMOFO_LETTER_N_OU },
+       { 0x55d6, ALP_ORDER_BOPOMOFO_LETTER_S_OU },
+       { 0x55d9, ALP_ORDER_BOPOMOFO_LETTER_P_ANG },
+       { 0x55da, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x55db, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x55dc, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x55dd, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x55df, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x55e1, ALP_ORDER_BOPOMOFO_LETTER_U_ENG },
+       { 0x55e2, ALP_ORDER_BOPOMOFO_LETTER_U_A },
+       { 0x55e3, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x55e4, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x55e5, ALP_ORDER_BOPOMOFO_LETTER_H_AU },
+       { 0x55e6, ALP_ORDER_BOPOMOFO_LETTER_S_U_O }
+};
+
+static han_map HANZI_TO_BPMF_MAP_2[] = {
+       { 0x55e7, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x55e8, ALP_ORDER_BOPOMOFO_LETTER_H_AI },
+       { 0x55e9, ALP_ORDER_BOPOMOFO_LETTER_S_U_O },
+       { 0x55ef, ALP_ORDER_BOPOMOFO_LETTER_EN },
+       { 0x55f2, ALP_ORDER_BOPOMOFO_LETTER_D_I_A },
+       { 0x55f6, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x55f7, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x55f9, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x55fa, ALP_ORDER_BOPOMOFO_LETTER_C_U_EI },
+       { 0x55fc, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x55fd, ALP_ORDER_BOPOMOFO_LETTER_S_OU },
+       { 0x55fe, ALP_ORDER_BOPOMOFO_LETTER_S_OU },
+       { 0x55ff, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x5600, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x5601, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x5602, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x5604, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x5606, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x5608, ALP_ORDER_BOPOMOFO_LETTER_C_AU },
+       { 0x5609, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x560c, ALP_ORDER_BOPOMOFO_LETTER_P_I_AU },
+       { 0x560d, ALP_ORDER_BOPOMOFO_LETTER_L_OU },
+       { 0x560e, ALP_ORDER_BOPOMOFO_LETTER_G_A },
+       { 0x560f, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x5610, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x5612, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x5613, ALP_ORDER_BOPOMOFO_LETTER_G_U_O },
+       { 0x5614, ALP_ORDER_BOPOMOFO_LETTER_OU },
+       { 0x5615, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x5616, ALP_ORDER_BOPOMOFO_LETTER_Z_E },
+       { 0x5617, ALP_ORDER_BOPOMOFO_LETTER_CH_ANG },
+       { 0x561b, ALP_ORDER_BOPOMOFO_LETTER_M_A },
+       { 0x561c, ALP_ORDER_BOPOMOFO_LETTER_M_A },
+       { 0x561d, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x561f, ALP_ORDER_BOPOMOFO_LETTER_D_U },
+       { 0x5627, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x5629, ALP_ORDER_BOPOMOFO_LETTER_H_U_A },
+       { 0x562a, ALP_ORDER_BOPOMOFO_LETTER_M_AI },
+       { 0x562c, ALP_ORDER_BOPOMOFO_LETTER_Z_U_O },
+       { 0x562e, ALP_ORDER_BOPOMOFO_LETTER_L_AU },
+       { 0x562f, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x5630, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x5632, ALP_ORDER_BOPOMOFO_LETTER_CH_AU },
+       { 0x5633, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x5634, ALP_ORDER_BOPOMOFO_LETTER_Z_U_EI },
+       { 0x5635, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x5636, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x5638, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x5639, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x563a, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x563b, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x563d, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x563e, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x563f, ALP_ORDER_BOPOMOFO_LETTER_H_EI },
+       { 0x5640, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x5641, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x5642, ALP_ORDER_BOPOMOFO_LETTER_Z_U_EN },
+       { 0x5645, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x5646, ALP_ORDER_BOPOMOFO_LETTER_Z_AN },
+       { 0x5648, ALP_ORDER_BOPOMOFO_LETTER_C_U },
+       { 0x5649, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x564a, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x564c, ALP_ORDER_BOPOMOFO_LETTER_C_ENG },
+       { 0x564e, ALP_ORDER_BOPOMOFO_LETTER_I_EH },
+       { 0x5653, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x5657, ALP_ORDER_BOPOMOFO_LETTER_P_U },
+       { 0x5658, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x5659, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EN },
+       { 0x565a, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x565e, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x5660, ALP_ORDER_BOPOMOFO_LETTER_D_A },
+       { 0x5662, ALP_ORDER_BOPOMOFO_LETTER_OU },
+       { 0x5663, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x5664, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x5665, ALP_ORDER_BOPOMOFO_LETTER_N_U_ENG },
+       { 0x5666, ALP_ORDER_BOPOMOFO_LETTER_IU_EH },
+       { 0x5668, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x5669, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x566a, ALP_ORDER_BOPOMOFO_LETTER_Z_AU },
+       { 0x566b, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x566c, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x566d, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x566e, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x566f, ALP_ORDER_BOPOMOFO_LETTER_AI },
+       { 0x5670, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x5671, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x5672, ALP_ORDER_BOPOMOFO_LETTER_K_U_AI },
+       { 0x5673, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x5674, ALP_ORDER_BOPOMOFO_LETTER_P_EN },
+       { 0x5676, ALP_ORDER_BOPOMOFO_LETTER_G_A },
+       { 0x5677, ALP_ORDER_BOPOMOFO_LETTER_X_I_EN },
+       { 0x5678, ALP_ORDER_BOPOMOFO_LETTER_D_U_EN },
+       { 0x5679, ALP_ORDER_BOPOMOFO_LETTER_D_ANG },
+       { 0x567e, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x567f, ALP_ORDER_BOPOMOFO_LETTER_Z_U_EI },
+       { 0x5680, ALP_ORDER_BOPOMOFO_LETTER_N_I_ENG },
+       { 0x5681, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x5682, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x5683, ALP_ORDER_BOPOMOFO_LETTER_T_A },
+       { 0x5684, ALP_ORDER_BOPOMOFO_LETTER_O },
+       { 0x5685, ALP_ORDER_BOPOMOFO_LETTER_R_U },
+       { 0x5686, ALP_ORDER_BOPOMOFO_LETTER_H_AU },
+       { 0x5687, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x568c, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x568d, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x568e, ALP_ORDER_BOPOMOFO_LETTER_H_AU },
+       { 0x568f, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x5690, ALP_ORDER_BOPOMOFO_LETTER_CH_ANG },
+       { 0x5693, ALP_ORDER_BOPOMOFO_LETTER_C_A },
+       { 0x5695, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x5697, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x5698, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x5699, ALP_ORDER_BOPOMOFO_LETTER_N_I_EH },
+       { 0x569a, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x569c, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x569d, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x56a5, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x56a6, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x56a7, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x56a8, ALP_ORDER_BOPOMOFO_LETTER_L_U_ENG },
+       { 0x56aa, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x56ab, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x56ac, ALP_ORDER_BOPOMOFO_LETTER_P_I_EN },
+       { 0x56ad, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x56ae, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x56b2, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x56b3, ALP_ORDER_BOPOMOFO_LETTER_K_U },
+       { 0x56b4, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x56b5, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x56b6, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x56b7, ALP_ORDER_BOPOMOFO_LETTER_R_ANG },
+       { 0x56bc, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x56bd, ALP_ORDER_BOPOMOFO_LETTER_CH_U_O },
+       { 0x56be, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x56c0, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_AN },
+       { 0x56c1, ALP_ORDER_BOPOMOFO_LETTER_N_I_EH },
+       { 0x56c2, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x56c3, ALP_ORDER_BOPOMOFO_LETTER_C_A },
+       { 0x56c5, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x56c6, ALP_ORDER_BOPOMOFO_LETTER_CH_AI },
+       { 0x56c8, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x56c9, ALP_ORDER_BOPOMOFO_LETTER_L_U_O },
+       { 0x56ca, ALP_ORDER_BOPOMOFO_LETTER_N_ANG },
+       { 0x56cb, ALP_ORDER_BOPOMOFO_LETTER_Z_AN },
+       { 0x56cc, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x56cd, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x56d1, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x56d3, ALP_ORDER_BOPOMOFO_LETTER_N_I_EH },
+       { 0x56d4, ALP_ORDER_BOPOMOFO_LETTER_N_ANG },
+       { 0x56d7, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x56da, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x56db, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x56dd, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x56de, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x56df, ALP_ORDER_BOPOMOFO_LETTER_X_I_EN },
+       { 0x56e0, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x56e1, ALP_ORDER_BOPOMOFO_LETTER_N_AN },
+       { 0x56e4, ALP_ORDER_BOPOMOFO_LETTER_D_U_EN },
+       { 0x56e5, ALP_ORDER_BOPOMOFO_LETTER_K_ANG },
+       { 0x56e7, ALP_ORDER_BOPOMOFO_LETTER_J_IU_ENG },
+       { 0x56ea, ALP_ORDER_BOPOMOFO_LETTER_C_U_ENG },
+       { 0x56eb, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x56ee, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x56f0, ALP_ORDER_BOPOMOFO_LETTER_K_U_EN },
+       { 0x56f7, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EN },
+       { 0x56f9, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x56fa, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x56ff, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x5701, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x5702, ALP_ORDER_BOPOMOFO_LETTER_H_U_EN },
+       { 0x5703, ALP_ORDER_BOPOMOFO_LETTER_P_U },
+       { 0x5704, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x5707, ALP_ORDER_BOPOMOFO_LETTER_L_U_EN },
+       { 0x5708, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x5709, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x570a, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ENG },
+       { 0x570b, ALP_ORDER_BOPOMOFO_LETTER_G_U_O },
+       { 0x570c, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EI },
+       { 0x570d, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x5712, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x5713, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x5714, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x5716, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x5718, ALP_ORDER_BOPOMOFO_LETTER_T_U_AN },
+       { 0x571a, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x571b, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x571c, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x571e, ALP_ORDER_BOPOMOFO_LETTER_L_U_AN },
+       { 0x571f, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x5720, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x5722, ALP_ORDER_BOPOMOFO_LETTER_T_I_ENG },
+       { 0x5723, ALP_ORDER_BOPOMOFO_LETTER_SH_ENG },
+       { 0x5728, ALP_ORDER_BOPOMOFO_LETTER_Z_AI },
+       { 0x5729, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x572a, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x572c, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x572d, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x572e, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x572f, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x5730, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x5733, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x5734, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O },
+       { 0x573b, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x573e, ALP_ORDER_BOPOMOFO_LETTER_S_E },
+       { 0x5740, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x5741, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x5745, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EN },
+       { 0x5747, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EN },
+       { 0x5749, ALP_ORDER_BOPOMOFO_LETTER_D_U_EN },
+       { 0x574a, ALP_ORDER_BOPOMOFO_LETTER_F_ANG },
+       { 0x574b, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x574c, ALP_ORDER_BOPOMOFO_LETTER_B_EN },
+       { 0x574d, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x574e, ALP_ORDER_BOPOMOFO_LETTER_K_AN },
+       { 0x574f, ALP_ORDER_BOPOMOFO_LETTER_P_EI },
+       { 0x5750, ALP_ORDER_BOPOMOFO_LETTER_Z_U_O },
+       { 0x5751, ALP_ORDER_BOPOMOFO_LETTER_K_ENG },
+       { 0x5752, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x5761, ALP_ORDER_BOPOMOFO_LETTER_P_O },
+       { 0x5762, ALP_ORDER_BOPOMOFO_LETTER_P_AN },
+       { 0x5764, ALP_ORDER_BOPOMOFO_LETTER_K_U_EN },
+       { 0x5766, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x5768, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x5769, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x576a, ALP_ORDER_BOPOMOFO_LETTER_P_I_ENG },
+       { 0x576b, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x576d, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x576f, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x5770, ALP_ORDER_BOPOMOFO_LETTER_J_IU_ENG },
+       { 0x5771, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x5772, ALP_ORDER_BOPOMOFO_LETTER_F_O },
+       { 0x5773, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x5774, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x5775, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x5776, ALP_ORDER_BOPOMOFO_LETTER_M_U },
+       { 0x5777, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x577b, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x577c, ALP_ORDER_BOPOMOFO_LETTER_CH_E },
+       { 0x577d, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x5780, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x5782, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EI },
+       { 0x5783, ALP_ORDER_BOPOMOFO_LETTER_L_E },
+       { 0x578b, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x578c, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x578f, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x5793, ALP_ORDER_BOPOMOFO_LETTER_G_AI },
+       { 0x5794, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x5795, ALP_ORDER_BOPOMOFO_LETTER_H_OU },
+       { 0x5797, ALP_ORDER_BOPOMOFO_LETTER_ZH_AU },
+       { 0x5798, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x5799, ALP_ORDER_BOPOMOFO_LETTER_G_U_ANG },
+       { 0x579a, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x579b, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x579d, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x579e, ALP_ORDER_BOPOMOFO_LETTER_CH_A },
+       { 0x579f, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x57a0, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x57a2, ALP_ORDER_BOPOMOFO_LETTER_G_OU },
+       { 0x57a3, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x57a4, ALP_ORDER_BOPOMOFO_LETTER_D_I_EH },
+       { 0x57a5, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x57ae, ALP_ORDER_BOPOMOFO_LETTER_K_U_A },
+       { 0x57b5, ALP_ORDER_BOPOMOFO_LETTER_AN },
+       { 0x57b6, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x57b8, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x57b9, ALP_ORDER_BOPOMOFO_LETTER_B_ANG },
+       { 0x57ba, ALP_ORDER_BOPOMOFO_LETTER_P_EI },
+       { 0x57bc, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x57bd, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x57bf, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x57c1, ALP_ORDER_BOPOMOFO_LETTER_C_EN },
+       { 0x57c2, ALP_ORDER_BOPOMOFO_LETTER_G_ENG },
+       { 0x57c3, ALP_ORDER_BOPOMOFO_LETTER_AI },
+       { 0x57c6, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_EH },
+       { 0x57c7, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x57cb, ALP_ORDER_BOPOMOFO_LETTER_M_AI },
+       { 0x57cc, ALP_ORDER_BOPOMOFO_LETTER_L_ANG },
+       { 0x57ce, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x57cf, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x57d0, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x57d2, ALP_ORDER_BOPOMOFO_LETTER_L_E },
+       { 0x57d4, ALP_ORDER_BOPOMOFO_LETTER_P_U },
+       { 0x57d5, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x57dc, ALP_ORDER_BOPOMOFO_LETTER_I_EH },
+       { 0x57df, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x57e0, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x57e1, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x57e2, ALP_ORDER_BOPOMOFO_LETTER_J_IU_AN },
+       { 0x57e3, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x57e4, ALP_ORDER_BOPOMOFO_LETTER_B_EI },
+       { 0x57e5, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x57e7, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x57e9, ALP_ORDER_BOPOMOFO_LETTER_ZH_ENG },
+       { 0x57ec, ALP_ORDER_BOPOMOFO_LETTER_D_U_ENG },
+       { 0x57ed, ALP_ORDER_BOPOMOFO_LETTER_D_AI },
+       { 0x57ee, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x57f0, ALP_ORDER_BOPOMOFO_LETTER_C_AI },
+       { 0x57f1, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x57f2, ALP_ORDER_BOPOMOFO_LETTER_B_ENG },
+       { 0x57f3, ALP_ORDER_BOPOMOFO_LETTER_K_AN },
+       { 0x57f4, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x57f5, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x57f6, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x57f7, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x57f8, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x57f9, ALP_ORDER_BOPOMOFO_LETTER_P_EI },
+       { 0x57fa, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x57fb, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_EN },
+       { 0x57fc, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x57fd, ALP_ORDER_BOPOMOFO_LETTER_S_AU },
+       { 0x5800, ALP_ORDER_BOPOMOFO_LETTER_K_U },
+       { 0x5801, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x5802, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x5804, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x5805, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x5806, ALP_ORDER_BOPOMOFO_LETTER_D_U_EI },
+       { 0x5807, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x5808, ALP_ORDER_BOPOMOFO_LETTER_G_ANG },
+       { 0x5809, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x580a, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x580b, ALP_ORDER_BOPOMOFO_LETTER_P_ENG },
+       { 0x580c, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x580d, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x580e, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x5810, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x5814, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x5819, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x581b, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x581c, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x581d, ALP_ORDER_BOPOMOFO_LETTER_G_U_O },
+       { 0x581e, ALP_ORDER_BOPOMOFO_LETTER_D_I_EH },
+       { 0x5820, ALP_ORDER_BOPOMOFO_LETTER_H_OU },
+       { 0x5821, ALP_ORDER_BOPOMOFO_LETTER_B_AU },
+       { 0x5823, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x5824, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x5825, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x5827, ALP_ORDER_BOPOMOFO_LETTER_R_U_AN },
+       { 0x5828, ALP_ORDER_BOPOMOFO_LETTER_AI },
+       { 0x5829, ALP_ORDER_BOPOMOFO_LETTER_G_ENG },
+       { 0x582a, ALP_ORDER_BOPOMOFO_LETTER_K_AN },
+       { 0x582c, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x582d, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x582e, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x582f, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x5830, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x5831, ALP_ORDER_BOPOMOFO_LETTER_B_AU },
+       { 0x5832, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x5833, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x5834, ALP_ORDER_BOPOMOFO_LETTER_CH_ANG },
+       { 0x5835, ALP_ORDER_BOPOMOFO_LETTER_D_U },
+       { 0x5836, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x5837, ALP_ORDER_BOPOMOFO_LETTER_AN },
+       { 0x5838, ALP_ORDER_BOPOMOFO_LETTER_F_ENG },
+       { 0x5839, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ENG },
+       { 0x583b, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x583d, ALP_ORDER_BOPOMOFO_LETTER_G_ANG },
+       { 0x583f, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x5848, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x5849, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x584a, ALP_ORDER_BOPOMOFO_LETTER_K_U_AI },
+       { 0x584b, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x584c, ALP_ORDER_BOPOMOFO_LETTER_T_A },
+       { 0x584d, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x584e, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x584f, ALP_ORDER_BOPOMOFO_LETTER_K_EI },
+       { 0x5851, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x5852, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x5853, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x5854, ALP_ORDER_BOPOMOFO_LETTER_T_A },
+       { 0x5855, ALP_ORDER_BOPOMOFO_LETTER_U_ENG },
+       { 0x5857, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x5858, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x5859, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x585a, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ENG },
+       { 0x585b, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x585d, ALP_ORDER_BOPOMOFO_LETTER_B_ANG },
+       { 0x585e, ALP_ORDER_BOPOMOFO_LETTER_S_AI },
+       { 0x5862, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x5863, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x5864, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x5865, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x5868, ALP_ORDER_BOPOMOFO_LETTER_G_U_ENG },
+       { 0x586b, ALP_ORDER_BOPOMOFO_LETTER_T_I_AN },
+       { 0x586d, ALP_ORDER_BOPOMOFO_LETTER_U_EN },
+       { 0x586f, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x5871, ALP_ORDER_BOPOMOFO_LETTER_L_ANG },
+       { 0x5874, ALP_ORDER_BOPOMOFO_LETTER_B_ENG },
+       { 0x5875, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x5876, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x5879, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x587a, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x587b, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x587c, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_AN },
+       { 0x587d, ALP_ORDER_BOPOMOFO_LETTER_SH_U_ANG },
+       { 0x587e, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x587f, ALP_ORDER_BOPOMOFO_LETTER_L_OU },
+       { 0x5880, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x5881, ALP_ORDER_BOPOMOFO_LETTER_M_AN },
+       { 0x5882, ALP_ORDER_BOPOMOFO_LETTER_B_I_AU },
+       { 0x5883, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x5885, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x5886, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x5887, ALP_ORDER_BOPOMOFO_LETTER_ZH_ANG },
+       { 0x5888, ALP_ORDER_BOPOMOFO_LETTER_K_AN },
+       { 0x5889, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x588a, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x588b, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x588e, ALP_ORDER_BOPOMOFO_LETTER_G_U_O },
+       { 0x588f, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ANG },
+       { 0x5890, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x5891, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x5893, ALP_ORDER_BOPOMOFO_LETTER_M_U },
+       { 0x5894, ALP_ORDER_BOPOMOFO_LETTER_C_U_EI },
+       { 0x5898, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x589c, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_EI },
+       { 0x589d, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x589e, ALP_ORDER_BOPOMOFO_LETTER_Z_ENG },
+       { 0x589f, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x58a0, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x58a1, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x58a3, ALP_ORDER_BOPOMOFO_LETTER_P_U },
+       { 0x58a5, ALP_ORDER_BOPOMOFO_LETTER_D_U_ENG },
+       { 0x58a6, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x58a8, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x58a9, ALP_ORDER_BOPOMOFO_LETTER_D_U_EN },
+       { 0x58ab, ALP_ORDER_BOPOMOFO_LETTER_Z_U_EN },
+       { 0x58ac, ALP_ORDER_BOPOMOFO_LETTER_Z_U_EI },
+       { 0x58ae, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x58af, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x58b1, ALP_ORDER_BOPOMOFO_LETTER_D_ENG },
+       { 0x58b3, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x58ba, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x58bb, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ANG },
+       { 0x58bc, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x58bd, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x58be, ALP_ORDER_BOPOMOFO_LETTER_K_EN },
+       { 0x58bf, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x58c1, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x58c2, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x58c5, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x58c6, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EH },
+       { 0x58c7, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x58c8, ALP_ORDER_BOPOMOFO_LETTER_L_AN },
+       { 0x58c9, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x58ce, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x58cf, ALP_ORDER_BOPOMOFO_LETTER_L_AN },
+       { 0x58d1, ALP_ORDER_BOPOMOFO_LETTER_H_U_O },
+       { 0x58d2, ALP_ORDER_BOPOMOFO_LETTER_K_EI },
+       { 0x58d3, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x58d4, ALP_ORDER_BOPOMOFO_LETTER_D_AU },
+       { 0x58d5, ALP_ORDER_BOPOMOFO_LETTER_H_AU },
+       { 0x58d6, ALP_ORDER_BOPOMOFO_LETTER_R_U_AN },
+       { 0x58d8, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x58d9, ALP_ORDER_BOPOMOFO_LETTER_K_U_ANG },
+       { 0x58da, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x58db, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x58dd, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x58de, ALP_ORDER_BOPOMOFO_LETTER_H_U_AI },
+       { 0x58df, ALP_ORDER_BOPOMOFO_LETTER_L_U_ENG },
+       { 0x58e2, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x58e3, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x58e4, ALP_ORDER_BOPOMOFO_LETTER_R_ANG },
+       { 0x58e7, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x58e8, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x58e9, ALP_ORDER_BOPOMOFO_LETTER_B_A },
+       { 0x58eb, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x58ec, ALP_ORDER_BOPOMOFO_LETTER_R_EN },
+       { 0x58ef, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ANG },
+       { 0x58f4, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x58f9, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x58fa, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x58fc, ALP_ORDER_BOPOMOFO_LETTER_K_U_EN },
+       { 0x58fd, ALP_ORDER_BOPOMOFO_LETTER_SH_OU },
+       { 0x58fe, ALP_ORDER_BOPOMOFO_LETTER_M_ANG },
+       { 0x58ff, ALP_ORDER_BOPOMOFO_LETTER_Z_U_EN },
+       { 0x5903, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x5906, ALP_ORDER_BOPOMOFO_LETTER_F_ENG },
+       { 0x590c, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x590d, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x590e, ALP_ORDER_BOPOMOFO_LETTER_Z_U_O },
+       { 0x590f, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x5912, ALP_ORDER_BOPOMOFO_LETTER_N_AU },
+       { 0x5914, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x5915, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x5916, ALP_ORDER_BOPOMOFO_LETTER_U_AI },
+       { 0x5917, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x5919, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x591a, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x591c, ALP_ORDER_BOPOMOFO_LETTER_I_EH },
+       { 0x5920, ALP_ORDER_BOPOMOFO_LETTER_G_OU },
+       { 0x5922, ALP_ORDER_BOPOMOFO_LETTER_M_ENG },
+       { 0x5924, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x5925, ALP_ORDER_BOPOMOFO_LETTER_H_U_O },
+       { 0x5927, ALP_ORDER_BOPOMOFO_LETTER_D_A },
+       { 0x5929, ALP_ORDER_BOPOMOFO_LETTER_T_I_AN },
+       { 0x592a, ALP_ORDER_BOPOMOFO_LETTER_T_AI },
+       { 0x592b, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x592c, ALP_ORDER_BOPOMOFO_LETTER_G_U_AI },
+       { 0x592d, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x592e, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x592f, ALP_ORDER_BOPOMOFO_LETTER_H_ANG },
+       { 0x5931, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x5937, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x5938, ALP_ORDER_BOPOMOFO_LETTER_K_U_A },
+       { 0x593c, ALP_ORDER_BOPOMOFO_LETTER_K_U_ANG },
+       { 0x593e, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x5940, ALP_ORDER_BOPOMOFO_LETTER_M_ANG },
+       { 0x5944, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x5945, ALP_ORDER_BOPOMOFO_LETTER_P_AU },
+       { 0x5947, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x5948, ALP_ORDER_BOPOMOFO_LETTER_N_AI },
+       { 0x5949, ALP_ORDER_BOPOMOFO_LETTER_F_ENG },
+       { 0x594a, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x594e, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x594f, ALP_ORDER_BOPOMOFO_LETTER_Z_OU },
+       { 0x5950, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x5951, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x5953, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x5954, ALP_ORDER_BOPOMOFO_LETTER_B_EN },
+       { 0x5955, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x5957, ALP_ORDER_BOPOMOFO_LETTER_T_AU },
+       { 0x5958, ALP_ORDER_BOPOMOFO_LETTER_Z_ANG },
+       { 0x595a, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x595c, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x5960, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x5961, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x5962, ALP_ORDER_BOPOMOFO_LETTER_SH_E },
+       { 0x5967, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x5969, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x596a, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x596b, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x596d, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x596e, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x5970, ALP_ORDER_BOPOMOFO_LETTER_B_EI },
+       { 0x5971, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x5972, ALP_ORDER_BOPOMOFO_LETTER_CH_E },
+       { 0x5973, ALP_ORDER_BOPOMOFO_LETTER_N_IU },
+       { 0x5974, ALP_ORDER_BOPOMOFO_LETTER_N_U },
+       { 0x5976, ALP_ORDER_BOPOMOFO_LETTER_N_AI },
+       { 0x5977, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x5978, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x5979, ALP_ORDER_BOPOMOFO_LETTER_T_A },
+       { 0x597b, ALP_ORDER_BOPOMOFO_LETTER_N_AN },
+       { 0x597c, ALP_ORDER_BOPOMOFO_LETTER_CH_A },
+       { 0x597d, ALP_ORDER_BOPOMOFO_LETTER_H_AU },
+       { 0x597e, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x597f, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x5980, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x5981, ALP_ORDER_BOPOMOFO_LETTER_SH_U_O },
+       { 0x5982, ALP_ORDER_BOPOMOFO_LETTER_R_U },
+       { 0x5983, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x5984, ALP_ORDER_BOPOMOFO_LETTER_U_ANG },
+       { 0x5985, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x598a, ALP_ORDER_BOPOMOFO_LETTER_R_EN },
+       { 0x598d, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x598e, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x598f, ALP_ORDER_BOPOMOFO_LETTER_U_EN },
+       { 0x5990, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ENG },
+       { 0x5992, ALP_ORDER_BOPOMOFO_LETTER_D_U },
+       { 0x5993, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x5996, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x5997, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x5998, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x5999, ALP_ORDER_BOPOMOFO_LETTER_M_I_AU },
+       { 0x599d, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ANG },
+       { 0x599e, ALP_ORDER_BOPOMOFO_LETTER_N_I_OU },
+       { 0x59a0, ALP_ORDER_BOPOMOFO_LETTER_N_A },
+       { 0x59a1, ALP_ORDER_BOPOMOFO_LETTER_X_I_EN },
+       { 0x59a2, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x59a3, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x59a4, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x59a5, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x59a6, ALP_ORDER_BOPOMOFO_LETTER_F_ENG },
+       { 0x59a7, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x59a8, ALP_ORDER_BOPOMOFO_LETTER_F_ANG },
+       { 0x59ae, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x59af, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x59b1, ALP_ORDER_BOPOMOFO_LETTER_ZH_AU },
+       { 0x59b2, ALP_ORDER_BOPOMOFO_LETTER_D_A },
+       { 0x59b3, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x59b4, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x59b5, ALP_ORDER_BOPOMOFO_LETTER_T_OU },
+       { 0x59b6, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x59b9, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x59ba, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x59bb, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x59bc, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x59bd, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x59be, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EH },
+       { 0x59c0, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x59c1, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x59c3, ALP_ORDER_BOPOMOFO_LETTER_ZH_ENG },
+       { 0x59c5, ALP_ORDER_BOPOMOFO_LETTER_B_AN },
+       { 0x59c6, ALP_ORDER_BOPOMOFO_LETTER_M_U },
+       { 0x59c7, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x59c8, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x59ca, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x59cb, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x59cc, ALP_ORDER_BOPOMOFO_LETTER_R_AN },
+       { 0x59cd, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x59ce, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x59cf, ALP_ORDER_BOPOMOFO_LETTER_M_AN },
+       { 0x59d0, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x59d1, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x59d2, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x59d3, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x59d4, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x59d6, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x59d8, ALP_ORDER_BOPOMOFO_LETTER_P_I_EN },
+       { 0x59da, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x59db, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x59dc, ALP_ORDER_BOPOMOFO_LETTER_J_I_ANG },
+       { 0x59dd, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x59de, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x59e0, ALP_ORDER_BOPOMOFO_LETTER_SH_ANG },
+       { 0x59e1, ALP_ORDER_BOPOMOFO_LETTER_K_U_O },
+       { 0x59e3, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x59e4, ALP_ORDER_BOPOMOFO_LETTER_G_OU },
+       { 0x59e5, ALP_ORDER_BOPOMOFO_LETTER_M_U },
+       { 0x59e6, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x59e8, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x59e9, ALP_ORDER_BOPOMOFO_LETTER_N_I_AN },
+       { 0x59ea, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x59ec, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x59ed, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x59ee, ALP_ORDER_BOPOMOFO_LETTER_H_ENG },
+       { 0x59f1, ALP_ORDER_BOPOMOFO_LETTER_K_U_A },
+       { 0x59f2, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x59f3, ALP_ORDER_BOPOMOFO_LETTER_M_I_ENG },
+       { 0x59f4, ALP_ORDER_BOPOMOFO_LETTER_L_I_EH },
+       { 0x59f5, ALP_ORDER_BOPOMOFO_LETTER_P_EI },
+       { 0x59f6, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x59f7, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x59fa, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x59fb, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x59fc, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x59fd, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x59fe, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x59ff, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x5a00, ALP_ORDER_BOPOMOFO_LETTER_S_U_ENG },
+       { 0x5a01, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x5a03, ALP_ORDER_BOPOMOFO_LETTER_U_A },
+       { 0x5a09, ALP_ORDER_BOPOMOFO_LETTER_P_I_ENG },
+       { 0x5a0a, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x5a0c, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x5a0f, ALP_ORDER_BOPOMOFO_LETTER_M_ANG },
+       { 0x5a11, ALP_ORDER_BOPOMOFO_LETTER_S_U_O },
+       { 0x5a13, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x5a15, ALP_ORDER_BOPOMOFO_LETTER_L_AI },
+       { 0x5a16, ALP_ORDER_BOPOMOFO_LETTER_CH_U_O },
+       { 0x5a17, ALP_ORDER_BOPOMOFO_LETTER_D_I_ENG },
+       { 0x5a18, ALP_ORDER_BOPOMOFO_LETTER_N_I_ANG },
+       { 0x5a19, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x5a1b, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x5a1c, ALP_ORDER_BOPOMOFO_LETTER_N_A },
+       { 0x5a1e, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x5a1f, ALP_ORDER_BOPOMOFO_LETTER_J_IU_AN },
+       { 0x5a20, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x5a23, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x5a25, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x5a29, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x5a2d, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x5a2e, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x5a33, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x5a35, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x5a36, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x5a37, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EI },
+       { 0x5a38, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x5a39, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x5a3c, ALP_ORDER_BOPOMOFO_LETTER_CH_ANG },
+       { 0x5a3e, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x5a40, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x5a41, ALP_ORDER_BOPOMOFO_LETTER_L_OU },
+       { 0x5a42, ALP_ORDER_BOPOMOFO_LETTER_M_I_AN },
+       { 0x5a43, ALP_ORDER_BOPOMOFO_LETTER_C_U_ENG },
+       { 0x5a44, ALP_ORDER_BOPOMOFO_LETTER_P_OU },
+       { 0x5a46, ALP_ORDER_BOPOMOFO_LETTER_P_O },
+       { 0x5a47, ALP_ORDER_BOPOMOFO_LETTER_C_AI },
+       { 0x5a48, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x5a49, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x5a4a, ALP_ORDER_BOPOMOFO_LETTER_B_I_AU },
+       { 0x5a4c, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x5a4d, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x5a50, ALP_ORDER_BOPOMOFO_LETTER_U_O },
+       { 0x5a51, ALP_ORDER_BOPOMOFO_LETTER_U_O },
+       { 0x5a52, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x5a53, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x5a55, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x5a56, ALP_ORDER_BOPOMOFO_LETTER_T_I_AN },
+       { 0x5a57, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x5a58, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x5a5a, ALP_ORDER_BOPOMOFO_LETTER_H_U_EN },
+       { 0x5a5b, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x5a5c, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x5a5d, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x5a5e, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x5a5f, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x5a60, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x5a62, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x5a64, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x5a65, ALP_ORDER_BOPOMOFO_LETTER_CH_U_O },
+       { 0x5a66, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x5a67, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x5a69, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x5a6a, ALP_ORDER_BOPOMOFO_LETTER_L_AN },
+       { 0x5a6c, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x5a6d, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x5a70, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x5a77, ALP_ORDER_BOPOMOFO_LETTER_T_I_ENG },
+       { 0x5a78, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x5a7a, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x5a7b, ALP_ORDER_BOPOMOFO_LETTER_N_AN },
+       { 0x5a7c, ALP_ORDER_BOPOMOFO_LETTER_CH_U_O },
+       { 0x5a7d, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x5a7f, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x5a83, ALP_ORDER_BOPOMOFO_LETTER_R_OU },
+       { 0x5a84, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x5a8a, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x5a8b, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EN },
+       { 0x5a8c, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x5a8e, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x5a8f, ALP_ORDER_BOPOMOFO_LETTER_D_U_AN },
+       { 0x5a90, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x5a92, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x5a93, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x5a94, ALP_ORDER_BOPOMOFO_LETTER_M_I_AN },
+       { 0x5a95, ALP_ORDER_BOPOMOFO_LETTER_AN },
+       { 0x5a97, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x5a9a, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x5a9b, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x5a9c, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x5a9d, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x5a9e, ALP_ORDER_BOPOMOFO_LETTER_CH_OU },
+       { 0x5a9f, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x5aa2, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x5aa5, ALP_ORDER_BOPOMOFO_LETTER_P_I_AN },
+       { 0x5aa6, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x5aa7, ALP_ORDER_BOPOMOFO_LETTER_U_A },
+       { 0x5aa9, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x5aac, ALP_ORDER_BOPOMOFO_LETTER_B_AU },
+       { 0x5aae, ALP_ORDER_BOPOMOFO_LETTER_T_OU },
+       { 0x5aaf, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x5ab0, ALP_ORDER_BOPOMOFO_LETTER_Z_OU },
+       { 0x5ab1, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x5ab2, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x5ab3, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x5ab4, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x5ab5, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x5ab6, ALP_ORDER_BOPOMOFO_LETTER_R_U_ENG },
+       { 0x5ab7, ALP_ORDER_BOPOMOFO_LETTER_R_U },
+       { 0x5ab8, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x5ab9, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x5aba, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x5abb, ALP_ORDER_BOPOMOFO_LETTER_P_AN },
+       { 0x5abc, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x5abd, ALP_ORDER_BOPOMOFO_LETTER_M_A },
+       { 0x5abe, ALP_ORDER_BOPOMOFO_LETTER_G_OU },
+       { 0x5abf, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x5ac0, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EN },
+       { 0x5ac1, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x5ac2, ALP_ORDER_BOPOMOFO_LETTER_S_AU },
+       { 0x5ac4, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x5ac6, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x5ac7, ALP_ORDER_BOPOMOFO_LETTER_M_I_ENG },
+       { 0x5ac8, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x5ac9, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x5aca, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x5acb, ALP_ORDER_BOPOMOFO_LETTER_N_I_AU },
+       { 0x5acc, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x5acd, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x5ad5, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x5ad6, ALP_ORDER_BOPOMOFO_LETTER_P_I_AU },
+       { 0x5ad7, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x5ad8, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x5ad9, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x5ada, ALP_ORDER_BOPOMOFO_LETTER_M_AN },
+       { 0x5adb, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x5adc, ALP_ORDER_BOPOMOFO_LETTER_ZH_ANG },
+       { 0x5add, ALP_ORDER_BOPOMOFO_LETTER_K_ANG },
+       { 0x5ade, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x5adf, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x5ae0, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x5ae1, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x5ae2, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x5ae3, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x5ae5, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_AN },
+       { 0x5ae6, ALP_ORDER_BOPOMOFO_LETTER_CH_ANG },
+       { 0x5ae8, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x5ae9, ALP_ORDER_BOPOMOFO_LETTER_N_EN },
+       { 0x5aea, ALP_ORDER_BOPOMOFO_LETTER_L_AU },
+       { 0x5aeb, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x5aec, ALP_ORDER_BOPOMOFO_LETTER_ZH_E },
+       { 0x5aed, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x5aee, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x5af3, ALP_ORDER_BOPOMOFO_LETTER_P_I_EH },
+       { 0x5af4, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x5af5, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x5af6, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x5af7, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x5af8, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x5af9, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x5afa, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x5afb, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x5afd, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x5aff, ALP_ORDER_BOPOMOFO_LETTER_H_U_A },
+       { 0x5b01, ALP_ORDER_BOPOMOFO_LETTER_D_ENG },
+       { 0x5b02, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x5b03, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x5b05, ALP_ORDER_BOPOMOFO_LETTER_H_U_A },
+       { 0x5b07, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x5b08, ALP_ORDER_BOPOMOFO_LETTER_R_AU },
+       { 0x5b09, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x5b0b, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x5b0c, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x5b0f, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x5b10, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x5b13, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x5b14, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x5b16, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x5b17, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x5b19, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ANG },
+       { 0x5b1a, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x5b1b, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x5b1d, ALP_ORDER_BOPOMOFO_LETTER_N_I_AU },
+       { 0x5b1e, ALP_ORDER_BOPOMOFO_LETTER_D_U_ENG },
+       { 0x5b20, ALP_ORDER_BOPOMOFO_LETTER_C_AN },
+       { 0x5b21, ALP_ORDER_BOPOMOFO_LETTER_AI },
+       { 0x5b23, ALP_ORDER_BOPOMOFO_LETTER_N_I_ENG },
+       { 0x5b24, ALP_ORDER_BOPOMOFO_LETTER_M_A },
+       { 0x5b25, ALP_ORDER_BOPOMOFO_LETTER_T_I_AU },
+       { 0x5b26, ALP_ORDER_BOPOMOFO_LETTER_CH_OU },
+       { 0x5b27, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x5b28, ALP_ORDER_BOPOMOFO_LETTER_C },
+       { 0x5b2a, ALP_ORDER_BOPOMOFO_LETTER_P_I_EN },
+       { 0x5b2c, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x5b2d, ALP_ORDER_BOPOMOFO_LETTER_N_AI },
+       { 0x5b2e, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x5b2f, ALP_ORDER_BOPOMOFO_LETTER_T_AI },
+       { 0x5b30, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x5b32, ALP_ORDER_BOPOMOFO_LETTER_N_I_AU },
+       { 0x5b34, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x5b38, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x5b3c, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x5b3d, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x5b3e, ALP_ORDER_BOPOMOFO_LETTER_L_AN },
+       { 0x5b3f, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x5b40, ALP_ORDER_BOPOMOFO_LETTER_SH_U_ANG },
+       { 0x5b43, ALP_ORDER_BOPOMOFO_LETTER_N_I_ANG },
+       { 0x5b45, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x5b47, ALP_ORDER_BOPOMOFO_LETTER_SH_U_ANG },
+       { 0x5b48, ALP_ORDER_BOPOMOFO_LETTER_SH_U_AI },
+       { 0x5b4b, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x5b4c, ALP_ORDER_BOPOMOFO_LETTER_L_U_AN },
+       { 0x5b4d, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x5b4e, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x5b50, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x5b51, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x5b53, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x5b54, ALP_ORDER_BOPOMOFO_LETTER_K_U_ENG },
+       { 0x5b55, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x5b56, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x5b57, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x5b58, ALP_ORDER_BOPOMOFO_LETTER_C_U_EN },
+       { 0x5b5a, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x5b5b, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x5b5c, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x5b5d, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x5b5f, ALP_ORDER_BOPOMOFO_LETTER_M_ENG },
+       { 0x5b62, ALP_ORDER_BOPOMOFO_LETTER_B_AU },
+       { 0x5b63, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x5b64, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x5b65, ALP_ORDER_BOPOMOFO_LETTER_N_U },
+       { 0x5b69, ALP_ORDER_BOPOMOFO_LETTER_H_AI },
+       { 0x5b6b, ALP_ORDER_BOPOMOFO_LETTER_S_U_EN },
+       { 0x5b6c, ALP_ORDER_BOPOMOFO_LETTER_N_AU },
+       { 0x5b6e, ALP_ORDER_BOPOMOFO_LETTER_C_U_ENG },
+       { 0x5b70, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x5b71, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x5b72, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x5b73, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x5b75, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x5b77, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x5b78, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EH },
+       { 0x5b7a, ALP_ORDER_BOPOMOFO_LETTER_R_U },
+       { 0x5b7b, ALP_ORDER_BOPOMOFO_LETTER_N_AI },
+       { 0x5b7d, ALP_ORDER_BOPOMOFO_LETTER_N_I_EH },
+       { 0x5b7f, ALP_ORDER_BOPOMOFO_LETTER_L_U_AN },
+       { 0x5b81, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x5b83, ALP_ORDER_BOPOMOFO_LETTER_T_A },
+       { 0x5b84, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x5b85, ALP_ORDER_BOPOMOFO_LETTER_ZH_AI },
+       { 0x5b87, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x5b88, ALP_ORDER_BOPOMOFO_LETTER_SH_OU },
+       { 0x5b89, ALP_ORDER_BOPOMOFO_LETTER_AN },
+       { 0x5b8b, ALP_ORDER_BOPOMOFO_LETTER_S_U_ENG },
+       { 0x5b8c, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x5b8e, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x5b8f, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x5b92, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_EN },
+       { 0x5b93, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x5b95, ALP_ORDER_BOPOMOFO_LETTER_D_ANG },
+       { 0x5b97, ALP_ORDER_BOPOMOFO_LETTER_Z_U_ENG },
+       { 0x5b98, ALP_ORDER_BOPOMOFO_LETTER_G_U_AN },
+       { 0x5b99, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x5b9a, ALP_ORDER_BOPOMOFO_LETTER_D_I_ENG },
+       { 0x5b9b, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x5b9c, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x5ba2, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x5ba3, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x5ba4, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x5ba5, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x5ba6, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x5ba7, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x5ba8, ALP_ORDER_BOPOMOFO_LETTER_T_I_AU },
+       { 0x5bac, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x5bad, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_EN },
+       { 0x5bae, ALP_ORDER_BOPOMOFO_LETTER_G_U_ENG },
+       { 0x5bb0, ALP_ORDER_BOPOMOFO_LETTER_Z_AI },
+       { 0x5bb3, ALP_ORDER_BOPOMOFO_LETTER_H_AI },
+       { 0x5bb4, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x5bb5, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x5bb6, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x5bb8, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x5bb9, ALP_ORDER_BOPOMOFO_LETTER_R_U_ENG },
+       { 0x5bbf, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x5bc0, ALP_ORDER_BOPOMOFO_LETTER_C_AI },
+       { 0x5bc1, ALP_ORDER_BOPOMOFO_LETTER_Z_AN },
+       { 0x5bc2, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x5bc4, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x5bc5, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x5bc6, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x5bc7, ALP_ORDER_BOPOMOFO_LETTER_K_OU },
+       { 0x5bca, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x5bcb, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x5bcc, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x5bcd, ALP_ORDER_BOPOMOFO_LETTER_N_I_ENG },
+       { 0x5bce, ALP_ORDER_BOPOMOFO_LETTER_B_I_ENG },
+       { 0x5bd0, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x5bd1, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EN },
+       { 0x5bd2, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x5bd3, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x5bd4, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x5bd6, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x5bd8, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x5bd9, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x5bde, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x5bdf, ALP_ORDER_BOPOMOFO_LETTER_CH_A },
+       { 0x5be0, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x5be1, ALP_ORDER_BOPOMOFO_LETTER_G_U_A },
+       { 0x5be2, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EN },
+       { 0x5be3, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x5be4, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x5be5, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x5be6, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x5be7, ALP_ORDER_BOPOMOFO_LETTER_N_I_ENG },
+       { 0x5be8, ALP_ORDER_BOPOMOFO_LETTER_ZH_AI },
+       { 0x5be9, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x5bea, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x5beb, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x5bec, ALP_ORDER_BOPOMOFO_LETTER_K_U_AN },
+       { 0x5bee, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x5bef, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EN },
+       { 0x5bf0, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x5bf1, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x5bf2, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x5bf5, ALP_ORDER_BOPOMOFO_LETTER_CH_U_ENG },
+       { 0x5bf6, ALP_ORDER_BOPOMOFO_LETTER_B_AU },
+       { 0x5bf8, ALP_ORDER_BOPOMOFO_LETTER_C_U_EN },
+       { 0x5bfa, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x5c01, ALP_ORDER_BOPOMOFO_LETTER_F_ENG },
+       { 0x5c03, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x5c04, ALP_ORDER_BOPOMOFO_LETTER_SH_E },
+       { 0x5c07, ALP_ORDER_BOPOMOFO_LETTER_J_I_ANG },
+       { 0x5c08, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_AN },
+       { 0x5c09, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x5c0a, ALP_ORDER_BOPOMOFO_LETTER_Z_U_EN },
+       { 0x5c0b, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x5c0c, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x5c0d, ALP_ORDER_BOPOMOFO_LETTER_D_U_EI },
+       { 0x5c0e, ALP_ORDER_BOPOMOFO_LETTER_D_AU },
+       { 0x5c0f, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x5c10, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x5c11, ALP_ORDER_BOPOMOFO_LETTER_SH_AU },
+       { 0x5c12, ALP_ORDER_BOPOMOFO_LETTER_ER },
+       { 0x5c15, ALP_ORDER_BOPOMOFO_LETTER_G_A },
+       { 0x5c16, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x5c1a, ALP_ORDER_BOPOMOFO_LETTER_SH_ANG },
+       { 0x5c1f, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x5c22, ALP_ORDER_BOPOMOFO_LETTER_U_ANG },
+       { 0x5c24, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x5c25, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x5c28, ALP_ORDER_BOPOMOFO_LETTER_P_ANG },
+       { 0x5c2a, ALP_ORDER_BOPOMOFO_LETTER_U_ANG },
+       { 0x5c2c, ALP_ORDER_BOPOMOFO_LETTER_G_A },
+       { 0x5c30, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ENG },
+       { 0x5c31, ALP_ORDER_BOPOMOFO_LETTER_J_I_OU },
+       { 0x5c33, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x5c37, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x5c38, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x5c39, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x5c3a, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x5c3b, ALP_ORDER_BOPOMOFO_LETTER_K_AU },
+       { 0x5c3c, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x5c3e, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x5c3f, ALP_ORDER_BOPOMOFO_LETTER_N_I_AU },
+       { 0x5c40, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x5c41, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x5c44, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x5c45, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x5c46, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x5c47, ALP_ORDER_BOPOMOFO_LETTER_T_I_AN },
+       { 0x5c48, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x5c4b, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x5c4c, ALP_ORDER_BOPOMOFO_LETTER_D_I_AU },
+       { 0x5c4d, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x5c4e, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x5c4f, ALP_ORDER_BOPOMOFO_LETTER_P_I_ENG },
+       { 0x5c50, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x5c51, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x5c54, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x5c55, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x5c56, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x5c58, ALP_ORDER_BOPOMOFO_LETTER_M_AN },
+       { 0x5c59, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x5c5c, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x5c5d, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x5c60, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x5c62, ALP_ORDER_BOPOMOFO_LETTER_L_IU },
+       { 0x5c63, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x5c64, ALP_ORDER_BOPOMOFO_LETTER_C_ENG },
+       { 0x5c65, ALP_ORDER_BOPOMOFO_LETTER_L_IU },
+       { 0x5c67, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x5c68, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x5c69, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x5c6a, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x5c6c, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x5c6d, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x5c6e, ALP_ORDER_BOPOMOFO_LETTER_CH_E },
+       { 0x5c6f, ALP_ORDER_BOPOMOFO_LETTER_T_U_EN },
+       { 0x5c71, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x5c73, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x5c74, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x5c79, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x5c7a, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x5c7b, ALP_ORDER_BOPOMOFO_LETTER_R_EN },
+       { 0x5c7c, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x5c7e, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x5c86, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x5c88, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x5c89, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x5c8a, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x5c8b, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x5c8c, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x5c8d, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x5c8f, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x5c90, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x5c91, ALP_ORDER_BOPOMOFO_LETTER_C_EN },
+       { 0x5c92, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x5c93, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x5c94, ALP_ORDER_BOPOMOFO_LETTER_CH_A },
+       { 0x5c95, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x5c9d, ALP_ORDER_BOPOMOFO_LETTER_ZH_AI },
+       { 0x5c9f, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x5ca0, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x5ca1, ALP_ORDER_BOPOMOFO_LETTER_G_ANG },
+       { 0x5ca2, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x5ca3, ALP_ORDER_BOPOMOFO_LETTER_G_OU },
+       { 0x5ca4, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EH },
+       { 0x5ca5, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x5ca6, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x5ca7, ALP_ORDER_BOPOMOFO_LETTER_T_I_AU },
+       { 0x5ca8, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x5ca9, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x5caa, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x5cab, ALP_ORDER_BOPOMOFO_LETTER_X_I_OU },
+       { 0x5cac, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x5cad, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x5cae, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x5caf, ALP_ORDER_BOPOMOFO_LETTER_P_EI },
+       { 0x5cb0, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x5cb1, ALP_ORDER_BOPOMOFO_LETTER_D_AI },
+       { 0x5cb3, ALP_ORDER_BOPOMOFO_LETTER_IU_EH },
+       { 0x5cb5, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x5cb6, ALP_ORDER_BOPOMOFO_LETTER_P_O },
+       { 0x5cb7, ALP_ORDER_BOPOMOFO_LETTER_M_I_EN },
+       { 0x5cb8, ALP_ORDER_BOPOMOFO_LETTER_AN },
+       { 0x5cc6, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x5cc7, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x5cc8, ALP_ORDER_BOPOMOFO_LETTER_L_U_O },
+       { 0x5cc9, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x5cca, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x5ccb, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x5ccc, ALP_ORDER_BOPOMOFO_LETTER_D_I_EH },
+       { 0x5cce, ALP_ORDER_BOPOMOFO_LETTER_L_ANG },
+       { 0x5ccf, ALP_ORDER_BOPOMOFO_LETTER_ER },
+       { 0x5cd0, ALP_ORDER_BOPOMOFO_LETTER_G_AI },
+       { 0x5cd2, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x5cd3, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x5cd4, ALP_ORDER_BOPOMOFO_LETTER_M_U },
+       { 0x5cd6, ALP_ORDER_BOPOMOFO_LETTER_AN },
+       { 0x5cd7, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x5cd8, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x5cd9, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x5cda, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x5cdb, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x5cde, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x5cdf, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x5ce8, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x5cea, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x5cec, ALP_ORDER_BOPOMOFO_LETTER_B_U },
+       { 0x5ced, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x5cee, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_EN },
+       { 0x5cf0, ALP_ORDER_BOPOMOFO_LETTER_F_ENG },
+       { 0x5cf1, ALP_ORDER_BOPOMOFO_LETTER_N_AU },
+       { 0x5cf4, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x5cf6, ALP_ORDER_BOPOMOFO_LETTER_D_AU },
+       { 0x5cf7, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x5cf8, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x5cf9, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x5cfb, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EN },
+       { 0x5cfd, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x5cff, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x5d00, ALP_ORDER_BOPOMOFO_LETTER_L_ANG },
+       { 0x5d01, ALP_ORDER_BOPOMOFO_LETTER_K_AN },
+       { 0x5d06, ALP_ORDER_BOPOMOFO_LETTER_K_U_ENG },
+       { 0x5d07, ALP_ORDER_BOPOMOFO_LETTER_CH_U_ENG },
+       { 0x5d0b, ALP_ORDER_BOPOMOFO_LETTER_H_U_A },
+       { 0x5d0c, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x5d0d, ALP_ORDER_BOPOMOFO_LETTER_L_AI },
+       { 0x5d0e, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x5d0f, ALP_ORDER_BOPOMOFO_LETTER_M_I_EN },
+       { 0x5d11, ALP_ORDER_BOPOMOFO_LETTER_K_U_EN },
+       { 0x5d12, ALP_ORDER_BOPOMOFO_LETTER_Z_U },
+       { 0x5d14, ALP_ORDER_BOPOMOFO_LETTER_C_U_EI },
+       { 0x5d16, ALP_ORDER_BOPOMOFO_LETTER_I_AI },
+       { 0x5d17, ALP_ORDER_BOPOMOFO_LETTER_G_ANG },
+       { 0x5d19, ALP_ORDER_BOPOMOFO_LETTER_L_U_EN },
+       { 0x5d1a, ALP_ORDER_BOPOMOFO_LETTER_L_ENG },
+       { 0x5d1b, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x5d1d, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x5d1e, ALP_ORDER_BOPOMOFO_LETTER_G_U_O },
+       { 0x5d1f, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x5d20, ALP_ORDER_BOPOMOFO_LETTER_D_U_ENG },
+       { 0x5d22, ALP_ORDER_BOPOMOFO_LETTER_ZH_ENG },
+       { 0x5d23, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x5d24, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x5d25, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x5d26, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x5d27, ALP_ORDER_BOPOMOFO_LETTER_S_U_ENG },
+       { 0x5d28, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x5d29, ALP_ORDER_BOPOMOFO_LETTER_B_ENG },
+       { 0x5d2e, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x5d30, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x5d31, ALP_ORDER_BOPOMOFO_LETTER_Z_E },
+       { 0x5d32, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x5d33, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x5d34, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x5d35, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x5d36, ALP_ORDER_BOPOMOFO_LETTER_F_ENG },
+       { 0x5d37, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x5d38, ALP_ORDER_BOPOMOFO_LETTER_D_U_EN },
+       { 0x5d39, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x5d3a, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x5d3c, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x5d3d, ALP_ORDER_BOPOMOFO_LETTER_Z_AI },
+       { 0x5d3f, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x5d40, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x5d41, ALP_ORDER_BOPOMOFO_LETTER_K_AN },
+       { 0x5d42, ALP_ORDER_BOPOMOFO_LETTER_L_IU },
+       { 0x5d43, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x5d45, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x5d47, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x5d49, ALP_ORDER_BOPOMOFO_LETTER_T_I_ENG },
+       { 0x5d4a, ALP_ORDER_BOPOMOFO_LETTER_SH_ENG },
+       { 0x5d4b, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x5d4c, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x5d4e, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x5d50, ALP_ORDER_BOPOMOFO_LETTER_L_AN },
+       { 0x5d51, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x5d52, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x5d55, ALP_ORDER_BOPOMOFO_LETTER_Z_U_ENG },
+       { 0x5d59, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x5d5e, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x5d62, ALP_ORDER_BOPOMOFO_LETTER_C_ANG },
+       { 0x5d63, ALP_ORDER_BOPOMOFO_LETTER_D_ANG },
+       { 0x5d65, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x5d67, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x5d68, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x5d69, ALP_ORDER_BOPOMOFO_LETTER_S_U_ENG },
+       { 0x5d6b, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x5d6c, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x5d6f, ALP_ORDER_BOPOMOFO_LETTER_C_U_O },
+       { 0x5d71, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x5d72, ALP_ORDER_BOPOMOFO_LETTER_N_I_EH },
+       { 0x5d77, ALP_ORDER_BOPOMOFO_LETTER_S_U_ENG },
+       { 0x5d79, ALP_ORDER_BOPOMOFO_LETTER_J_I_ANG },
+       { 0x5d7a, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x5d7c, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x5d7d, ALP_ORDER_BOPOMOFO_LETTER_D_I_EH },
+       { 0x5d7e, ALP_ORDER_BOPOMOFO_LETTER_C_EN },
+       { 0x5d7f, ALP_ORDER_BOPOMOFO_LETTER_D_I_ENG },
+       { 0x5d80, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x5d81, ALP_ORDER_BOPOMOFO_LETTER_L_OU },
+       { 0x5d82, ALP_ORDER_BOPOMOFO_LETTER_ZH_ANG },
+       { 0x5d84, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x5d86, ALP_ORDER_BOPOMOFO_LETTER_C_AU },
+       { 0x5d87, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x5d88, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ANG },
+       { 0x5d89, ALP_ORDER_BOPOMOFO_LETTER_Z_U_EI },
+       { 0x5d8a, ALP_ORDER_BOPOMOFO_LETTER_Z_U_EI },
+       { 0x5d8d, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x5d92, ALP_ORDER_BOPOMOFO_LETTER_C_ENG },
+       { 0x5d93, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x5d94, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EN },
+       { 0x5d95, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x5d97, ALP_ORDER_BOPOMOFO_LETTER_L_AU },
+       { 0x5d99, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x5d9a, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x5d9c, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x5d9d, ALP_ORDER_BOPOMOFO_LETTER_D_ENG },
+       { 0x5d9e, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x5d9f, ALP_ORDER_BOPOMOFO_LETTER_Z_U_EN },
+       { 0x5da0, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x5da1, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x5da2, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x5da7, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x5da8, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EH },
+       { 0x5da9, ALP_ORDER_BOPOMOFO_LETTER_N_AU },
+       { 0x5daa, ALP_ORDER_BOPOMOFO_LETTER_I_EH },
+       { 0x5dac, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x5dad, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x5dae, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x5daf, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x5db0, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x5db1, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x5db2, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x5db4, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x5db5, ALP_ORDER_BOPOMOFO_LETTER_Z_U_EI },
+       { 0x5db7, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x5db8, ALP_ORDER_BOPOMOFO_LETTER_R_U_ENG },
+       { 0x5dba, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x5dbc, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x5dbd, ALP_ORDER_BOPOMOFO_LETTER_IU_EH },
+       { 0x5dc0, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x5dc2, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x5dc3, ALP_ORDER_BOPOMOFO_LETTER_L_U_ENG },
+       { 0x5dc6, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x5dc7, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x5dc9, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x5dcb, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x5dcd, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x5dcf, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x5dd1, ALP_ORDER_BOPOMOFO_LETTER_C_U_AN },
+       { 0x5dd2, ALP_ORDER_BOPOMOFO_LETTER_L_U_AN },
+       { 0x5dd4, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x5dd5, ALP_ORDER_BOPOMOFO_LETTER_N_I_EH },
+       { 0x5dd6, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x5dd8, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x5ddd, ALP_ORDER_BOPOMOFO_LETTER_CH_U_AN },
+       { 0x5dde, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x5ddf, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x5de0, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x5de1, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x5de2, ALP_ORDER_BOPOMOFO_LETTER_CH_AU },
+       { 0x5de5, ALP_ORDER_BOPOMOFO_LETTER_G_U_ENG },
+       { 0x5de6, ALP_ORDER_BOPOMOFO_LETTER_Z_U_O },
+       { 0x5de7, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x5de8, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x5deb, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x5dee, ALP_ORDER_BOPOMOFO_LETTER_CH_A },
+       { 0x5df0, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x5df1, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x5df2, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x5df3, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x5df4, ALP_ORDER_BOPOMOFO_LETTER_B_A },
+       { 0x5df7, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x5df9, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x5dfd, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x5dfe, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x5dff, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x5e02, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x5e03, ALP_ORDER_BOPOMOFO_LETTER_B_U },
+       { 0x5e04, ALP_ORDER_BOPOMOFO_LETTER_D_I_ENG },
+       { 0x5e06, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x5e0a, ALP_ORDER_BOPOMOFO_LETTER_P_A },
+       { 0x5e0c, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x5e0e, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x5e11, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x5e14, ALP_ORDER_BOPOMOFO_LETTER_P_EI },
+       { 0x5e15, ALP_ORDER_BOPOMOFO_LETTER_P_A },
+       { 0x5e16, ALP_ORDER_BOPOMOFO_LETTER_T_I_EH },
+       { 0x5e17, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x5e18, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x5e19, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x5e1a, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x5e1b, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x5e1d, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x5e1f, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x5e20, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x5e21, ALP_ORDER_BOPOMOFO_LETTER_P_I_ENG },
+       { 0x5e22, ALP_ORDER_BOPOMOFO_LETTER_Q_I_A },
+       { 0x5e23, ALP_ORDER_BOPOMOFO_LETTER_J_IU_AN },
+       { 0x5e24, ALP_ORDER_BOPOMOFO_LETTER_R_U },
+       { 0x5e25, ALP_ORDER_BOPOMOFO_LETTER_SH_U_AI },
+       { 0x5e28, ALP_ORDER_BOPOMOFO_LETTER_SH_U_EI },
+       { 0x5e29, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x5e2b, ALP_ORDER_BOPOMOFO_LETTER_SH },
+};
+
+static han_map HANZI_TO_BPMF_MAP_3[] = {
+       { 0x5e2d, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x5e33, ALP_ORDER_BOPOMOFO_LETTER_ZH_ANG },
+       { 0x5e34, ALP_ORDER_BOPOMOFO_LETTER_SH_A },
+       { 0x5e36, ALP_ORDER_BOPOMOFO_LETTER_D_AI },
+       { 0x5e37, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x5e38, ALP_ORDER_BOPOMOFO_LETTER_CH_ANG },
+       { 0x5e3d, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x5e3e, ALP_ORDER_BOPOMOFO_LETTER_D_U },
+       { 0x5e40, ALP_ORDER_BOPOMOFO_LETTER_ZH_ENG },
+       { 0x5e41, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x5e43, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x5e44, ALP_ORDER_BOPOMOFO_LETTER_U_O },
+       { 0x5e45, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x5e4a, ALP_ORDER_BOPOMOFO_LETTER_G_U_ENG },
+       { 0x5e4b, ALP_ORDER_BOPOMOFO_LETTER_P_AN },
+       { 0x5e4c, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x5e4d, ALP_ORDER_BOPOMOFO_LETTER_D_AU },
+       { 0x5e4e, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x5e4f, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x5e53, ALP_ORDER_BOPOMOFO_LETTER_S_EN },
+       { 0x5e54, ALP_ORDER_BOPOMOFO_LETTER_M_AN },
+       { 0x5e55, ALP_ORDER_BOPOMOFO_LETTER_M_U },
+       { 0x5e57, ALP_ORDER_BOPOMOFO_LETTER_G_U_O },
+       { 0x5e58, ALP_ORDER_BOPOMOFO_LETTER_Z_E },
+       { 0x5e59, ALP_ORDER_BOPOMOFO_LETTER_M_U },
+       { 0x5e5b, ALP_ORDER_BOPOMOFO_LETTER_ZH_ANG },
+       { 0x5e5c, ALP_ORDER_BOPOMOFO_LETTER_J_IU_ENG },
+       { 0x5e5d, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x5e5f, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x5e60, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x5e61, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x5e62, ALP_ORDER_BOPOMOFO_LETTER_CH_U_ANG },
+       { 0x5e63, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x5e66, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x5e67, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x5e68, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x5e69, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x5e6a, ALP_ORDER_BOPOMOFO_LETTER_M_ENG },
+       { 0x5e6b, ALP_ORDER_BOPOMOFO_LETTER_B_ANG },
+       { 0x5e6c, ALP_ORDER_BOPOMOFO_LETTER_CH_OU },
+       { 0x5e6d, ALP_ORDER_BOPOMOFO_LETTER_M_I_EH },
+       { 0x5e6e, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x5e6f, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x5e70, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x5e72, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x5e73, ALP_ORDER_BOPOMOFO_LETTER_P_I_ENG },
+       { 0x5e74, ALP_ORDER_BOPOMOFO_LETTER_N_I_AN },
+       { 0x5e75, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x5e76, ALP_ORDER_BOPOMOFO_LETTER_B_I_ENG },
+       { 0x5e78, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x5e79, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x5e7b, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x5e7c, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x5e7d, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x5e7e, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x5e80, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x5e82, ALP_ORDER_BOPOMOFO_LETTER_Z_E },
+       { 0x5e84, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ANG },
+       { 0x5e87, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x5e88, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EN },
+       { 0x5e89, ALP_ORDER_BOPOMOFO_LETTER_D_U_EN },
+       { 0x5e8a, ALP_ORDER_BOPOMOFO_LETTER_CH_U_ANG },
+       { 0x5e8b, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x5e8c, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x5e8d, ALP_ORDER_BOPOMOFO_LETTER_B_AI },
+       { 0x5e8f, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x5e95, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x5e96, ALP_ORDER_BOPOMOFO_LETTER_P_AU },
+       { 0x5e97, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x5e9a, ALP_ORDER_BOPOMOFO_LETTER_G_ENG },
+       { 0x5e9b, ALP_ORDER_BOPOMOFO_LETTER_C },
+       { 0x5e9c, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x5ea0, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x5ea2, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x5ea3, ALP_ORDER_BOPOMOFO_LETTER_T_I_AU },
+       { 0x5ea4, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x5ea5, ALP_ORDER_BOPOMOFO_LETTER_X_I_OU },
+       { 0x5ea6, ALP_ORDER_BOPOMOFO_LETTER_D_U },
+       { 0x5ea7, ALP_ORDER_BOPOMOFO_LETTER_Z_U_O },
+       { 0x5ea8, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x5eaa, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x5eab, ALP_ORDER_BOPOMOFO_LETTER_K_U },
+       { 0x5eac, ALP_ORDER_BOPOMOFO_LETTER_P_ANG },
+       { 0x5ead, ALP_ORDER_BOPOMOFO_LETTER_T_I_ENG },
+       { 0x5eae, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x5eb0, ALP_ORDER_BOPOMOFO_LETTER_B_I_ENG },
+       { 0x5eb1, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x5eb2, ALP_ORDER_BOPOMOFO_LETTER_L_AI },
+       { 0x5eb3, ALP_ORDER_BOPOMOFO_LETTER_B_EI },
+       { 0x5eb4, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x5eb5, ALP_ORDER_BOPOMOFO_LETTER_AN },
+       { 0x5eb6, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x5eb7, ALP_ORDER_BOPOMOFO_LETTER_K_ANG },
+       { 0x5eb8, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x5eb9, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x5ebe, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x5ec1, ALP_ORDER_BOPOMOFO_LETTER_C_E },
+       { 0x5ec2, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x5ec4, ALP_ORDER_BOPOMOFO_LETTER_J_I_OU },
+       { 0x5ec5, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x5ec6, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x5ec7, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x5ec8, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x5ec9, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x5eca, ALP_ORDER_BOPOMOFO_LETTER_L_ANG },
+       { 0x5ecb, ALP_ORDER_BOPOMOFO_LETTER_S_OU },
+       { 0x5ecc, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x5ece, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ENG },
+       { 0x5ed1, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x5ed2, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x5ed3, ALP_ORDER_BOPOMOFO_LETTER_K_U_O },
+       { 0x5ed4, ALP_ORDER_BOPOMOFO_LETTER_L_OU },
+       { 0x5ed5, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x5ed6, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x5ed7, ALP_ORDER_BOPOMOFO_LETTER_D_AI },
+       { 0x5ed8, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x5ed9, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x5eda, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x5edb, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x5edc, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x5edd, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x5ede, ALP_ORDER_BOPOMOFO_LETTER_X_I_EN },
+       { 0x5edf, ALP_ORDER_BOPOMOFO_LETTER_M_I_AU },
+       { 0x5ee0, ALP_ORDER_BOPOMOFO_LETTER_CH_ANG },
+       { 0x5ee1, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x5ee2, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x5ee3, ALP_ORDER_BOPOMOFO_LETTER_G_U_ANG },
+       { 0x5ee5, ALP_ORDER_BOPOMOFO_LETTER_K_U_AI },
+       { 0x5ee6, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x5ee7, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ANG },
+       { 0x5ee8, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x5ee9, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x5eec, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x5eee, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x5eef, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x5ef1, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x5ef2, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x5ef3, ALP_ORDER_BOPOMOFO_LETTER_T_I_ENG },
+       { 0x5ef6, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x5ef7, ALP_ORDER_BOPOMOFO_LETTER_T_I_ENG },
+       { 0x5efa, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x5efe, ALP_ORDER_BOPOMOFO_LETTER_G_U_ENG },
+       { 0x5eff, ALP_ORDER_BOPOMOFO_LETTER_N_I_AN },
+       { 0x5f01, ALP_ORDER_BOPOMOFO_LETTER_B_I_AN },
+       { 0x5f02, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x5f04, ALP_ORDER_BOPOMOFO_LETTER_N_U_ENG },
+       { 0x5f05, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x5f07, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x5f08, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x5f0a, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x5f0b, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x5f0f, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x5f12, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x5f13, ALP_ORDER_BOPOMOFO_LETTER_G_U_ENG },
+       { 0x5f14, ALP_ORDER_BOPOMOFO_LETTER_D_I_AU },
+       { 0x5f15, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x5f17, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x5f18, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x5f1a, ALP_ORDER_BOPOMOFO_LETTER_T_U_EI },
+       { 0x5f1b, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x5f1d, ALP_ORDER_BOPOMOFO_LETTER_B_A },
+       { 0x5f1f, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x5f22, ALP_ORDER_BOPOMOFO_LETTER_T_AU },
+       { 0x5f23, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x5f24, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x5f26, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x5f27, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x5f28, ALP_ORDER_BOPOMOFO_LETTER_CH_AU },
+       { 0x5f29, ALP_ORDER_BOPOMOFO_LETTER_N_U },
+       { 0x5f2d, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x5f2e, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x5f30, ALP_ORDER_BOPOMOFO_LETTER_SH_AU },
+       { 0x5f31, ALP_ORDER_BOPOMOFO_LETTER_R_U_O },
+       { 0x5f33, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x5f35, ALP_ORDER_BOPOMOFO_LETTER_ZH_ANG },
+       { 0x5f36, ALP_ORDER_BOPOMOFO_LETTER_J_I_ANG },
+       { 0x5f37, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ANG },
+       { 0x5f38, ALP_ORDER_BOPOMOFO_LETTER_P_ENG },
+       { 0x5f3c, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x5f40, ALP_ORDER_BOPOMOFO_LETTER_G_OU },
+       { 0x5f43, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x5f44, ALP_ORDER_BOPOMOFO_LETTER_K_OU },
+       { 0x5f46, ALP_ORDER_BOPOMOFO_LETTER_B_I_EH },
+       { 0x5f48, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x5f49, ALP_ORDER_BOPOMOFO_LETTER_G_U_O },
+       { 0x5f4a, ALP_ORDER_BOPOMOFO_LETTER_J_I_ANG },
+       { 0x5f4b, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x5f4c, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x5f4e, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x5f4f, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x5f54, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x5f56, ALP_ORDER_BOPOMOFO_LETTER_T_U_AN },
+       { 0x5f57, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x5f58, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x5f59, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x5f5d, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x5f62, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x5f64, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x5f65, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x5f67, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x5f69, ALP_ORDER_BOPOMOFO_LETTER_C_AI },
+       { 0x5f6a, ALP_ORDER_BOPOMOFO_LETTER_B_I_AU },
+       { 0x5f6b, ALP_ORDER_BOPOMOFO_LETTER_D_I_AU },
+       { 0x5f6c, ALP_ORDER_BOPOMOFO_LETTER_B_I_EN },
+       { 0x5f6d, ALP_ORDER_BOPOMOFO_LETTER_P_ENG },
+       { 0x5f6f, ALP_ORDER_BOPOMOFO_LETTER_P_I_AU },
+       { 0x5f70, ALP_ORDER_BOPOMOFO_LETTER_ZH_ANG },
+       { 0x5f71, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x5f73, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x5f74, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O },
+       { 0x5f76, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x5f77, ALP_ORDER_BOPOMOFO_LETTER_F_ANG },
+       { 0x5f78, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ENG },
+       { 0x5f79, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x5f7c, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x5f7d, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x5f7e, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x5f7f, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x5f80, ALP_ORDER_BOPOMOFO_LETTER_U_ANG },
+       { 0x5f81, ALP_ORDER_BOPOMOFO_LETTER_ZH_ENG },
+       { 0x5f82, ALP_ORDER_BOPOMOFO_LETTER_C_U },
+       { 0x5f85, ALP_ORDER_BOPOMOFO_LETTER_D_AI },
+       { 0x5f86, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x5f87, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x5f88, ALP_ORDER_BOPOMOFO_LETTER_H_EN },
+       { 0x5f89, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x5f8a, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x5f8b, ALP_ORDER_BOPOMOFO_LETTER_L_IU },
+       { 0x5f8c, ALP_ORDER_BOPOMOFO_LETTER_H_OU },
+       { 0x5f90, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x5f91, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x5f92, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x5f96, ALP_ORDER_BOPOMOFO_LETTER_C_U_ENG },
+       { 0x5f97, ALP_ORDER_BOPOMOFO_LETTER_D_E },
+       { 0x5f98, ALP_ORDER_BOPOMOFO_LETTER_P_AI },
+       { 0x5f99, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x5f9b, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x5f9c, ALP_ORDER_BOPOMOFO_LETTER_CH_ANG },
+       { 0x5f9e, ALP_ORDER_BOPOMOFO_LETTER_C_U_ENG },
+       { 0x5f9f, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x5fa0, ALP_ORDER_BOPOMOFO_LETTER_L_AI },
+       { 0x5fa1, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x5fa5, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x5fa6, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x5fa8, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x5fa9, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x5faa, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x5fab, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x5fac, ALP_ORDER_BOPOMOFO_LETTER_P_ANG },
+       { 0x5fad, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x5fae, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x5faf, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x5fb2, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x5fb5, ALP_ORDER_BOPOMOFO_LETTER_ZH_ENG },
+       { 0x5fb6, ALP_ORDER_BOPOMOFO_LETTER_B_I_EH },
+       { 0x5fb7, ALP_ORDER_BOPOMOFO_LETTER_D_E },
+       { 0x5fb9, ALP_ORDER_BOPOMOFO_LETTER_CH_E },
+       { 0x5fbb, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x5fbc, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x5fbd, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x5fbe, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x5fbf, ALP_ORDER_BOPOMOFO_LETTER_L_U_ENG },
+       { 0x5fc0, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x5fc1, ALP_ORDER_BOPOMOFO_LETTER_B_AU },
+       { 0x5fc3, ALP_ORDER_BOPOMOFO_LETTER_X_I_EN },
+       { 0x5fc5, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x5fc9, ALP_ORDER_BOPOMOFO_LETTER_D_AU },
+       { 0x5fcc, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x5fcd, ALP_ORDER_BOPOMOFO_LETTER_R_EN },
+       { 0x5fcf, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x5fd0, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x5fd1, ALP_ORDER_BOPOMOFO_LETTER_T_E },
+       { 0x5fd2, ALP_ORDER_BOPOMOFO_LETTER_T_E },
+       { 0x5fd4, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x5fd5, ALP_ORDER_BOPOMOFO_LETTER_T_AI },
+       { 0x5fd6, ALP_ORDER_BOPOMOFO_LETTER_C_U_EN },
+       { 0x5fd7, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x5fd8, ALP_ORDER_BOPOMOFO_LETTER_U_ANG },
+       { 0x5fd9, ALP_ORDER_BOPOMOFO_LETTER_M_ANG },
+       { 0x5fdd, ALP_ORDER_BOPOMOFO_LETTER_T_I_AN },
+       { 0x5fde, ALP_ORDER_BOPOMOFO_LETTER_M_I_EN },
+       { 0x5fe0, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ENG },
+       { 0x5fe1, ALP_ORDER_BOPOMOFO_LETTER_CH_U_ENG },
+       { 0x5fe3, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x5fe4, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x5fe5, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x5fe8, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x5fea, ALP_ORDER_BOPOMOFO_LETTER_S_U_ENG },
+       { 0x5feb, ALP_ORDER_BOPOMOFO_LETTER_K_U_AI },
+       { 0x5fed, ALP_ORDER_BOPOMOFO_LETTER_B_I_AN },
+       { 0x5fee, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x5fef, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x5ff1, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x5ff3, ALP_ORDER_BOPOMOFO_LETTER_T_U_EN },
+       { 0x5ff4, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x5ff5, ALP_ORDER_BOPOMOFO_LETTER_N_I_AN },
+       { 0x5ff7, ALP_ORDER_BOPOMOFO_LETTER_X_IU_ENG },
+       { 0x5ff8, ALP_ORDER_BOPOMOFO_LETTER_N_I_OU },
+       { 0x5ffa, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x5ffb, ALP_ORDER_BOPOMOFO_LETTER_X_I_EN },
+       { 0x5ffd, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x5fff, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x6000, ALP_ORDER_BOPOMOFO_LETTER_H_U_AI },
+       { 0x6009, ALP_ORDER_BOPOMOFO_LETTER_B_AU },
+       { 0x600a, ALP_ORDER_BOPOMOFO_LETTER_CH_AU },
+       { 0x600b, ALP_ORDER_BOPOMOFO_LETTER_M_I_EN },
+       { 0x600c, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x600d, ALP_ORDER_BOPOMOFO_LETTER_Z_U_O },
+       { 0x600e, ALP_ORDER_BOPOMOFO_LETTER_Z_EN },
+       { 0x600f, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x6010, ALP_ORDER_BOPOMOFO_LETTER_K_OU },
+       { 0x6011, ALP_ORDER_BOPOMOFO_LETTER_B_AN },
+       { 0x6012, ALP_ORDER_BOPOMOFO_LETTER_N_U },
+       { 0x6013, ALP_ORDER_BOPOMOFO_LETTER_N_AU },
+       { 0x6014, ALP_ORDER_BOPOMOFO_LETTER_ZH_ENG },
+       { 0x6015, ALP_ORDER_BOPOMOFO_LETTER_P_A },
+       { 0x6016, ALP_ORDER_BOPOMOFO_LETTER_B_U },
+       { 0x6017, ALP_ORDER_BOPOMOFO_LETTER_T_I_EH },
+       { 0x6019, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x601a, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x601b, ALP_ORDER_BOPOMOFO_LETTER_D_A },
+       { 0x601c, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x601d, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x601e, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x6020, ALP_ORDER_BOPOMOFO_LETTER_D_AI },
+       { 0x6021, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x6022, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x6024, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x6025, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x6026, ALP_ORDER_BOPOMOFO_LETTER_P_ENG },
+       { 0x6027, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x6028, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x6029, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x602a, ALP_ORDER_BOPOMOFO_LETTER_G_U_AI },
+       { 0x602b, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x602c, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x602d, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x602e, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x602f, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_EH },
+       { 0x6032, ALP_ORDER_BOPOMOFO_LETTER_B_I_ENG },
+       { 0x6033, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x6034, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x6035, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x6037, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x6039, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x6040, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x6041, ALP_ORDER_BOPOMOFO_LETTER_R_EN },
+       { 0x6042, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x6043, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x6044, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x6045, ALP_ORDER_BOPOMOFO_LETTER_L_AU },
+       { 0x6046, ALP_ORDER_BOPOMOFO_LETTER_H_ENG },
+       { 0x6047, ALP_ORDER_BOPOMOFO_LETTER_K_U_ANG },
+       { 0x6049, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x604c, ALP_ORDER_BOPOMOFO_LETTER_T_I_AU },
+       { 0x604d, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x6050, ALP_ORDER_BOPOMOFO_LETTER_K_U_ENG },
+       { 0x6052, ALP_ORDER_BOPOMOFO_LETTER_H_ENG },
+       { 0x6053, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x6054, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x6055, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x6058, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x6059, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x605a, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x605b, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x605d, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x605e, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x605f, ALP_ORDER_BOPOMOFO_LETTER_X_IU_ENG },
+       { 0x6062, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x6063, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x6064, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x6065, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x6066, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x6067, ALP_ORDER_BOPOMOFO_LETTER_N_IU },
+       { 0x6068, ALP_ORDER_BOPOMOFO_LETTER_H_EN },
+       { 0x6069, ALP_ORDER_BOPOMOFO_LETTER_EN },
+       { 0x606a, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x606b, ALP_ORDER_BOPOMOFO_LETTER_D_U_ENG },
+       { 0x606c, ALP_ORDER_BOPOMOFO_LETTER_T_I_AN },
+       { 0x606d, ALP_ORDER_BOPOMOFO_LETTER_G_U_ENG },
+       { 0x606e, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x606f, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x6070, ALP_ORDER_BOPOMOFO_LETTER_Q_I_A },
+       { 0x6072, ALP_ORDER_BOPOMOFO_LETTER_P_ENG },
+       { 0x607f, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x6080, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x6081, ALP_ORDER_BOPOMOFO_LETTER_J_IU_AN },
+       { 0x6083, ALP_ORDER_BOPOMOFO_LETTER_K_U_EN },
+       { 0x6084, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x6085, ALP_ORDER_BOPOMOFO_LETTER_IU_EH },
+       { 0x6086, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x6087, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x6088, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x6089, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x608a, ALP_ORDER_BOPOMOFO_LETTER_ZH_E },
+       { 0x608c, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x608d, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x608e, ALP_ORDER_BOPOMOFO_LETTER_H_AU },
+       { 0x6090, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x6092, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x6094, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x6095, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x6096, ALP_ORDER_BOPOMOFO_LETTER_B_EI },
+       { 0x6097, ALP_ORDER_BOPOMOFO_LETTER_M_AN },
+       { 0x609a, ALP_ORDER_BOPOMOFO_LETTER_S_U_ENG },
+       { 0x609b, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x609c, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x609d, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x609f, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x60a0, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x60a2, ALP_ORDER_BOPOMOFO_LETTER_L_I_ANG },
+       { 0x60a3, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x60a8, ALP_ORDER_BOPOMOFO_LETTER_N_I_EN },
+       { 0x60b0, ALP_ORDER_BOPOMOFO_LETTER_C_U_ENG },
+       { 0x60b1, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x60b2, ALP_ORDER_BOPOMOFO_LETTER_B_EI },
+       { 0x60b4, ALP_ORDER_BOPOMOFO_LETTER_C_U_EI },
+       { 0x60b5, ALP_ORDER_BOPOMOFO_LETTER_CH_ANG },
+       { 0x60b6, ALP_ORDER_BOPOMOFO_LETTER_M_EN },
+       { 0x60b7, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x60b8, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x60b9, ALP_ORDER_BOPOMOFO_LETTER_G_U_AN },
+       { 0x60ba, ALP_ORDER_BOPOMOFO_LETTER_G_U_AN },
+       { 0x60bb, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x60bc, ALP_ORDER_BOPOMOFO_LETTER_D_AU },
+       { 0x60bd, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x60be, ALP_ORDER_BOPOMOFO_LETTER_K_U_ENG },
+       { 0x60bf, ALP_ORDER_BOPOMOFO_LETTER_T_I_AN },
+       { 0x60c0, ALP_ORDER_BOPOMOFO_LETTER_L_U_EN },
+       { 0x60c1, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x60c3, ALP_ORDER_BOPOMOFO_LETTER_K_U_EN },
+       { 0x60c4, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x60c5, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ENG },
+       { 0x60c6, ALP_ORDER_BOPOMOFO_LETTER_CH_OU },
+       { 0x60c7, ALP_ORDER_BOPOMOFO_LETTER_D_U_EN },
+       { 0x60c8, ALP_ORDER_BOPOMOFO_LETTER_G_U_O },
+       { 0x60c9, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x60ca, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x60cb, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x60cc, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x60cd, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x60ce, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x60cf, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x60d1, ALP_ORDER_BOPOMOFO_LETTER_H_U_O },
+       { 0x60d3, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x60d4, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x60d5, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x60d8, ALP_ORDER_BOPOMOFO_LETTER_U_ANG },
+       { 0x60d9, ALP_ORDER_BOPOMOFO_LETTER_CH_U_O },
+       { 0x60da, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x60db, ALP_ORDER_BOPOMOFO_LETTER_H_U_EN },
+       { 0x60dc, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x60dd, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x60df, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x60e0, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x60e1, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x60e2, ALP_ORDER_BOPOMOFO_LETTER_R_U_EI },
+       { 0x60e4, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x60e6, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x60f0, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x60f1, ALP_ORDER_BOPOMOFO_LETTER_N_AU },
+       { 0x60f2, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x60f3, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x60f4, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_EI },
+       { 0x60f5, ALP_ORDER_BOPOMOFO_LETTER_D_I_EH },
+       { 0x60f6, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x60f7, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EN },
+       { 0x60f8, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_ENG },
+       { 0x60f9, ALP_ORDER_BOPOMOFO_LETTER_R_E },
+       { 0x60fa, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x60fb, ALP_ORDER_BOPOMOFO_LETTER_C_E },
+       { 0x60fc, ALP_ORDER_BOPOMOFO_LETTER_B_I_AN },
+       { 0x60fe, ALP_ORDER_BOPOMOFO_LETTER_Z_U_ENG },
+       { 0x60ff, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x6100, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x6101, ALP_ORDER_BOPOMOFO_LETTER_CH_OU },
+       { 0x6103, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x6104, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x6105, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x6106, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x6108, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x6109, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x610a, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x610b, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x610d, ALP_ORDER_BOPOMOFO_LETTER_M_I_EN },
+       { 0x610e, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x610f, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x6110, ALP_ORDER_BOPOMOFO_LETTER_M_I_AN },
+       { 0x6112, ALP_ORDER_BOPOMOFO_LETTER_K_EI },
+       { 0x6113, ALP_ORDER_BOPOMOFO_LETTER_SH_ANG },
+       { 0x6114, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x6115, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x6116, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x6118, ALP_ORDER_BOPOMOFO_LETTER_Q_I_A },
+       { 0x611a, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x611b, ALP_ORDER_BOPOMOFO_LETTER_AI },
+       { 0x611c, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EH },
+       { 0x611d, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x611f, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x6123, ALP_ORDER_BOPOMOFO_LETTER_L_ENG },
+       { 0x6127, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x6128, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_EH },
+       { 0x6129, ALP_ORDER_BOPOMOFO_LETTER_G_U_ENG },
+       { 0x612b, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x612c, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x612e, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x612f, ALP_ORDER_BOPOMOFO_LETTER_S_U_ENG },
+       { 0x6132, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x6134, ALP_ORDER_BOPOMOFO_LETTER_CH_U_ANG },
+       { 0x6136, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x6137, ALP_ORDER_BOPOMOFO_LETTER_K_EI },
+       { 0x613b, ALP_ORDER_BOPOMOFO_LETTER_S_U_EN },
+       { 0x613e, ALP_ORDER_BOPOMOFO_LETTER_K_EI },
+       { 0x613f, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x6140, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x6141, ALP_ORDER_BOPOMOFO_LETTER_H_U_EN },
+       { 0x6144, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x6145, ALP_ORDER_BOPOMOFO_LETTER_S_AU },
+       { 0x6146, ALP_ORDER_BOPOMOFO_LETTER_T_AU },
+       { 0x6147, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x6148, ALP_ORDER_BOPOMOFO_LETTER_C },
+       { 0x6149, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x614a, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x614b, ALP_ORDER_BOPOMOFO_LETTER_T_AI },
+       { 0x614c, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x614d, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x614e, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x614f, ALP_ORDER_BOPOMOFO_LETTER_M_I_ENG },
+       { 0x6152, ALP_ORDER_BOPOMOFO_LETTER_C_U_ENG },
+       { 0x6153, ALP_ORDER_BOPOMOFO_LETTER_P_I_AU },
+       { 0x6154, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x6155, ALP_ORDER_BOPOMOFO_LETTER_M_U },
+       { 0x6156, ALP_ORDER_BOPOMOFO_LETTER_G_U_O },
+       { 0x6158, ALP_ORDER_BOPOMOFO_LETTER_C_AN },
+       { 0x615a, ALP_ORDER_BOPOMOFO_LETTER_C_AN },
+       { 0x615b, ALP_ORDER_BOPOMOFO_LETTER_C_U_EI },
+       { 0x615d, ALP_ORDER_BOPOMOFO_LETTER_T_E },
+       { 0x615e, ALP_ORDER_BOPOMOFO_LETTER_ZH_ANG },
+       { 0x615f, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x6161, ALP_ORDER_BOPOMOFO_LETTER_SH_U_ANG },
+       { 0x6162, ALP_ORDER_BOPOMOFO_LETTER_M_AN },
+       { 0x6163, ALP_ORDER_BOPOMOFO_LETTER_G_U_AN },
+       { 0x6165, ALP_ORDER_BOPOMOFO_LETTER_Z_AU },
+       { 0x6166, ALP_ORDER_BOPOMOFO_LETTER_J_I_OU },
+       { 0x6167, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x6168, ALP_ORDER_BOPOMOFO_LETTER_K_EI },
+       { 0x616a, ALP_ORDER_BOPOMOFO_LETTER_OU },
+       { 0x616b, ALP_ORDER_BOPOMOFO_LETTER_S_U_ENG },
+       { 0x616c, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x616e, ALP_ORDER_BOPOMOFO_LETTER_L_IU },
+       { 0x6170, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x6171, ALP_ORDER_BOPOMOFO_LETTER_T_U_AN },
+       { 0x6172, ALP_ORDER_BOPOMOFO_LETTER_M_AN },
+       { 0x6173, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x6174, ALP_ORDER_BOPOMOFO_LETTER_ZH_E },
+       { 0x6175, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x6176, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ENG },
+       { 0x6177, ALP_ORDER_BOPOMOFO_LETTER_K_ANG },
+       { 0x6179, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x617a, ALP_ORDER_BOPOMOFO_LETTER_L_OU },
+       { 0x617c, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x617e, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x6180, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x6182, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x6183, ALP_ORDER_BOPOMOFO_LETTER_CH_U_ENG },
+       { 0x6189, ALP_ORDER_BOPOMOFO_LETTER_P_ENG },
+       { 0x618a, ALP_ORDER_BOPOMOFO_LETTER_B_EI },
+       { 0x618b, ALP_ORDER_BOPOMOFO_LETTER_B_I_EH },
+       { 0x618c, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EN },
+       { 0x618d, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x618e, ALP_ORDER_BOPOMOFO_LETTER_Z_ENG },
+       { 0x6190, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x6191, ALP_ORDER_BOPOMOFO_LETTER_P_I_ENG },
+       { 0x6192, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x6193, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x6194, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x6196, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x619a, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x619b, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x619d, ALP_ORDER_BOPOMOFO_LETTER_D_U_EI },
+       { 0x619f, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x61a1, ALP_ORDER_BOPOMOFO_LETTER_C_E },
+       { 0x61a2, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x61a4, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x61a7, ALP_ORDER_BOPOMOFO_LETTER_CH_U_ENG },
+       { 0x61a8, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x61a9, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x61aa, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x61ab, ALP_ORDER_BOPOMOFO_LETTER_M_I_EN },
+       { 0x61ac, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x61ad, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x61ae, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x61af, ALP_ORDER_BOPOMOFO_LETTER_C_AN },
+       { 0x61b0, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x61b1, ALP_ORDER_BOPOMOFO_LETTER_C_U },
+       { 0x61b2, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x61b3, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x61b4, ALP_ORDER_BOPOMOFO_LETTER_SH_ENG },
+       { 0x61b5, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x61b6, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x61b8, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x61ba, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x61bc, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x61be, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x61bf, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x61c1, ALP_ORDER_BOPOMOFO_LETTER_J_IU_AN },
+       { 0x61c2, ALP_ORDER_BOPOMOFO_LETTER_D_U_ENG },
+       { 0x61c3, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EN },
+       { 0x61c5, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x61c6, ALP_ORDER_BOPOMOFO_LETTER_C_AU },
+       { 0x61c7, ALP_ORDER_BOPOMOFO_LETTER_K_EN },
+       { 0x61c8, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x61c9, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x61ca, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x61cb, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x61cc, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x61cd, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x61d6, ALP_ORDER_BOPOMOFO_LETTER_G_U_A },
+       { 0x61d8, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x61de, ALP_ORDER_BOPOMOFO_LETTER_M_ENG },
+       { 0x61df, ALP_ORDER_BOPOMOFO_LETTER_D_U_EI },
+       { 0x61e0, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x61e3, ALP_ORDER_BOPOMOFO_LETTER_M_EN },
+       { 0x61e4, ALP_ORDER_BOPOMOFO_LETTER_CH_OU },
+       { 0x61e5, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x61e6, ALP_ORDER_BOPOMOFO_LETTER_N_U_O },
+       { 0x61e7, ALP_ORDER_BOPOMOFO_LETTER_N_U_O },
+       { 0x61e8, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x61e9, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x61ea, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x61eb, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x61ed, ALP_ORDER_BOPOMOFO_LETTER_K_U_ANG },
+       { 0x61ee, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x61f0, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x61f1, ALP_ORDER_BOPOMOFO_LETTER_M_I_EH },
+       { 0x61f2, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x61f5, ALP_ORDER_BOPOMOFO_LETTER_M_ENG },
+       { 0x61f6, ALP_ORDER_BOPOMOFO_LETTER_L_AN },
+       { 0x61f7, ALP_ORDER_BOPOMOFO_LETTER_H_U_AI },
+       { 0x61f8, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x61f9, ALP_ORDER_BOPOMOFO_LETTER_R_ANG },
+       { 0x61fa, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x61fb, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x61fc, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x61fd, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x61fe, ALP_ORDER_BOPOMOFO_LETTER_SH_E },
+       { 0x61ff, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x6200, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x6201, ALP_ORDER_BOPOMOFO_LETTER_N_AN },
+       { 0x6203, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x6204, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x6207, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ANG },
+       { 0x6208, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x6209, ALP_ORDER_BOPOMOFO_LETTER_IU_EH },
+       { 0x620a, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x620c, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x620d, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x620e, ALP_ORDER_BOPOMOFO_LETTER_R_U_ENG },
+       { 0x6210, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x6211, ALP_ORDER_BOPOMOFO_LETTER_U_O },
+       { 0x6212, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x6214, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x6215, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ANG },
+       { 0x6216, ALP_ORDER_BOPOMOFO_LETTER_H_U_O },
+       { 0x6219, ALP_ORDER_BOPOMOFO_LETTER_D_U_ENG },
+       { 0x621a, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x621b, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x621f, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x6220, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x6221, ALP_ORDER_BOPOMOFO_LETTER_K_AN },
+       { 0x6222, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x6223, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x6224, ALP_ORDER_BOPOMOFO_LETTER_G_AI },
+       { 0x6225, ALP_ORDER_BOPOMOFO_LETTER_D_ENG },
+       { 0x6227, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ANG },
+       { 0x6229, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x622a, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x622b, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x622d, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x622e, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x6230, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x6232, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x6233, ALP_ORDER_BOPOMOFO_LETTER_CH_U_O },
+       { 0x6234, ALP_ORDER_BOPOMOFO_LETTER_D_AI },
+       { 0x6236, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x623a, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x623d, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x623e, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x623f, ALP_ORDER_BOPOMOFO_LETTER_F_ANG },
+       { 0x6240, ALP_ORDER_BOPOMOFO_LETTER_S_U_O },
+       { 0x6241, ALP_ORDER_BOPOMOFO_LETTER_B_I_AN },
+       { 0x6242, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x6243, ALP_ORDER_BOPOMOFO_LETTER_J_IU_ENG },
+       { 0x6246, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x6247, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x6248, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x6249, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x624a, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x624b, ALP_ORDER_BOPOMOFO_LETTER_SH_OU },
+       { 0x624d, ALP_ORDER_BOPOMOFO_LETTER_C_AI },
+       { 0x624e, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x6250, ALP_ORDER_BOPOMOFO_LETTER_L_E },
+       { 0x6251, ALP_ORDER_BOPOMOFO_LETTER_P_U },
+       { 0x6252, ALP_ORDER_BOPOMOFO_LETTER_P_A },
+       { 0x6253, ALP_ORDER_BOPOMOFO_LETTER_D_A },
+       { 0x6254, ALP_ORDER_BOPOMOFO_LETTER_R_ENG },
+       { 0x6258, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x6259, ALP_ORDER_BOPOMOFO_LETTER_ZH_ANG },
+       { 0x625a, ALP_ORDER_BOPOMOFO_LETTER_D_I_AU },
+       { 0x625b, ALP_ORDER_BOPOMOFO_LETTER_G_ANG },
+       { 0x625c, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x625e, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x6260, ALP_ORDER_BOPOMOFO_LETTER_CH_A },
+       { 0x6261, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x6262, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x6263, ALP_ORDER_BOPOMOFO_LETTER_K_OU },
+       { 0x6264, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x6265, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x6266, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x626d, ALP_ORDER_BOPOMOFO_LETTER_N_I_OU },
+       { 0x626e, ALP_ORDER_BOPOMOFO_LETTER_B_AN },
+       { 0x626f, ALP_ORDER_BOPOMOFO_LETTER_CH_E },
+       { 0x6270, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x6271, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x6272, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x6273, ALP_ORDER_BOPOMOFO_LETTER_B_AN },
+       { 0x6274, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x6276, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x6277, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x6279, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x627a, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x627b, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x627c, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x627d, ALP_ORDER_BOPOMOFO_LETTER_D_U_EN },
+       { 0x627e, ALP_ORDER_BOPOMOFO_LETTER_ZH_AU },
+       { 0x627f, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x6280, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x6281, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x6283, ALP_ORDER_BOPOMOFO_LETTER_B_I_AN },
+       { 0x6284, ALP_ORDER_BOPOMOFO_LETTER_CH_AU },
+       { 0x6286, ALP_ORDER_BOPOMOFO_LETTER_U_EN },
+       { 0x6287, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x6288, ALP_ORDER_BOPOMOFO_LETTER_IU_EH },
+       { 0x6289, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x628a, ALP_ORDER_BOPOMOFO_LETTER_B_A },
+       { 0x628c, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x628e, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x628f, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x6291, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x6292, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x6293, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_A },
+       { 0x6294, ALP_ORDER_BOPOMOFO_LETTER_P_OU },
+       { 0x6295, ALP_ORDER_BOPOMOFO_LETTER_T_OU },
+       { 0x6296, ALP_ORDER_BOPOMOFO_LETTER_D_OU },
+       { 0x6297, ALP_ORDER_BOPOMOFO_LETTER_K_ANG },
+       { 0x6298, ALP_ORDER_BOPOMOFO_LETTER_ZH_E },
+       { 0x62a8, ALP_ORDER_BOPOMOFO_LETTER_P_ENG },
+       { 0x62a9, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x62aa, ALP_ORDER_BOPOMOFO_LETTER_P_U },
+       { 0x62ab, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x62ac, ALP_ORDER_BOPOMOFO_LETTER_T_AI },
+       { 0x62ad, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x62ae, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x62af, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x62b0, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x62b1, ALP_ORDER_BOPOMOFO_LETTER_B_AU },
+       { 0x62b3, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x62b4, ALP_ORDER_BOPOMOFO_LETTER_I_EH },
+       { 0x62b5, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x62b6, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x62b8, ALP_ORDER_BOPOMOFO_LETTER_Z_A },
+       { 0x62b9, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x62bb, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x62bc, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x62bd, ALP_ORDER_BOPOMOFO_LETTER_CH_OU },
+       { 0x62be, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x62bf, ALP_ORDER_BOPOMOFO_LETTER_M_I_EN },
+       { 0x62c2, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x62c4, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x62c6, ALP_ORDER_BOPOMOFO_LETTER_CH_AI },
+       { 0x62c7, ALP_ORDER_BOPOMOFO_LETTER_M_U },
+       { 0x62c8, ALP_ORDER_BOPOMOFO_LETTER_N_I_AN },
+       { 0x62c9, ALP_ORDER_BOPOMOFO_LETTER_L_A },
+       { 0x62ca, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x62cb, ALP_ORDER_BOPOMOFO_LETTER_P_AU },
+       { 0x62cc, ALP_ORDER_BOPOMOFO_LETTER_B_AN },
+       { 0x62cd, ALP_ORDER_BOPOMOFO_LETTER_P_AI },
+       { 0x62ce, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x62cf, ALP_ORDER_BOPOMOFO_LETTER_N_A },
+       { 0x62d0, ALP_ORDER_BOPOMOFO_LETTER_G_U_AI },
+       { 0x62d1, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x62d2, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x62d3, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x62d4, ALP_ORDER_BOPOMOFO_LETTER_B_A },
+       { 0x62d6, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x62d7, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x62d8, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x62d9, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O },
+       { 0x62da, ALP_ORDER_BOPOMOFO_LETTER_P_AN },
+       { 0x62db, ALP_ORDER_BOPOMOFO_LETTER_ZH_AU },
+       { 0x62dc, ALP_ORDER_BOPOMOFO_LETTER_B_AI },
+       { 0x62eb, ALP_ORDER_BOPOMOFO_LETTER_H_EN },
+       { 0x62ec, ALP_ORDER_BOPOMOFO_LETTER_K_U_O },
+       { 0x62ed, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x62ee, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x62ef, ALP_ORDER_BOPOMOFO_LETTER_ZH_ENG },
+       { 0x62f0, ALP_ORDER_BOPOMOFO_LETTER_N_I_EN },
+       { 0x62f1, ALP_ORDER_BOPOMOFO_LETTER_G_U_ENG },
+       { 0x62f2, ALP_ORDER_BOPOMOFO_LETTER_G_U_ENG },
+       { 0x62f3, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x62f4, ALP_ORDER_BOPOMOFO_LETTER_SH_U_AN },
+       { 0x62f5, ALP_ORDER_BOPOMOFO_LETTER_T_U_EN },
+       { 0x62f6, ALP_ORDER_BOPOMOFO_LETTER_Z_A },
+       { 0x62f7, ALP_ORDER_BOPOMOFO_LETTER_K_AU },
+       { 0x62f8, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x62f9, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x62fa, ALP_ORDER_BOPOMOFO_LETTER_C_E },
+       { 0x62fb, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x62fc, ALP_ORDER_BOPOMOFO_LETTER_P_I_EN },
+       { 0x62fd, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_AI },
+       { 0x62fe, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x62ff, ALP_ORDER_BOPOMOFO_LETTER_N_A },
+       { 0x6300, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x6301, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x6302, ALP_ORDER_BOPOMOFO_LETTER_G_U_A },
+       { 0x6303, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x6307, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x6308, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EH },
+       { 0x6309, ALP_ORDER_BOPOMOFO_LETTER_AN },
+       { 0x630b, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x630c, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x630d, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x630e, ALP_ORDER_BOPOMOFO_LETTER_K_U },
+       { 0x630f, ALP_ORDER_BOPOMOFO_LETTER_D_U_ENG },
+       { 0x6310, ALP_ORDER_BOPOMOFO_LETTER_R_U },
+       { 0x6311, ALP_ORDER_BOPOMOFO_LETTER_T_I_AU },
+       { 0x6313, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x6314, ALP_ORDER_BOPOMOFO_LETTER_L_IU },
+       { 0x6315, ALP_ORDER_BOPOMOFO_LETTER_D_I_EH },
+       { 0x6316, ALP_ORDER_BOPOMOFO_LETTER_U_A },
+       { 0x6328, ALP_ORDER_BOPOMOFO_LETTER_AI },
+       { 0x6329, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x632a, ALP_ORDER_BOPOMOFO_LETTER_N_U_O },
+       { 0x632b, ALP_ORDER_BOPOMOFO_LETTER_C_U_O },
+       { 0x632c, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x632d, ALP_ORDER_BOPOMOFO_LETTER_G_ENG },
+       { 0x632f, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x6332, ALP_ORDER_BOPOMOFO_LETTER_S_U_O },
+       { 0x6333, ALP_ORDER_BOPOMOFO_LETTER_K_ENG },
+       { 0x6334, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x6336, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x6338, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x6339, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x633a, ALP_ORDER_BOPOMOFO_LETTER_T_I_ENG },
+       { 0x633b, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x633c, ALP_ORDER_BOPOMOFO_LETTER_R_U_O },
+       { 0x633d, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x633e, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x6340, ALP_ORDER_BOPOMOFO_LETTER_F_ENG },
+       { 0x6341, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x6342, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x6343, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EN },
+       { 0x6344, ALP_ORDER_BOPOMOFO_LETTER_J_I_OU },
+       { 0x6345, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x6346, ALP_ORDER_BOPOMOFO_LETTER_K_U_EN },
+       { 0x6347, ALP_ORDER_BOPOMOFO_LETTER_H_U_O },
+       { 0x6348, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x6349, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O },
+       { 0x634a, ALP_ORDER_BOPOMOFO_LETTER_P_OU },
+       { 0x634b, ALP_ORDER_BOPOMOFO_LETTER_L_IU },
+       { 0x634c, ALP_ORDER_BOPOMOFO_LETTER_B_A },
+       { 0x634d, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x634e, ALP_ORDER_BOPOMOFO_LETTER_SH_AU },
+       { 0x634f, ALP_ORDER_BOPOMOFO_LETTER_N_I_EH },
+       { 0x6350, ALP_ORDER_BOPOMOFO_LETTER_J_IU_AN },
+       { 0x6351, ALP_ORDER_BOPOMOFO_LETTER_SH_E },
+       { 0x6354, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x6355, ALP_ORDER_BOPOMOFO_LETTER_B_U },
+       { 0x6356, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x6357, ALP_ORDER_BOPOMOFO_LETTER_B_U },
+       { 0x6358, ALP_ORDER_BOPOMOFO_LETTER_Z_U_EN },
+       { 0x6359, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x635a, ALP_ORDER_BOPOMOFO_LETTER_ZH_AI },
+       { 0x6365, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x6367, ALP_ORDER_BOPOMOFO_LETTER_P_ENG },
+       { 0x6368, ALP_ORDER_BOPOMOFO_LETTER_SH_E },
+       { 0x6369, ALP_ORDER_BOPOMOFO_LETTER_L_I_EH },
+       { 0x636b, ALP_ORDER_BOPOMOFO_LETTER_M_EN },
+       { 0x636d, ALP_ORDER_BOPOMOFO_LETTER_B_AI },
+       { 0x636e, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x636f, ALP_ORDER_BOPOMOFO_LETTER_D_AU },
+       { 0x6370, ALP_ORDER_BOPOMOFO_LETTER_U_O },
+       { 0x6371, ALP_ORDER_BOPOMOFO_LETTER_AI },
+       { 0x6372, ALP_ORDER_BOPOMOFO_LETTER_J_IU_AN },
+       { 0x6375, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x6376, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EI },
+       { 0x6377, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x6378, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x637a, ALP_ORDER_BOPOMOFO_LETTER_N_A },
+       { 0x637b, ALP_ORDER_BOPOMOFO_LETTER_N_I_AN },
+       { 0x637c, ALP_ORDER_BOPOMOFO_LETTER_N_U_O },
+       { 0x637d, ALP_ORDER_BOPOMOFO_LETTER_Z_U_O },
+       { 0x6380, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x6381, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x6382, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x6383, ALP_ORDER_BOPOMOFO_LETTER_S_AU },
+       { 0x6384, ALP_ORDER_BOPOMOFO_LETTER_L_U_EN },
+       { 0x6385, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ENG },
+       { 0x6387, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x6388, ALP_ORDER_BOPOMOFO_LETTER_SH_OU },
+       { 0x6389, ALP_ORDER_BOPOMOFO_LETTER_D_I_AU },
+       { 0x638a, ALP_ORDER_BOPOMOFO_LETTER_P_OU },
+       { 0x638c, ALP_ORDER_BOPOMOFO_LETTER_ZH_ANG },
+       { 0x638d, ALP_ORDER_BOPOMOFO_LETTER_G_U_EN },
+       { 0x638e, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x638f, ALP_ORDER_BOPOMOFO_LETTER_T_AU },
+       { 0x6390, ALP_ORDER_BOPOMOFO_LETTER_Q_I_A },
+       { 0x6391, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x6392, ALP_ORDER_BOPOMOFO_LETTER_P_AI },
+       { 0x6394, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x6396, ALP_ORDER_BOPOMOFO_LETTER_I_EH },
+       { 0x6397, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x6398, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x6399, ALP_ORDER_BOPOMOFO_LETTER_ZH_ENG },
+       { 0x639b, ALP_ORDER_BOPOMOFO_LETTER_G_U_A },
+       { 0x639c, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x639d, ALP_ORDER_BOPOMOFO_LETTER_H_U_O },
+       { 0x639e, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x639f, ALP_ORDER_BOPOMOFO_LETTER_D_I_ENG },
+       { 0x63a0, ALP_ORDER_BOPOMOFO_LETTER_L_IU_EH },
+       { 0x63a1, ALP_ORDER_BOPOMOFO_LETTER_C_AI },
+       { 0x63a2, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x63a3, ALP_ORDER_BOPOMOFO_LETTER_CH_E },
+       { 0x63a4, ALP_ORDER_BOPOMOFO_LETTER_B_I_ENG },
+       { 0x63a5, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x63a7, ALP_ORDER_BOPOMOFO_LETTER_K_U_ENG },
+       { 0x63a8, ALP_ORDER_BOPOMOFO_LETTER_T_U_EI },
+       { 0x63a9, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x63aa, ALP_ORDER_BOPOMOFO_LETTER_C_U_O },
+       { 0x63ab, ALP_ORDER_BOPOMOFO_LETTER_Z_OU },
+       { 0x63ac, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x63ad, ALP_ORDER_BOPOMOFO_LETTER_T_I_AN },
+       { 0x63ae, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x63af, ALP_ORDER_BOPOMOFO_LETTER_K_EN },
+       { 0x63b0, ALP_ORDER_BOPOMOFO_LETTER_B_AI },
+       { 0x63b1, ALP_ORDER_BOPOMOFO_LETTER_SH_OU },
+       { 0x63bd, ALP_ORDER_BOPOMOFO_LETTER_P_ENG },
+       { 0x63be, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x63c0, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x63c2, ALP_ORDER_BOPOMOFO_LETTER_J_I_OU },
+       { 0x63c3, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x63c4, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x63c5, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x63c6, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x63c7, ALP_ORDER_BOPOMOFO_LETTER_N_AN },
+       { 0x63c8, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x63c9, ALP_ORDER_BOPOMOFO_LETTER_R_OU },
+       { 0x63ca, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x63cb, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x63cc, ALP_ORDER_BOPOMOFO_LETTER_S_AI },
+       { 0x63cd, ALP_ORDER_BOPOMOFO_LETTER_Z_OU },
+       { 0x63ce, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x63cf, ALP_ORDER_BOPOMOFO_LETTER_M_I_AU },
+       { 0x63d0, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x63d2, ALP_ORDER_BOPOMOFO_LETTER_CH_A },
+       { 0x63d3, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x63d5, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x63d6, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x63d7, ALP_ORDER_BOPOMOFO_LETTER_SH_U_EN },
+       { 0x63d8, ALP_ORDER_BOPOMOFO_LETTER_H_ENG },
+       { 0x63d9, ALP_ORDER_BOPOMOFO_LETTER_B_I_AN },
+       { 0x63da, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x63db, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x63dc, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x63dd, ALP_ORDER_BOPOMOFO_LETTER_Z_AN },
+       { 0x63df, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x63e0, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x63e1, ALP_ORDER_BOPOMOFO_LETTER_U_O },
+       { 0x63e3, ALP_ORDER_BOPOMOFO_LETTER_CH_U_AI },
+       { 0x63e4, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x63e5, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x63e7, ALP_ORDER_BOPOMOFO_LETTER_L_A },
+       { 0x63e8, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x63e9, ALP_ORDER_BOPOMOFO_LETTER_K_EI },
+       { 0x63ea, ALP_ORDER_BOPOMOFO_LETTER_J_I_OU },
+       { 0x63eb, ALP_ORDER_BOPOMOFO_LETTER_J_I_OU },
+       { 0x63ed, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x63ee, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x63ef, ALP_ORDER_BOPOMOFO_LETTER_G_ENG },
+       { 0x63f0, ALP_ORDER_BOPOMOFO_LETTER_CH_U_ENG },
+       { 0x63f1, ALP_ORDER_BOPOMOFO_LETTER_SH_U_O },
+       { 0x63f2, ALP_ORDER_BOPOMOFO_LETTER_SH_E },
+       { 0x63f3, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x63f4, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x63f5, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x63f6, ALP_ORDER_BOPOMOFO_LETTER_I_EH },
+       { 0x63f9, ALP_ORDER_BOPOMOFO_LETTER_B_EI },
+       { 0x6406, ALP_ORDER_BOPOMOFO_LETTER_G_OU },
+       { 0x6409, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_EH },
+       { 0x640a, ALP_ORDER_BOPOMOFO_LETTER_CH_OU },
+       { 0x640b, ALP_ORDER_BOPOMOFO_LETTER_CH_U_AI },
+       { 0x640c, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x640d, ALP_ORDER_BOPOMOFO_LETTER_S_U_EN },
+       { 0x640e, ALP_ORDER_BOPOMOFO_LETTER_S_U_EN },
+       { 0x640f, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x6410, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x6412, ALP_ORDER_BOPOMOFO_LETTER_B_ENG },
+       { 0x6413, ALP_ORDER_BOPOMOFO_LETTER_C_U_O },
+       { 0x6414, ALP_ORDER_BOPOMOFO_LETTER_S_AU },
+       { 0x6415, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x6416, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x6417, ALP_ORDER_BOPOMOFO_LETTER_D_AU },
+       { 0x6418, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x641a, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x641b, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x641c, ALP_ORDER_BOPOMOFO_LETTER_S_OU },
+       { 0x641e, ALP_ORDER_BOPOMOFO_LETTER_G_AU },
+       { 0x641f, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x6420, ALP_ORDER_BOPOMOFO_LETTER_SH_U_O },
+       { 0x6421, ALP_ORDER_BOPOMOFO_LETTER_S_ANG },
+       { 0x6422, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x6423, ALP_ORDER_BOPOMOFO_LETTER_M_I_EH },
+       { 0x6424, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x6425, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EI },
+       { 0x6426, ALP_ORDER_BOPOMOFO_LETTER_N_U_O },
+       { 0x6427, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x6428, ALP_ORDER_BOPOMOFO_LETTER_T_A },
+       { 0x642a, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x642b, ALP_ORDER_BOPOMOFO_LETTER_P_AN },
+       { 0x642c, ALP_ORDER_BOPOMOFO_LETTER_B_AN },
+       { 0x642d, ALP_ORDER_BOPOMOFO_LETTER_D_A },
+       { 0x642e, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x642f, ALP_ORDER_BOPOMOFO_LETTER_T_AU },
+       { 0x6430, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x6433, ALP_ORDER_BOPOMOFO_LETTER_H_U_A },
+       { 0x6434, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x6435, ALP_ORDER_BOPOMOFO_LETTER_U_EN },
+       { 0x6436, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ANG },
+       { 0x6437, ALP_ORDER_BOPOMOFO_LETTER_T_I_AN },
+       { 0x6439, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x643d, ALP_ORDER_BOPOMOFO_LETTER_CH_A },
+       { 0x643e, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x643f, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x6440, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x6441, ALP_ORDER_BOPOMOFO_LETTER_EN },
+       { 0x6443, ALP_ORDER_BOPOMOFO_LETTER_G_U_ENG },
+       { 0x644b, ALP_ORDER_BOPOMOFO_LETTER_S_A },
+       { 0x644d, ALP_ORDER_BOPOMOFO_LETTER_S_U_O },
+       { 0x644e, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x6450, ALP_ORDER_BOPOMOFO_LETTER_CH_U_ANG },
+       { 0x6451, ALP_ORDER_BOPOMOFO_LETTER_G_U_O },
+       { 0x6452, ALP_ORDER_BOPOMOFO_LETTER_B_I_ENG },
+       { 0x6453, ALP_ORDER_BOPOMOFO_LETTER_F_ENG },
+       { 0x6454, ALP_ORDER_BOPOMOFO_LETTER_SH_U_AI },
+       { 0x6458, ALP_ORDER_BOPOMOFO_LETTER_ZH_AI },
+       { 0x6459, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x645b, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x645c, ALP_ORDER_BOPOMOFO_LETTER_G_U_AN },
+       { 0x645d, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x645e, ALP_ORDER_BOPOMOFO_LETTER_L_U_O },
+       { 0x645f, ALP_ORDER_BOPOMOFO_LETTER_L_OU },
+       { 0x6460, ALP_ORDER_BOPOMOFO_LETTER_Z_U_ENG },
+       { 0x6461, ALP_ORDER_BOPOMOFO_LETTER_G_AI },
+       { 0x6465, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x6466, ALP_ORDER_BOPOMOFO_LETTER_H_U_A },
+       { 0x6467, ALP_ORDER_BOPOMOFO_LETTER_C_U_EI },
+       { 0x6468, ALP_ORDER_BOPOMOFO_LETTER_N_AI },
+       { 0x6469, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x646b, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x646c, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x646d, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x646e, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x646f, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x6470, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x6472, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x6473, ALP_ORDER_BOPOMOFO_LETTER_K_OU },
+       { 0x6474, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x6475, ALP_ORDER_BOPOMOFO_LETTER_SH_E },
+       { 0x6476, ALP_ORDER_BOPOMOFO_LETTER_T_U_AN },
+       { 0x6477, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x6478, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x6479, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x647a, ALP_ORDER_BOPOMOFO_LETTER_ZH_E },
+       { 0x647b, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x647d, ALP_ORDER_BOPOMOFO_LETTER_B_I_AU },
+       { 0x647f, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x6482, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x6485, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x6487, ALP_ORDER_BOPOMOFO_LETTER_P_I_EH },
+       { 0x6488, ALP_ORDER_BOPOMOFO_LETTER_L_AU },
+       { 0x6489, ALP_ORDER_BOPOMOFO_LETTER_D_U_EN },
+       { 0x648a, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x648b, ALP_ORDER_BOPOMOFO_LETTER_R_U_AN },
+       { 0x648c, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x648f, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x6490, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x6492, ALP_ORDER_BOPOMOFO_LETTER_S_A },
+       { 0x6493, ALP_ORDER_BOPOMOFO_LETTER_N_AU },
+       { 0x6495, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x6496, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x6497, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x6498, ALP_ORDER_BOPOMOFO_LETTER_D_A },
+       { 0x6499, ALP_ORDER_BOPOMOFO_LETTER_Z_U_EN },
+       { 0x649a, ALP_ORDER_BOPOMOFO_LETTER_N_I_AN },
+       { 0x649c, ALP_ORDER_BOPOMOFO_LETTER_ZH_ENG },
+       { 0x649d, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x649e, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ANG },
+       { 0x649f, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x64a0, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x64a2, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x64a3, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x64a4, ALP_ORDER_BOPOMOFO_LETTER_CH_E },
+       { 0x64a5, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x64a6, ALP_ORDER_BOPOMOFO_LETTER_CH_E },
+       { 0x64a9, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x64ab, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x64ac, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x64ad, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x64ae, ALP_ORDER_BOPOMOFO_LETTER_C_U_O },
+       { 0x64b0, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_AN },
+       { 0x64b1, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x64b2, ALP_ORDER_BOPOMOFO_LETTER_P_U },
+       { 0x64b3, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EN },
+       { 0x64bb, ALP_ORDER_BOPOMOFO_LETTER_T_A },
+       { 0x64bc, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x64bd, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x64be, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_A },
+       { 0x64bf, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x64c1, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x64c2, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x64c3, ALP_ORDER_BOPOMOFO_LETTER_K_U_O },
+       { 0x64c4, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x64c5, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x64c7, ALP_ORDER_BOPOMOFO_LETTER_Z_E },
+       { 0x64c9, ALP_ORDER_BOPOMOFO_LETTER_CH_U_O },
+       { 0x64ca, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x64cb, ALP_ORDER_BOPOMOFO_LETTER_D_ANG },
+       { 0x64cd, ALP_ORDER_BOPOMOFO_LETTER_C_AU },
+       { 0x64ce, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ENG },
+       { 0x64cf, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x64d0, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x64d2, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EN },
+       { 0x64d4, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x64d6, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x64d7, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x64d8, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x64d9, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x64da, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x64db, ALP_ORDER_BOPOMOFO_LETTER_I_EH },
+       { 0x64e0, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x64e2, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O },
+       { 0x64e3, ALP_ORDER_BOPOMOFO_LETTER_D_AU },
+       { 0x64e4, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x64e6, ALP_ORDER_BOPOMOFO_LETTER_C_A },
+       { 0x64e8, ALP_ORDER_BOPOMOFO_LETTER_I_EH },
+       { 0x64e9, ALP_ORDER_BOPOMOFO_LETTER_R_U },
+       { 0x64eb, ALP_ORDER_BOPOMOFO_LETTER_I_EH },
+       { 0x64ec, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x64ed, ALP_ORDER_BOPOMOFO_LETTER_H_U_O },
+       { 0x64ef, ALP_ORDER_BOPOMOFO_LETTER_B_I_EN },
+       { 0x64f0, ALP_ORDER_BOPOMOFO_LETTER_N_I_ENG },
+       { 0x64f1, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x64f2, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x64f3, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x64f4, ALP_ORDER_BOPOMOFO_LETTER_K_U_O },
+       { 0x64f7, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x64f8, ALP_ORDER_BOPOMOFO_LETTER_L_I_EH },
+       { 0x64fa, ALP_ORDER_BOPOMOFO_LETTER_B_AI },
+       { 0x64fb, ALP_ORDER_BOPOMOFO_LETTER_S_OU },
+       { 0x64fc, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x64fd, ALP_ORDER_BOPOMOFO_LETTER_L_IU_EH },
+       { 0x64fe, ALP_ORDER_BOPOMOFO_LETTER_R_AU },
+       { 0x64ff, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x6500, ALP_ORDER_BOPOMOFO_LETTER_P_AN },
+       { 0x6501, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x6503, ALP_ORDER_BOPOMOFO_LETTER_S_A },
+       { 0x6504, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x6506, ALP_ORDER_BOPOMOFO_LETTER_N_I_AN },
+       { 0x6507, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x6509, ALP_ORDER_BOPOMOFO_LETTER_H_U_O },
+       { 0x650c, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x650d, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x650e, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x650f, ALP_ORDER_BOPOMOFO_LETTER_L_U_ENG },
+       { 0x6510, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x6513, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x6514, ALP_ORDER_BOPOMOFO_LETTER_L_AN },
+       { 0x6515, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x6516, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x6517, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x6518, ALP_ORDER_BOPOMOFO_LETTER_R_ANG },
+       { 0x6519, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x651b, ALP_ORDER_BOPOMOFO_LETTER_C_U_AN },
+       { 0x651c, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x651d, ALP_ORDER_BOPOMOFO_LETTER_SH_E },
+       { 0x6520, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x6521, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x6522, ALP_ORDER_BOPOMOFO_LETTER_Z_AN },
+       { 0x6523, ALP_ORDER_BOPOMOFO_LETTER_L_U_AN },
+       { 0x6524, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x6525, ALP_ORDER_BOPOMOFO_LETTER_Z_U_AN },
+       { 0x6526, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x6529, ALP_ORDER_BOPOMOFO_LETTER_D_ANG },
+       { 0x652a, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x652b, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x652c, ALP_ORDER_BOPOMOFO_LETTER_L_AN },
+       { 0x652d, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x652e, ALP_ORDER_BOPOMOFO_LETTER_N_ANG },
+       { 0x652f, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x6532, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x6533, ALP_ORDER_BOPOMOFO_LETTER_X_I_EN },
+       { 0x6536, ALP_ORDER_BOPOMOFO_LETTER_SH_OU },
+       { 0x6537, ALP_ORDER_BOPOMOFO_LETTER_K_AU },
+       { 0x6538, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x6539, ALP_ORDER_BOPOMOFO_LETTER_G_AI },
+       { 0x653b, ALP_ORDER_BOPOMOFO_LETTER_G_U_ENG },
+       { 0x653d, ALP_ORDER_BOPOMOFO_LETTER_B_AN },
+       { 0x653e, ALP_ORDER_BOPOMOFO_LETTER_F_ANG },
+       { 0x653f, ALP_ORDER_BOPOMOFO_LETTER_ZH_ENG },
+       { 0x6541, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x6543, ALP_ORDER_BOPOMOFO_LETTER_M_I_EN },
+       { 0x6545, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x6546, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x6548, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x6549, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x654a, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x654f, ALP_ORDER_BOPOMOFO_LETTER_M_I_EN },
+       { 0x6551, ALP_ORDER_BOPOMOFO_LETTER_J_I_OU },
+       { 0x6553, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x6554, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x6555, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x6556, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x6557, ALP_ORDER_BOPOMOFO_LETTER_B_AI },
+       { 0x6558, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x6559, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x655c, ALP_ORDER_BOPOMOFO_LETTER_N_I_EH },
+       { 0x655d, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x655e, ALP_ORDER_BOPOMOFO_LETTER_CH_ANG },
+       { 0x6562, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x6563, ALP_ORDER_BOPOMOFO_LETTER_S_AN },
+       { 0x6564, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x6565, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x6566, ALP_ORDER_BOPOMOFO_LETTER_D_U_EN },
+       { 0x6567, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x6568, ALP_ORDER_BOPOMOFO_LETTER_D_OU },
+       { 0x656a, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x656c, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x656f, ALP_ORDER_BOPOMOFO_LETTER_M_I_EN },
+       { 0x6572, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x6573, ALP_ORDER_BOPOMOFO_LETTER_AI },
+       { 0x6574, ALP_ORDER_BOPOMOFO_LETTER_ZH_ENG },
+       { 0x6575, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x6576, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x6577, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x6578, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x6579, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x657a, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x657b, ALP_ORDER_BOPOMOFO_LETTER_X_IU_ENG },
+       { 0x657c, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x657f, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x6580, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O },
+       { 0x6581, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x6582, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x6583, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x6584, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x6587, ALP_ORDER_BOPOMOFO_LETTER_U_EN },
+       { 0x658c, ALP_ORDER_BOPOMOFO_LETTER_B_I_EN },
+       { 0x6590, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x6591, ALP_ORDER_BOPOMOFO_LETTER_B_AN },
+       { 0x6592, ALP_ORDER_BOPOMOFO_LETTER_B_AN },
+       { 0x6594, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x6595, ALP_ORDER_BOPOMOFO_LETTER_L_AN },
+       { 0x6596, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x6597, ALP_ORDER_BOPOMOFO_LETTER_D_OU },
+       { 0x6599, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x659b, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x659c, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x659d, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x659e, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x659f, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x65a0, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x65a1, ALP_ORDER_BOPOMOFO_LETTER_U_O },
+       { 0x65a2, ALP_ORDER_BOPOMOFO_LETTER_T_OU },
+       { 0x65a4, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x65a5, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x65a7, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x65a8, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ANG },
+       { 0x65aa, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x65ab, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O },
+       { 0x65ac, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x65ae, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O },
+       { 0x65af, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x65b0, ALP_ORDER_BOPOMOFO_LETTER_X_I_EN },
+       { 0x65b2, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O },
+       { 0x65b3, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EN },
+       { 0x65b6, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x65b7, ALP_ORDER_BOPOMOFO_LETTER_D_U_AN },
+       { 0x65b8, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x65b9, ALP_ORDER_BOPOMOFO_LETTER_F_ANG },
+       { 0x65bb, ALP_ORDER_BOPOMOFO_LETTER_H_ANG },
+       { 0x65bc, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x65bd, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x65bf, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x65c1, ALP_ORDER_BOPOMOFO_LETTER_P_ANG },
+       { 0x65c2, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x65c3, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+};
+
+static han_map HANZI_TO_BPMF_MAP_4[] = {
+       { 0x65c4, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x65c5, ALP_ORDER_BOPOMOFO_LETTER_L_IU },
+       { 0x65c6, ALP_ORDER_BOPOMOFO_LETTER_P_EI },
+       { 0x65cb, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x65cc, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x65cd, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x65ce, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x65cf, ALP_ORDER_BOPOMOFO_LETTER_Z_U },
+       { 0x65d0, ALP_ORDER_BOPOMOFO_LETTER_ZH_AU },
+       { 0x65d2, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x65d3, ALP_ORDER_BOPOMOFO_LETTER_SH_AU },
+       { 0x65d6, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x65d7, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x65d8, ALP_ORDER_BOPOMOFO_LETTER_P_I_AU },
+       { 0x65db, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x65dd, ALP_ORDER_BOPOMOFO_LETTER_K_U_AI },
+       { 0x65de, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x65df, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x65e1, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x65e2, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x65e5, ALP_ORDER_BOPOMOFO_LETTER_R },
+       { 0x65e6, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x65e8, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x65e9, ALP_ORDER_BOPOMOFO_LETTER_Z_AU },
+       { 0x65ec, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x65ed, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x65ee, ALP_ORDER_BOPOMOFO_LETTER_G_A },
+       { 0x65ef, ALP_ORDER_BOPOMOFO_LETTER_L_A },
+       { 0x65f0, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x65f1, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x65f2, ALP_ORDER_BOPOMOFO_LETTER_T_AI },
+       { 0x65f3, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x65f4, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x65f5, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x65fa, ALP_ORDER_BOPOMOFO_LETTER_U_ANG },
+       { 0x65fb, ALP_ORDER_BOPOMOFO_LETTER_M_I_EN },
+       { 0x65fc, ALP_ORDER_BOPOMOFO_LETTER_M_I_EN },
+       { 0x65fd, ALP_ORDER_BOPOMOFO_LETTER_T_U_EN },
+       { 0x6600, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x6602, ALP_ORDER_BOPOMOFO_LETTER_ANG },
+       { 0x6603, ALP_ORDER_BOPOMOFO_LETTER_Z_E },
+       { 0x6604, ALP_ORDER_BOPOMOFO_LETTER_B_AN },
+       { 0x6605, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x6606, ALP_ORDER_BOPOMOFO_LETTER_K_U_EN },
+       { 0x6607, ALP_ORDER_BOPOMOFO_LETTER_SH_ENG },
+       { 0x6608, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x6609, ALP_ORDER_BOPOMOFO_LETTER_F_ANG },
+       { 0x660a, ALP_ORDER_BOPOMOFO_LETTER_H_AU },
+       { 0x660b, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x660c, ALP_ORDER_BOPOMOFO_LETTER_CH_ANG },
+       { 0x660d, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x660e, ALP_ORDER_BOPOMOFO_LETTER_M_I_ENG },
+       { 0x660f, ALP_ORDER_BOPOMOFO_LETTER_H_U_EN },
+       { 0x6610, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x6611, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EN },
+       { 0x6612, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x6613, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x6614, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x6615, ALP_ORDER_BOPOMOFO_LETTER_X_I_EN },
+       { 0x661c, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x661d, ALP_ORDER_BOPOMOFO_LETTER_Z_AN },
+       { 0x661f, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x6620, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x6621, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x6622, ALP_ORDER_BOPOMOFO_LETTER_P_EI },
+       { 0x6624, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x6625, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EN },
+       { 0x6626, ALP_ORDER_BOPOMOFO_LETTER_H_AU },
+       { 0x6627, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x6628, ALP_ORDER_BOPOMOFO_LETTER_Z_U_O },
+       { 0x662b, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x662d, ALP_ORDER_BOPOMOFO_LETTER_ZH_AU },
+       { 0x662e, ALP_ORDER_BOPOMOFO_LETTER_Z_U_ENG },
+       { 0x662f, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x6631, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x6632, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x6633, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x6634, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x6635, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x6636, ALP_ORDER_BOPOMOFO_LETTER_CH_ANG },
+       { 0x6639, ALP_ORDER_BOPOMOFO_LETTER_AI },
+       { 0x663a, ALP_ORDER_BOPOMOFO_LETTER_B_I_ENG },
+       { 0x6641, ALP_ORDER_BOPOMOFO_LETTER_CH_AU },
+       { 0x6642, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x6643, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x6645, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x6647, ALP_ORDER_BOPOMOFO_LETTER_K_U_A },
+       { 0x6649, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x664a, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x664c, ALP_ORDER_BOPOMOFO_LETTER_SH_ANG },
+       { 0x664f, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x6651, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x6652, ALP_ORDER_BOPOMOFO_LETTER_SH_AI },
+       { 0x6659, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EN },
+       { 0x665a, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x665b, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x665c, ALP_ORDER_BOPOMOFO_LETTER_K_U_EN },
+       { 0x665d, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x665e, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x665f, ALP_ORDER_BOPOMOFO_LETTER_SH_ENG },
+       { 0x6661, ALP_ORDER_BOPOMOFO_LETTER_B_U },
+       { 0x6662, ALP_ORDER_BOPOMOFO_LETTER_ZH_E },
+       { 0x6664, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x6665, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x6666, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x6668, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x666a, ALP_ORDER_BOPOMOFO_LETTER_T_I_AN },
+       { 0x666c, ALP_ORDER_BOPOMOFO_LETTER_Z_U_EI },
+       { 0x666e, ALP_ORDER_BOPOMOFO_LETTER_P_U },
+       { 0x666f, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x6670, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x6671, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x6672, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x6674, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ENG },
+       { 0x6676, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x6677, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x6678, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x6679, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x667a, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x667b, ALP_ORDER_BOPOMOFO_LETTER_AN },
+       { 0x667c, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x667e, ALP_ORDER_BOPOMOFO_LETTER_L_I_ANG },
+       { 0x6680, ALP_ORDER_BOPOMOFO_LETTER_U_ANG },
+       { 0x6684, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x6686, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x6687, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x6688, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x6689, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x668a, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x668b, ALP_ORDER_BOPOMOFO_LETTER_M_I_EN },
+       { 0x668c, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x668d, ALP_ORDER_BOPOMOFO_LETTER_I_EH },
+       { 0x6690, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x6691, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x6694, ALP_ORDER_BOPOMOFO_LETTER_N_AN },
+       { 0x6695, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x6696, ALP_ORDER_BOPOMOFO_LETTER_N_U_AN },
+       { 0x6697, ALP_ORDER_BOPOMOFO_LETTER_AN },
+       { 0x6698, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x6699, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EN },
+       { 0x669d, ALP_ORDER_BOPOMOFO_LETTER_M_I_ENG },
+       { 0x669f, ALP_ORDER_BOPOMOFO_LETTER_K_EI },
+       { 0x66a0, ALP_ORDER_BOPOMOFO_LETTER_G_AU },
+       { 0x66a1, ALP_ORDER_BOPOMOFO_LETTER_U_ENG },
+       { 0x66a2, ALP_ORDER_BOPOMOFO_LETTER_CH_ANG },
+       { 0x66a8, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x66a9, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x66aa, ALP_ORDER_BOPOMOFO_LETTER_M_EN },
+       { 0x66ab, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x66ae, ALP_ORDER_BOPOMOFO_LETTER_M_U },
+       { 0x66af, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x66b0, ALP_ORDER_BOPOMOFO_LETTER_C_U_ENG },
+       { 0x66b1, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x66b2, ALP_ORDER_BOPOMOFO_LETTER_ZH_ANG },
+       { 0x66b4, ALP_ORDER_BOPOMOFO_LETTER_B_AU },
+       { 0x66b5, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x66b7, ALP_ORDER_BOPOMOFO_LETTER_CH_U_AN },
+       { 0x66b8, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x66b9, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x66ba, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x66bb, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x66bd, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x66be, ALP_ORDER_BOPOMOFO_LETTER_T_U_EN },
+       { 0x66c0, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x66c4, ALP_ORDER_BOPOMOFO_LETTER_I_EH },
+       { 0x66c6, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x66c7, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x66c8, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x66c9, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x66ca, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x66cb, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EN },
+       { 0x66cc, ALP_ORDER_BOPOMOFO_LETTER_ZH_AU },
+       { 0x66cf, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x66d2, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x66d6, ALP_ORDER_BOPOMOFO_LETTER_AI },
+       { 0x66d8, ALP_ORDER_BOPOMOFO_LETTER_R_U },
+       { 0x66d9, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x66da, ALP_ORDER_BOPOMOFO_LETTER_M_ENG },
+       { 0x66db, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x66dc, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x66dd, ALP_ORDER_BOPOMOFO_LETTER_P_U },
+       { 0x66de, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x66e0, ALP_ORDER_BOPOMOFO_LETTER_K_U_ANG },
+       { 0x66e3, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x66e4, ALP_ORDER_BOPOMOFO_LETTER_H_U_O },
+       { 0x66e6, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x66e8, ALP_ORDER_BOPOMOFO_LETTER_L_U_ENG },
+       { 0x66e9, ALP_ORDER_BOPOMOFO_LETTER_N_ANG },
+       { 0x66eb, ALP_ORDER_BOPOMOFO_LETTER_L_U_AN },
+       { 0x66ec, ALP_ORDER_BOPOMOFO_LETTER_SH_AI },
+       { 0x66ed, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x66ee, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x66f0, ALP_ORDER_BOPOMOFO_LETTER_IU_EH },
+       { 0x66f2, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x66f3, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x66f4, ALP_ORDER_BOPOMOFO_LETTER_G_ENG },
+       { 0x66f6, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x66f7, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x66f8, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x66f9, ALP_ORDER_BOPOMOFO_LETTER_C_AU },
+       { 0x66fc, ALP_ORDER_BOPOMOFO_LETTER_M_AN },
+       { 0x66fe, ALP_ORDER_BOPOMOFO_LETTER_Z_ENG },
+       { 0x66ff, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x6700, ALP_ORDER_BOPOMOFO_LETTER_Z_U_EI },
+       { 0x6701, ALP_ORDER_BOPOMOFO_LETTER_C_AN },
+       { 0x6703, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x6704, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x6705, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EH },
+       { 0x6708, ALP_ORDER_BOPOMOFO_LETTER_IU_EH },
+       { 0x6709, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x670a, ALP_ORDER_BOPOMOFO_LETTER_R_U_AN },
+       { 0x670b, ALP_ORDER_BOPOMOFO_LETTER_P_ENG },
+       { 0x670d, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x670f, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x6710, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x6712, ALP_ORDER_BOPOMOFO_LETTER_N_IU },
+       { 0x6713, ALP_ORDER_BOPOMOFO_LETTER_T_I_AU },
+       { 0x6714, ALP_ORDER_BOPOMOFO_LETTER_SH_U_O },
+       { 0x6715, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x6717, ALP_ORDER_BOPOMOFO_LETTER_L_ANG },
+       { 0x6718, ALP_ORDER_BOPOMOFO_LETTER_J_IU_AN },
+       { 0x671b, ALP_ORDER_BOPOMOFO_LETTER_U_ANG },
+       { 0x671d, ALP_ORDER_BOPOMOFO_LETTER_CH_AU },
+       { 0x671f, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x6720, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x6721, ALP_ORDER_BOPOMOFO_LETTER_Z_U_ENG },
+       { 0x6722, ALP_ORDER_BOPOMOFO_LETTER_U_ANG },
+       { 0x6723, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x6726, ALP_ORDER_BOPOMOFO_LETTER_M_ENG },
+       { 0x6727, ALP_ORDER_BOPOMOFO_LETTER_L_U_ENG },
+       { 0x6728, ALP_ORDER_BOPOMOFO_LETTER_M_U },
+       { 0x672a, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x672b, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x672c, ALP_ORDER_BOPOMOFO_LETTER_B_EN },
+       { 0x672d, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x672e, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x6731, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x6733, ALP_ORDER_BOPOMOFO_LETTER_B_A },
+       { 0x6734, ALP_ORDER_BOPOMOFO_LETTER_P_U },
+       { 0x6735, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x6738, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x6739, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x673a, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x673b, ALP_ORDER_BOPOMOFO_LETTER_J_I_OU },
+       { 0x673c, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x673d, ALP_ORDER_BOPOMOFO_LETTER_X_I_OU },
+       { 0x673e, ALP_ORDER_BOPOMOFO_LETTER_T_I_ENG },
+       { 0x673f, ALP_ORDER_BOPOMOFO_LETTER_C },
+       { 0x6745, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x6746, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x6747, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x6748, ALP_ORDER_BOPOMOFO_LETTER_CH_A },
+       { 0x6749, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x674b, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x674c, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x674d, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x674e, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x674f, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x6750, ALP_ORDER_BOPOMOFO_LETTER_C_AI },
+       { 0x6751, ALP_ORDER_BOPOMOFO_LETTER_C_U_EN },
+       { 0x6753, ALP_ORDER_BOPOMOFO_LETTER_B_I_AU },
+       { 0x6755, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x6756, ALP_ORDER_BOPOMOFO_LETTER_ZH_ANG },
+       { 0x6757, ALP_ORDER_BOPOMOFO_LETTER_M_ANG },
+       { 0x6759, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x675a, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x675c, ALP_ORDER_BOPOMOFO_LETTER_D_U },
+       { 0x675d, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x675e, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x675f, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x6760, ALP_ORDER_BOPOMOFO_LETTER_G_ANG },
+       { 0x676a, ALP_ORDER_BOPOMOFO_LETTER_M_I_AU },
+       { 0x676c, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x676d, ALP_ORDER_BOPOMOFO_LETTER_H_ANG },
+       { 0x676f, ALP_ORDER_BOPOMOFO_LETTER_B_EI },
+       { 0x6770, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x6771, ALP_ORDER_BOPOMOFO_LETTER_D_U_ENG },
+       { 0x6772, ALP_ORDER_BOPOMOFO_LETTER_G_AU },
+       { 0x6773, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x6774, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x6775, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x6776, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EN },
+       { 0x6777, ALP_ORDER_BOPOMOFO_LETTER_P_A },
+       { 0x6778, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x6779, ALP_ORDER_BOPOMOFO_LETTER_H_U_A },
+       { 0x677a, ALP_ORDER_BOPOMOFO_LETTER_X_I_EN },
+       { 0x677b, ALP_ORDER_BOPOMOFO_LETTER_CH_OU },
+       { 0x677c, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x677d, ALP_ORDER_BOPOMOFO_LETTER_CH_OU },
+       { 0x677e, ALP_ORDER_BOPOMOFO_LETTER_S_U_ENG },
+       { 0x677f, ALP_ORDER_BOPOMOFO_LETTER_B_AN },
+       { 0x6781, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x6783, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x6784, ALP_ORDER_BOPOMOFO_LETTER_G_OU },
+       { 0x6785, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x6786, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x6787, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x6789, ALP_ORDER_BOPOMOFO_LETTER_U_ANG },
+       { 0x678b, ALP_ORDER_BOPOMOFO_LETTER_F_ANG },
+       { 0x678c, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x678d, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x678e, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x6790, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x6791, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x6792, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x6793, ALP_ORDER_BOPOMOFO_LETTER_D_OU },
+       { 0x6794, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x6795, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x6797, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x6798, ALP_ORDER_BOPOMOFO_LETTER_R_U_EI },
+       { 0x6799, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x679a, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x679c, ALP_ORDER_BOPOMOFO_LETTER_G_U_O },
+       { 0x679d, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x679f, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x67ae, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x67af, ALP_ORDER_BOPOMOFO_LETTER_K_U },
+       { 0x67b0, ALP_ORDER_BOPOMOFO_LETTER_P_I_ENG },
+       { 0x67b2, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x67b3, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x67b4, ALP_ORDER_BOPOMOFO_LETTER_G_U_AI },
+       { 0x67b5, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x67b6, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x67b7, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x67b8, ALP_ORDER_BOPOMOFO_LETTER_G_OU },
+       { 0x67b9, ALP_ORDER_BOPOMOFO_LETTER_B_AU },
+       { 0x67ba, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x67bb, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x67c0, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x67c1, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x67c2, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x67c3, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x67c4, ALP_ORDER_BOPOMOFO_LETTER_B_I_ENG },
+       { 0x67c5, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x67c6, ALP_ORDER_BOPOMOFO_LETTER_L_A },
+       { 0x67c8, ALP_ORDER_BOPOMOFO_LETTER_B_AN },
+       { 0x67c9, ALP_ORDER_BOPOMOFO_LETTER_B_I_AN },
+       { 0x67ca, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ENG },
+       { 0x67cb, ALP_ORDER_BOPOMOFO_LETTER_D_AI },
+       { 0x67cc, ALP_ORDER_BOPOMOFO_LETTER_C },
+       { 0x67cd, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x67ce, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x67cf, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x67d0, ALP_ORDER_BOPOMOFO_LETTER_M_OU },
+       { 0x67d1, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x67d2, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x67d3, ALP_ORDER_BOPOMOFO_LETTER_R_AN },
+       { 0x67d4, ALP_ORDER_BOPOMOFO_LETTER_R_OU },
+       { 0x67d8, ALP_ORDER_BOPOMOFO_LETTER_ZH_E },
+       { 0x67d9, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x67da, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x67db, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x67dc, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x67dd, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x67de, ALP_ORDER_BOPOMOFO_LETTER_Z_U_O },
+       { 0x67df, ALP_ORDER_BOPOMOFO_LETTER_N_AN },
+       { 0x67e2, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x67e3, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x67e4, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x67e5, ALP_ORDER_BOPOMOFO_LETTER_CH_A },
+       { 0x67e6, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x67e7, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x67e9, ALP_ORDER_BOPOMOFO_LETTER_J_I_OU },
+       { 0x67ea, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x67eb, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x67ec, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x67ed, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x67ee, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x67ef, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x67f0, ALP_ORDER_BOPOMOFO_LETTER_N_AI },
+       { 0x67f1, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x67f2, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x67f3, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x67f4, ALP_ORDER_BOPOMOFO_LETTER_CH_AI },
+       { 0x67f5, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x67f6, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x67f7, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x67f8, ALP_ORDER_BOPOMOFO_LETTER_P_EI },
+       { 0x67fa, ALP_ORDER_BOPOMOFO_LETTER_G_U_AI },
+       { 0x67fc, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x67ff, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x6812, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x6813, ALP_ORDER_BOPOMOFO_LETTER_SH_U_AN },
+       { 0x6814, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x6816, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x6817, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x6818, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x681a, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x681c, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x681d, ALP_ORDER_BOPOMOFO_LETTER_G_U_A },
+       { 0x681f, ALP_ORDER_BOPOMOFO_LETTER_B_I_ENG },
+       { 0x6820, ALP_ORDER_BOPOMOFO_LETTER_R_EN },
+       { 0x6821, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x6825, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x6826, ALP_ORDER_BOPOMOFO_LETTER_CH_OU },
+       { 0x6828, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x6829, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x682a, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x682b, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x682d, ALP_ORDER_BOPOMOFO_LETTER_ER },
+       { 0x682e, ALP_ORDER_BOPOMOFO_LETTER_ER },
+       { 0x682f, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x6831, ALP_ORDER_BOPOMOFO_LETTER_G_U_ENG },
+       { 0x6832, ALP_ORDER_BOPOMOFO_LETTER_K_AU },
+       { 0x6833, ALP_ORDER_BOPOMOFO_LETTER_L_AU },
+       { 0x6834, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x6835, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x6838, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x6839, ALP_ORDER_BOPOMOFO_LETTER_G_EN },
+       { 0x683a, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x683b, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x683c, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x683d, ALP_ORDER_BOPOMOFO_LETTER_Z_AI },
+       { 0x6840, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x6841, ALP_ORDER_BOPOMOFO_LETTER_H_ANG },
+       { 0x6842, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x6843, ALP_ORDER_BOPOMOFO_LETTER_T_AU },
+       { 0x6844, ALP_ORDER_BOPOMOFO_LETTER_G_U_ANG },
+       { 0x6845, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x6846, ALP_ORDER_BOPOMOFO_LETTER_K_U_ANG },
+       { 0x6848, ALP_ORDER_BOPOMOFO_LETTER_AN },
+       { 0x6849, ALP_ORDER_BOPOMOFO_LETTER_AN },
+       { 0x684b, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x684c, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O },
+       { 0x684d, ALP_ORDER_BOPOMOFO_LETTER_K_U },
+       { 0x684e, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x684f, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_ENG },
+       { 0x6850, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x6851, ALP_ORDER_BOPOMOFO_LETTER_S_ANG },
+       { 0x6853, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x6854, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x686b, ALP_ORDER_BOPOMOFO_LETTER_S_U_O },
+       { 0x686d, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x686e, ALP_ORDER_BOPOMOFO_LETTER_B_EI },
+       { 0x686f, ALP_ORDER_BOPOMOFO_LETTER_T_I_ENG },
+       { 0x6871, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x6872, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x6874, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x6875, ALP_ORDER_BOPOMOFO_LETTER_R_U_EI },
+       { 0x6876, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x6877, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x6878, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x6879, ALP_ORDER_BOPOMOFO_LETTER_L_ANG },
+       { 0x687b, ALP_ORDER_BOPOMOFO_LETTER_F_ENG },
+       { 0x687c, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x687d, ALP_ORDER_BOPOMOFO_LETTER_U_EN },
+       { 0x687e, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EN },
+       { 0x687f, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x6880, ALP_ORDER_BOPOMOFO_LETTER_C_U },
+       { 0x6881, ALP_ORDER_BOPOMOFO_LETTER_L_I_ANG },
+       { 0x6882, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x6883, ALP_ORDER_BOPOMOFO_LETTER_T_I_ENG },
+       { 0x6885, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x6886, ALP_ORDER_BOPOMOFO_LETTER_B_ANG },
+       { 0x6887, ALP_ORDER_BOPOMOFO_LETTER_L_U_ENG },
+       { 0x6889, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ANG },
+       { 0x688a, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x688b, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x688c, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x688f, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x6890, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x6891, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x6892, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x6893, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x6894, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x6896, ALP_ORDER_BOPOMOFO_LETTER_B_EI },
+       { 0x6897, ALP_ORDER_BOPOMOFO_LETTER_G_ENG },
+       { 0x689b, ALP_ORDER_BOPOMOFO_LETTER_N_U_O },
+       { 0x689c, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x689d, ALP_ORDER_BOPOMOFO_LETTER_T_I_AU },
+       { 0x689f, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x68a0, ALP_ORDER_BOPOMOFO_LETTER_L_IU },
+       { 0x68a1, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x68a2, ALP_ORDER_BOPOMOFO_LETTER_SH_AU },
+       { 0x68a3, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x68a4, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x68a7, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x68a8, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x68a9, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x68aa, ALP_ORDER_BOPOMOFO_LETTER_D_OU },
+       { 0x68ab, ALP_ORDER_BOPOMOFO_LETTER_C_EN },
+       { 0x68ac, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x68ad, ALP_ORDER_BOPOMOFO_LETTER_S_U_O },
+       { 0x68ae, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x68af, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x68b0, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x68b1, ALP_ORDER_BOPOMOFO_LETTER_K_U_EN },
+       { 0x68b2, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O },
+       { 0x68b3, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x68b4, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x68b5, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x68c4, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x68c6, ALP_ORDER_BOPOMOFO_LETTER_L_U_EN },
+       { 0x68c7, ALP_ORDER_BOPOMOFO_LETTER_C_U_ENG },
+       { 0x68c8, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x68c9, ALP_ORDER_BOPOMOFO_LETTER_M_I_AN },
+       { 0x68cb, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x68cc, ALP_ORDER_BOPOMOFO_LETTER_C_AI },
+       { 0x68cd, ALP_ORDER_BOPOMOFO_LETTER_G_U_EN },
+       { 0x68ce, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x68d0, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x68d1, ALP_ORDER_BOPOMOFO_LETTER_P_AI },
+       { 0x68d2, ALP_ORDER_BOPOMOFO_LETTER_B_ANG },
+       { 0x68d3, ALP_ORDER_BOPOMOFO_LETTER_P_OU },
+       { 0x68d4, ALP_ORDER_BOPOMOFO_LETTER_H_U_EN },
+       { 0x68d5, ALP_ORDER_BOPOMOFO_LETTER_Z_U_ENG },
+       { 0x68d6, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x68d7, ALP_ORDER_BOPOMOFO_LETTER_Z_AU },
+       { 0x68d8, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x68da, ALP_ORDER_BOPOMOFO_LETTER_P_ENG },
+       { 0x68dc, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x68dd, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x68de, ALP_ORDER_BOPOMOFO_LETTER_H_U_EN },
+       { 0x68df, ALP_ORDER_BOPOMOFO_LETTER_D_U_ENG },
+       { 0x68e0, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x68e1, ALP_ORDER_BOPOMOFO_LETTER_G_ANG },
+       { 0x68e3, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x68e4, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x68e6, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x68e7, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x68e8, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x68e9, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x68ea, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x68eb, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x68ec, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x68ee, ALP_ORDER_BOPOMOFO_LETTER_S_EN },
+       { 0x68ef, ALP_ORDER_BOPOMOFO_LETTER_R_EN },
+       { 0x68f0, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EI },
+       { 0x68f1, ALP_ORDER_BOPOMOFO_LETTER_L_ENG },
+       { 0x68f2, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x68f3, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O },
+       { 0x68f4, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x68f5, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x68f6, ALP_ORDER_BOPOMOFO_LETTER_L_AI },
+       { 0x68f7, ALP_ORDER_BOPOMOFO_LETTER_Z_OU },
+       { 0x68f8, ALP_ORDER_BOPOMOFO_LETTER_Z_OU },
+       { 0x68f9, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O },
+       { 0x68fa, ALP_ORDER_BOPOMOFO_LETTER_G_U_AN },
+       { 0x68fb, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x68fc, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x68fd, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x6904, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x6905, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x6906, ALP_ORDER_BOPOMOFO_LETTER_CH_OU },
+       { 0x6907, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x6908, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x690a, ALP_ORDER_BOPOMOFO_LETTER_Z_U_O },
+       { 0x690b, ALP_ORDER_BOPOMOFO_LETTER_L_I_ANG },
+       { 0x690c, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ANG },
+       { 0x690d, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x690e, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_EI },
+       { 0x690f, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x6910, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x6911, ALP_ORDER_BOPOMOFO_LETTER_B_EI },
+       { 0x6912, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x6913, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O },
+       { 0x6914, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x6915, ALP_ORDER_BOPOMOFO_LETTER_B_I_EN },
+       { 0x6917, ALP_ORDER_BOPOMOFO_LETTER_D_I_ENG },
+       { 0x6925, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x692a, ALP_ORDER_BOPOMOFO_LETTER_P_ENG },
+       { 0x692f, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x6930, ALP_ORDER_BOPOMOFO_LETTER_I_EH },
+       { 0x6932, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x6933, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x6934, ALP_ORDER_BOPOMOFO_LETTER_D_U_AN },
+       { 0x6935, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x6937, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x6938, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x6939, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x693b, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x693c, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x693d, ALP_ORDER_BOPOMOFO_LETTER_CH_U_AN },
+       { 0x693f, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EN },
+       { 0x6940, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x6941, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x6942, ALP_ORDER_BOPOMOFO_LETTER_CH_A },
+       { 0x6944, ALP_ORDER_BOPOMOFO_LETTER_B_I_AN },
+       { 0x6945, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x6948, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x6949, ALP_ORDER_BOPOMOFO_LETTER_R_U_O },
+       { 0x694a, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x694b, ALP_ORDER_BOPOMOFO_LETTER_L_A },
+       { 0x694c, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x694e, ALP_ORDER_BOPOMOFO_LETTER_H_U_EN },
+       { 0x694f, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x6951, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x6952, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x6953, ALP_ORDER_BOPOMOFO_LETTER_F_ENG },
+       { 0x6954, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x6956, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x6957, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x6958, ALP_ORDER_BOPOMOFO_LETTER_M_U },
+       { 0x6959, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x695a, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x695b, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x695c, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x695d, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x695e, ALP_ORDER_BOPOMOFO_LETTER_L_ENG },
+       { 0x695f, ALP_ORDER_BOPOMOFO_LETTER_T_I_ENG },
+       { 0x6960, ALP_ORDER_BOPOMOFO_LETTER_N_AN },
+       { 0x6962, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x6963, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x6965, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x6966, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x6968, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x6969, ALP_ORDER_BOPOMOFO_LETTER_P_I_AN },
+       { 0x696a, ALP_ORDER_BOPOMOFO_LETTER_D_I_EH },
+       { 0x696b, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x696c, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x696d, ALP_ORDER_BOPOMOFO_LETTER_I_EH },
+       { 0x696e, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x696f, ALP_ORDER_BOPOMOFO_LETTER_SH_U_EN },
+       { 0x6970, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x6971, ALP_ORDER_BOPOMOFO_LETTER_C_OU },
+       { 0x6974, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x6975, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x6976, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x6977, ALP_ORDER_BOPOMOFO_LETTER_K_EI },
+       { 0x6978, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x6979, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x697a, ALP_ORDER_BOPOMOFO_LETTER_R_OU },
+       { 0x697b, ALP_ORDER_BOPOMOFO_LETTER_H_ENG },
+       { 0x6982, ALP_ORDER_BOPOMOFO_LETTER_G_AI },
+       { 0x6983, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x6986, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x698d, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x698e, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x6990, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x6991, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x6993, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x6994, ALP_ORDER_BOPOMOFO_LETTER_L_ANG },
+       { 0x6995, ALP_ORDER_BOPOMOFO_LETTER_R_U_ENG },
+       { 0x6996, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x6997, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x6999, ALP_ORDER_BOPOMOFO_LETTER_T_A },
+       { 0x699a, ALP_ORDER_BOPOMOFO_LETTER_G_AU },
+       { 0x699b, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x699c, ALP_ORDER_BOPOMOFO_LETTER_B_ANG },
+       { 0x699e, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x69a0, ALP_ORDER_BOPOMOFO_LETTER_M_I_ENG },
+       { 0x69a1, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x69a3, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x69a4, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x69a5, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x69a6, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x69a7, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x69a8, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x69a9, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x69aa, ALP_ORDER_BOPOMOFO_LETTER_M_A },
+       { 0x69ab, ALP_ORDER_BOPOMOFO_LETTER_S_U_EN },
+       { 0x69ac, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x69ad, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x69ae, ALP_ORDER_BOPOMOFO_LETTER_R_U_ENG },
+       { 0x69af, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x69b0, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x69b1, ALP_ORDER_BOPOMOFO_LETTER_C_U_EI },
+       { 0x69b3, ALP_ORDER_BOPOMOFO_LETTER_T_I_ENG },
+       { 0x69b4, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x69b5, ALP_ORDER_BOPOMOFO_LETTER_R_U_ENG },
+       { 0x69b6, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x69b7, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_EH },
+       { 0x69b9, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x69bb, ALP_ORDER_BOPOMOFO_LETTER_T_A },
+       { 0x69bc, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x69bd, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x69be, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x69bf, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x69c1, ALP_ORDER_BOPOMOFO_LETTER_G_AU },
+       { 0x69c2, ALP_ORDER_BOPOMOFO_LETTER_S_U_EN },
+       { 0x69c3, ALP_ORDER_BOPOMOFO_LETTER_P_AN },
+       { 0x69c4, ALP_ORDER_BOPOMOFO_LETTER_T_AU },
+       { 0x69c6, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x69c9, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x69ca, ALP_ORDER_BOPOMOFO_LETTER_SH_U_O },
+       { 0x69cb, ALP_ORDER_BOPOMOFO_LETTER_G_OU },
+       { 0x69cc, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EI },
+       { 0x69cd, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ANG },
+       { 0x69ce, ALP_ORDER_BOPOMOFO_LETTER_CH_A },
+       { 0x69cf, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x69d0, ALP_ORDER_BOPOMOFO_LETTER_H_U_AI },
+       { 0x69d3, ALP_ORDER_BOPOMOFO_LETTER_G_ANG },
+       { 0x69d4, ALP_ORDER_BOPOMOFO_LETTER_G_AU },
+       { 0x69d9, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x69e2, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x69e4, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x69e5, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x69e6, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x69e7, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x69e8, ALP_ORDER_BOPOMOFO_LETTER_G_U_O },
+       { 0x69eb, ALP_ORDER_BOPOMOFO_LETTER_T_U_AN },
+       { 0x69ec, ALP_ORDER_BOPOMOFO_LETTER_H_U_A },
+       { 0x69ed, ALP_ORDER_BOPOMOFO_LETTER_C_U },
+       { 0x69ee, ALP_ORDER_BOPOMOFO_LETTER_S_EN },
+       { 0x69f1, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x69f2, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x69f3, ALP_ORDER_BOPOMOFO_LETTER_J_I_ANG },
+       { 0x69f4, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x69f6, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x69f7, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x69f8, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x69fb, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x69fc, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x69fd, ALP_ORDER_BOPOMOFO_LETTER_C_AU },
+       { 0x69fe, ALP_ORDER_BOPOMOFO_LETTER_M_AN },
+       { 0x69ff, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x6a00, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x6a01, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ANG },
+       { 0x6a02, ALP_ORDER_BOPOMOFO_LETTER_L_E },
+       { 0x6a04, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x6a05, ALP_ORDER_BOPOMOFO_LETTER_C_U_ENG },
+       { 0x6a06, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x6a07, ALP_ORDER_BOPOMOFO_LETTER_X_I_OU },
+       { 0x6a08, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ENG },
+       { 0x6a09, ALP_ORDER_BOPOMOFO_LETTER_SH_U_ANG },
+       { 0x6a0a, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x6a0d, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x6a0f, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x6a11, ALP_ORDER_BOPOMOFO_LETTER_L_I_ANG },
+       { 0x6a13, ALP_ORDER_BOPOMOFO_LETTER_L_OU },
+       { 0x6a14, ALP_ORDER_BOPOMOFO_LETTER_CH_AU },
+       { 0x6a15, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x6a16, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x6a17, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x6a18, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x6a19, ALP_ORDER_BOPOMOFO_LETTER_B_I_AU },
+       { 0x6a1b, ALP_ORDER_BOPOMOFO_LETTER_J_I_OU },
+       { 0x6a1d, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x6a1e, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x6a1f, ALP_ORDER_BOPOMOFO_LETTER_ZH_ANG },
+       { 0x6a20, ALP_ORDER_BOPOMOFO_LETTER_M_AN },
+       { 0x6a21, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x6a23, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x6a25, ALP_ORDER_BOPOMOFO_LETTER_P_ENG },
+       { 0x6a26, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x6a27, ALP_ORDER_BOPOMOFO_LETTER_SH_A },
+       { 0x6a28, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x6a32, ALP_ORDER_BOPOMOFO_LETTER_ER },
+       { 0x6a34, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x6a35, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x6a38, ALP_ORDER_BOPOMOFO_LETTER_P_U },
+       { 0x6a39, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x6a3a, ALP_ORDER_BOPOMOFO_LETTER_H_U_A },
+       { 0x6a3b, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x6a3c, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x6a3d, ALP_ORDER_BOPOMOFO_LETTER_Z_U_EN },
+       { 0x6a3e, ALP_ORDER_BOPOMOFO_LETTER_IU_EH },
+       { 0x6a3f, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x6a40, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x6a41, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x6a44, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x6a46, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x6a47, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x6a48, ALP_ORDER_BOPOMOFO_LETTER_N_AU },
+       { 0x6a49, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x6a4b, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x6a4d, ALP_ORDER_BOPOMOFO_LETTER_R_U_EN },
+       { 0x6a4e, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x6a4f, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x6a50, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x6a51, ALP_ORDER_BOPOMOFO_LETTER_L_AU },
+       { 0x6a54, ALP_ORDER_BOPOMOFO_LETTER_T_U_EI },
+       { 0x6a55, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x6a56, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x6a58, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x6a59, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x6a5a, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x6a5b, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x6a5d, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x6a5e, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x6a5f, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x6a60, ALP_ORDER_BOPOMOFO_LETTER_N_U_O },
+       { 0x6a61, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x6a62, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x6a64, ALP_ORDER_BOPOMOFO_LETTER_R_U_EI },
+       { 0x6a66, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x6a67, ALP_ORDER_BOPOMOFO_LETTER_Z_ENG },
+       { 0x6a68, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x6a69, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_ENG },
+       { 0x6a6a, ALP_ORDER_BOPOMOFO_LETTER_R_AN },
+       { 0x6a6b, ALP_ORDER_BOPOMOFO_LETTER_H_ENG },
+       { 0x6a6d, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x6a6f, ALP_ORDER_BOPOMOFO_LETTER_L_AU },
+       { 0x6a76, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x6a7e, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x6a7f, ALP_ORDER_BOPOMOFO_LETTER_J_I_ANG },
+       { 0x6a80, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x6a81, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x6a83, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x6a84, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x6a85, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x6a87, ALP_ORDER_BOPOMOFO_LETTER_Z_U_EI },
+       { 0x6a89, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x6a8c, ALP_ORDER_BOPOMOFO_LETTER_Z_U_EI },
+       { 0x6a8d, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x6a8e, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EN },
+       { 0x6a90, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x6a91, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x6a92, ALP_ORDER_BOPOMOFO_LETTER_F_ENG },
+       { 0x6a93, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x6a94, ALP_ORDER_BOPOMOFO_LETTER_D_ANG },
+       { 0x6a95, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x6a96, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x6a97, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x6a9a, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x6a9b, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_A },
+       { 0x6a9c, ALP_ORDER_BOPOMOFO_LETTER_K_U_AI },
+       { 0x6a9e, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x6a9f, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x6aa0, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ENG },
+       { 0x6aa1, ALP_ORDER_BOPOMOFO_LETTER_ZH_E },
+       { 0x6aa2, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x6aa3, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ANG },
+       { 0x6aa4, ALP_ORDER_BOPOMOFO_LETTER_D_AU },
+       { 0x6aa5, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x6aa6, ALP_ORDER_BOPOMOFO_LETTER_B_I_AU },
+       { 0x6aa8, ALP_ORDER_BOPOMOFO_LETTER_SH_E },
+       { 0x6aac, ALP_ORDER_BOPOMOFO_LETTER_M_ENG },
+       { 0x6aad, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x6aae, ALP_ORDER_BOPOMOFO_LETTER_T_AU },
+       { 0x6aaf, ALP_ORDER_BOPOMOFO_LETTER_T_AI },
+       { 0x6ab3, ALP_ORDER_BOPOMOFO_LETTER_B_I_EN },
+       { 0x6ab4, ALP_ORDER_BOPOMOFO_LETTER_H_U_O },
+       { 0x6ab6, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x6ab7, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x6ab8, ALP_ORDER_BOPOMOFO_LETTER_N_I_ENG },
+       { 0x6ab9, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x6aba, ALP_ORDER_BOPOMOFO_LETTER_G_AU },
+       { 0x6abb, ALP_ORDER_BOPOMOFO_LETTER_K_AN },
+       { 0x6abd, ALP_ORDER_BOPOMOFO_LETTER_ER },
+       { 0x6ac2, ALP_ORDER_BOPOMOFO_LETTER_ZH_AU },
+       { 0x6ac3, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x6ac5, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x6ac6, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x6ac7, ALP_ORDER_BOPOMOFO_LETTER_P_O },
+       { 0x6acb, ALP_ORDER_BOPOMOFO_LETTER_M_I_AN },
+       { 0x6acc, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x6acd, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x6acf, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x6ad0, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x6ad1, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x6ad3, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x6ad9, ALP_ORDER_BOPOMOFO_LETTER_OU },
+       { 0x6ada, ALP_ORDER_BOPOMOFO_LETTER_L_IU },
+       { 0x6adb, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x6adc, ALP_ORDER_BOPOMOFO_LETTER_G_AU },
+       { 0x6add, ALP_ORDER_BOPOMOFO_LETTER_D_U },
+       { 0x6ade, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x6adf, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x6ae0, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x6ae1, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x6ae5, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x6ae7, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x6ae8, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x6aea, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x6aeb, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x6aec, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x6aee, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x6aef, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x6af0, ALP_ORDER_BOPOMOFO_LETTER_H_U_AI },
+       { 0x6af1, ALP_ORDER_BOPOMOFO_LETTER_N_I_EH },
+       { 0x6af3, ALP_ORDER_BOPOMOFO_LETTER_L_U_ENG },
+       { 0x6af8, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x6af9, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x6afa, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x6afb, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x6afc, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x6b00, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x6b02, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x6b03, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x6b04, ALP_ORDER_BOPOMOFO_LETTER_L_AN },
+       { 0x6b08, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x6b09, ALP_ORDER_BOPOMOFO_LETTER_C_U_ENG },
+       { 0x6b0a, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x6b0b, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x6b0f, ALP_ORDER_BOPOMOFO_LETTER_L_U_O },
+       { 0x6b10, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x6b11, ALP_ORDER_BOPOMOFO_LETTER_C_U_AN },
+       { 0x6b12, ALP_ORDER_BOPOMOFO_LETTER_L_U_AN },
+       { 0x6b13, ALP_ORDER_BOPOMOFO_LETTER_D_ANG },
+       { 0x6b16, ALP_ORDER_BOPOMOFO_LETTER_L_AN },
+       { 0x6b17, ALP_ORDER_BOPOMOFO_LETTER_L_AN },
+       { 0x6b18, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x6b19, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x6b1a, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x6b1e, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x6b20, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x6b21, ALP_ORDER_BOPOMOFO_LETTER_C },
+       { 0x6b23, ALP_ORDER_BOPOMOFO_LETTER_X_I_EN },
+       { 0x6b25, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x6b28, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x6b2c, ALP_ORDER_BOPOMOFO_LETTER_K_EI },
+       { 0x6b2d, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x6b2f, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x6b31, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x6b32, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x6b33, ALP_ORDER_BOPOMOFO_LETTER_K_U_AI },
+       { 0x6b34, ALP_ORDER_BOPOMOFO_LETTER_L_ANG },
+       { 0x6b36, ALP_ORDER_BOPOMOFO_LETTER_SH_U_O },
+       { 0x6b37, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x6b38, ALP_ORDER_BOPOMOFO_LETTER_EI },
+       { 0x6b39, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x6b3a, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x6b3b, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x6b3c, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x6b3d, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EN },
+       { 0x6b3e, ALP_ORDER_BOPOMOFO_LETTER_K_U_AN },
+       { 0x6b3f, ALP_ORDER_BOPOMOFO_LETTER_K_AN },
+       { 0x6b41, ALP_ORDER_BOPOMOFO_LETTER_K_AN },
+       { 0x6b42, ALP_ORDER_BOPOMOFO_LETTER_CH_U_AN },
+       { 0x6b43, ALP_ORDER_BOPOMOFO_LETTER_SH_A },
+       { 0x6b45, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x6b46, ALP_ORDER_BOPOMOFO_LETTER_X_I_EN },
+       { 0x6b47, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x6b48, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x6b49, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x6b4a, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x6b4b, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x6b4c, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x6b4d, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x6b4e, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x6b50, ALP_ORDER_BOPOMOFO_LETTER_OU },
+       { 0x6b51, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x6b54, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x6b55, ALP_ORDER_BOPOMOFO_LETTER_P_EN },
+       { 0x6b56, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x6b59, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x6b5b, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x6b5c, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x6b5e, ALP_ORDER_BOPOMOFO_LETTER_K_AN },
+       { 0x6b5f, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x6b60, ALP_ORDER_BOPOMOFO_LETTER_CH_U_O },
+       { 0x6b61, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x6b62, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x6b63, ALP_ORDER_BOPOMOFO_LETTER_ZH_ENG },
+       { 0x6b64, ALP_ORDER_BOPOMOFO_LETTER_C },
+       { 0x6b65, ALP_ORDER_BOPOMOFO_LETTER_B_U },
+       { 0x6b66, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x6b67, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x6b6a, ALP_ORDER_BOPOMOFO_LETTER_U_AI },
+       { 0x6b6d, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x6b72, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x6b76, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x6b77, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x6b78, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x6b79, ALP_ORDER_BOPOMOFO_LETTER_D_AI },
+       { 0x6b7b, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x6b7e, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x6b7f, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x6b80, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x6b82, ALP_ORDER_BOPOMOFO_LETTER_C_U },
+       { 0x6b83, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x6b84, ALP_ORDER_BOPOMOFO_LETTER_T_I_AN },
+       { 0x6b86, ALP_ORDER_BOPOMOFO_LETTER_D_AI },
+       { 0x6b88, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x6b89, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x6b8a, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x6b8c, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x6b8d, ALP_ORDER_BOPOMOFO_LETTER_P_I_AU },
+       { 0x6b8e, ALP_ORDER_BOPOMOFO_LETTER_Q_I_A },
+       { 0x6b8f, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x6b91, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ENG },
+       { 0x6b94, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x6b95, ALP_ORDER_BOPOMOFO_LETTER_F_OU },
+       { 0x6b96, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x6b97, ALP_ORDER_BOPOMOFO_LETTER_I_EH },
+       { 0x6b98, ALP_ORDER_BOPOMOFO_LETTER_C_AN },
+       { 0x6b99, ALP_ORDER_BOPOMOFO_LETTER_H_U_EN },
+       { 0x6b9b, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x6b9e, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x6b9f, ALP_ORDER_BOPOMOFO_LETTER_U_EN },
+       { 0x6ba0, ALP_ORDER_BOPOMOFO_LETTER_CH_OU },
+       { 0x6ba2, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x6ba3, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x6ba4, ALP_ORDER_BOPOMOFO_LETTER_SH_ANG },
+       { 0x6ba5, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x6ba6, ALP_ORDER_BOPOMOFO_LETTER_D_I_AU },
+       { 0x6ba7, ALP_ORDER_BOPOMOFO_LETTER_C_U },
+       { 0x6baa, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x6bab, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x6bad, ALP_ORDER_BOPOMOFO_LETTER_J_I_ANG },
+       { 0x6bae, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x6baf, ALP_ORDER_BOPOMOFO_LETTER_B_I_EN },
+       { 0x6bb0, ALP_ORDER_BOPOMOFO_LETTER_D_U },
+       { 0x6bb2, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x6bb3, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x6bb5, ALP_ORDER_BOPOMOFO_LETTER_D_U_AN },
+       { 0x6bb6, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x6bb7, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x6bba, ALP_ORDER_BOPOMOFO_LETTER_SH_A },
+       { 0x6bbc, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x6bbd, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x6bbf, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x6bc0, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x6bc3, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_EH },
+       { 0x6bc4, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x6bc5, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x6bc6, ALP_ORDER_BOPOMOFO_LETTER_OU },
+       { 0x6bc7, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x6bc8, ALP_ORDER_BOPOMOFO_LETTER_D_U_AN },
+       { 0x6bc9, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x6bca, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x6bcb, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x6bcc, ALP_ORDER_BOPOMOFO_LETTER_G_U_AN },
+       { 0x6bcd, ALP_ORDER_BOPOMOFO_LETTER_M_U },
+       { 0x6bcf, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x6bd0, ALP_ORDER_BOPOMOFO_LETTER_AI },
+       { 0x6bd2, ALP_ORDER_BOPOMOFO_LETTER_D_U },
+       { 0x6bd3, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x6bd4, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x6bd6, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x6bd7, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x6bd8, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x6bda, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x6bdb, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x6bde, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x6be0, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x6be2, ALP_ORDER_BOPOMOFO_LETTER_S_AI },
+       { 0x6be3, ALP_ORDER_BOPOMOFO_LETTER_M_U },
+       { 0x6be4, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x6be6, ALP_ORDER_BOPOMOFO_LETTER_ER },
+       { 0x6be7, ALP_ORDER_BOPOMOFO_LETTER_R_U_ENG },
+       { 0x6be8, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x6beb, ALP_ORDER_BOPOMOFO_LETTER_H_AU },
+       { 0x6bec, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x6bef, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x6bf0, ALP_ORDER_BOPOMOFO_LETTER_P_EI },
+       { 0x6bf2, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x6bf3, ALP_ORDER_BOPOMOFO_LETTER_C_U_EI },
+       { 0x6bf7, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x6bf8, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x6bf9, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x6bfb, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x6bfc, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x6bfd, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x6bfe, ALP_ORDER_BOPOMOFO_LETTER_T_A },
+       { 0x6bff, ALP_ORDER_BOPOMOFO_LETTER_S_AN },
+       { 0x6c00, ALP_ORDER_BOPOMOFO_LETTER_L_IU },
+       { 0x6c01, ALP_ORDER_BOPOMOFO_LETTER_M_U },
+       { 0x6c02, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x6c03, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x6c04, ALP_ORDER_BOPOMOFO_LETTER_R_U_ENG },
+       { 0x6c05, ALP_ORDER_BOPOMOFO_LETTER_CH_ANG },
+       { 0x6c06, ALP_ORDER_BOPOMOFO_LETTER_B_ANG },
+       { 0x6c08, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x6c09, ALP_ORDER_BOPOMOFO_LETTER_S_AU },
+       { 0x6c0b, ALP_ORDER_BOPOMOFO_LETTER_M_ENG },
+       { 0x6c0c, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x6c0d, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x6c0f, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x6c10, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x6c11, ALP_ORDER_BOPOMOFO_LETTER_M_I_EN },
+       { 0x6c13, ALP_ORDER_BOPOMOFO_LETTER_M_ANG },
+       { 0x6c14, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x6c15, ALP_ORDER_BOPOMOFO_LETTER_P_I_EH },
+       { 0x6c16, ALP_ORDER_BOPOMOFO_LETTER_N_AI },
+       { 0x6c18, ALP_ORDER_BOPOMOFO_LETTER_D_AU },
+       { 0x6c19, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x6c1a, ALP_ORDER_BOPOMOFO_LETTER_CH_U_AN },
+       { 0x6c1b, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x6c1d, ALP_ORDER_BOPOMOFO_LETTER_N_AI },
+       { 0x6c1f, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x6c20, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x6c21, ALP_ORDER_BOPOMOFO_LETTER_D_U_ENG },
+       { 0x6c23, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x6c24, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x6c25, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x6c26, ALP_ORDER_BOPOMOFO_LETTER_H_AI },
+       { 0x6c27, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x6c28, ALP_ORDER_BOPOMOFO_LETTER_AN },
+       { 0x6c2a, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x6c2b, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ENG },
+       { 0x6c2c, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x6c2e, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x6c2f, ALP_ORDER_BOPOMOFO_LETTER_L_IU },
+       { 0x6c30, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ENG },
+       { 0x6c33, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x6c34, ALP_ORDER_BOPOMOFO_LETTER_SH_U_EI },
+       { 0x6c36, ALP_ORDER_BOPOMOFO_LETTER_ZH_ENG },
+       { 0x6c38, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x6c3b, ALP_ORDER_BOPOMOFO_LETTER_L_E },
+       { 0x6c3e, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x6c3f, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x6c40, ALP_ORDER_BOPOMOFO_LETTER_T_I_ENG },
+       { 0x6c41, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x6c42, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x6c43, ALP_ORDER_BOPOMOFO_LETTER_B_I_EN },
+       { 0x6c46, ALP_ORDER_BOPOMOFO_LETTER_T_U_EN },
+       { 0x6c4a, ALP_ORDER_BOPOMOFO_LETTER_CH_A },
+       { 0x6c4b, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O },
+       { 0x6c4c, ALP_ORDER_BOPOMOFO_LETTER_CH_U_AN },
+       { 0x6c4d, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x6c4e, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x6c4f, ALP_ORDER_BOPOMOFO_LETTER_D_AI },
+       { 0x6c50, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x6c52, ALP_ORDER_BOPOMOFO_LETTER_M_ANG },
+       { 0x6c54, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x6c55, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x6c57, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x6c59, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x6c5b, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x6c5c, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x6c5d, ALP_ORDER_BOPOMOFO_LETTER_R_U },
+       { 0x6c5e, ALP_ORDER_BOPOMOFO_LETTER_G_U_ENG },
+       { 0x6c5f, ALP_ORDER_BOPOMOFO_LETTER_J_I_ANG },
+       { 0x6c60, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x6c61, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x6c65, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x6c66, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x6c67, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x6c68, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x6c69, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x6c6a, ALP_ORDER_BOPOMOFO_LETTER_U_ANG },
+       { 0x6c6b, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ENG },
+       { 0x6c6d, ALP_ORDER_BOPOMOFO_LETTER_R_U_EI },
+       { 0x6c6f, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x6c70, ALP_ORDER_BOPOMOFO_LETTER_T_AI },
+       { 0x6c71, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x6c72, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x6c73, ALP_ORDER_BOPOMOFO_LETTER_B_I_AN },
+       { 0x6c74, ALP_ORDER_BOPOMOFO_LETTER_B_I_AN },
+       { 0x6c76, ALP_ORDER_BOPOMOFO_LETTER_U_EN },
+       { 0x6c78, ALP_ORDER_BOPOMOFO_LETTER_F_ANG },
+       { 0x6c7a, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x6c7b, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x6c7d, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x6c7e, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x6c80, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x6c81, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EN },
+       { 0x6c82, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x6c83, ALP_ORDER_BOPOMOFO_LETTER_U_O },
+       { 0x6c84, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x6c85, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x6c86, ALP_ORDER_BOPOMOFO_LETTER_H_ANG },
+       { 0x6c87, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x6c88, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x6c89, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x6c8a, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x6c8b, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x6c8c, ALP_ORDER_BOPOMOFO_LETTER_D_U_EN },
+       { 0x6c8d, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x6c8e, ALP_ORDER_BOPOMOFO_LETTER_H_U_O },
+       { 0x6c8f, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x6c90, ALP_ORDER_BOPOMOFO_LETTER_M_U },
+       { 0x6c92, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x6c93, ALP_ORDER_BOPOMOFO_LETTER_T_A },
+       { 0x6c94, ALP_ORDER_BOPOMOFO_LETTER_M_I_AN },
+       { 0x6c95, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x6c96, ALP_ORDER_BOPOMOFO_LETTER_CH_U_ENG },
+       { 0x6c98, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x6c99, ALP_ORDER_BOPOMOFO_LETTER_SH_A },
+       { 0x6c9a, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x6c9b, ALP_ORDER_BOPOMOFO_LETTER_P_EI },
+       { 0x6c9c, ALP_ORDER_BOPOMOFO_LETTER_P_AN },
+       { 0x6c9d, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_EI },
+       { 0x6cab, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x6cac, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x6cad, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x6cae, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x6cb0, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x6cb1, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x6cb3, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x6cb4, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x6cb6, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x6cb7, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x6cb8, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x6cb9, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x6cba, ALP_ORDER_BOPOMOFO_LETTER_T_I_AN },
+       { 0x6cbb, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x6cbc, ALP_ORDER_BOPOMOFO_LETTER_ZH_AU },
+       { 0x6cbd, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x6cbe, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x6cbf, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x6cc0, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x6cc1, ALP_ORDER_BOPOMOFO_LETTER_K_U_ANG },
+       { 0x6cc2, ALP_ORDER_BOPOMOFO_LETTER_J_IU_ENG },
+       { 0x6cc3, ALP_ORDER_BOPOMOFO_LETTER_G_OU },
+       { 0x6cc4, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x6cc5, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x6cc6, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x6cc7, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x6cc9, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x6cca, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x6ccc, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x6ccd, ALP_ORDER_BOPOMOFO_LETTER_B_EN },
+       { 0x6ccf, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x6cd0, ALP_ORDER_BOPOMOFO_LETTER_L_E },
+       { 0x6cd1, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x6cd2, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x6cd3, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x6cd4, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x6cd5, ALP_ORDER_BOPOMOFO_LETTER_F_A },
+       { 0x6cd6, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x6cd7, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x6cd9, ALP_ORDER_BOPOMOFO_LETTER_P_ENG },
+       { 0x6cda, ALP_ORDER_BOPOMOFO_LETTER_C },
+       { 0x6cdb, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x6cdc, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x6cdd, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x6cde, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x6ce0, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x6ce1, ALP_ORDER_BOPOMOFO_LETTER_P_AU },
+       { 0x6ce2, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x6ce3, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x6ce5, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x6ce7, ALP_ORDER_BOPOMOFO_LETTER_IU_EH },
+       { 0x6ce8, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x6ce9, ALP_ORDER_BOPOMOFO_LETTER_SH_ENG },
+       { 0x6ceb, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x6cec, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EH },
+       { 0x6ced, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x6cee, ALP_ORDER_BOPOMOFO_LETTER_P_AN },
+       { 0x6cef, ALP_ORDER_BOPOMOFO_LETTER_M_I_EN },
+       { 0x6cf0, ALP_ORDER_BOPOMOFO_LETTER_T_AI },
+       { 0x6cf1, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x6cf2, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x6cf3, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x6cf5, ALP_ORDER_BOPOMOFO_LETTER_B_ENG },
+       { 0x6cf9, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x6d00, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x6d01, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x6d03, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x6d04, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x6d07, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x6d08, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x6d09, ALP_ORDER_BOPOMOFO_LETTER_H_OU },
+       { 0x6d0a, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x6d0b, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x6d0c, ALP_ORDER_BOPOMOFO_LETTER_L_I_EH },
+       { 0x6d0d, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x6d0e, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x6d0f, ALP_ORDER_BOPOMOFO_LETTER_ER },
+       { 0x6d10, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x6d11, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x6d12, ALP_ORDER_BOPOMOFO_LETTER_S_A },
+       { 0x6d16, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x6d17, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x6d18, ALP_ORDER_BOPOMOFO_LETTER_K_AU },
+       { 0x6d19, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x6d1a, ALP_ORDER_BOPOMOFO_LETTER_J_I_ANG },
+       { 0x6d1b, ALP_ORDER_BOPOMOFO_LETTER_L_U_O },
+       { 0x6d1d, ALP_ORDER_BOPOMOFO_LETTER_AN },
+       { 0x6d1e, ALP_ORDER_BOPOMOFO_LETTER_D_U_ENG },
+       { 0x6d1f, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x6d20, ALP_ORDER_BOPOMOFO_LETTER_M_OU },
+       { 0x6d22, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x6d25, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x6d27, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x6d28, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x6d29, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x6d2a, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x6d2b, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x6d2c, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x6d2d, ALP_ORDER_BOPOMOFO_LETTER_K_U_ANG },
+       { 0x6d2e, ALP_ORDER_BOPOMOFO_LETTER_T_AU },
+       { 0x6d2f, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EH },
+       { 0x6d30, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x6d31, ALP_ORDER_BOPOMOFO_LETTER_ER },
+       { 0x6d32, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x6d33, ALP_ORDER_BOPOMOFO_LETTER_R_U },
+       { 0x6d34, ALP_ORDER_BOPOMOFO_LETTER_P_I_ENG },
+       { 0x6d35, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x6d36, ALP_ORDER_BOPOMOFO_LETTER_X_IU_ENG },
+       { 0x6d37, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x6d38, ALP_ORDER_BOPOMOFO_LETTER_G_U_ANG },
+       { 0x6d39, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x6d3a, ALP_ORDER_BOPOMOFO_LETTER_M_I_ENG },
+       { 0x6d3b, ALP_ORDER_BOPOMOFO_LETTER_H_U_O },
+       { 0x6d3c, ALP_ORDER_BOPOMOFO_LETTER_U_A },
+       { 0x6d3d, ALP_ORDER_BOPOMOFO_LETTER_Q_I_A },
+       { 0x6d3e, ALP_ORDER_BOPOMOFO_LETTER_P_AI },
+       { 0x6d3f, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x6d40, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x6d41, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x6d42, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x6d58, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x6d59, ALP_ORDER_BOPOMOFO_LETTER_ZH_E },
+       { 0x6d5a, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EN },
+       { 0x6d5e, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O },
+       { 0x6d5f, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x6d60, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x6d61, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x6d62, ALP_ORDER_BOPOMOFO_LETTER_D_OU },
+       { 0x6d63, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x6d64, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x6d65, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x6d66, ALP_ORDER_BOPOMOFO_LETTER_P_U },
+       { 0x6d67, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x6d68, ALP_ORDER_BOPOMOFO_LETTER_L_AN },
+       { 0x6d69, ALP_ORDER_BOPOMOFO_LETTER_H_AU },
+       { 0x6d6a, ALP_ORDER_BOPOMOFO_LETTER_L_ANG },
+       { 0x6d6c, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x6d6d, ALP_ORDER_BOPOMOFO_LETTER_G_ENG },
+       { 0x6d6e, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x6d6f, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x6d70, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x6d74, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x6d75, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x6d76, ALP_ORDER_BOPOMOFO_LETTER_L_AU },
+       { 0x6d77, ALP_ORDER_BOPOMOFO_LETTER_H_AI },
+       { 0x6d78, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x6d79, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x6d7a, ALP_ORDER_BOPOMOFO_LETTER_CH_U_ENG },
+       { 0x6d7b, ALP_ORDER_BOPOMOFO_LETTER_U_ENG },
+       { 0x6d7c, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x6d7d, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x6d7e, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+};
+
+static han_map HANZI_TO_BPMF_MAP_5[] = {
+       { 0x6d7f, ALP_ORDER_BOPOMOFO_LETTER_P_EI },
+       { 0x6d80, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x6d82, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x6d83, ALP_ORDER_BOPOMOFO_LETTER_K_U_EN },
+       { 0x6d84, ALP_ORDER_BOPOMOFO_LETTER_P_I_EN },
+       { 0x6d85, ALP_ORDER_BOPOMOFO_LETTER_N_I_EH },
+       { 0x6d86, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x6d87, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x6d88, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x6d89, ALP_ORDER_BOPOMOFO_LETTER_SH_E },
+       { 0x6d8a, ALP_ORDER_BOPOMOFO_LETTER_N_I_AN },
+       { 0x6d8b, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x6d8c, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x6d8d, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x6d8e, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x6d90, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x6d91, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x6d92, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EN },
+       { 0x6d93, ALP_ORDER_BOPOMOFO_LETTER_J_IU_AN },
+       { 0x6d94, ALP_ORDER_BOPOMOFO_LETTER_C_EN },
+       { 0x6d95, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x6d97, ALP_ORDER_BOPOMOFO_LETTER_SH_U_EI },
+       { 0x6d98, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x6daa, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x6dab, ALP_ORDER_BOPOMOFO_LETTER_G_U_AN },
+       { 0x6dac, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x6dae, ALP_ORDER_BOPOMOFO_LETTER_SH_U_AN },
+       { 0x6daf, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x6db2, ALP_ORDER_BOPOMOFO_LETTER_I_EH },
+       { 0x6db3, ALP_ORDER_BOPOMOFO_LETTER_K_U_ENG },
+       { 0x6db4, ALP_ORDER_BOPOMOFO_LETTER_U_O },
+       { 0x6db5, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x6db7, ALP_ORDER_BOPOMOFO_LETTER_D_U_ENG },
+       { 0x6db8, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x6dba, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x6dbb, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x6dbc, ALP_ORDER_BOPOMOFO_LETTER_L_I_ANG },
+       { 0x6dbd, ALP_ORDER_BOPOMOFO_LETTER_H_U_EN },
+       { 0x6dbe, ALP_ORDER_BOPOMOFO_LETTER_T_A },
+       { 0x6dbf, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O },
+       { 0x6dc0, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x6dc2, ALP_ORDER_BOPOMOFO_LETTER_D_E },
+       { 0x6dc4, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x6dc5, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x6dc6, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x6dc7, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x6dc8, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x6dc9, ALP_ORDER_BOPOMOFO_LETTER_G_U_O },
+       { 0x6dca, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x6dcb, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x6dcc, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x6dcd, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x6dcf, ALP_ORDER_BOPOMOFO_LETTER_H_AU },
+       { 0x6dd0, ALP_ORDER_BOPOMOFO_LETTER_CH_ANG },
+       { 0x6dd1, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x6dd2, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x6dd3, ALP_ORDER_BOPOMOFO_LETTER_F_ANG },
+       { 0x6dd4, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x6dd5, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x6dd6, ALP_ORDER_BOPOMOFO_LETTER_N_AU },
+       { 0x6dd7, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x6dd8, ALP_ORDER_BOPOMOFO_LETTER_T_AU },
+       { 0x6dd9, ALP_ORDER_BOPOMOFO_LETTER_C_U_ENG },
+       { 0x6dda, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x6ddb, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x6ddc, ALP_ORDER_BOPOMOFO_LETTER_P_I_ENG },
+       { 0x6ddd, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x6dde, ALP_ORDER_BOPOMOFO_LETTER_S_U_ENG },
+       { 0x6ddf, ALP_ORDER_BOPOMOFO_LETTER_T_I_AN },
+       { 0x6de0, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x6de1, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x6de2, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x6de3, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x6de4, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x6de5, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x6de6, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x6de8, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x6de9, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x6dea, ALP_ORDER_BOPOMOFO_LETTER_L_U_EN },
+       { 0x6deb, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x6dec, ALP_ORDER_BOPOMOFO_LETTER_C_U_EI },
+       { 0x6ded, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x6dee, ALP_ORDER_BOPOMOFO_LETTER_H_U_AI },
+       { 0x6def, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x6df0, ALP_ORDER_BOPOMOFO_LETTER_N_I_AN },
+       { 0x6df1, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x6df2, ALP_ORDER_BOPOMOFO_LETTER_P_I_AU },
+       { 0x6df3, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EN },
+       { 0x6df4, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x6df5, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x6df6, ALP_ORDER_BOPOMOFO_LETTER_L_AI },
+       { 0x6df7, ALP_ORDER_BOPOMOFO_LETTER_H_U_EN },
+       { 0x6df9, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x6dfa, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x6dfb, ALP_ORDER_BOPOMOFO_LETTER_T_I_AN },
+       { 0x6dfc, ALP_ORDER_BOPOMOFO_LETTER_M_I_AU },
+       { 0x6dfd, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x6e00, ALP_ORDER_BOPOMOFO_LETTER_B_EN },
+       { 0x6e03, ALP_ORDER_BOPOMOFO_LETTER_R_U_O },
+       { 0x6e05, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ENG },
+       { 0x6e19, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x6e1a, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x6e1b, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x6e1c, ALP_ORDER_BOPOMOFO_LETTER_N_U_AN },
+       { 0x6e1d, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x6e1f, ALP_ORDER_BOPOMOFO_LETTER_T_I_ENG },
+       { 0x6e20, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x6e21, ALP_ORDER_BOPOMOFO_LETTER_D_U },
+       { 0x6e22, ALP_ORDER_BOPOMOFO_LETTER_F_ENG },
+       { 0x6e23, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x6e24, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x6e25, ALP_ORDER_BOPOMOFO_LETTER_U_O },
+       { 0x6e26, ALP_ORDER_BOPOMOFO_LETTER_U_O },
+       { 0x6e27, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x6e28, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x6e2b, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x6e2c, ALP_ORDER_BOPOMOFO_LETTER_C_E },
+       { 0x6e2d, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x6e2e, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x6e2f, ALP_ORDER_BOPOMOFO_LETTER_G_ANG },
+       { 0x6e30, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x6e31, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x6e32, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x6e33, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x6e34, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x6e35, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x6e36, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x6e38, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x6e39, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x6e3a, ALP_ORDER_BOPOMOFO_LETTER_M_I_AU },
+       { 0x6e3b, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x6e3c, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x6e3d, ALP_ORDER_BOPOMOFO_LETTER_Z_AI },
+       { 0x6e3e, ALP_ORDER_BOPOMOFO_LETTER_H_U_EN },
+       { 0x6e3f, ALP_ORDER_BOPOMOFO_LETTER_N_AI },
+       { 0x6e40, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x6e41, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x6e43, ALP_ORDER_BOPOMOFO_LETTER_P_AI },
+       { 0x6e44, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x6e45, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x6e46, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x6e47, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x6e49, ALP_ORDER_BOPOMOFO_LETTER_T_I_AN },
+       { 0x6e4a, ALP_ORDER_BOPOMOFO_LETTER_C_OU },
+       { 0x6e4b, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x6e4d, ALP_ORDER_BOPOMOFO_LETTER_T_U_AN },
+       { 0x6e4e, ALP_ORDER_BOPOMOFO_LETTER_M_I_AN },
+       { 0x6e51, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x6e52, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x6e53, ALP_ORDER_BOPOMOFO_LETTER_P_EN },
+       { 0x6e54, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x6e55, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x6e56, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x6e58, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x6e5a, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x6e5b, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x6e5c, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x6e5d, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x6e5e, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x6e5f, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x6e60, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x6e61, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x6e62, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x6e63, ALP_ORDER_BOPOMOFO_LETTER_M_I_EN },
+       { 0x6e64, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x6e65, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x6e66, ALP_ORDER_BOPOMOFO_LETTER_SH_ENG },
+       { 0x6e67, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x6e68, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x6e69, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ENG },
+       { 0x6e6b, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x6e6e, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x6e6f, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x6e71, ALP_ORDER_BOPOMOFO_LETTER_H_U_O },
+       { 0x6e72, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x6e73, ALP_ORDER_BOPOMOFO_LETTER_N_AN },
+       { 0x6e74, ALP_ORDER_BOPOMOFO_LETTER_B_AN },
+       { 0x6e77, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EI },
+       { 0x6e78, ALP_ORDER_BOPOMOFO_LETTER_L_I_ANG },
+       { 0x6e79, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x6e88, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x6e89, ALP_ORDER_BOPOMOFO_LETTER_G_AI },
+       { 0x6e8d, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x6e8e, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x6e8f, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x6e90, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x6e92, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x6e93, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x6e94, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x6e96, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_EN },
+       { 0x6e97, ALP_ORDER_BOPOMOFO_LETTER_SH_ENG },
+       { 0x6e98, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x6e99, ALP_ORDER_BOPOMOFO_LETTER_T_AI },
+       { 0x6e9b, ALP_ORDER_BOPOMOFO_LETTER_U_A },
+       { 0x6e9c, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x6e9d, ALP_ORDER_BOPOMOFO_LETTER_G_OU },
+       { 0x6e9e, ALP_ORDER_BOPOMOFO_LETTER_S_AU },
+       { 0x6e9f, ALP_ORDER_BOPOMOFO_LETTER_M_I_ENG },
+       { 0x6ea0, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x6ea1, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x6ea2, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x6ea3, ALP_ORDER_BOPOMOFO_LETTER_L_U_EN },
+       { 0x6ea4, ALP_ORDER_BOPOMOFO_LETTER_M_A },
+       { 0x6ea5, ALP_ORDER_BOPOMOFO_LETTER_P_U },
+       { 0x6ea6, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x6ea7, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x6eaa, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x6eab, ALP_ORDER_BOPOMOFO_LETTER_U_EN },
+       { 0x6eae, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x6eaf, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x6eb0, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x6eb1, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x6eb2, ALP_ORDER_BOPOMOFO_LETTER_S_OU },
+       { 0x6eb3, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x6eb4, ALP_ORDER_BOPOMOFO_LETTER_X_I_OU },
+       { 0x6eb6, ALP_ORDER_BOPOMOFO_LETTER_R_U_ENG },
+       { 0x6eb7, ALP_ORDER_BOPOMOFO_LETTER_H_U_EN },
+       { 0x6eb9, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x6eba, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x6ebc, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x6ebd, ALP_ORDER_BOPOMOFO_LETTER_R_U },
+       { 0x6ebe, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x6ebf, ALP_ORDER_BOPOMOFO_LETTER_P_AN },
+       { 0x6ec0, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x6ec1, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x6ec2, ALP_ORDER_BOPOMOFO_LETTER_P_ANG },
+       { 0x6ec3, ALP_ORDER_BOPOMOFO_LETTER_U_ENG },
+       { 0x6ec4, ALP_ORDER_BOPOMOFO_LETTER_C_ANG },
+       { 0x6ec5, ALP_ORDER_BOPOMOFO_LETTER_M_I_EH },
+       { 0x6ec6, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x6ec7, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x6ec8, ALP_ORDER_BOPOMOFO_LETTER_H_AU },
+       { 0x6ec9, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x6eca, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x6ecb, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x6ecc, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x6ecd, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x6ece, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x6ecf, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x6ed0, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x6ed1, ALP_ORDER_BOPOMOFO_LETTER_H_U_A },
+       { 0x6ed2, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x6ed3, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x6ed4, ALP_ORDER_BOPOMOFO_LETTER_T_AU },
+       { 0x6ed5, ALP_ORDER_BOPOMOFO_LETTER_T_ENG },
+       { 0x6ed6, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x6ed8, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x6edc, ALP_ORDER_BOPOMOFO_LETTER_G_AU },
+       { 0x6eeb, ALP_ORDER_BOPOMOFO_LETTER_X_I_OU },
+       { 0x6eec, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x6eed, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x6eee, ALP_ORDER_BOPOMOFO_LETTER_B_I_AU },
+       { 0x6eef, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x6ef1, ALP_ORDER_BOPOMOFO_LETTER_K_OU },
+       { 0x6ef2, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x6ef4, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x6ef5, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x6ef6, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x6ef7, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x6ef8, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x6ef9, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x6efb, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x6efc, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x6efd, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x6efe, ALP_ORDER_BOPOMOFO_LETTER_G_U_EN },
+       { 0x6eff, ALP_ORDER_BOPOMOFO_LETTER_M_AN },
+       { 0x6f00, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ENG },
+       { 0x6f01, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x6f02, ALP_ORDER_BOPOMOFO_LETTER_P_I_AU },
+       { 0x6f03, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x6f05, ALP_ORDER_BOPOMOFO_LETTER_CH_AU },
+       { 0x6f06, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x6f07, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x6f08, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x6f09, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x6f0a, ALP_ORDER_BOPOMOFO_LETTER_L_OU },
+       { 0x6f0d, ALP_ORDER_BOPOMOFO_LETTER_G_U_O },
+       { 0x6f0e, ALP_ORDER_BOPOMOFO_LETTER_C_U_ENG },
+       { 0x6f0f, ALP_ORDER_BOPOMOFO_LETTER_L_OU },
+       { 0x6f12, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ANG },
+       { 0x6f13, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x6f14, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x6f15, ALP_ORDER_BOPOMOFO_LETTER_C_AU },
+       { 0x6f18, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EN },
+       { 0x6f19, ALP_ORDER_BOPOMOFO_LETTER_T_U_AN },
+       { 0x6f1a, ALP_ORDER_BOPOMOFO_LETTER_OU },
+       { 0x6f1c, ALP_ORDER_BOPOMOFO_LETTER_I_EH },
+       { 0x6f1e, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x6f1f, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x6f20, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x6f21, ALP_ORDER_BOPOMOFO_LETTER_SH_ANG },
+       { 0x6f22, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x6f23, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x6f25, ALP_ORDER_BOPOMOFO_LETTER_U_A },
+       { 0x6f26, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x6f27, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x6f29, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x6f2a, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x6f2b, ALP_ORDER_BOPOMOFO_LETTER_M_AN },
+       { 0x6f2c, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x6f2d, ALP_ORDER_BOPOMOFO_LETTER_M_ANG },
+       { 0x6f2e, ALP_ORDER_BOPOMOFO_LETTER_K_ANG },
+       { 0x6f2f, ALP_ORDER_BOPOMOFO_LETTER_T_A },
+       { 0x6f30, ALP_ORDER_BOPOMOFO_LETTER_P_ENG },
+       { 0x6f31, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x6f32, ALP_ORDER_BOPOMOFO_LETTER_ZH_ANG },
+       { 0x6f33, ALP_ORDER_BOPOMOFO_LETTER_ZH_ANG },
+       { 0x6f35, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x6f36, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x6f37, ALP_ORDER_BOPOMOFO_LETTER_K_U_O },
+       { 0x6f38, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x6f39, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x6f3a, ALP_ORDER_BOPOMOFO_LETTER_CH_U_ANG },
+       { 0x6f3b, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x6f3c, ALP_ORDER_BOPOMOFO_LETTER_C_U_EI },
+       { 0x6f3e, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x6f3f, ALP_ORDER_BOPOMOFO_LETTER_J_I_ANG },
+       { 0x6f40, ALP_ORDER_BOPOMOFO_LETTER_C_U_ENG },
+       { 0x6f41, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x6f43, ALP_ORDER_BOPOMOFO_LETTER_X_I_OU },
+       { 0x6f4e, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x6f4f, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x6f50, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x6f51, ALP_ORDER_BOPOMOFO_LETTER_P_O },
+       { 0x6f52, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x6f53, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x6f54, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x6f55, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x6f57, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x6f58, ALP_ORDER_BOPOMOFO_LETTER_P_AN },
+       { 0x6f5a, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x6f5b, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x6f5d, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x6f5e, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x6f5f, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x6f60, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x6f61, ALP_ORDER_BOPOMOFO_LETTER_D_U_EN },
+       { 0x6f62, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x6f63, ALP_ORDER_BOPOMOFO_LETTER_M_I_EN },
+       { 0x6f64, ALP_ORDER_BOPOMOFO_LETTER_R_U_EN },
+       { 0x6f66, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x6f67, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x6f69, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x6f6a, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x6f6b, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x6f6c, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x6f6d, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x6f6e, ALP_ORDER_BOPOMOFO_LETTER_CH_AU },
+       { 0x6f6f, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x6f70, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x6f72, ALP_ORDER_BOPOMOFO_LETTER_SH_AU },
+       { 0x6f73, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x6f76, ALP_ORDER_BOPOMOFO_LETTER_H_EI },
+       { 0x6f77, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x6f78, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x6f7a, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x6f7b, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x6f7c, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x6f7d, ALP_ORDER_BOPOMOFO_LETTER_P_U },
+       { 0x6f7e, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x6f7f, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x6f80, ALP_ORDER_BOPOMOFO_LETTER_S_E },
+       { 0x6f82, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x6f84, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x6f85, ALP_ORDER_BOPOMOFO_LETTER_H_U_A },
+       { 0x6f86, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x6f87, ALP_ORDER_BOPOMOFO_LETTER_L_AU },
+       { 0x6f88, ALP_ORDER_BOPOMOFO_LETTER_CH_E },
+       { 0x6f89, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x6f8b, ALP_ORDER_BOPOMOFO_LETTER_H_ENG },
+       { 0x6f8c, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x6f8d, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x6f8e, ALP_ORDER_BOPOMOFO_LETTER_P_ENG },
+       { 0x6f90, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x6f92, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x6f93, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x6f94, ALP_ORDER_BOPOMOFO_LETTER_H_AU },
+       { 0x6f95, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x6f96, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x6f97, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x6f9e, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x6fa0, ALP_ORDER_BOPOMOFO_LETTER_M_I_EN },
+       { 0x6fa1, ALP_ORDER_BOPOMOFO_LETTER_Z_AU },
+       { 0x6fa2, ALP_ORDER_BOPOMOFO_LETTER_D_ANG },
+       { 0x6fa3, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x6fa4, ALP_ORDER_BOPOMOFO_LETTER_Z_E },
+       { 0x6fa5, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x6fa6, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x6fa7, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x6fa8, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x6fa9, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EH },
+       { 0x6faa, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x6fab, ALP_ORDER_BOPOMOFO_LETTER_M_AN },
+       { 0x6fac, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x6fad, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x6fae, ALP_ORDER_BOPOMOFO_LETTER_K_U_AI },
+       { 0x6faf, ALP_ORDER_BOPOMOFO_LETTER_C_AN },
+       { 0x6fb0, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x6fb1, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x6fb2, ALP_ORDER_BOPOMOFO_LETTER_I_EH },
+       { 0x6fb3, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x6fb4, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x6fb6, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x6fb8, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x6fb9, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x6fba, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x6fbc, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x6fbd, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x6fbf, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EN },
+       { 0x6fc0, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x6fc1, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O },
+       { 0x6fc2, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x6fc3, ALP_ORDER_BOPOMOFO_LETTER_N_U_ENG },
+       { 0x6fc4, ALP_ORDER_BOPOMOFO_LETTER_G_U_O },
+       { 0x6fc6, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x6fc7, ALP_ORDER_BOPOMOFO_LETTER_S_E },
+       { 0x6fc8, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x6fc9, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x6fca, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x6fcb, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x6fcc, ALP_ORDER_BOPOMOFO_LETTER_T_A },
+       { 0x6fcd, ALP_ORDER_BOPOMOFO_LETTER_S_U_ENG },
+       { 0x6fce, ALP_ORDER_BOPOMOFO_LETTER_D_I_ENG },
+       { 0x6fcf, ALP_ORDER_BOPOMOFO_LETTER_S_E },
+       { 0x6fd4, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x6fd5, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x6fd8, ALP_ORDER_BOPOMOFO_LETTER_N_I_ENG },
+       { 0x6fdb, ALP_ORDER_BOPOMOFO_LETTER_M_ENG },
+       { 0x6fdc, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x6fdd, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x6fde, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x6fdf, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x6fe0, ALP_ORDER_BOPOMOFO_LETTER_H_AU },
+       { 0x6fe1, ALP_ORDER_BOPOMOFO_LETTER_R_U },
+       { 0x6fe2, ALP_ORDER_BOPOMOFO_LETTER_Z_U_EI },
+       { 0x6fe3, ALP_ORDER_BOPOMOFO_LETTER_U_O },
+       { 0x6fe4, ALP_ORDER_BOPOMOFO_LETTER_T_AU },
+       { 0x6fe6, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x6fe7, ALP_ORDER_BOPOMOFO_LETTER_D_U_EI },
+       { 0x6fe8, ALP_ORDER_BOPOMOFO_LETTER_C },
+       { 0x6fe9, ALP_ORDER_BOPOMOFO_LETTER_H_U_O },
+       { 0x6feb, ALP_ORDER_BOPOMOFO_LETTER_L_AN },
+       { 0x6fec, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EN },
+       { 0x6fed, ALP_ORDER_BOPOMOFO_LETTER_AI },
+       { 0x6fee, ALP_ORDER_BOPOMOFO_LETTER_P_U },
+       { 0x6fef, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O },
+       { 0x6ff0, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x6ff1, ALP_ORDER_BOPOMOFO_LETTER_B_I_EN },
+       { 0x6ff2, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x6ff4, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x6ff7, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x6ffa, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x6ffb, ALP_ORDER_BOPOMOFO_LETTER_D_U_EI },
+       { 0x6ffc, ALP_ORDER_BOPOMOFO_LETTER_L_U_O },
+       { 0x6ffe, ALP_ORDER_BOPOMOFO_LETTER_L_IU },
+       { 0x6fff, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x7000, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x7001, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x7004, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x7005, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x7006, ALP_ORDER_BOPOMOFO_LETTER_D_U },
+       { 0x7007, ALP_ORDER_BOPOMOFO_LETTER_U_ANG },
+       { 0x7009, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x700a, ALP_ORDER_BOPOMOFO_LETTER_P_AN },
+       { 0x700b, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x700c, ALP_ORDER_BOPOMOFO_LETTER_B_I_AU },
+       { 0x700d, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x700e, ALP_ORDER_BOPOMOFO_LETTER_M_I_EH },
+       { 0x700f, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x7011, ALP_ORDER_BOPOMOFO_LETTER_P_U },
+       { 0x7014, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x7015, ALP_ORDER_BOPOMOFO_LETTER_B_I_EN },
+       { 0x7016, ALP_ORDER_BOPOMOFO_LETTER_H_U_O },
+       { 0x7017, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x7018, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x7019, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EN },
+       { 0x701a, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x701b, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x701c, ALP_ORDER_BOPOMOFO_LETTER_R_U_ENG },
+       { 0x701d, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x701f, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x7020, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x7021, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x7022, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x7023, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x7024, ALP_ORDER_BOPOMOFO_LETTER_H_U_AI },
+       { 0x7026, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x7027, ALP_ORDER_BOPOMOFO_LETTER_L_U_ENG },
+       { 0x7028, ALP_ORDER_BOPOMOFO_LETTER_L_AI },
+       { 0x7029, ALP_ORDER_BOPOMOFO_LETTER_D_U_EI },
+       { 0x702a, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x702b, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x702f, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x7030, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x7031, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x7032, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x7033, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x7034, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x7035, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x7037, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x7038, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x7039, ALP_ORDER_BOPOMOFO_LETTER_IU_EH },
+       { 0x703a, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x703b, ALP_ORDER_BOPOMOFO_LETTER_D_AI },
+       { 0x703c, ALP_ORDER_BOPOMOFO_LETTER_R_ANG },
+       { 0x703e, ALP_ORDER_BOPOMOFO_LETTER_L_AN },
+       { 0x703f, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x7040, ALP_ORDER_BOPOMOFO_LETTER_SH_U_ANG },
+       { 0x7041, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x7042, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O },
+       { 0x7043, ALP_ORDER_BOPOMOFO_LETTER_F_ENG },
+       { 0x7044, ALP_ORDER_BOPOMOFO_LETTER_SH_E },
+       { 0x7045, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x7046, ALP_ORDER_BOPOMOFO_LETTER_L_AN },
+       { 0x7048, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x7049, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x704a, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x704c, ALP_ORDER_BOPOMOFO_LETTER_G_U_AN },
+       { 0x7051, ALP_ORDER_BOPOMOFO_LETTER_S_A },
+       { 0x7052, ALP_ORDER_BOPOMOFO_LETTER_Z_AN },
+       { 0x7055, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x7056, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x7057, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x7058, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x705a, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x705b, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x705d, ALP_ORDER_BOPOMOFO_LETTER_H_AU },
+       { 0x705e, ALP_ORDER_BOPOMOFO_LETTER_B_A },
+       { 0x705f, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x7060, ALP_ORDER_BOPOMOFO_LETTER_L_AN },
+       { 0x7061, ALP_ORDER_BOPOMOFO_LETTER_L_AN },
+       { 0x7062, ALP_ORDER_BOPOMOFO_LETTER_N_ANG },
+       { 0x7063, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x7064, ALP_ORDER_BOPOMOFO_LETTER_L_U_AN },
+       { 0x7065, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x7066, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x7068, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x7069, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x706a, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x706b, ALP_ORDER_BOPOMOFO_LETTER_H_U_O },
+       { 0x7070, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x7071, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x7074, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x7076, ALP_ORDER_BOPOMOFO_LETTER_Z_AU },
+       { 0x7078, ALP_ORDER_BOPOMOFO_LETTER_J_I_OU },
+       { 0x707a, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x707c, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O },
+       { 0x707d, ALP_ORDER_BOPOMOFO_LETTER_Z_AI },
+       { 0x7082, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ENG },
+       { 0x7083, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x7084, ALP_ORDER_BOPOMOFO_LETTER_N_I_OU },
+       { 0x7085, ALP_ORDER_BOPOMOFO_LETTER_J_IU_ENG },
+       { 0x7086, ALP_ORDER_BOPOMOFO_LETTER_U_EN },
+       { 0x708a, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EI },
+       { 0x708e, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x7091, ALP_ORDER_BOPOMOFO_LETTER_M_U },
+       { 0x7092, ALP_ORDER_BOPOMOFO_LETTER_CH_AU },
+       { 0x7093, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x7094, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_EH },
+       { 0x7095, ALP_ORDER_BOPOMOFO_LETTER_K_ANG },
+       { 0x7096, ALP_ORDER_BOPOMOFO_LETTER_D_U_EN },
+       { 0x7098, ALP_ORDER_BOPOMOFO_LETTER_X_I_EN },
+       { 0x7099, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x709a, ALP_ORDER_BOPOMOFO_LETTER_G_U_ANG },
+       { 0x709f, ALP_ORDER_BOPOMOFO_LETTER_D_A },
+       { 0x70a1, ALP_ORDER_BOPOMOFO_LETTER_ZH_ENG },
+       { 0x70a4, ALP_ORDER_BOPOMOFO_LETTER_ZH_AU },
+       { 0x70a9, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x70ab, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x70ac, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x70ad, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x70ae, ALP_ORDER_BOPOMOFO_LETTER_P_AU },
+       { 0x70af, ALP_ORDER_BOPOMOFO_LETTER_J_IU_ENG },
+       { 0x70b0, ALP_ORDER_BOPOMOFO_LETTER_P_AU },
+       { 0x70b1, ALP_ORDER_BOPOMOFO_LETTER_T_AI },
+       { 0x70b3, ALP_ORDER_BOPOMOFO_LETTER_B_I_ENG },
+       { 0x70b4, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x70b5, ALP_ORDER_BOPOMOFO_LETTER_D_U_ENG },
+       { 0x70b7, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x70b8, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x70ba, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x70be, ALP_ORDER_BOPOMOFO_LETTER_P_I_ENG },
+       { 0x70c5, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x70c6, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x70c7, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x70c8, ALP_ORDER_BOPOMOFO_LETTER_L_I_EH },
+       { 0x70ca, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x70cb, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x70cd, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x70ce, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x70cf, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x70d1, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x70d2, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x70d3, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x70d4, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x70d7, ALP_ORDER_BOPOMOFO_LETTER_K_EI },
+       { 0x70d8, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x70d9, ALP_ORDER_BOPOMOFO_LETTER_L_U_O },
+       { 0x70da, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x70dc, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x70dd, ALP_ORDER_BOPOMOFO_LETTER_ZH_ENG },
+       { 0x70de, ALP_ORDER_BOPOMOFO_LETTER_P_O },
+       { 0x70e0, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x70e1, ALP_ORDER_BOPOMOFO_LETTER_G_U_ANG },
+       { 0x70e2, ALP_ORDER_BOPOMOFO_LETTER_ZH_E },
+       { 0x70e4, ALP_ORDER_BOPOMOFO_LETTER_K_AU },
+       { 0x70ef, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x70f0, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x70f3, ALP_ORDER_BOPOMOFO_LETTER_P_U },
+       { 0x70f4, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ENG },
+       { 0x70f6, ALP_ORDER_BOPOMOFO_LETTER_T_I_ENG },
+       { 0x70f7, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x70f8, ALP_ORDER_BOPOMOFO_LETTER_H_AI },
+       { 0x70f9, ALP_ORDER_BOPOMOFO_LETTER_P_ENG },
+       { 0x70fa, ALP_ORDER_BOPOMOFO_LETTER_L_ANG },
+       { 0x70fb, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x70fc, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x70fd, ALP_ORDER_BOPOMOFO_LETTER_F_ENG },
+       { 0x70ff, ALP_ORDER_BOPOMOFO_LETTER_R_U_ENG },
+       { 0x7100, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x7102, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x7104, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x7106, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x7109, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x710a, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x710b, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ANG },
+       { 0x710c, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EN },
+       { 0x710d, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x710e, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x7110, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x7113, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x7117, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x7119, ALP_ORDER_BOPOMOFO_LETTER_B_EI },
+       { 0x711a, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x711b, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x711c, ALP_ORDER_BOPOMOFO_LETTER_K_U_EN },
+       { 0x711e, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EN },
+       { 0x711f, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x7120, ALP_ORDER_BOPOMOFO_LETTER_C_U_EI },
+       { 0x7121, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x7122, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x7123, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x7125, ALP_ORDER_BOPOMOFO_LETTER_U_O },
+       { 0x7126, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x7128, ALP_ORDER_BOPOMOFO_LETTER_F_ENG },
+       { 0x712e, ALP_ORDER_BOPOMOFO_LETTER_X_I_EN },
+       { 0x712f, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O },
+       { 0x7130, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x7131, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x7132, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x7136, ALP_ORDER_BOPOMOFO_LETTER_R_AN },
+       { 0x713a, ALP_ORDER_BOPOMOFO_LETTER_SH_ENG },
+       { 0x7141, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x7142, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x7143, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x7144, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ENG },
+       { 0x7146, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x7147, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x7149, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x714b, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x714c, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x714d, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x714e, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x7150, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x7152, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x7153, ALP_ORDER_BOPOMOFO_LETTER_T_U_AN },
+       { 0x7154, ALP_ORDER_BOPOMOFO_LETTER_T_I_AN },
+       { 0x7156, ALP_ORDER_BOPOMOFO_LETTER_N_U_AN },
+       { 0x7158, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x7159, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x715a, ALP_ORDER_BOPOMOFO_LETTER_J_IU_ENG },
+       { 0x715c, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x715d, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x715e, ALP_ORDER_BOPOMOFO_LETTER_SH_A },
+       { 0x715f, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x7160, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x7161, ALP_ORDER_BOPOMOFO_LETTER_X_I_EN },
+       { 0x7162, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_ENG },
+       { 0x7163, ALP_ORDER_BOPOMOFO_LETTER_R_OU },
+       { 0x7164, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x7165, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x7166, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x7167, ALP_ORDER_BOPOMOFO_LETTER_ZH_AU },
+       { 0x7168, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x7169, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x716a, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x716c, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x716e, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x7170, ALP_ORDER_BOPOMOFO_LETTER_G_AU },
+       { 0x7172, ALP_ORDER_BOPOMOFO_LETTER_B_AU },
+       { 0x7178, ALP_ORDER_BOPOMOFO_LETTER_B_I_AN },
+       { 0x717b, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x717d, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x7180, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x7181, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x7182, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x7184, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x7185, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x7186, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x7187, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x7189, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x718a, ALP_ORDER_BOPOMOFO_LETTER_X_IU_ENG },
+       { 0x718f, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x7190, ALP_ORDER_BOPOMOFO_LETTER_M_I_ENG },
+       { 0x7192, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x7194, ALP_ORDER_BOPOMOFO_LETTER_R_U_ENG },
+       { 0x7197, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ANG },
+       { 0x7199, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x719a, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x719b, ALP_ORDER_BOPOMOFO_LETTER_B_I_AU },
+       { 0x719c, ALP_ORDER_BOPOMOFO_LETTER_Z_U_ENG },
+       { 0x719d, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x719e, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x719f, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x71a0, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x71a1, ALP_ORDER_BOPOMOFO_LETTER_L_OU },
+       { 0x71a4, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x71a5, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x71a7, ALP_ORDER_BOPOMOFO_LETTER_Z_U_ENG },
+       { 0x71a8, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x71a9, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x71aa, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x71ac, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x71af, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x71b0, ALP_ORDER_BOPOMOFO_LETTER_OU },
+       { 0x71b1, ALP_ORDER_BOPOMOFO_LETTER_R_E },
+       { 0x71b2, ALP_ORDER_BOPOMOFO_LETTER_J_IU_ENG },
+       { 0x71b3, ALP_ORDER_BOPOMOFO_LETTER_M_AN },
+       { 0x71b5, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x71b8, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x71b9, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x71bc, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x71bd, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x71be, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x71bf, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x71c0, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x71c1, ALP_ORDER_BOPOMOFO_LETTER_I_EH },
+       { 0x71c2, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x71c3, ALP_ORDER_BOPOMOFO_LETTER_R_AN },
+       { 0x71c4, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x71c5, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x71c6, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x71c7, ALP_ORDER_BOPOMOFO_LETTER_Z_U_EN },
+       { 0x71c8, ALP_ORDER_BOPOMOFO_LETTER_D_ENG },
+       { 0x71c9, ALP_ORDER_BOPOMOFO_LETTER_D_U_EN },
+       { 0x71ca, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x71cb, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x71ce, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x71cf, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x71d0, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x71d2, ALP_ORDER_BOPOMOFO_LETTER_SH_AU },
+       { 0x71d4, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x71d5, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x71d6, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x71d8, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x71d9, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x71da, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x71db, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x71dc, ALP_ORDER_BOPOMOFO_LETTER_M_EN },
+       { 0x71df, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x71e0, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x71e1, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x71e2, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EH },
+       { 0x71e4, ALP_ORDER_BOPOMOFO_LETTER_T_AI },
+       { 0x71e5, ALP_ORDER_BOPOMOFO_LETTER_Z_AU },
+       { 0x71e6, ALP_ORDER_BOPOMOFO_LETTER_C_AN },
+       { 0x71e7, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x71e8, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x71ec, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x71ed, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x71ee, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x71f0, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x71f1, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x71f2, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x71f4, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x71f8, ALP_ORDER_BOPOMOFO_LETTER_R_U },
+       { 0x71f9, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x71fb, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x71fc, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x71fd, ALP_ORDER_BOPOMOFO_LETTER_CH_OU },
+       { 0x71fe, ALP_ORDER_BOPOMOFO_LETTER_D_AU },
+       { 0x71ff, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x7201, ALP_ORDER_BOPOMOFO_LETTER_L_AN },
+       { 0x7202, ALP_ORDER_BOPOMOFO_LETTER_B_I_AU },
+       { 0x7203, ALP_ORDER_BOPOMOFO_LETTER_R_U_ENG },
+       { 0x7205, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x7206, ALP_ORDER_BOPOMOFO_LETTER_B_AU },
+       { 0x7207, ALP_ORDER_BOPOMOFO_LETTER_R_U_O },
+       { 0x720a, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x720c, ALP_ORDER_BOPOMOFO_LETTER_K_U_ANG },
+       { 0x720d, ALP_ORDER_BOPOMOFO_LETTER_SH_U_O },
+       { 0x7210, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x7213, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x7214, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x7219, ALP_ORDER_BOPOMOFO_LETTER_SH_ANG },
+       { 0x721a, ALP_ORDER_BOPOMOFO_LETTER_IU_EH },
+       { 0x721b, ALP_ORDER_BOPOMOFO_LETTER_L_AN },
+       { 0x721d, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x721e, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x721f, ALP_ORDER_BOPOMOFO_LETTER_G_U_AN },
+       { 0x7222, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x7223, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x7226, ALP_ORDER_BOPOMOFO_LETTER_L_AN },
+       { 0x7227, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x7228, ALP_ORDER_BOPOMOFO_LETTER_C_U_AN },
+       { 0x7229, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x722a, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_A },
+       { 0x722c, ALP_ORDER_BOPOMOFO_LETTER_P_A },
+       { 0x722d, ALP_ORDER_BOPOMOFO_LETTER_ZH_ENG },
+       { 0x7230, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x7235, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x7236, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x7238, ALP_ORDER_BOPOMOFO_LETTER_B_A },
+       { 0x7239, ALP_ORDER_BOPOMOFO_LETTER_D_I_EH },
+       { 0x723a, ALP_ORDER_BOPOMOFO_LETTER_I_EH },
+       { 0x723b, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x723d, ALP_ORDER_BOPOMOFO_LETTER_SH_U_ANG },
+       { 0x723e, ALP_ORDER_BOPOMOFO_LETTER_ER },
+       { 0x723f, ALP_ORDER_BOPOMOFO_LETTER_B_AN },
+       { 0x7241, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x7242, ALP_ORDER_BOPOMOFO_LETTER_Z_ANG },
+       { 0x7244, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ANG },
+       { 0x7246, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ANG },
+       { 0x7247, ALP_ORDER_BOPOMOFO_LETTER_P_I_AN },
+       { 0x7248, ALP_ORDER_BOPOMOFO_LETTER_B_AN },
+       { 0x7249, ALP_ORDER_BOPOMOFO_LETTER_P_AN },
+       { 0x724a, ALP_ORDER_BOPOMOFO_LETTER_SH_AU },
+       { 0x724b, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x724c, ALP_ORDER_BOPOMOFO_LETTER_P_AI },
+       { 0x724f, ALP_ORDER_BOPOMOFO_LETTER_T_OU },
+       { 0x7252, ALP_ORDER_BOPOMOFO_LETTER_D_I_EH },
+       { 0x7253, ALP_ORDER_BOPOMOFO_LETTER_B_ANG },
+       { 0x7256, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x7258, ALP_ORDER_BOPOMOFO_LETTER_D_U },
+       { 0x7259, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x725a, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x725b, ALP_ORDER_BOPOMOFO_LETTER_N_I_OU },
+       { 0x725d, ALP_ORDER_BOPOMOFO_LETTER_P_I_EN },
+       { 0x725e, ALP_ORDER_BOPOMOFO_LETTER_J_I_OU },
+       { 0x725f, ALP_ORDER_BOPOMOFO_LETTER_M_OU },
+       { 0x7260, ALP_ORDER_BOPOMOFO_LETTER_T_A },
+       { 0x7261, ALP_ORDER_BOPOMOFO_LETTER_M_U },
+       { 0x7262, ALP_ORDER_BOPOMOFO_LETTER_L_AU },
+       { 0x7263, ALP_ORDER_BOPOMOFO_LETTER_R_EN },
+       { 0x7267, ALP_ORDER_BOPOMOFO_LETTER_M_U },
+       { 0x7269, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x726a, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x726c, ALP_ORDER_BOPOMOFO_LETTER_B_EI },
+       { 0x726e, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x726f, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x7270, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x7272, ALP_ORDER_BOPOMOFO_LETTER_SH_ENG },
+       { 0x7273, ALP_ORDER_BOPOMOFO_LETTER_M_U },
+       { 0x7274, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x7276, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x7277, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x7278, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x7279, ALP_ORDER_BOPOMOFO_LETTER_T_E },
+       { 0x727b, ALP_ORDER_BOPOMOFO_LETTER_M_ANG },
+       { 0x727c, ALP_ORDER_BOPOMOFO_LETTER_K_ENG },
+       { 0x727d, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x727e, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x727f, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x7280, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x7281, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x7284, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x7285, ALP_ORDER_BOPOMOFO_LETTER_G_ANG },
+       { 0x7286, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x7288, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x7289, ALP_ORDER_BOPOMOFO_LETTER_R_U_EN },
+       { 0x728b, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x728c, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x728d, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x728e, ALP_ORDER_BOPOMOFO_LETTER_F_ENG },
+       { 0x7290, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x7291, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x7292, ALP_ORDER_BOPOMOFO_LETTER_K_AU },
+       { 0x7293, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x7295, ALP_ORDER_BOPOMOFO_LETTER_B_EI },
+       { 0x7296, ALP_ORDER_BOPOMOFO_LETTER_L_U_O },
+       { 0x7297, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x7298, ALP_ORDER_BOPOMOFO_LETTER_M_A },
+       { 0x729a, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x729b, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x729d, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x729e, ALP_ORDER_BOPOMOFO_LETTER_S_E },
+       { 0x72a1, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x72a2, ALP_ORDER_BOPOMOFO_LETTER_D_U },
+       { 0x72a3, ALP_ORDER_BOPOMOFO_LETTER_L_I_EH },
+       { 0x72a4, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x72a5, ALP_ORDER_BOPOMOFO_LETTER_P_I_AU },
+       { 0x72a6, ALP_ORDER_BOPOMOFO_LETTER_B_AU },
+       { 0x72a7, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x72a8, ALP_ORDER_BOPOMOFO_LETTER_CH_OU },
+       { 0x72a9, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x72aa, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x72ac, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x72ae, ALP_ORDER_BOPOMOFO_LETTER_B_A },
+       { 0x72af, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x72b0, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x72b4, ALP_ORDER_BOPOMOFO_LETTER_AN },
+       { 0x72b5, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x72ba, ALP_ORDER_BOPOMOFO_LETTER_K_ANG },
+       { 0x72bd, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x72bf, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x72c0, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ANG },
+       { 0x72c1, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x72c2, ALP_ORDER_BOPOMOFO_LETTER_K_U_ANG },
+       { 0x72c3, ALP_ORDER_BOPOMOFO_LETTER_N_I_OU },
+       { 0x72c4, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x72c5, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ENG },
+       { 0x72c6, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ENG },
+       { 0x72c9, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x72ca, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x72cb, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x72cc, ALP_ORDER_BOPOMOFO_LETTER_SH_ENG },
+       { 0x72ce, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x72d0, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x72d1, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x72d2, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x72d4, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x72d6, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x72d7, ALP_ORDER_BOPOMOFO_LETTER_G_OU },
+       { 0x72d8, ALP_ORDER_BOPOMOFO_LETTER_IU_EH },
+       { 0x72d9, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x72da, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x72dc, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x72df, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x72e0, ALP_ORDER_BOPOMOFO_LETTER_H_EN },
+       { 0x72e1, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x72e3, ALP_ORDER_BOPOMOFO_LETTER_ZH_AU },
+       { 0x72e4, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x72e6, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x72e8, ALP_ORDER_BOPOMOFO_LETTER_R_U_ENG },
+       { 0x72e9, ALP_ORDER_BOPOMOFO_LETTER_SH_OU },
+       { 0x72ea, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x72eb, ALP_ORDER_BOPOMOFO_LETTER_L_AU },
+       { 0x72f3, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x72f4, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x72f6, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x72f7, ALP_ORDER_BOPOMOFO_LETTER_J_IU_AN },
+       { 0x72f8, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x72f9, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x72fa, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x72fb, ALP_ORDER_BOPOMOFO_LETTER_S_U_AN },
+       { 0x72fc, ALP_ORDER_BOPOMOFO_LETTER_L_ANG },
+       { 0x72fd, ALP_ORDER_BOPOMOFO_LETTER_B_EI },
+       { 0x72fe, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x72ff, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x7300, ALP_ORDER_BOPOMOFO_LETTER_SH_A },
+       { 0x7301, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x7307, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x7308, ALP_ORDER_BOPOMOFO_LETTER_B_A },
+       { 0x730a, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x730b, ALP_ORDER_BOPOMOFO_LETTER_B_I_AU },
+       { 0x730c, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x730f, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x7311, ALP_ORDER_BOPOMOFO_LETTER_K_U_EN },
+       { 0x7312, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x7313, ALP_ORDER_BOPOMOFO_LETTER_G_U_O },
+       { 0x7316, ALP_ORDER_BOPOMOFO_LETTER_CH_ANG },
+       { 0x7317, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x7318, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x7319, ALP_ORDER_BOPOMOFO_LETTER_ZH_ENG },
+       { 0x731b, ALP_ORDER_BOPOMOFO_LETTER_M_ENG },
+       { 0x731c, ALP_ORDER_BOPOMOFO_LETTER_C_AI },
+       { 0x731d, ALP_ORDER_BOPOMOFO_LETTER_C_U },
+       { 0x731e, ALP_ORDER_BOPOMOFO_LETTER_SH_E },
+       { 0x7322, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x7323, ALP_ORDER_BOPOMOFO_LETTER_Z_U_ENG },
+       { 0x7325, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x7326, ALP_ORDER_BOPOMOFO_LETTER_F_ENG },
+       { 0x7327, ALP_ORDER_BOPOMOFO_LETTER_U_O },
+       { 0x7329, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x732d, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x7330, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x7331, ALP_ORDER_BOPOMOFO_LETTER_N_AU },
+       { 0x7332, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x7333, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x7334, ALP_ORDER_BOPOMOFO_LETTER_H_OU },
+       { 0x7335, ALP_ORDER_BOPOMOFO_LETTER_B_I_AN },
+       { 0x7336, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x7337, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x733a, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x733b, ALP_ORDER_BOPOMOFO_LETTER_S_U_EN },
+       { 0x733c, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x733e, ALP_ORDER_BOPOMOFO_LETTER_H_U_A },
+       { 0x733f, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x7340, ALP_ORDER_BOPOMOFO_LETTER_S_OU },
+       { 0x7342, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x7343, ALP_ORDER_BOPOMOFO_LETTER_D_AI },
+       { 0x7344, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x7345, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x7349, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x734a, ALP_ORDER_BOPOMOFO_LETTER_CH_U_ANG },
+       { 0x734c, ALP_ORDER_BOPOMOFO_LETTER_M_AN },
+       { 0x734d, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x734e, ALP_ORDER_BOPOMOFO_LETTER_J_I_ANG },
+       { 0x7350, ALP_ORDER_BOPOMOFO_LETTER_ZH_ANG },
+       { 0x7351, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x7352, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x7357, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x7358, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x7359, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x735a, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x735b, ALP_ORDER_BOPOMOFO_LETTER_B_U },
+       { 0x735d, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x735e, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x735f, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x7360, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x7361, ALP_ORDER_BOPOMOFO_LETTER_SH_U_O },
+       { 0x7362, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x7365, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x7366, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x7367, ALP_ORDER_BOPOMOFO_LETTER_J_IU_AN },
+       { 0x7368, ALP_ORDER_BOPOMOFO_LETTER_D_U },
+       { 0x7369, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x736a, ALP_ORDER_BOPOMOFO_LETTER_K_U_AI },
+       { 0x736b, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x736c, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x736e, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x736f, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x7370, ALP_ORDER_BOPOMOFO_LETTER_N_I_ENG },
+       { 0x7372, ALP_ORDER_BOPOMOFO_LETTER_H_U_O },
+       { 0x7373, ALP_ORDER_BOPOMOFO_LETTER_N_OU },
+       { 0x7375, ALP_ORDER_BOPOMOFO_LETTER_L_I_EH },
+       { 0x7376, ALP_ORDER_BOPOMOFO_LETTER_N_AU },
+       { 0x7377, ALP_ORDER_BOPOMOFO_LETTER_G_U_ANG },
+       { 0x7378, ALP_ORDER_BOPOMOFO_LETTER_SH_OU },
+       { 0x737a, ALP_ORDER_BOPOMOFO_LETTER_T_A },
+       { 0x737b, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x737c, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x737d, ALP_ORDER_BOPOMOFO_LETTER_R_ANG },
+       { 0x737e, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x737f, ALP_ORDER_BOPOMOFO_LETTER_N_AU },
+       { 0x7380, ALP_ORDER_BOPOMOFO_LETTER_L_U_O },
+       { 0x7381, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x7382, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x7383, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x7384, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x7385, ALP_ORDER_BOPOMOFO_LETTER_M_I_AU },
+       { 0x7386, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x7387, ALP_ORDER_BOPOMOFO_LETTER_L_IU },
+       { 0x7388, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x7389, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x738a, ALP_ORDER_BOPOMOFO_LETTER_X_I_OU },
+       { 0x738b, ALP_ORDER_BOPOMOFO_LETTER_U_ANG },
+       { 0x738e, ALP_ORDER_BOPOMOFO_LETTER_D_I_ENG },
+       { 0x7392, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x7393, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x7394, ALP_ORDER_BOPOMOFO_LETTER_CH_U_AN },
+       { 0x7395, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x7396, ALP_ORDER_BOPOMOFO_LETTER_J_I_OU },
+       { 0x7397, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x739d, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x739f, ALP_ORDER_BOPOMOFO_LETTER_U_EN },
+       { 0x73a0, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x73a1, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x73a2, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x73a4, ALP_ORDER_BOPOMOFO_LETTER_B_ANG },
+       { 0x73a5, ALP_ORDER_BOPOMOFO_LETTER_IU_EH },
+       { 0x73a6, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x73a8, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x73a9, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x73ab, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x73ac, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x73ad, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x73b2, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x73b3, ALP_ORDER_BOPOMOFO_LETTER_D_AI },
+       { 0x73b4, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x73b5, ALP_ORDER_BOPOMOFO_LETTER_AN },
+       { 0x73b6, ALP_ORDER_BOPOMOFO_LETTER_P_I_ENG },
+       { 0x73b7, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x73b8, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x73b9, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x73bb, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x73bc, ALP_ORDER_BOPOMOFO_LETTER_C },
+       { 0x73be, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x73bf, ALP_ORDER_BOPOMOFO_LETTER_SH_AU },
+       { 0x73c0, ALP_ORDER_BOPOMOFO_LETTER_P_O },
+       { 0x73c2, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x73c3, ALP_ORDER_BOPOMOFO_LETTER_R_AN },
+       { 0x73c5, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x73c6, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x73c7, ALP_ORDER_BOPOMOFO_LETTER_Z_U },
+       { 0x73c8, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x73ca, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x73cb, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x73cc, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x73cd, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x73d2, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x73d3, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x73d4, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x73d6, ALP_ORDER_BOPOMOFO_LETTER_G_U_ANG },
+       { 0x73d7, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x73d8, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x73d9, ALP_ORDER_BOPOMOFO_LETTER_G_U_ENG },
+       { 0x73da, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x73db, ALP_ORDER_BOPOMOFO_LETTER_X_I_OU },
+       { 0x73dc, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x73dd, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x73de, ALP_ORDER_BOPOMOFO_LETTER_L_U_O },
+       { 0x73e0, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x73e3, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x73e5, ALP_ORDER_BOPOMOFO_LETTER_ER },
+       { 0x73e7, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x73e8, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x73e9, ALP_ORDER_BOPOMOFO_LETTER_H_ENG },
+       { 0x73ea, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x73eb, ALP_ORDER_BOPOMOFO_LETTER_CH_U_ENG },
+       { 0x73ed, ALP_ORDER_BOPOMOFO_LETTER_B_AN },
+       { 0x73ee, ALP_ORDER_BOPOMOFO_LETTER_P_EI },
+       { 0x73f4, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x73f5, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x73f6, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x73f8, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x73fa, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EN },
+       { 0x73fc, ALP_ORDER_BOPOMOFO_LETTER_B_EI },
+       { 0x73fd, ALP_ORDER_BOPOMOFO_LETTER_T_I_ENG },
+       { 0x73fe, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x73ff, ALP_ORDER_BOPOMOFO_LETTER_CH_U_O },
+       { 0x7400, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x7401, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x7403, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x7404, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x7405, ALP_ORDER_BOPOMOFO_LETTER_L_ANG },
+       { 0x7406, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x7407, ALP_ORDER_BOPOMOFO_LETTER_X_I_OU },
+       { 0x7408, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x7409, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x740a, ALP_ORDER_BOPOMOFO_LETTER_I_EH },
+       { 0x740b, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x740c, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x740d, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x7416, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x741a, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x741b, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x741d, ALP_ORDER_BOPOMOFO_LETTER_U_EN },
+       { 0x7420, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x7421, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x7422, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O },
+       { 0x7423, ALP_ORDER_BOPOMOFO_LETTER_P_EI },
+       { 0x7424, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x7425, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x7426, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x7428, ALP_ORDER_BOPOMOFO_LETTER_K_U_EN },
+       { 0x7429, ALP_ORDER_BOPOMOFO_LETTER_CH_ANG },
+       { 0x742a, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x742b, ALP_ORDER_BOPOMOFO_LETTER_B_ENG },
+       { 0x742c, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x742d, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x742e, ALP_ORDER_BOPOMOFO_LETTER_C_U_ENG },
+       { 0x742f, ALP_ORDER_BOPOMOFO_LETTER_G_U_AN },
+       { 0x7430, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x7431, ALP_ORDER_BOPOMOFO_LETTER_D_I_AU },
+       { 0x7432, ALP_ORDER_BOPOMOFO_LETTER_B_EI },
+       { 0x7433, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x7434, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EN },
+       { 0x7435, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x7436, ALP_ORDER_BOPOMOFO_LETTER_P_A },
+       { 0x743a, ALP_ORDER_BOPOMOFO_LETTER_F_A },
+       { 0x743f, ALP_ORDER_BOPOMOFO_LETTER_H_U_EN },
+       { 0x7440, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x7441, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x7442, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x7444, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x7446, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x744a, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x744b, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x744d, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x744e, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x744f, ALP_ORDER_BOPOMOFO_LETTER_CH_U_AN },
+       { 0x7450, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x7451, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_AN },
+       { 0x7452, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x7454, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x7455, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x7457, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x7459, ALP_ORDER_BOPOMOFO_LETTER_N_AU },
+       { 0x745a, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x745b, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x745c, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x745e, ALP_ORDER_BOPOMOFO_LETTER_R_U_EI },
+       { 0x745f, ALP_ORDER_BOPOMOFO_LETTER_S_E },
+       { 0x7462, ALP_ORDER_BOPOMOFO_LETTER_R_U_ENG },
+       { 0x7463, ALP_ORDER_BOPOMOFO_LETTER_S_U_O },
+       { 0x7464, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x7467, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x7469, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x746a, ALP_ORDER_BOPOMOFO_LETTER_M_A },
+       { 0x746d, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x746e, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x746f, ALP_ORDER_BOPOMOFO_LETTER_L_ANG },
+       { 0x7470, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x7471, ALP_ORDER_BOPOMOFO_LETTER_T_I_AN },
+       { 0x7472, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ANG },
+       { 0x7473, ALP_ORDER_BOPOMOFO_LETTER_C_U_O },
+       { 0x7475, ALP_ORDER_BOPOMOFO_LETTER_ZH_AU },
+       { 0x7479, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x747c, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_AN },
+       { 0x747d, ALP_ORDER_BOPOMOFO_LETTER_C_U_ENG },
+       { 0x747e, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x747f, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x7480, ALP_ORDER_BOPOMOFO_LETTER_C_U_EI },
+       { 0x7481, ALP_ORDER_BOPOMOFO_LETTER_C_U_ENG },
+       { 0x7483, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x7485, ALP_ORDER_BOPOMOFO_LETTER_S_U_O },
+       { 0x7486, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x7487, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x7488, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x7489, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x748a, ALP_ORDER_BOPOMOFO_LETTER_M_EN },
+       { 0x748b, ALP_ORDER_BOPOMOFO_LETTER_ZH_ANG },
+       { 0x7490, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x7492, ALP_ORDER_BOPOMOFO_LETTER_D_ENG },
+       { 0x7494, ALP_ORDER_BOPOMOFO_LETTER_Z_ENG },
+       { 0x7495, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x7497, ALP_ORDER_BOPOMOFO_LETTER_D_ANG },
+       { 0x7498, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x749a, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_ENG },
+       { 0x749c, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x749e, ALP_ORDER_BOPOMOFO_LETTER_P_U },
+       { 0x749f, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x74a0, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x74a1, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x74a3, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x74a5, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x74a6, ALP_ORDER_BOPOMOFO_LETTER_AI },
+       { 0x74a7, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x74a8, ALP_ORDER_BOPOMOFO_LETTER_C_AN },
+       { 0x74a9, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x74aa, ALP_ORDER_BOPOMOFO_LETTER_Z_AU },
+       { 0x74ab, ALP_ORDER_BOPOMOFO_LETTER_D_ANG },
+       { 0x74ad, ALP_ORDER_BOPOMOFO_LETTER_G_U_EN },
+       { 0x74af, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x74b0, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x74b1, ALP_ORDER_BOPOMOFO_LETTER_S_E },
+       { 0x74b2, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x74b5, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x74b6, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x74b7, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x74b8, ALP_ORDER_BOPOMOFO_LETTER_B_I_EN },
+       { 0x74ba, ALP_ORDER_BOPOMOFO_LETTER_U_EN },
+       { 0x74bb, ALP_ORDER_BOPOMOFO_LETTER_Z_U_EI },
+       { 0x74bd, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x74be, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x74bf, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x74c0, ALP_ORDER_BOPOMOFO_LETTER_R_U_AN },
+       { 0x74c1, ALP_ORDER_BOPOMOFO_LETTER_H_U_O },
+       { 0x74c2, ALP_ORDER_BOPOMOFO_LETTER_G_AI },
+       { 0x74c3, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x74c5, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x74ca, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_ENG },
+       { 0x74cb, ALP_ORDER_BOPOMOFO_LETTER_ZH_E },
+       { 0x74cf, ALP_ORDER_BOPOMOFO_LETTER_L_U_ENG },
+       { 0x74d4, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x74d5, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x74d6, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x74d7, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x74d8, ALP_ORDER_BOPOMOFO_LETTER_G_U_AN },
+       { 0x74d9, ALP_ORDER_BOPOMOFO_LETTER_D_AU },
+       { 0x74da, ALP_ORDER_BOPOMOFO_LETTER_Z_AN },
+       { 0x74db, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x74dc, ALP_ORDER_BOPOMOFO_LETTER_G_U_A },
+       { 0x74dd, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x74de, ALP_ORDER_BOPOMOFO_LETTER_D_I_EH },
+       { 0x74df, ALP_ORDER_BOPOMOFO_LETTER_P_AU },
+       { 0x74e0, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x74e1, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x74e2, ALP_ORDER_BOPOMOFO_LETTER_P_I_AU },
+       { 0x74e3, ALP_ORDER_BOPOMOFO_LETTER_B_AN },
+       { 0x74e4, ALP_ORDER_BOPOMOFO_LETTER_R_ANG },
+       { 0x74e5, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x74e6, ALP_ORDER_BOPOMOFO_LETTER_U_A },
+       { 0x74e8, ALP_ORDER_BOPOMOFO_LETTER_J_I_ANG },
+       { 0x74e9, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x74ec, ALP_ORDER_BOPOMOFO_LETTER_F_ANG },
+       { 0x74ee, ALP_ORDER_BOPOMOFO_LETTER_U_ENG },
+       { 0x74f4, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x74f5, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x74f6, ALP_ORDER_BOPOMOFO_LETTER_P_I_ENG },
+       { 0x74f7, ALP_ORDER_BOPOMOFO_LETTER_C },
+       { 0x74fb, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x74fd, ALP_ORDER_BOPOMOFO_LETTER_D_ANG },
+       { 0x74fe, ALP_ORDER_BOPOMOFO_LETTER_M_ENG },
+       { 0x74ff, ALP_ORDER_BOPOMOFO_LETTER_P_OU },
+       { 0x7500, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EI },
+       { 0x7502, ALP_ORDER_BOPOMOFO_LETTER_B_I_AN },
+       { 0x7503, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x7504, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x7507, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x7508, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x750b, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x750c, ALP_ORDER_BOPOMOFO_LETTER_OU },
+       { 0x750d, ALP_ORDER_BOPOMOFO_LETTER_M_ENG },
+       { 0x750f, ALP_ORDER_BOPOMOFO_LETTER_B_ANG },
+       { 0x7510, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x7511, ALP_ORDER_BOPOMOFO_LETTER_Z_ENG },
+       { 0x7512, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x7513, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x7514, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x7515, ALP_ORDER_BOPOMOFO_LETTER_U_ENG },
+       { 0x7516, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x7517, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x7518, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x751a, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+};
+
+static han_map HANZI_TO_BPMF_MAP_6[] = {
+       { 0x751c, ALP_ORDER_BOPOMOFO_LETTER_T_I_AN },
+       { 0x751d, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x751f, ALP_ORDER_BOPOMOFO_LETTER_SH_ENG },
+       { 0x7521, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x7522, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x7525, ALP_ORDER_BOPOMOFO_LETTER_SH_ENG },
+       { 0x7526, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x7528, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x7529, ALP_ORDER_BOPOMOFO_LETTER_SH_U_AI },
+       { 0x752a, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x752b, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x752c, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x752d, ALP_ORDER_BOPOMOFO_LETTER_B_ENG },
+       { 0x752e, ALP_ORDER_BOPOMOFO_LETTER_F_ENG },
+       { 0x752f, ALP_ORDER_BOPOMOFO_LETTER_N_I_ENG },
+       { 0x7530, ALP_ORDER_BOPOMOFO_LETTER_T_I_AN },
+       { 0x7531, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x7532, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x7533, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x7537, ALP_ORDER_BOPOMOFO_LETTER_N_AN },
+       { 0x7538, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x7539, ALP_ORDER_BOPOMOFO_LETTER_P_I_ENG },
+       { 0x753a, ALP_ORDER_BOPOMOFO_LETTER_D_I_ENG },
+       { 0x753d, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x753e, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x753f, ALP_ORDER_BOPOMOFO_LETTER_M_ENG },
+       { 0x7540, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x7547, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x7548, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x754b, ALP_ORDER_BOPOMOFO_LETTER_T_I_AN },
+       { 0x754c, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x754e, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x754f, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x7554, ALP_ORDER_BOPOMOFO_LETTER_P_AN },
+       { 0x7559, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x755a, ALP_ORDER_BOPOMOFO_LETTER_B_EN },
+       { 0x755b, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x755c, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x755d, ALP_ORDER_BOPOMOFO_LETTER_M_U },
+       { 0x755f, ALP_ORDER_BOPOMOFO_LETTER_C_E },
+       { 0x7562, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x7563, ALP_ORDER_BOPOMOFO_LETTER_D_A },
+       { 0x7564, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x7565, ALP_ORDER_BOPOMOFO_LETTER_L_IU_EH },
+       { 0x7566, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x756a, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x756b, ALP_ORDER_BOPOMOFO_LETTER_H_U_A },
+       { 0x756c, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x756f, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EN },
+       { 0x7570, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x7576, ALP_ORDER_BOPOMOFO_LETTER_D_ANG },
+       { 0x7577, ALP_ORDER_BOPOMOFO_LETTER_CH_U_O },
+       { 0x7578, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x7579, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x757d, ALP_ORDER_BOPOMOFO_LETTER_T_U_AN },
+       { 0x757e, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x757f, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x7580, ALP_ORDER_BOPOMOFO_LETTER_CH_A },
+       { 0x7584, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x7586, ALP_ORDER_BOPOMOFO_LETTER_J_I_ANG },
+       { 0x7587, ALP_ORDER_BOPOMOFO_LETTER_CH_OU },
+       { 0x758a, ALP_ORDER_BOPOMOFO_LETTER_D_I_EH },
+       { 0x758b, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x758c, ALP_ORDER_BOPOMOFO_LETTER_N_I_EH },
+       { 0x758f, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x7590, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x7591, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x7594, ALP_ORDER_BOPOMOFO_LETTER_D_I_ENG },
+       { 0x7595, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x7598, ALP_ORDER_BOPOMOFO_LETTER_G_U_ENG },
+       { 0x7599, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x759a, ALP_ORDER_BOPOMOFO_LETTER_J_I_OU },
+       { 0x759d, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x75a2, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x75a3, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x75a4, ALP_ORDER_BOPOMOFO_LETTER_B_A },
+       { 0x75a5, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x75a7, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x75aa, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x75ab, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x75b0, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x75b2, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x75b3, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x75b5, ALP_ORDER_BOPOMOFO_LETTER_C },
+       { 0x75b6, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x75b8, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x75b9, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x75ba, ALP_ORDER_BOPOMOFO_LETTER_F_A },
+       { 0x75bb, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x75bc, ALP_ORDER_BOPOMOFO_LETTER_T_ENG },
+       { 0x75bd, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x75be, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x75bf, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x75c0, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x75c1, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x75c2, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x75c4, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x75c5, ALP_ORDER_BOPOMOFO_LETTER_B_I_ENG },
+       { 0x75c7, ALP_ORDER_BOPOMOFO_LETTER_ZH_ENG },
+       { 0x75ca, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x75cb, ALP_ORDER_BOPOMOFO_LETTER_CH_U_ENG },
+       { 0x75cc, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x75cd, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x75ce, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x75cf, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x75d0, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x75d1, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x75d2, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x75d4, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x75d5, ALP_ORDER_BOPOMOFO_LETTER_H_EN },
+       { 0x75d7, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x75d8, ALP_ORDER_BOPOMOFO_LETTER_D_OU },
+       { 0x75d9, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x75da, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x75db, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x75dd, ALP_ORDER_BOPOMOFO_LETTER_M_ANG },
+       { 0x75de, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x75df, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x75e0, ALP_ORDER_BOPOMOFO_LETTER_S_U_AN },
+       { 0x75e1, ALP_ORDER_BOPOMOFO_LETTER_P_U },
+       { 0x75e2, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x75e3, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x75e4, ALP_ORDER_BOPOMOFO_LETTER_C_U_O },
+       { 0x75e6, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x75e7, ALP_ORDER_BOPOMOFO_LETTER_SH_A },
+       { 0x75ed, ALP_ORDER_BOPOMOFO_LETTER_P_ENG },
+       { 0x75ef, ALP_ORDER_BOPOMOFO_LETTER_G_U_AN },
+       { 0x75f0, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x75f1, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x75f2, ALP_ORDER_BOPOMOFO_LETTER_M_A },
+       { 0x75f3, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x75f4, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x75f5, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x75f6, ALP_ORDER_BOPOMOFO_LETTER_T_I_AN },
+       { 0x75f7, ALP_ORDER_BOPOMOFO_LETTER_AN },
+       { 0x75f8, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x75f9, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x75fa, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x75fb, ALP_ORDER_BOPOMOFO_LETTER_M_I_EN },
+       { 0x75fc, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x75fd, ALP_ORDER_BOPOMOFO_LETTER_D_U_EI },
+       { 0x75fe, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x75ff, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x7600, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x7601, ALP_ORDER_BOPOMOFO_LETTER_C_U_EI },
+       { 0x7603, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x7608, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x7609, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x760a, ALP_ORDER_BOPOMOFO_LETTER_H_OU },
+       { 0x760b, ALP_ORDER_BOPOMOFO_LETTER_F_ENG },
+       { 0x760c, ALP_ORDER_BOPOMOFO_LETTER_L_A },
+       { 0x760d, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x760f, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x7610, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x7611, ALP_ORDER_BOPOMOFO_LETTER_G_U_A },
+       { 0x7613, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x7614, ALP_ORDER_BOPOMOFO_LETTER_K_U },
+       { 0x7615, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x7616, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x7619, ALP_ORDER_BOPOMOFO_LETTER_S_AU },
+       { 0x761a, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x761b, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x761c, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x761d, ALP_ORDER_BOPOMOFO_LETTER_G_U_AN },
+       { 0x761e, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x761f, ALP_ORDER_BOPOMOFO_LETTER_U_EN },
+       { 0x7620, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x7621, ALP_ORDER_BOPOMOFO_LETTER_CH_U_ANG },
+       { 0x7622, ALP_ORDER_BOPOMOFO_LETTER_B_AN },
+       { 0x7623, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x7624, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x7625, ALP_ORDER_BOPOMOFO_LETTER_C_U_O },
+       { 0x7626, ALP_ORDER_BOPOMOFO_LETTER_SH_OU },
+       { 0x7627, ALP_ORDER_BOPOMOFO_LETTER_N_IU_EH },
+       { 0x7628, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x7629, ALP_ORDER_BOPOMOFO_LETTER_D_A },
+       { 0x762d, ALP_ORDER_BOPOMOFO_LETTER_B_I_AU },
+       { 0x762f, ALP_ORDER_BOPOMOFO_LETTER_C_U },
+       { 0x7630, ALP_ORDER_BOPOMOFO_LETTER_L_U_O },
+       { 0x7631, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x7632, ALP_ORDER_BOPOMOFO_LETTER_Z_U_ENG },
+       { 0x7633, ALP_ORDER_BOPOMOFO_LETTER_CH_OU },
+       { 0x7634, ALP_ORDER_BOPOMOFO_LETTER_ZH_ANG },
+       { 0x7635, ALP_ORDER_BOPOMOFO_LETTER_ZH_AI },
+       { 0x7638, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_EH },
+       { 0x763a, ALP_ORDER_BOPOMOFO_LETTER_L_OU },
+       { 0x763c, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x763d, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x7642, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x7643, ALP_ORDER_BOPOMOFO_LETTER_L_U_ENG },
+       { 0x7646, ALP_ORDER_BOPOMOFO_LETTER_L_AU },
+       { 0x7647, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x7648, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x7649, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x764c, ALP_ORDER_BOPOMOFO_LETTER_AI },
+       { 0x7650, ALP_ORDER_BOPOMOFO_LETTER_G_U_AI },
+       { 0x7652, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x7653, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x7656, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x7657, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x7658, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x7659, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x765a, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x765c, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x765f, ALP_ORDER_BOPOMOFO_LETTER_B_I_EH },
+       { 0x7660, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x7661, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x7662, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x7664, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x7665, ALP_ORDER_BOPOMOFO_LETTER_ZH_ENG },
+       { 0x7669, ALP_ORDER_BOPOMOFO_LETTER_L_AI },
+       { 0x766a, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x766c, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x766d, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x766e, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x7670, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x7671, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x7672, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x7675, ALP_ORDER_BOPOMOFO_LETTER_L_U_AN },
+       { 0x7678, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x7679, ALP_ORDER_BOPOMOFO_LETTER_P_O },
+       { 0x767b, ALP_ORDER_BOPOMOFO_LETTER_D_ENG },
+       { 0x767c, ALP_ORDER_BOPOMOFO_LETTER_F_A },
+       { 0x767d, ALP_ORDER_BOPOMOFO_LETTER_B_AI },
+       { 0x767e, ALP_ORDER_BOPOMOFO_LETTER_B_AI },
+       { 0x767f, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EH },
+       { 0x7681, ALP_ORDER_BOPOMOFO_LETTER_Z_AU },
+       { 0x7682, ALP_ORDER_BOPOMOFO_LETTER_Z_AU },
+       { 0x7684, ALP_ORDER_BOPOMOFO_LETTER_D_E },
+       { 0x7686, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x7687, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x7688, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x7689, ALP_ORDER_BOPOMOFO_LETTER_C },
+       { 0x768a, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x768b, ALP_ORDER_BOPOMOFO_LETTER_G_AU },
+       { 0x768e, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x768f, ALP_ORDER_BOPOMOFO_LETTER_P_ENG },
+       { 0x7692, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x7693, ALP_ORDER_BOPOMOFO_LETTER_H_AU },
+       { 0x7695, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x7696, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x7699, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x769a, ALP_ORDER_BOPOMOFO_LETTER_AI },
+       { 0x769b, ALP_ORDER_BOPOMOFO_LETTER_J_IU_ENG },
+       { 0x769c, ALP_ORDER_BOPOMOFO_LETTER_H_AU },
+       { 0x769d, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x769e, ALP_ORDER_BOPOMOFO_LETTER_H_AU },
+       { 0x76a4, ALP_ORDER_BOPOMOFO_LETTER_P_O },
+       { 0x76a6, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x76aa, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x76ab, ALP_ORDER_BOPOMOFO_LETTER_P_I_AU },
+       { 0x76ad, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x76ae, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x76af, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x76b0, ALP_ORDER_BOPOMOFO_LETTER_P_AU },
+       { 0x76b4, ALP_ORDER_BOPOMOFO_LETTER_C_U_EN },
+       { 0x76b5, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_EH },
+       { 0x76b8, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EN },
+       { 0x76ba, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x76bb, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x76bd, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x76be, ALP_ORDER_BOPOMOFO_LETTER_D_U },
+       { 0x76bf, ALP_ORDER_BOPOMOFO_LETTER_M_I_EN },
+       { 0x76c2, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x76c3, ALP_ORDER_BOPOMOFO_LETTER_B_EI },
+       { 0x76c4, ALP_ORDER_BOPOMOFO_LETTER_ZH_AU },
+       { 0x76c5, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ENG },
+       { 0x76c6, ALP_ORDER_BOPOMOFO_LETTER_P_EN },
+       { 0x76c8, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x76c9, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x76ca, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x76cd, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x76ce, ALP_ORDER_BOPOMOFO_LETTER_ANG },
+       { 0x76d2, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x76d3, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x76d4, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x76da, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x76db, ALP_ORDER_BOPOMOFO_LETTER_SH_ENG },
+       { 0x76dc, ALP_ORDER_BOPOMOFO_LETTER_D_AU },
+       { 0x76dd, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x76de, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x76df, ALP_ORDER_BOPOMOFO_LETTER_M_ENG },
+       { 0x76e1, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x76e3, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x76e4, ALP_ORDER_BOPOMOFO_LETTER_P_AN },
+       { 0x76e5, ALP_ORDER_BOPOMOFO_LETTER_G_U_AN },
+       { 0x76e6, ALP_ORDER_BOPOMOFO_LETTER_AN },
+       { 0x76e7, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x76e9, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x76ea, ALP_ORDER_BOPOMOFO_LETTER_D_ANG },
+       { 0x76ec, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x76ed, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x76ee, ALP_ORDER_BOPOMOFO_LETTER_M_U },
+       { 0x76ef, ALP_ORDER_BOPOMOFO_LETTER_D_I_ENG },
+       { 0x76f0, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x76f1, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x76f2, ALP_ORDER_BOPOMOFO_LETTER_M_ANG },
+       { 0x76f3, ALP_ORDER_BOPOMOFO_LETTER_M_ANG },
+       { 0x76f4, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x76f5, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x76f7, ALP_ORDER_BOPOMOFO_LETTER_T_I_AN },
+       { 0x76f8, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x76f9, ALP_ORDER_BOPOMOFO_LETTER_D_U_EN },
+       { 0x76fa, ALP_ORDER_BOPOMOFO_LETTER_X_I_EN },
+       { 0x76fb, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x76fc, ALP_ORDER_BOPOMOFO_LETTER_P_AN },
+       { 0x76fe, ALP_ORDER_BOPOMOFO_LETTER_D_U_EN },
+       { 0x7701, ALP_ORDER_BOPOMOFO_LETTER_SH_ENG },
+       { 0x7703, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x7704, ALP_ORDER_BOPOMOFO_LETTER_M_I_AN },
+       { 0x7705, ALP_ORDER_BOPOMOFO_LETTER_P_AN },
+       { 0x7707, ALP_ORDER_BOPOMOFO_LETTER_M_I_AU },
+       { 0x7708, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x7709, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x770a, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x770b, ALP_ORDER_BOPOMOFO_LETTER_K_AN },
+       { 0x7710, ALP_ORDER_BOPOMOFO_LETTER_ZH_ENG },
+       { 0x7711, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x7712, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x7713, ALP_ORDER_BOPOMOFO_LETTER_H_U_O },
+       { 0x7715, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x7719, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x771a, ALP_ORDER_BOPOMOFO_LETTER_SH_ENG },
+       { 0x771b, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x771d, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x771f, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x7720, ALP_ORDER_BOPOMOFO_LETTER_M_I_AN },
+       { 0x7722, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x7723, ALP_ORDER_BOPOMOFO_LETTER_D_I_EH },
+       { 0x7725, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x7727, ALP_ORDER_BOPOMOFO_LETTER_CH_AU },
+       { 0x7728, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x7729, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x772d, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x772f, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x7731, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x7732, ALP_ORDER_BOPOMOFO_LETTER_ER },
+       { 0x7733, ALP_ORDER_BOPOMOFO_LETTER_M_I_ENG },
+       { 0x7734, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x7735, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x7736, ALP_ORDER_BOPOMOFO_LETTER_K_U_ANG },
+       { 0x7737, ALP_ORDER_BOPOMOFO_LETTER_J_IU_AN },
+       { 0x7738, ALP_ORDER_BOPOMOFO_LETTER_M_OU },
+       { 0x7739, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x773a, ALP_ORDER_BOPOMOFO_LETTER_T_I_AU },
+       { 0x773b, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x773c, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x773d, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x773e, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ENG },
+       { 0x7744, ALP_ORDER_BOPOMOFO_LETTER_SH_AU },
+       { 0x7745, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x7746, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x7747, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x774a, ALP_ORDER_BOPOMOFO_LETTER_J_IU_AN },
+       { 0x774b, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x774c, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x774d, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x774e, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x774f, ALP_ORDER_BOPOMOFO_LETTER_K_U_EN },
+       { 0x7752, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x7754, ALP_ORDER_BOPOMOFO_LETTER_H_U_EN },
+       { 0x7755, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x7756, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x7759, ALP_ORDER_BOPOMOFO_LETTER_L_I_EH },
+       { 0x775a, ALP_ORDER_BOPOMOFO_LETTER_I_AI },
+       { 0x775b, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x775c, ALP_ORDER_BOPOMOFO_LETTER_ZH_ENG },
+       { 0x775e, ALP_ORDER_BOPOMOFO_LETTER_L_AI },
+       { 0x775f, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x7760, ALP_ORDER_BOPOMOFO_LETTER_J_IU_AN },
+       { 0x7761, ALP_ORDER_BOPOMOFO_LETTER_SH_U_EI },
+       { 0x7762, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x7763, ALP_ORDER_BOPOMOFO_LETTER_D_U },
+       { 0x7765, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x7766, ALP_ORDER_BOPOMOFO_LETTER_M_U },
+       { 0x7767, ALP_ORDER_BOPOMOFO_LETTER_H_U_EN },
+       { 0x7768, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x7769, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x776a, ALP_ORDER_BOPOMOFO_LETTER_G_AU },
+       { 0x776b, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x776c, ALP_ORDER_BOPOMOFO_LETTER_C_AI },
+       { 0x776d, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x776e, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x776f, ALP_ORDER_BOPOMOFO_LETTER_H_U_EN },
+       { 0x7779, ALP_ORDER_BOPOMOFO_LETTER_D_U },
+       { 0x777c, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x777d, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x777e, ALP_ORDER_BOPOMOFO_LETTER_G_AU },
+       { 0x777f, ALP_ORDER_BOPOMOFO_LETTER_R_U_EI },
+       { 0x7780, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x7781, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x7782, ALP_ORDER_BOPOMOFO_LETTER_F_A },
+       { 0x7783, ALP_ORDER_BOPOMOFO_LETTER_U_EN },
+       { 0x7784, ALP_ORDER_BOPOMOFO_LETTER_M_I_AU },
+       { 0x7785, ALP_ORDER_BOPOMOFO_LETTER_CH_OU },
+       { 0x7787, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x7788, ALP_ORDER_BOPOMOFO_LETTER_U_ENG },
+       { 0x7789, ALP_ORDER_BOPOMOFO_LETTER_G_OU },
+       { 0x778b, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x778c, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x778d, ALP_ORDER_BOPOMOFO_LETTER_S_OU },
+       { 0x778e, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x778f, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_ENG },
+       { 0x7791, ALP_ORDER_BOPOMOFO_LETTER_M_I_ENG },
+       { 0x7795, ALP_ORDER_BOPOMOFO_LETTER_ZH_ANG },
+       { 0x7797, ALP_ORDER_BOPOMOFO_LETTER_D_I_AU },
+       { 0x7799, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x779a, ALP_ORDER_BOPOMOFO_LETTER_SH_U_EN },
+       { 0x779b, ALP_ORDER_BOPOMOFO_LETTER_C_U_ENG },
+       { 0x779c, ALP_ORDER_BOPOMOFO_LETTER_L_OU },
+       { 0x779d, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x779e, ALP_ORDER_BOPOMOFO_LETTER_M_AN },
+       { 0x779f, ALP_ORDER_BOPOMOFO_LETTER_P_I_AU },
+       { 0x77a0, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x77a1, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x77a2, ALP_ORDER_BOPOMOFO_LETTER_M_ENG },
+       { 0x77a3, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x77a5, ALP_ORDER_BOPOMOFO_LETTER_P_I_EH },
+       { 0x77a7, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x77a8, ALP_ORDER_BOPOMOFO_LETTER_P_U },
+       { 0x77aa, ALP_ORDER_BOPOMOFO_LETTER_D_ENG },
+       { 0x77ab, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x77ac, ALP_ORDER_BOPOMOFO_LETTER_SH_U_EN },
+       { 0x77ad, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x77b0, ALP_ORDER_BOPOMOFO_LETTER_K_AN },
+       { 0x77b1, ALP_ORDER_BOPOMOFO_LETTER_I_EH },
+       { 0x77b2, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x77b3, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x77b4, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x77b5, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x77b6, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x77b7, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x77ba, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x77bb, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x77bc, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x77bd, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x77bf, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x77c2, ALP_ORDER_BOPOMOFO_LETTER_Z_AU },
+       { 0x77c4, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x77c7, ALP_ORDER_BOPOMOFO_LETTER_M_ENG },
+       { 0x77c9, ALP_ORDER_BOPOMOFO_LETTER_P_I_EN },
+       { 0x77ca, ALP_ORDER_BOPOMOFO_LETTER_M_I_AN },
+       { 0x77cc, ALP_ORDER_BOPOMOFO_LETTER_G_U_ANG },
+       { 0x77cd, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x77ce, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x77cf, ALP_ORDER_BOPOMOFO_LETTER_M_I_AN },
+       { 0x77d0, ALP_ORDER_BOPOMOFO_LETTER_H_U_O },
+       { 0x77d3, ALP_ORDER_BOPOMOFO_LETTER_L_U_ENG },
+       { 0x77d4, ALP_ORDER_BOPOMOFO_LETTER_G_U_AN },
+       { 0x77d5, ALP_ORDER_BOPOMOFO_LETTER_M_AN },
+       { 0x77d7, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x77d8, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x77d9, ALP_ORDER_BOPOMOFO_LETTER_K_AN },
+       { 0x77da, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x77db, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x77dc, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x77de, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x77e0, ALP_ORDER_BOPOMOFO_LETTER_C_E },
+       { 0x77e2, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x77e3, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x77e5, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x77e7, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x77e8, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x77e9, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x77ec, ALP_ORDER_BOPOMOFO_LETTER_C_U_O },
+       { 0x77ed, ALP_ORDER_BOPOMOFO_LETTER_D_U_AN },
+       { 0x77ee, ALP_ORDER_BOPOMOFO_LETTER_AI },
+       { 0x77ef, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x77f0, ALP_ORDER_BOPOMOFO_LETTER_Z_ENG },
+       { 0x77f1, ALP_ORDER_BOPOMOFO_LETTER_H_U_O },
+       { 0x77f2, ALP_ORDER_BOPOMOFO_LETTER_B_A },
+       { 0x77f3, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x77f7, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x77f8, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x77f9, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x77fa, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x77fb, ALP_ORDER_BOPOMOFO_LETTER_K_U },
+       { 0x77fc, ALP_ORDER_BOPOMOFO_LETTER_G_ANG },
+       { 0x77fd, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x7802, ALP_ORDER_BOPOMOFO_LETTER_SH_A },
+       { 0x7803, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x7805, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x7806, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x7809, ALP_ORDER_BOPOMOFO_LETTER_H_U_O },
+       { 0x780c, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x780d, ALP_ORDER_BOPOMOFO_LETTER_K_AN },
+       { 0x780e, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x780f, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x7810, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x7811, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x7812, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x7813, ALP_ORDER_BOPOMOFO_LETTER_ZH_E },
+       { 0x7814, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x781d, ALP_ORDER_BOPOMOFO_LETTER_F_A },
+       { 0x781f, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x7820, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x7821, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x7822, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x7823, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x7825, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x7826, ALP_ORDER_BOPOMOFO_LETTER_ZH_AI },
+       { 0x7827, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x7828, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x7829, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x782a, ALP_ORDER_BOPOMOFO_LETTER_M_U },
+       { 0x782b, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x782c, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x782d, ALP_ORDER_BOPOMOFO_LETTER_B_I_AN },
+       { 0x782e, ALP_ORDER_BOPOMOFO_LETTER_N_U },
+       { 0x782f, ALP_ORDER_BOPOMOFO_LETTER_P_I_ENG },
+       { 0x7830, ALP_ORDER_BOPOMOFO_LETTER_P_ENG },
+       { 0x7831, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x7832, ALP_ORDER_BOPOMOFO_LETTER_P_AU },
+       { 0x7833, ALP_ORDER_BOPOMOFO_LETTER_L_E },
+       { 0x7834, ALP_ORDER_BOPOMOFO_LETTER_P_O },
+       { 0x7835, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x7837, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x7838, ALP_ORDER_BOPOMOFO_LETTER_Z_A },
+       { 0x7843, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x7845, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x7848, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x7849, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x784a, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x784c, ALP_ORDER_BOPOMOFO_LETTER_L_U_O },
+       { 0x784d, ALP_ORDER_BOPOMOFO_LETTER_K_EN },
+       { 0x784e, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x7850, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x7852, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x785c, ALP_ORDER_BOPOMOFO_LETTER_K_ENG },
+       { 0x785d, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x785e, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_EH },
+       { 0x7860, ALP_ORDER_BOPOMOFO_LETTER_L_ANG },
+       { 0x7862, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x7864, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x7865, ALP_ORDER_BOPOMOFO_LETTER_M_ANG },
+       { 0x7868, ALP_ORDER_BOPOMOFO_LETTER_CH_E },
+       { 0x7869, ALP_ORDER_BOPOMOFO_LETTER_CH_E },
+       { 0x786a, ALP_ORDER_BOPOMOFO_LETTER_U_O },
+       { 0x786b, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x786c, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x786d, ALP_ORDER_BOPOMOFO_LETTER_M_ANG },
+       { 0x786e, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_EH },
+       { 0x786f, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x7870, ALP_ORDER_BOPOMOFO_LETTER_C_U_O },
+       { 0x7871, ALP_ORDER_BOPOMOFO_LETTER_K_U_EN },
+       { 0x7879, ALP_ORDER_BOPOMOFO_LETTER_S_U_ENG },
+       { 0x787b, ALP_ORDER_BOPOMOFO_LETTER_K_ENG },
+       { 0x787c, ALP_ORDER_BOPOMOFO_LETTER_P_ENG },
+       { 0x787e, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_EI },
+       { 0x787f, ALP_ORDER_BOPOMOFO_LETTER_K_U_ENG },
+       { 0x7880, ALP_ORDER_BOPOMOFO_LETTER_C_ENG },
+       { 0x7881, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x7883, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ENG },
+       { 0x7884, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x7885, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EN },
+       { 0x7886, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x7887, ALP_ORDER_BOPOMOFO_LETTER_D_I_ENG },
+       { 0x7889, ALP_ORDER_BOPOMOFO_LETTER_D_I_AU },
+       { 0x788c, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x788e, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x788f, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_EH },
+       { 0x7891, ALP_ORDER_BOPOMOFO_LETTER_B_EI },
+       { 0x7893, ALP_ORDER_BOPOMOFO_LETTER_D_U_EI },
+       { 0x7894, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x7895, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x7896, ALP_ORDER_BOPOMOFO_LETTER_L_U_EN },
+       { 0x7897, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x7898, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x7899, ALP_ORDER_BOPOMOFO_LETTER_G_ANG },
+       { 0x789a, ALP_ORDER_BOPOMOFO_LETTER_B_EI },
+       { 0x789e, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x789f, ALP_ORDER_BOPOMOFO_LETTER_D_I_EH },
+       { 0x78a0, ALP_ORDER_BOPOMOFO_LETTER_D_I_ENG },
+       { 0x78a1, ALP_ORDER_BOPOMOFO_LETTER_D_U },
+       { 0x78a2, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x78a3, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x78a4, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x78a5, ALP_ORDER_BOPOMOFO_LETTER_B_I_AN },
+       { 0x78a7, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x78a8, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x78a9, ALP_ORDER_BOPOMOFO_LETTER_SH_U_O },
+       { 0x78aa, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x78ab, ALP_ORDER_BOPOMOFO_LETTER_D_U_AN },
+       { 0x78ac, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x78ad, ALP_ORDER_BOPOMOFO_LETTER_D_ANG },
+       { 0x78b0, ALP_ORDER_BOPOMOFO_LETTER_P_ENG },
+       { 0x78b2, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x78b3, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x78b4, ALP_ORDER_BOPOMOFO_LETTER_CH_A },
+       { 0x78ba, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_EH },
+       { 0x78bb, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_EH },
+       { 0x78bc, ALP_ORDER_BOPOMOFO_LETTER_M_A },
+       { 0x78be, ALP_ORDER_BOPOMOFO_LETTER_N_I_AN },
+       { 0x78c1, ALP_ORDER_BOPOMOFO_LETTER_C },
+       { 0x78c3, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x78c4, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x78c5, ALP_ORDER_BOPOMOFO_LETTER_B_ANG },
+       { 0x78c8, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x78c9, ALP_ORDER_BOPOMOFO_LETTER_S_ANG },
+       { 0x78ca, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x78cb, ALP_ORDER_BOPOMOFO_LETTER_C_U_O },
+       { 0x78cc, ALP_ORDER_BOPOMOFO_LETTER_T_I_AN },
+       { 0x78cd, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x78ce, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x78cf, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x78d0, ALP_ORDER_BOPOMOFO_LETTER_P_AN },
+       { 0x78d1, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x78d4, ALP_ORDER_BOPOMOFO_LETTER_ZH_E },
+       { 0x78d5, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x78da, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_AN },
+       { 0x78db, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x78dd, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x78de, ALP_ORDER_BOPOMOFO_LETTER_P_ENG },
+       { 0x78df, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x78e0, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x78e1, ALP_ORDER_BOPOMOFO_LETTER_K_AN },
+       { 0x78e2, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ANG },
+       { 0x78e3, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x78e5, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x78e7, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x78e8, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x78e9, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x78ea, ALP_ORDER_BOPOMOFO_LETTER_C_U_EI },
+       { 0x78ec, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ENG },
+       { 0x78ed, ALP_ORDER_BOPOMOFO_LETTER_CH_U_O },
+       { 0x78ef, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x78f2, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x78f3, ALP_ORDER_BOPOMOFO_LETTER_Z_ENG },
+       { 0x78f4, ALP_ORDER_BOPOMOFO_LETTER_D_ENG },
+       { 0x78f7, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x78f9, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x78fa, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x78fb, ALP_ORDER_BOPOMOFO_LETTER_P_AN },
+       { 0x78fc, ALP_ORDER_BOPOMOFO_LETTER_Z_A },
+       { 0x78fd, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x78fe, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x78ff, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x7901, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x7902, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x7904, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x7905, ALP_ORDER_BOPOMOFO_LETTER_D_U_EN },
+       { 0x7909, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x790c, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x790e, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x7910, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_EH },
+       { 0x7911, ALP_ORDER_BOPOMOFO_LETTER_D_ANG },
+       { 0x7912, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x7913, ALP_ORDER_BOPOMOFO_LETTER_J_I_ANG },
+       { 0x7914, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x7917, ALP_ORDER_BOPOMOFO_LETTER_P_I_EN },
+       { 0x7919, ALP_ORDER_BOPOMOFO_LETTER_AI },
+       { 0x791b, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x791c, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x791d, ALP_ORDER_BOPOMOFO_LETTER_R_U_AN },
+       { 0x791e, ALP_ORDER_BOPOMOFO_LETTER_M_ENG },
+       { 0x7921, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x7923, ALP_ORDER_BOPOMOFO_LETTER_M_I_EH },
+       { 0x7924, ALP_ORDER_BOPOMOFO_LETTER_C_A },
+       { 0x7925, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x7926, ALP_ORDER_BOPOMOFO_LETTER_K_U_ANG },
+       { 0x7927, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x7928, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x7929, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x792a, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x792b, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x792c, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x792d, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_EH },
+       { 0x792f, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x7931, ALP_ORDER_BOPOMOFO_LETTER_L_U_ENG },
+       { 0x7935, ALP_ORDER_BOPOMOFO_LETTER_SH_U_ANG },
+       { 0x7938, ALP_ORDER_BOPOMOFO_LETTER_Z_AN },
+       { 0x7939, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x793a, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x793d, ALP_ORDER_BOPOMOFO_LETTER_R_ENG },
+       { 0x793e, ALP_ORDER_BOPOMOFO_LETTER_SH_E },
+       { 0x793f, ALP_ORDER_BOPOMOFO_LETTER_IU_EH },
+       { 0x7940, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x7941, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x7942, ALP_ORDER_BOPOMOFO_LETTER_T_A },
+       { 0x7944, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x7945, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x7946, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x7947, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x7948, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x7949, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x794a, ALP_ORDER_BOPOMOFO_LETTER_B_ENG },
+       { 0x794b, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x794c, ALP_ORDER_BOPOMOFO_LETTER_CH_U_ENG },
+       { 0x794f, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x7950, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x7951, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x7952, ALP_ORDER_BOPOMOFO_LETTER_T_I_AU },
+       { 0x7953, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x7954, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x7955, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x7956, ALP_ORDER_BOPOMOFO_LETTER_Z_U },
+       { 0x7957, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x795a, ALP_ORDER_BOPOMOFO_LETTER_Z_U_O },
+       { 0x795b, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x795c, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x795d, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x795e, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x795f, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x7960, ALP_ORDER_BOPOMOFO_LETTER_C },
+       { 0x7961, ALP_ORDER_BOPOMOFO_LETTER_CH_AI },
+       { 0x7963, ALP_ORDER_BOPOMOFO_LETTER_L_IU },
+       { 0x7964, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x7965, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x7967, ALP_ORDER_BOPOMOFO_LETTER_T_I_AU },
+       { 0x7968, ALP_ORDER_BOPOMOFO_LETTER_P_I_AU },
+       { 0x7969, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x796a, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x796b, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x796d, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x7970, ALP_ORDER_BOPOMOFO_LETTER_G_AU },
+       { 0x7972, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x7973, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x7974, ALP_ORDER_BOPOMOFO_LETTER_G_AI },
+       { 0x7979, ALP_ORDER_BOPOMOFO_LETTER_T_AU },
+       { 0x797a, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x797c, ALP_ORDER_BOPOMOFO_LETTER_G_U_AN },
+       { 0x797d, ALP_ORDER_BOPOMOFO_LETTER_Z_U_EI },
+       { 0x797f, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x7981, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x7982, ALP_ORDER_BOPOMOFO_LETTER_D_AU },
+       { 0x7988, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x798a, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x798b, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x798d, ALP_ORDER_BOPOMOFO_LETTER_H_U_O },
+       { 0x798e, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x798f, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x7990, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x7992, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x7993, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x7994, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x7995, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x7996, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x7997, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x7998, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x799a, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O },
+       { 0x799b, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x799c, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x79a0, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x79a1, ALP_ORDER_BOPOMOFO_LETTER_M_A },
+       { 0x79a2, ALP_ORDER_BOPOMOFO_LETTER_T_A },
+       { 0x79a4, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x79a6, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x79a7, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x79a8, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x79aa, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x79ab, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x79ac, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x79ad, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x79ae, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x79b0, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x79b1, ALP_ORDER_BOPOMOFO_LETTER_D_AU },
+       { 0x79b2, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x79b3, ALP_ORDER_BOPOMOFO_LETTER_R_ANG },
+       { 0x79b4, ALP_ORDER_BOPOMOFO_LETTER_IU_EH },
+       { 0x79b6, ALP_ORDER_BOPOMOFO_LETTER_Z_AN },
+       { 0x79b7, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x79b8, ALP_ORDER_BOPOMOFO_LETTER_R_OU },
+       { 0x79b9, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x79ba, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x79bb, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x79bd, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EN },
+       { 0x79be, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x79bf, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x79c0, ALP_ORDER_BOPOMOFO_LETTER_X_I_OU },
+       { 0x79c1, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x79c5, ALP_ORDER_BOPOMOFO_LETTER_CH_A },
+       { 0x79c8, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x79c9, ALP_ORDER_BOPOMOFO_LETTER_B_I_ENG },
+       { 0x79cb, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x79cd, ALP_ORDER_BOPOMOFO_LETTER_CH_U_ENG },
+       { 0x79ce, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x79cf, ALP_ORDER_BOPOMOFO_LETTER_H_AU },
+       { 0x79d1, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x79d2, ALP_ORDER_BOPOMOFO_LETTER_M_I_AU },
+       { 0x79d5, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x79d6, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x79d8, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x79dc, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x79dd, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x79de, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x79df, ALP_ORDER_BOPOMOFO_LETTER_Z_U },
+       { 0x79e0, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x79e3, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x79e4, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x79e6, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EN },
+       { 0x79e7, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x79e9, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x79ea, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x79eb, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x79ec, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x79ed, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x79ee, ALP_ORDER_BOPOMOFO_LETTER_T_AI },
+       { 0x79f6, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x79f7, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x79f8, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x79fa, ALP_ORDER_BOPOMOFO_LETTER_D_U },
+       { 0x79fb, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x7a00, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x7a02, ALP_ORDER_BOPOMOFO_LETTER_L_ANG },
+       { 0x7a03, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x7a04, ALP_ORDER_BOPOMOFO_LETTER_Z_E },
+       { 0x7a05, ALP_ORDER_BOPOMOFO_LETTER_SH_U_EI },
+       { 0x7a08, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x7a0a, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x7a0b, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x7a0c, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x7a0d, ALP_ORDER_BOPOMOFO_LETTER_SH_AU },
+       { 0x7a10, ALP_ORDER_BOPOMOFO_LETTER_L_U_EN },
+       { 0x7a11, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x7a12, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x7a13, ALP_ORDER_BOPOMOFO_LETTER_Z_U_O },
+       { 0x7a14, ALP_ORDER_BOPOMOFO_LETTER_R_EN },
+       { 0x7a15, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_EN },
+       { 0x7a17, ALP_ORDER_BOPOMOFO_LETTER_B_AI },
+       { 0x7a18, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x7a19, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x7a1a, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x7a1b, ALP_ORDER_BOPOMOFO_LETTER_K_U_EN },
+       { 0x7a1c, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x7a1e, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x7a1f, ALP_ORDER_BOPOMOFO_LETTER_B_I_ENG },
+       { 0x7a20, ALP_ORDER_BOPOMOFO_LETTER_CH_OU },
+       { 0x7a22, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x7a26, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x7a28, ALP_ORDER_BOPOMOFO_LETTER_B_I_AN },
+       { 0x7a2b, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x7a2e, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ENG },
+       { 0x7a2f, ALP_ORDER_BOPOMOFO_LETTER_Z_U_ENG },
+       { 0x7a30, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x7a31, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x7a37, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x7a39, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x7a3b, ALP_ORDER_BOPOMOFO_LETTER_D_AU },
+       { 0x7a3c, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x7a3d, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x7a3f, ALP_ORDER_BOPOMOFO_LETTER_G_AU },
+       { 0x7a40, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x7a44, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x7a46, ALP_ORDER_BOPOMOFO_LETTER_M_U },
+       { 0x7a47, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x7a48, ALP_ORDER_BOPOMOFO_LETTER_M_EN },
+       { 0x7a4a, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x7a4b, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x7a4c, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x7a4d, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x7a4e, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x7a54, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x7a56, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x7a57, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x7a58, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x7a5a, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x7a5b, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O },
+       { 0x7a5c, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x7a5f, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x7a60, ALP_ORDER_BOPOMOFO_LETTER_N_U_ENG },
+       { 0x7a61, ALP_ORDER_BOPOMOFO_LETTER_S_E },
+       { 0x7a62, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x7a67, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x7a68, ALP_ORDER_BOPOMOFO_LETTER_T_U_EI },
+       { 0x7a69, ALP_ORDER_BOPOMOFO_LETTER_U_EN },
+       { 0x7a6b, ALP_ORDER_BOPOMOFO_LETTER_H_U_O },
+       { 0x7a6c, ALP_ORDER_BOPOMOFO_LETTER_G_U_ENG },
+       { 0x7a6d, ALP_ORDER_BOPOMOFO_LETTER_L_IU },
+       { 0x7a6e, ALP_ORDER_BOPOMOFO_LETTER_B_I_AU },
+       { 0x7a70, ALP_ORDER_BOPOMOFO_LETTER_R_ANG },
+       { 0x7a71, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x7a74, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EH },
+       { 0x7a75, ALP_ORDER_BOPOMOFO_LETTER_U_A },
+       { 0x7a76, ALP_ORDER_BOPOMOFO_LETTER_J_I_OU },
+       { 0x7a78, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x7a79, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_ENG },
+       { 0x7a7a, ALP_ORDER_BOPOMOFO_LETTER_K_U_ENG },
+       { 0x7a7b, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x7a7e, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x7a7f, ALP_ORDER_BOPOMOFO_LETTER_CH_U_AN },
+       { 0x7a80, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_EN },
+       { 0x7a81, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x7a84, ALP_ORDER_BOPOMOFO_LETTER_ZH_AI },
+       { 0x7a85, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x7a86, ALP_ORDER_BOPOMOFO_LETTER_B_I_AN },
+       { 0x7a87, ALP_ORDER_BOPOMOFO_LETTER_B_AU },
+       { 0x7a88, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x7a89, ALP_ORDER_BOPOMOFO_LETTER_B_I_ENG },
+       { 0x7a8a, ALP_ORDER_BOPOMOFO_LETTER_U_A },
+       { 0x7a8b, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x7a8c, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x7a8f, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x7a90, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x7a92, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x7a94, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x7a95, ALP_ORDER_BOPOMOFO_LETTER_T_I_AU },
+       { 0x7a96, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x7a97, ALP_ORDER_BOPOMOFO_LETTER_CH_U_ANG },
+       { 0x7a98, ALP_ORDER_BOPOMOFO_LETTER_J_IU_ENG },
+       { 0x7a99, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x7a9e, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x7a9f, ALP_ORDER_BOPOMOFO_LETTER_K_U },
+       { 0x7aa0, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x7aa2, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x7aa3, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x7aa8, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x7aa9, ALP_ORDER_BOPOMOFO_LETTER_U_O },
+       { 0x7aaa, ALP_ORDER_BOPOMOFO_LETTER_U_A },
+       { 0x7aab, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x7aac, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x7aae, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_ENG },
+       { 0x7aaf, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x7ab1, ALP_ORDER_BOPOMOFO_LETTER_T_I_AU },
+       { 0x7ab2, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x7ab3, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x7ab4, ALP_ORDER_BOPOMOFO_LETTER_T_I_AN },
+       { 0x7ab5, ALP_ORDER_BOPOMOFO_LETTER_D_I_AU },
+       { 0x7ab6, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x7ab7, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x7ab8, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x7aba, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x7abe, ALP_ORDER_BOPOMOFO_LETTER_K_U_AN },
+       { 0x7abf, ALP_ORDER_BOPOMOFO_LETTER_L_U_ENG },
+       { 0x7ac0, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x7ac1, ALP_ORDER_BOPOMOFO_LETTER_C_U_EI },
+       { 0x7ac4, ALP_ORDER_BOPOMOFO_LETTER_C_U_AN },
+       { 0x7ac5, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x7ac7, ALP_ORDER_BOPOMOFO_LETTER_D_OU },
+       { 0x7aca, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EH },
+       { 0x7acb, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x7ad1, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x7ad8, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x7ad9, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x7adf, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x7ae0, ALP_ORDER_BOPOMOFO_LETTER_ZH_ANG },
+       { 0x7ae3, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EN },
+       { 0x7ae4, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x7ae5, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x7ae6, ALP_ORDER_BOPOMOFO_LETTER_S_U_ENG },
+       { 0x7aeb, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x7aed, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x7aee, ALP_ORDER_BOPOMOFO_LETTER_P_I_ENG },
+       { 0x7aef, ALP_ORDER_BOPOMOFO_LETTER_D_U_AN },
+       { 0x7af6, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x7af7, ALP_ORDER_BOPOMOFO_LETTER_K_AN },
+       { 0x7af9, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x7afa, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x7afb, ALP_ORDER_BOPOMOFO_LETTER_L_E },
+       { 0x7afd, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x7aff, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x7b00, ALP_ORDER_BOPOMOFO_LETTER_M_ANG },
+       { 0x7b01, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x7b04, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x7b05, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x7b06, ALP_ORDER_BOPOMOFO_LETTER_B_A },
+       { 0x7b08, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x7b09, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x7b0a, ALP_ORDER_BOPOMOFO_LETTER_ZH_AU },
+       { 0x7b0e, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x7b0f, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x7b10, ALP_ORDER_BOPOMOFO_LETTER_G_ANG },
+       { 0x7b11, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x7b12, ALP_ORDER_BOPOMOFO_LETTER_C_EN },
+       { 0x7b13, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x7b18, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x7b19, ALP_ORDER_BOPOMOFO_LETTER_SH_ENG },
+       { 0x7b1a, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x7b1b, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x7b1d, ALP_ORDER_BOPOMOFO_LETTER_N_A },
+       { 0x7b1e, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x7b20, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x7b22, ALP_ORDER_BOPOMOFO_LETTER_M_I_EN },
+       { 0x7b23, ALP_ORDER_BOPOMOFO_LETTER_B_AU },
+       { 0x7b24, ALP_ORDER_BOPOMOFO_LETTER_T_I_AU },
+       { 0x7b25, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x7b26, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x7b28, ALP_ORDER_BOPOMOFO_LETTER_B_EN },
+       { 0x7b2a, ALP_ORDER_BOPOMOFO_LETTER_D_A },
+       { 0x7b2b, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x7b2c, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x7b2d, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x7b2e, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x7b2f, ALP_ORDER_BOPOMOFO_LETTER_N_U },
+       { 0x7b30, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x7b31, ALP_ORDER_BOPOMOFO_LETTER_G_OU },
+       { 0x7b32, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x7b33, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x7b34, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x7b35, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x7b38, ALP_ORDER_BOPOMOFO_LETTER_P_O },
+       { 0x7b3b, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_ENG },
+       { 0x7b40, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x7b44, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x7b45, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x7b46, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x7b47, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_ENG },
+       { 0x7b48, ALP_ORDER_BOPOMOFO_LETTER_G_U_A },
+       { 0x7b49, ALP_ORDER_BOPOMOFO_LETTER_D_ENG },
+       { 0x7b4a, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x7b4b, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x7b4c, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x7b4d, ALP_ORDER_BOPOMOFO_LETTER_S_U_EN },
+       { 0x7b4e, ALP_ORDER_BOPOMOFO_LETTER_R_U },
+       { 0x7b4f, ALP_ORDER_BOPOMOFO_LETTER_F_A },
+       { 0x7b50, ALP_ORDER_BOPOMOFO_LETTER_K_U_ANG },
+       { 0x7b51, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x7b52, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x7b54, ALP_ORDER_BOPOMOFO_LETTER_D_A },
+       { 0x7b56, ALP_ORDER_BOPOMOFO_LETTER_C_E },
+       { 0x7b58, ALP_ORDER_BOPOMOFO_LETTER_K_OU },
+       { 0x7b60, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x7b61, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x7b63, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x7b64, ALP_ORDER_BOPOMOFO_LETTER_L_ANG },
+       { 0x7b65, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x7b66, ALP_ORDER_BOPOMOFO_LETTER_G_U_AN },
+       { 0x7b67, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x7b69, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x7b6d, ALP_ORDER_BOPOMOFO_LETTER_S_U_AN },
+       { 0x7b6e, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x7b70, ALP_ORDER_BOPOMOFO_LETTER_Z_U_O },
+       { 0x7b71, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x7b72, ALP_ORDER_BOPOMOFO_LETTER_SH_AU },
+       { 0x7b73, ALP_ORDER_BOPOMOFO_LETTER_T_I_ENG },
+       { 0x7b74, ALP_ORDER_BOPOMOFO_LETTER_C_E },
+       { 0x7b75, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x7b76, ALP_ORDER_BOPOMOFO_LETTER_G_AU },
+       { 0x7b77, ALP_ORDER_BOPOMOFO_LETTER_K_U_AI },
+       { 0x7b78, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x7b82, ALP_ORDER_BOPOMOFO_LETTER_L_AI },
+       { 0x7b84, ALP_ORDER_BOPOMOFO_LETTER_B_EI },
+       { 0x7b85, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x7b87, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x7b88, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x7b8a, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x7b8b, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x7b8c, ALP_ORDER_BOPOMOFO_LETTER_ZH_AU },
+       { 0x7b8d, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x7b8e, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x7b8f, ALP_ORDER_BOPOMOFO_LETTER_ZH_ENG },
+       { 0x7b90, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ENG },
+       { 0x7b91, ALP_ORDER_BOPOMOFO_LETTER_SH_A },
+       { 0x7b94, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x7b95, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x7b96, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x7b97, ALP_ORDER_BOPOMOFO_LETTER_S_U_AN },
+       { 0x7b98, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EN },
+       { 0x7b99, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x7b9b, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x7b9c, ALP_ORDER_BOPOMOFO_LETTER_K_U_ENG },
+       { 0x7b9d, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x7ba0, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EI },
+       { 0x7ba1, ALP_ORDER_BOPOMOFO_LETTER_G_U_AN },
+       { 0x7ba4, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x7bac, ALP_ORDER_BOPOMOFO_LETTER_R_U_O },
+       { 0x7bad, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x7baf, ALP_ORDER_BOPOMOFO_LETTER_B_I_AN },
+       { 0x7bb1, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x7bb4, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x7bb5, ALP_ORDER_BOPOMOFO_LETTER_SH_ENG },
+       { 0x7bb7, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x7bb8, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x7bb9, ALP_ORDER_BOPOMOFO_LETTER_IU_EH },
+       { 0x7bbe, ALP_ORDER_BOPOMOFO_LETTER_SH_U_O },
+       { 0x7bc0, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x7bc1, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x7bc4, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x7bc6, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_AN },
+       { 0x7bc7, ALP_ORDER_BOPOMOFO_LETTER_P_I_AN },
+       { 0x7bc9, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x7bca, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x7bcb, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EH },
+       { 0x7bcc, ALP_ORDER_BOPOMOFO_LETTER_H_OU },
+       { 0x7bce, ALP_ORDER_BOPOMOFO_LETTER_M_I_AU },
+       { 0x7bd4, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x7bd5, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x7bd8, ALP_ORDER_BOPOMOFO_LETTER_CH_OU },
+       { 0x7bd9, ALP_ORDER_BOPOMOFO_LETTER_G_AU },
+       { 0x7bda, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x7bdb, ALP_ORDER_BOPOMOFO_LETTER_R_U_O },
+       { 0x7bdc, ALP_ORDER_BOPOMOFO_LETTER_ZH_ENG },
+       { 0x7bdd, ALP_ORDER_BOPOMOFO_LETTER_G_OU },
+       { 0x7bde, ALP_ORDER_BOPOMOFO_LETTER_N_I_EH },
+       { 0x7bdf, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x7be0, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x7be1, ALP_ORDER_BOPOMOFO_LETTER_C_U_AN },
+       { 0x7be2, ALP_ORDER_BOPOMOFO_LETTER_G_U_ENG },
+       { 0x7be3, ALP_ORDER_BOPOMOFO_LETTER_P_ANG },
+       { 0x7be4, ALP_ORDER_BOPOMOFO_LETTER_D_U },
+       { 0x7be5, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x7be6, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x7be7, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O },
+       { 0x7be8, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x7be9, ALP_ORDER_BOPOMOFO_LETTER_SH_AI },
+       { 0x7bea, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x7beb, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x7bf0, ALP_ORDER_BOPOMOFO_LETTER_B_U },
+       { 0x7bf1, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x7bf2, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x7bf3, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x7bf4, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x7bf7, ALP_ORDER_BOPOMOFO_LETTER_P_ENG },
+       { 0x7bf8, ALP_ORDER_BOPOMOFO_LETTER_S_EN },
+       { 0x7bf9, ALP_ORDER_BOPOMOFO_LETTER_C_U_AN },
+       { 0x7bfb, ALP_ORDER_BOPOMOFO_LETTER_P_I_AU },
+       { 0x7bfd, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x7bfe, ALP_ORDER_BOPOMOFO_LETTER_M_I_EH },
+       { 0x7bff, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_AN },
+       { 0x7c00, ALP_ORDER_BOPOMOFO_LETTER_Z_E },
+       { 0x7c01, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x7c02, ALP_ORDER_BOPOMOFO_LETTER_G_U_O },
+       { 0x7c03, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x7c05, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x7c06, ALP_ORDER_BOPOMOFO_LETTER_K_OU },
+       { 0x7c07, ALP_ORDER_BOPOMOFO_LETTER_C_U },
+       { 0x7c09, ALP_ORDER_BOPOMOFO_LETTER_Z_AU },
+       { 0x7c0a, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x7c0b, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x7c0c, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x7c0d, ALP_ORDER_BOPOMOFO_LETTER_L_OU },
+       { 0x7c0e, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x7c0f, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x7c10, ALP_ORDER_BOPOMOFO_LETTER_N_I_AN },
+       { 0x7c11, ALP_ORDER_BOPOMOFO_LETTER_S_U_O },
+       { 0x7c19, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x7c1c, ALP_ORDER_BOPOMOFO_LETTER_D_ANG },
+       { 0x7c1d, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x7c1e, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x7c1f, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x7c20, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x7c21, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x7c22, ALP_ORDER_BOPOMOFO_LETTER_M_I_EN },
+       { 0x7c23, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x7c25, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x7c26, ALP_ORDER_BOPOMOFO_LETTER_D_ENG },
+       { 0x7c27, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x7c28, ALP_ORDER_BOPOMOFO_LETTER_S_U_EN },
+       { 0x7c29, ALP_ORDER_BOPOMOFO_LETTER_L_AU },
+       { 0x7c2a, ALP_ORDER_BOPOMOFO_LETTER_Z_AN },
+       { 0x7c2b, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x7c2c, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x7c2d, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x7c30, ALP_ORDER_BOPOMOFO_LETTER_P_AI },
+       { 0x7c33, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x7c37, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x7c38, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x7c39, ALP_ORDER_BOPOMOFO_LETTER_D_ANG },
+       { 0x7c3b, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x7c3c, ALP_ORDER_BOPOMOFO_LETTER_G_OU },
+       { 0x7c3d, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x7c3e, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x7c3f, ALP_ORDER_BOPOMOFO_LETTER_B_U },
+       { 0x7c40, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x7c43, ALP_ORDER_BOPOMOFO_LETTER_L_AN },
+       { 0x7c45, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x7c47, ALP_ORDER_BOPOMOFO_LETTER_H_AU },
+       { 0x7c48, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x7c49, ALP_ORDER_BOPOMOFO_LETTER_T_AI },
+       { 0x7c4a, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x7c4c, ALP_ORDER_BOPOMOFO_LETTER_CH_OU },
+       { 0x7c4d, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x7c50, ALP_ORDER_BOPOMOFO_LETTER_T_ENG },
+       { 0x7c53, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x7c54, ALP_ORDER_BOPOMOFO_LETTER_S_OU },
+       { 0x7c57, ALP_ORDER_BOPOMOFO_LETTER_K_U_O },
+       { 0x7c59, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x7c5a, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x7c5b, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x7c5c, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x7c5f, ALP_ORDER_BOPOMOFO_LETTER_L_AI },
+       { 0x7c60, ALP_ORDER_BOPOMOFO_LETTER_L_U_ENG },
+       { 0x7c63, ALP_ORDER_BOPOMOFO_LETTER_L_AN },
+       { 0x7c64, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x7c65, ALP_ORDER_BOPOMOFO_LETTER_IU_EH },
+       { 0x7c66, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ENG },
+       { 0x7c67, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x7c69, ALP_ORDER_BOPOMOFO_LETTER_B_I_AN },
+       { 0x7c6a, ALP_ORDER_BOPOMOFO_LETTER_D_U_AN },
+       { 0x7c6b, ALP_ORDER_BOPOMOFO_LETTER_Z_U_AN },
+       { 0x7c6c, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x7c6e, ALP_ORDER_BOPOMOFO_LETTER_L_U_O },
+       { 0x7c6f, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x7c72, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x7c73, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x7c75, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x7c78, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x7c79, ALP_ORDER_BOPOMOFO_LETTER_N_IU },
+       { 0x7c7a, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x7c7d, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x7c7f, ALP_ORDER_BOPOMOFO_LETTER_C_U_EN },
+       { 0x7c80, ALP_ORDER_BOPOMOFO_LETTER_ZH_ANG },
+       { 0x7c81, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x7c84, ALP_ORDER_BOPOMOFO_LETTER_B_AN },
+       { 0x7c85, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x7c88, ALP_ORDER_BOPOMOFO_LETTER_R_OU },
+       { 0x7c89, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x7c8a, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x7c8c, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x7c8d, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x7c91, ALP_ORDER_BOPOMOFO_LETTER_B_A },
+       { 0x7c92, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x7c94, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x7c95, ALP_ORDER_BOPOMOFO_LETTER_P_O },
+       { 0x7c96, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x7c97, ALP_ORDER_BOPOMOFO_LETTER_C_U },
+       { 0x7c98, ALP_ORDER_BOPOMOFO_LETTER_N_I_AN },
+       { 0x7c9e, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x7c9f, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x7ca1, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x7ca2, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x7ca3, ALP_ORDER_BOPOMOFO_LETTER_C_E },
+       { 0x7ca5, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x7ca7, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ANG },
+       { 0x7ca8, ALP_ORDER_BOPOMOFO_LETTER_B_AI },
+       { 0x7caf, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x7cb1, ALP_ORDER_BOPOMOFO_LETTER_L_I_ANG },
+       { 0x7cb2, ALP_ORDER_BOPOMOFO_LETTER_C_AN },
+       { 0x7cb3, ALP_ORDER_BOPOMOFO_LETTER_G_ENG },
+       { 0x7cb4, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x7cb5, ALP_ORDER_BOPOMOFO_LETTER_IU_EH },
+       { 0x7cb9, ALP_ORDER_BOPOMOFO_LETTER_C_U_EI },
+       { 0x7cba, ALP_ORDER_BOPOMOFO_LETTER_B_AI },
+       { 0x7cbb, ALP_ORDER_BOPOMOFO_LETTER_ZH_ANG },
+       { 0x7cbc, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x7cbd, ALP_ORDER_BOPOMOFO_LETTER_Z_U_ENG },
+       { 0x7cbe, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x7cbf, ALP_ORDER_BOPOMOFO_LETTER_G_U_O },
+       { 0x7cc5, ALP_ORDER_BOPOMOFO_LETTER_R_OU },
+       { 0x7cc8, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x7cca, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x7ccb, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x7ccc, ALP_ORDER_BOPOMOFO_LETTER_Z_AN },
+       { 0x7cce, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x7cd0, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x7cd1, ALP_ORDER_BOPOMOFO_LETTER_N_U_O },
+       { 0x7cd2, ALP_ORDER_BOPOMOFO_LETTER_B_EI },
+       { 0x7cd4, ALP_ORDER_BOPOMOFO_LETTER_X_I_OU },
+       { 0x7cd5, ALP_ORDER_BOPOMOFO_LETTER_G_AU },
+       { 0x7cd6, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x7cd7, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x7cd9, ALP_ORDER_BOPOMOFO_LETTER_C_AU },
+       { 0x7cdc, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x7cdd, ALP_ORDER_BOPOMOFO_LETTER_S_AN },
+       { 0x7cde, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x7cdf, ALP_ORDER_BOPOMOFO_LETTER_Z_AU },
+       { 0x7ce0, ALP_ORDER_BOPOMOFO_LETTER_K_ANG },
+       { 0x7ce2, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x7ce7, ALP_ORDER_BOPOMOFO_LETTER_L_I_ANG },
+       { 0x7ce8, ALP_ORDER_BOPOMOFO_LETTER_J_I_ANG },
+       { 0x7cea, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x7cec, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x7cee, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x7cef, ALP_ORDER_BOPOMOFO_LETTER_N_U_O },
+       { 0x7cf0, ALP_ORDER_BOPOMOFO_LETTER_T_U_AN },
+       { 0x7cf1, ALP_ORDER_BOPOMOFO_LETTER_N_I_EH },
+       { 0x7cf2, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x7cf4, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x7cf6, ALP_ORDER_BOPOMOFO_LETTER_T_I_AU },
+       { 0x7cf7, ALP_ORDER_BOPOMOFO_LETTER_L_AN },
+       { 0x7cf8, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x7cfb, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x7cfd, ALP_ORDER_BOPOMOFO_LETTER_ZH_ENG },
+       { 0x7cfe, ALP_ORDER_BOPOMOFO_LETTER_J_I_OU },
+       { 0x7d00, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x7d01, ALP_ORDER_BOPOMOFO_LETTER_CH_A },
+       { 0x7d02, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x7d03, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x7d04, ALP_ORDER_BOPOMOFO_LETTER_IU_EH },
+       { 0x7d05, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x7d06, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x7d07, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x7d08, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x7d09, ALP_ORDER_BOPOMOFO_LETTER_R_EN },
+       { 0x7d0a, ALP_ORDER_BOPOMOFO_LETTER_U_EN },
+       { 0x7d0b, ALP_ORDER_BOPOMOFO_LETTER_U_EN },
+       { 0x7d0c, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x7d0d, ALP_ORDER_BOPOMOFO_LETTER_N_A },
+       { 0x7d0e, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x7d0f, ALP_ORDER_BOPOMOFO_LETTER_T_OU },
+       { 0x7d10, ALP_ORDER_BOPOMOFO_LETTER_N_I_OU },
+       { 0x7d11, ALP_ORDER_BOPOMOFO_LETTER_F_OU },
+       { 0x7d12, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x7d13, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x7d14, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EN },
+       { 0x7d15, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x7d16, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x7d17, ALP_ORDER_BOPOMOFO_LETTER_SH_A },
+       { 0x7d18, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x7d19, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x7d1a, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x7d1b, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x7d1c, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x7d1d, ALP_ORDER_BOPOMOFO_LETTER_R_EN },
+       { 0x7d1e, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x7d1f, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x7d20, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x7d21, ALP_ORDER_BOPOMOFO_LETTER_F_ANG },
+       { 0x7d22, ALP_ORDER_BOPOMOFO_LETTER_S_U_O },
+       { 0x7d28, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x7d29, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x7d2b, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x7d2c, ALP_ORDER_BOPOMOFO_LETTER_CH_OU },
+       { 0x7d2e, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x7d2f, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x7d30, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x7d31, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x7d32, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH }
+};
+
+static han_map HANZI_TO_BPMF_MAP_7[] = {
+       { 0x7d33, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x7d35, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x7d36, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x7d38, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x7d39, ALP_ORDER_BOPOMOFO_LETTER_SH_AU },
+       { 0x7d3a, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x7d3b, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x7d3c, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x7d3d, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x7d3e, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x7d3f, ALP_ORDER_BOPOMOFO_LETTER_D_AI },
+       { 0x7d40, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x7d41, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x7d42, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ENG },
+       { 0x7d43, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x7d44, ALP_ORDER_BOPOMOFO_LETTER_Z_U },
+       { 0x7d45, ALP_ORDER_BOPOMOFO_LETTER_J_IU_ENG },
+       { 0x7d46, ALP_ORDER_BOPOMOFO_LETTER_B_AN },
+       { 0x7d47, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x7d4a, ALP_ORDER_BOPOMOFO_LETTER_Z_U_EI },
+       { 0x7d4e, ALP_ORDER_BOPOMOFO_LETTER_H_ENG },
+       { 0x7d4f, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x7d50, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x7d51, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x7d52, ALP_ORDER_BOPOMOFO_LETTER_CH_OU },
+       { 0x7d53, ALP_ORDER_BOPOMOFO_LETTER_G_U_A },
+       { 0x7d54, ALP_ORDER_BOPOMOFO_LETTER_B_AI },
+       { 0x7d55, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x7d56, ALP_ORDER_BOPOMOFO_LETTER_K_U_ANG },
+       { 0x7d58, ALP_ORDER_BOPOMOFO_LETTER_C },
+       { 0x7d5b, ALP_ORDER_BOPOMOFO_LETTER_T_AU },
+       { 0x7d5c, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x7d5e, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x7d5f, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x7d61, ALP_ORDER_BOPOMOFO_LETTER_L_U_O },
+       { 0x7d62, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x7d63, ALP_ORDER_BOPOMOFO_LETTER_B_ENG },
+       { 0x7d66, ALP_ORDER_BOPOMOFO_LETTER_G_EI },
+       { 0x7d67, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x7d68, ALP_ORDER_BOPOMOFO_LETTER_R_U_ENG },
+       { 0x7d69, ALP_ORDER_BOPOMOFO_LETTER_T_I_AU },
+       { 0x7d6a, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x7d6b, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x7d6d, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x7d6e, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x7d6f, ALP_ORDER_BOPOMOFO_LETTER_G_AI },
+       { 0x7d70, ALP_ORDER_BOPOMOFO_LETTER_D_I_EH },
+       { 0x7d71, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x7d72, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x7d73, ALP_ORDER_BOPOMOFO_LETTER_J_I_ANG },
+       { 0x7d79, ALP_ORDER_BOPOMOFO_LETTER_J_IU_AN },
+       { 0x7d7a, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x7d7b, ALP_ORDER_BOPOMOFO_LETTER_M_I_AN },
+       { 0x7d7c, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x7d7d, ALP_ORDER_BOPOMOFO_LETTER_L_IU },
+       { 0x7d7f, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x7d80, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x7d81, ALP_ORDER_BOPOMOFO_LETTER_B_ANG },
+       { 0x7d83, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x7d84, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x7d85, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EN },
+       { 0x7d86, ALP_ORDER_BOPOMOFO_LETTER_G_ENG },
+       { 0x7d88, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x7d8c, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x7d8d, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x7d8e, ALP_ORDER_BOPOMOFO_LETTER_T_I_ENG },
+       { 0x7d8f, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x7d91, ALP_ORDER_BOPOMOFO_LETTER_K_U_EN },
+       { 0x7d92, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x7d93, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x7d94, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x7d96, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x7d9c, ALP_ORDER_BOPOMOFO_LETTER_Z_U_ENG },
+       { 0x7d9d, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x7d9e, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x7d9f, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x7da0, ALP_ORDER_BOPOMOFO_LETTER_L_IU },
+       { 0x7da1, ALP_ORDER_BOPOMOFO_LETTER_L_I_ANG },
+       { 0x7da2, ALP_ORDER_BOPOMOFO_LETTER_CH_OU },
+       { 0x7da3, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x7da6, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x7da7, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_EN },
+       { 0x7da9, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x7daa, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x7dac, ALP_ORDER_BOPOMOFO_LETTER_SH_OU },
+       { 0x7dad, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x7dae, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x7daf, ALP_ORDER_BOPOMOFO_LETTER_T_AU },
+       { 0x7db0, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x7db1, ALP_ORDER_BOPOMOFO_LETTER_G_ANG },
+       { 0x7db2, ALP_ORDER_BOPOMOFO_LETTER_U_ANG },
+       { 0x7db4, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_EI },
+       { 0x7db5, ALP_ORDER_BOPOMOFO_LETTER_C_AI },
+       { 0x7db7, ALP_ORDER_BOPOMOFO_LETTER_C_U_EI },
+       { 0x7db8, ALP_ORDER_BOPOMOFO_LETTER_L_U_EN },
+       { 0x7db9, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x7dba, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x7dbb, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x7dbc, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x7dbd, ALP_ORDER_BOPOMOFO_LETTER_CH_U_O },
+       { 0x7dbe, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x7dbf, ALP_ORDER_BOPOMOFO_LETTER_M_I_AN },
+       { 0x7dc0, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x7dc1, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x7dc2, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x7dc4, ALP_ORDER_BOPOMOFO_LETTER_G_U_EN },
+       { 0x7dc5, ALP_ORDER_BOPOMOFO_LETTER_Z_OU },
+       { 0x7dc6, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x7dc7, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x7dc9, ALP_ORDER_BOPOMOFO_LETTER_L_I_ANG },
+       { 0x7dca, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x7dcb, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x7dcc, ALP_ORDER_BOPOMOFO_LETTER_R_U_EI },
+       { 0x7dce, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x7dd2, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x7dd7, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x7dd8, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x7dd9, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x7dda, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x7ddb, ALP_ORDER_BOPOMOFO_LETTER_R_U_AN },
+       { 0x7ddd, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x7dde, ALP_ORDER_BOPOMOFO_LETTER_D_U_AN },
+       { 0x7ddf, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ENG },
+       { 0x7de0, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x7de1, ALP_ORDER_BOPOMOFO_LETTER_M_I_EN },
+       { 0x7de3, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x7de6, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x7de7, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x7de8, ALP_ORDER_BOPOMOFO_LETTER_B_I_AN },
+       { 0x7de9, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x7dea, ALP_ORDER_BOPOMOFO_LETTER_G_ENG },
+       { 0x7dec, ALP_ORDER_BOPOMOFO_LETTER_M_I_AN },
+       { 0x7dee, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x7def, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x7df0, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x7df1, ALP_ORDER_BOPOMOFO_LETTER_G_OU },
+       { 0x7df2, ALP_ORDER_BOPOMOFO_LETTER_M_I_AU },
+       { 0x7df3, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x7df4, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x7df6, ALP_ORDER_BOPOMOFO_LETTER_B_I_AN },
+       { 0x7df7, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x7df9, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x7dfa, ALP_ORDER_BOPOMOFO_LETTER_G_U_A },
+       { 0x7dfb, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x7e03, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x7e08, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x7e09, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x7e0a, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x7e0b, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_EI },
+       { 0x7e0c, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x7e0d, ALP_ORDER_BOPOMOFO_LETTER_B_ANG },
+       { 0x7e0e, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x7e0f, ALP_ORDER_BOPOMOFO_LETTER_P_AN },
+       { 0x7e10, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x7e11, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x7e12, ALP_ORDER_BOPOMOFO_LETTER_C_U_O },
+       { 0x7e13, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x7e14, ALP_ORDER_BOPOMOFO_LETTER_SH_U_ANG },
+       { 0x7e15, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x7e16, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x7e17, ALP_ORDER_BOPOMOFO_LETTER_C_U_EI },
+       { 0x7e1a, ALP_ORDER_BOPOMOFO_LETTER_T_AU },
+       { 0x7e1b, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x7e1c, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x7e1d, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x7e1e, ALP_ORDER_BOPOMOFO_LETTER_G_AU },
+       { 0x7e1f, ALP_ORDER_BOPOMOFO_LETTER_R_U },
+       { 0x7e20, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x7e21, ALP_ORDER_BOPOMOFO_LETTER_Z_AI },
+       { 0x7e22, ALP_ORDER_BOPOMOFO_LETTER_T_ENG },
+       { 0x7e23, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x7e24, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x7e25, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x7e29, ALP_ORDER_BOPOMOFO_LETTER_C_AI },
+       { 0x7e2a, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x7e2b, ALP_ORDER_BOPOMOFO_LETTER_F_ENG },
+       { 0x7e2d, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x7e2e, ALP_ORDER_BOPOMOFO_LETTER_S_U_O },
+       { 0x7e2f, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x7e30, ALP_ORDER_BOPOMOFO_LETTER_Z_U_ENG },
+       { 0x7e31, ALP_ORDER_BOPOMOFO_LETTER_Z_U_ENG },
+       { 0x7e32, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x7e33, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_AN },
+       { 0x7e34, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x7e35, ALP_ORDER_BOPOMOFO_LETTER_M_AN },
+       { 0x7e36, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x7e37, ALP_ORDER_BOPOMOFO_LETTER_L_IU },
+       { 0x7e38, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x7e39, ALP_ORDER_BOPOMOFO_LETTER_P_I_AU },
+       { 0x7e3a, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x7e3b, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x7e3c, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x7e3d, ALP_ORDER_BOPOMOFO_LETTER_Z_U_ENG },
+       { 0x7e3e, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x7e3f, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x7e40, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x7e41, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x7e42, ALP_ORDER_BOPOMOFO_LETTER_SH_U_AI },
+       { 0x7e43, ALP_ORDER_BOPOMOFO_LETTER_B_ENG },
+       { 0x7e44, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x7e45, ALP_ORDER_BOPOMOFO_LETTER_S_AU },
+       { 0x7e46, ALP_ORDER_BOPOMOFO_LETTER_M_OU },
+       { 0x7e47, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x7e48, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ANG },
+       { 0x7e49, ALP_ORDER_BOPOMOFO_LETTER_H_U_EN },
+       { 0x7e4c, ALP_ORDER_BOPOMOFO_LETTER_Z_U_ENG },
+       { 0x7e50, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x7e51, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x7e52, ALP_ORDER_BOPOMOFO_LETTER_Z_ENG },
+       { 0x7e53, ALP_ORDER_BOPOMOFO_LETTER_Z_U_O },
+       { 0x7e54, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x7e55, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x7e56, ALP_ORDER_BOPOMOFO_LETTER_S_AN },
+       { 0x7e57, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x7e58, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x7e59, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x7e5a, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x7e5c, ALP_ORDER_BOPOMOFO_LETTER_Z_U_EN },
+       { 0x7e5e, ALP_ORDER_BOPOMOFO_LETTER_R_AU },
+       { 0x7e5f, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x7e60, ALP_ORDER_BOPOMOFO_LETTER_R_U_EI },
+       { 0x7e61, ALP_ORDER_BOPOMOFO_LETTER_X_I_OU },
+       { 0x7e62, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x7e63, ALP_ORDER_BOPOMOFO_LETTER_H_U_A },
+       { 0x7e68, ALP_ORDER_BOPOMOFO_LETTER_D_A },
+       { 0x7e69, ALP_ORDER_BOPOMOFO_LETTER_SH_ENG },
+       { 0x7e6a, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x7e6b, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x7e6d, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x7e6f, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x7e70, ALP_ORDER_BOPOMOFO_LETTER_Z_AU },
+       { 0x7e72, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x7e73, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x7e74, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x7e75, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x7e76, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x7e77, ALP_ORDER_BOPOMOFO_LETTER_N_AU },
+       { 0x7e78, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x7e79, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x7e7a, ALP_ORDER_BOPOMOFO_LETTER_SH_AI },
+       { 0x7e7b, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x7e7c, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x7e7d, ALP_ORDER_BOPOMOFO_LETTER_B_I_EN },
+       { 0x7e7e, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x7e80, ALP_ORDER_BOPOMOFO_LETTER_P_U },
+       { 0x7e81, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x7e82, ALP_ORDER_BOPOMOFO_LETTER_Z_U_AN },
+       { 0x7e86, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x7e87, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x7e88, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x7e8a, ALP_ORDER_BOPOMOFO_LETTER_K_U_ANG },
+       { 0x7e8b, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x7e8c, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x7e8d, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x7e8f, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x7e91, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x7e93, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x7e94, ALP_ORDER_BOPOMOFO_LETTER_C_AI },
+       { 0x7e95, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x7e96, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x7e97, ALP_ORDER_BOPOMOFO_LETTER_Z_U_EI },
+       { 0x7e98, ALP_ORDER_BOPOMOFO_LETTER_Z_U_AN },
+       { 0x7e99, ALP_ORDER_BOPOMOFO_LETTER_L_U_O },
+       { 0x7e9a, ALP_ORDER_BOPOMOFO_LETTER_S_A },
+       { 0x7e9b, ALP_ORDER_BOPOMOFO_LETTER_D_AU },
+       { 0x7e9c, ALP_ORDER_BOPOMOFO_LETTER_L_AN },
+       { 0x7f36, ALP_ORDER_BOPOMOFO_LETTER_F_OU },
+       { 0x7f38, ALP_ORDER_BOPOMOFO_LETTER_G_ANG },
+       { 0x7f39, ALP_ORDER_BOPOMOFO_LETTER_F_OU },
+       { 0x7f3a, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_EH },
+       { 0x7f3d, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x7f3e, ALP_ORDER_BOPOMOFO_LETTER_P_I_ENG },
+       { 0x7f3f, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x7f43, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x7f44, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ENG },
+       { 0x7f45, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x7f48, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x7f4a, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ENG },
+       { 0x7f4b, ALP_ORDER_BOPOMOFO_LETTER_U_ENG },
+       { 0x7f4c, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x7f4d, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x7f4f, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x7f50, ALP_ORDER_BOPOMOFO_LETTER_G_U_AN },
+       { 0x7f51, ALP_ORDER_BOPOMOFO_LETTER_U_ANG },
+       { 0x7f54, ALP_ORDER_BOPOMOFO_LETTER_U_ANG },
+       { 0x7f55, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x7f58, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x7f5b, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x7f5c, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x7f5d, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x7f5e, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x7f5f, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x7f60, ALP_ORDER_BOPOMOFO_LETTER_M_I_EN },
+       { 0x7f61, ALP_ORDER_BOPOMOFO_LETTER_G_ANG },
+       { 0x7f63, ALP_ORDER_BOPOMOFO_LETTER_G_U_A },
+       { 0x7f65, ALP_ORDER_BOPOMOFO_LETTER_J_IU_AN },
+       { 0x7f66, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x7f67, ALP_ORDER_BOPOMOFO_LETTER_S_EN },
+       { 0x7f68, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x7f69, ALP_ORDER_BOPOMOFO_LETTER_ZH_AU },
+       { 0x7f6a, ALP_ORDER_BOPOMOFO_LETTER_Z_U_EI },
+       { 0x7f6b, ALP_ORDER_BOPOMOFO_LETTER_G_U_AI },
+       { 0x7f6c, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O },
+       { 0x7f6d, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x7f6e, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x7f70, ALP_ORDER_BOPOMOFO_LETTER_F_A },
+       { 0x7f72, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x7f73, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x7f75, ALP_ORDER_BOPOMOFO_LETTER_M_A },
+       { 0x7f76, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x7f77, ALP_ORDER_BOPOMOFO_LETTER_B_A },
+       { 0x7f79, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x7f7a, ALP_ORDER_BOPOMOFO_LETTER_CH_AU },
+       { 0x7f7b, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x7f7c, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x7f7d, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x7f7e, ALP_ORDER_BOPOMOFO_LETTER_Z_ENG },
+       { 0x7f7f, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x7f83, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x7f85, ALP_ORDER_BOPOMOFO_LETTER_L_U_O },
+       { 0x7f86, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x7f87, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x7f88, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x7f89, ALP_ORDER_BOPOMOFO_LETTER_L_U_AN },
+       { 0x7f8a, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x7f8b, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x7f8c, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ANG },
+       { 0x7f8d, ALP_ORDER_BOPOMOFO_LETTER_T_A },
+       { 0x7f8e, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x7f91, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x7f92, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x7f94, ALP_ORDER_BOPOMOFO_LETTER_G_AU },
+       { 0x7f95, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x7f96, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x7f9a, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x7f9b, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x7f9c, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x7f9d, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x7f9e, ALP_ORDER_BOPOMOFO_LETTER_X_I_OU },
+       { 0x7fa0, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x7fa1, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x7fa2, ALP_ORDER_BOPOMOFO_LETTER_R_U_ENG },
+       { 0x7fa4, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_EN },
+       { 0x7fa5, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ANG },
+       { 0x7fa6, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x7fa7, ALP_ORDER_BOPOMOFO_LETTER_Z_U_EI },
+       { 0x7fa8, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x7fa9, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x7fac, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x7fad, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x7faf, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x7fb0, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x7fb1, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x7fb2, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x7fb3, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x7fb5, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x7fb6, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x7fb7, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x7fb8, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x7fb9, ALP_ORDER_BOPOMOFO_LETTER_G_ENG },
+       { 0x7fba, ALP_ORDER_BOPOMOFO_LETTER_N_OU },
+       { 0x7fbb, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ANG },
+       { 0x7fbc, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x7fbd, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x7fbe, ALP_ORDER_BOPOMOFO_LETTER_G_U_ENG },
+       { 0x7fbf, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x7fc0, ALP_ORDER_BOPOMOFO_LETTER_CH_U_ENG },
+       { 0x7fc1, ALP_ORDER_BOPOMOFO_LETTER_U_ENG },
+       { 0x7fc2, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x7fc3, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x7fc5, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x7fc7, ALP_ORDER_BOPOMOFO_LETTER_P_EI },
+       { 0x7fc9, ALP_ORDER_BOPOMOFO_LETTER_P_EN },
+       { 0x7fca, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x7fcb, ALP_ORDER_BOPOMOFO_LETTER_L_A },
+       { 0x7fcc, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x7fcd, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x7fce, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x7fcf, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x7fd0, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x7fd1, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x7fd2, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x7fd4, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x7fd5, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x7fd7, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x7fdb, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x7fdc, ALP_ORDER_BOPOMOFO_LETTER_SH_A },
+       { 0x7fde, ALP_ORDER_BOPOMOFO_LETTER_J_I_ANG },
+       { 0x7fdf, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x7fe0, ALP_ORDER_BOPOMOFO_LETTER_C_U_EI },
+       { 0x7fe1, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x7fe2, ALP_ORDER_BOPOMOFO_LETTER_T_AU },
+       { 0x7fe3, ALP_ORDER_BOPOMOFO_LETTER_SH_A },
+       { 0x7fe5, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x7fe6, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x7fe8, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x7fe9, ALP_ORDER_BOPOMOFO_LETTER_P_I_AN },
+       { 0x7fea, ALP_ORDER_BOPOMOFO_LETTER_Z_U_ENG },
+       { 0x7feb, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x7fec, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x7fed, ALP_ORDER_BOPOMOFO_LETTER_H_OU },
+       { 0x7fee, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x7fef, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x7ff0, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x7ff1, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x7ff2, ALP_ORDER_BOPOMOFO_LETTER_P_I_AU },
+       { 0x7ff3, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x7ff4, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x7ff5, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x7ff7, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x7ff8, ALP_ORDER_BOPOMOFO_LETTER_P_EN },
+       { 0x7ff9, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x7ffb, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x7ffc, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x7ffd, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x7ffe, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x7fff, ALP_ORDER_BOPOMOFO_LETTER_D_AU },
+       { 0x8000, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x8001, ALP_ORDER_BOPOMOFO_LETTER_L_AU },
+       { 0x8003, ALP_ORDER_BOPOMOFO_LETTER_K_AU },
+       { 0x8004, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x8005, ALP_ORDER_BOPOMOFO_LETTER_ZH_E },
+       { 0x8006, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x8007, ALP_ORDER_BOPOMOFO_LETTER_G_OU },
+       { 0x800b, ALP_ORDER_BOPOMOFO_LETTER_D_I_EH },
+       { 0x800c, ALP_ORDER_BOPOMOFO_LETTER_ER },
+       { 0x800d, ALP_ORDER_BOPOMOFO_LETTER_SH_U_A },
+       { 0x800e, ALP_ORDER_BOPOMOFO_LETTER_R_U_AN },
+       { 0x800f, ALP_ORDER_BOPOMOFO_LETTER_ER },
+       { 0x8010, ALP_ORDER_BOPOMOFO_LETTER_N_AI },
+       { 0x8011, ALP_ORDER_BOPOMOFO_LETTER_D_U_AN },
+       { 0x8012, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x8014, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x8015, ALP_ORDER_BOPOMOFO_LETTER_G_ENG },
+       { 0x8016, ALP_ORDER_BOPOMOFO_LETTER_CH_AU },
+       { 0x8017, ALP_ORDER_BOPOMOFO_LETTER_H_AU },
+       { 0x8018, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x8019, ALP_ORDER_BOPOMOFO_LETTER_P_A },
+       { 0x801b, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x801c, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x801e, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x801f, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x8021, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x8024, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x8026, ALP_ORDER_BOPOMOFO_LETTER_OU },
+       { 0x8028, ALP_ORDER_BOPOMOFO_LETTER_N_OU },
+       { 0x8029, ALP_ORDER_BOPOMOFO_LETTER_G_OU },
+       { 0x802a, ALP_ORDER_BOPOMOFO_LETTER_P_ANG },
+       { 0x802c, ALP_ORDER_BOPOMOFO_LETTER_L_OU },
+       { 0x8030, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x8033, ALP_ORDER_BOPOMOFO_LETTER_ER },
+       { 0x8034, ALP_ORDER_BOPOMOFO_LETTER_ZH_E },
+       { 0x8035, ALP_ORDER_BOPOMOFO_LETTER_D_I_ENG },
+       { 0x8036, ALP_ORDER_BOPOMOFO_LETTER_I_EH },
+       { 0x8037, ALP_ORDER_BOPOMOFO_LETTER_D_A },
+       { 0x8039, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EN },
+       { 0x803d, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x803e, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x803f, ALP_ORDER_BOPOMOFO_LETTER_G_ENG },
+       { 0x8043, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x8046, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x8047, ALP_ORDER_BOPOMOFO_LETTER_ZH_ENG },
+       { 0x8048, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x804a, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x804f, ALP_ORDER_BOPOMOFO_LETTER_ER },
+       { 0x8050, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x8051, ALP_ORDER_BOPOMOFO_LETTER_D_I_EH },
+       { 0x8052, ALP_ORDER_BOPOMOFO_LETTER_G_U_A },
+       { 0x8056, ALP_ORDER_BOPOMOFO_LETTER_SH_ENG },
+       { 0x8058, ALP_ORDER_BOPOMOFO_LETTER_P_I_EN },
+       { 0x805a, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x805c, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x805d, ALP_ORDER_BOPOMOFO_LETTER_G_U_O },
+       { 0x805e, ALP_ORDER_BOPOMOFO_LETTER_U_EN },
+       { 0x8064, ALP_ORDER_BOPOMOFO_LETTER_T_I_ENG },
+       { 0x8067, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x806c, ALP_ORDER_BOPOMOFO_LETTER_U_ENG },
+       { 0x806f, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x8070, ALP_ORDER_BOPOMOFO_LETTER_C_U_ENG },
+       { 0x8071, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x8072, ALP_ORDER_BOPOMOFO_LETTER_SH_ENG },
+       { 0x8073, ALP_ORDER_BOPOMOFO_LETTER_S_U_ENG },
+       { 0x8075, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x8076, ALP_ORDER_BOPOMOFO_LETTER_N_I_EH },
+       { 0x8077, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x8078, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x8079, ALP_ORDER_BOPOMOFO_LETTER_N_I_ENG },
+       { 0x807d, ALP_ORDER_BOPOMOFO_LETTER_T_I_ENG },
+       { 0x807e, ALP_ORDER_BOPOMOFO_LETTER_L_U_ENG },
+       { 0x807f, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x8082, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x8084, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x8085, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x8086, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x8087, ALP_ORDER_BOPOMOFO_LETTER_ZH_AU },
+       { 0x8089, ALP_ORDER_BOPOMOFO_LETTER_R_OU },
+       { 0x808a, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x808b, ALP_ORDER_BOPOMOFO_LETTER_L_E },
+       { 0x808c, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x808f, ALP_ORDER_BOPOMOFO_LETTER_C_AU },
+       { 0x8090, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x8092, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x8093, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x8095, ALP_ORDER_BOPOMOFO_LETTER_R_EN },
+       { 0x8096, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x8098, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x8099, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x809a, ALP_ORDER_BOPOMOFO_LETTER_D_U },
+       { 0x809b, ALP_ORDER_BOPOMOFO_LETTER_G_ANG },
+       { 0x809c, ALP_ORDER_BOPOMOFO_LETTER_R_U_ENG },
+       { 0x809d, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x80a1, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x80a2, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x80a3, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EN },
+       { 0x80a5, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x80a9, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x80aa, ALP_ORDER_BOPOMOFO_LETTER_F_ANG },
+       { 0x80ab, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_EN },
+       { 0x80ad, ALP_ORDER_BOPOMOFO_LETTER_N_A },
+       { 0x80ae, ALP_ORDER_BOPOMOFO_LETTER_H_ANG },
+       { 0x80af, ALP_ORDER_BOPOMOFO_LETTER_K_EN },
+       { 0x80b1, ALP_ORDER_BOPOMOFO_LETTER_G_U_ENG },
+       { 0x80b2, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x80b4, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x80b5, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x80b8, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x80ba, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x80c2, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x80c3, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x80c4, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x80c5, ALP_ORDER_BOPOMOFO_LETTER_D_I_EH },
+       { 0x80c7, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x80c8, ALP_ORDER_BOPOMOFO_LETTER_B_A },
+       { 0x80c9, ALP_ORDER_BOPOMOFO_LETTER_P_O },
+       { 0x80ca, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x80cc, ALP_ORDER_BOPOMOFO_LETTER_B_EI },
+       { 0x80cd, ALP_ORDER_BOPOMOFO_LETTER_G_U_A },
+       { 0x80ce, ALP_ORDER_BOPOMOFO_LETTER_T_AI },
+       { 0x80cf, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x80d0, ALP_ORDER_BOPOMOFO_LETTER_K_U },
+       { 0x80d1, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x80d4, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x80d5, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x80d6, ALP_ORDER_BOPOMOFO_LETTER_P_ANG },
+       { 0x80d7, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x80d8, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x80d9, ALP_ORDER_BOPOMOFO_LETTER_Z_U_O },
+       { 0x80da, ALP_ORDER_BOPOMOFO_LETTER_P_EI },
+       { 0x80db, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x80dc, ALP_ORDER_BOPOMOFO_LETTER_SH_ENG },
+       { 0x80dd, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x80de, ALP_ORDER_BOPOMOFO_LETTER_B_AU },
+       { 0x80e0, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x80e1, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x80e3, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x80e4, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x80e5, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x80e6, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x80ed, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x80ef, ALP_ORDER_BOPOMOFO_LETTER_K_U_A },
+       { 0x80f0, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x80f1, ALP_ORDER_BOPOMOFO_LETTER_G_U_ANG },
+       { 0x80f2, ALP_ORDER_BOPOMOFO_LETTER_G_AI },
+       { 0x80f3, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x80f4, ALP_ORDER_BOPOMOFO_LETTER_D_U_ENG },
+       { 0x80f5, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x80f8, ALP_ORDER_BOPOMOFO_LETTER_X_IU_ENG },
+       { 0x80f9, ALP_ORDER_BOPOMOFO_LETTER_ER },
+       { 0x80fa, ALP_ORDER_BOPOMOFO_LETTER_AN },
+       { 0x80fb, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x80fc, ALP_ORDER_BOPOMOFO_LETTER_P_I_AN },
+       { 0x80fd, ALP_ORDER_BOPOMOFO_LETTER_N_ENG },
+       { 0x80fe, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x8100, ALP_ORDER_BOPOMOFO_LETTER_ZH_ENG },
+       { 0x8101, ALP_ORDER_BOPOMOFO_LETTER_T_I_AU },
+       { 0x8102, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x8105, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x8106, ALP_ORDER_BOPOMOFO_LETTER_C_U_EI },
+       { 0x8108, ALP_ORDER_BOPOMOFO_LETTER_M_AI },
+       { 0x810a, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x8115, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x8116, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x8118, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x8119, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x811b, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x811d, ALP_ORDER_BOPOMOFO_LETTER_H_ENG },
+       { 0x811e, ALP_ORDER_BOPOMOFO_LETTER_C_U_O },
+       { 0x811f, ALP_ORDER_BOPOMOFO_LETTER_L_I_EH },
+       { 0x8121, ALP_ORDER_BOPOMOFO_LETTER_T_I_ENG },
+       { 0x8122, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x8123, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EN },
+       { 0x8124, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x8125, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x8127, ALP_ORDER_BOPOMOFO_LETTER_Z_U_EI },
+       { 0x8129, ALP_ORDER_BOPOMOFO_LETTER_X_I_OU },
+       { 0x812b, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x812c, ALP_ORDER_BOPOMOFO_LETTER_P_AU },
+       { 0x812d, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x812f, ALP_ORDER_BOPOMOFO_LETTER_P_U },
+       { 0x8130, ALP_ORDER_BOPOMOFO_LETTER_D_OU },
+       { 0x8139, ALP_ORDER_BOPOMOFO_LETTER_ZH_ANG },
+       { 0x813a, ALP_ORDER_BOPOMOFO_LETTER_C_U_EI },
+       { 0x813d, ALP_ORDER_BOPOMOFO_LETTER_SH_U_EI },
+       { 0x813e, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x8143, ALP_ORDER_BOPOMOFO_LETTER_J_IU_AN },
+       { 0x8144, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_EI },
+       { 0x8146, ALP_ORDER_BOPOMOFO_LETTER_T_I_AN },
+       { 0x8147, ALP_ORDER_BOPOMOFO_LETTER_N_EI },
+       { 0x814a, ALP_ORDER_BOPOMOFO_LETTER_L_A },
+       { 0x814b, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x814c, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x814d, ALP_ORDER_BOPOMOFO_LETTER_R_EN },
+       { 0x814e, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x814f, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x8150, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x8151, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x8152, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x8153, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x8154, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ANG },
+       { 0x8155, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x815b, ALP_ORDER_BOPOMOFO_LETTER_U_O },
+       { 0x815c, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x815e, ALP_ORDER_BOPOMOFO_LETTER_D_U_EN },
+       { 0x8160, ALP_ORDER_BOPOMOFO_LETTER_C_OU },
+       { 0x8161, ALP_ORDER_BOPOMOFO_LETTER_L_U_O },
+       { 0x8162, ALP_ORDER_BOPOMOFO_LETTER_OU },
+       { 0x8164, ALP_ORDER_BOPOMOFO_LETTER_AN },
+       { 0x8165, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x8166, ALP_ORDER_BOPOMOFO_LETTER_N_AU },
+       { 0x8167, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x8169, ALP_ORDER_BOPOMOFO_LETTER_N_AN },
+       { 0x816b, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ENG },
+       { 0x816e, ALP_ORDER_BOPOMOFO_LETTER_S_AI },
+       { 0x816f, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x8170, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x8171, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x8172, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x8173, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x8174, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x8176, ALP_ORDER_BOPOMOFO_LETTER_D_U_AN },
+       { 0x8177, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x8178, ALP_ORDER_BOPOMOFO_LETTER_CH_ANG },
+       { 0x8179, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x817a, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x817f, ALP_ORDER_BOPOMOFO_LETTER_T_U_EI },
+       { 0x8180, ALP_ORDER_BOPOMOFO_LETTER_B_ANG },
+       { 0x8182, ALP_ORDER_BOPOMOFO_LETTER_L_IU },
+       { 0x8183, ALP_ORDER_BOPOMOFO_LETTER_U_A },
+       { 0x8186, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x8187, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_EI },
+       { 0x8188, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x8189, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x818a, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x818b, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x818c, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x818d, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x818f, ALP_ORDER_BOPOMOFO_LETTER_G_AU },
+       { 0x8195, ALP_ORDER_BOPOMOFO_LETTER_G_U_O },
+       { 0x8197, ALP_ORDER_BOPOMOFO_LETTER_CH_U_AI },
+       { 0x8198, ALP_ORDER_BOPOMOFO_LETTER_B_I_AU },
+       { 0x8199, ALP_ORDER_BOPOMOFO_LETTER_J_I_ANG },
+       { 0x819a, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x819b, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x819c, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x819d, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x819e, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_AN },
+       { 0x819f, ALP_ORDER_BOPOMOFO_LETTER_L_IU },
+       { 0x81a0, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x81a2, ALP_ORDER_BOPOMOFO_LETTER_L_IU },
+       { 0x81a3, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x81a6, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x81a7, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x81a8, ALP_ORDER_BOPOMOFO_LETTER_P_ENG },
+       { 0x81a9, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x81ab, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x81ac, ALP_ORDER_BOPOMOFO_LETTER_C_U_EI },
+       { 0x81ae, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x81b0, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x81b1, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x81b2, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x81b3, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x81b4, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x81b5, ALP_ORDER_BOPOMOFO_LETTER_C_U_EI },
+       { 0x81b7, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x81b9, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x81ba, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x81bb, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x81bc, ALP_ORDER_BOPOMOFO_LETTER_G_U_A },
+       { 0x81bd, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x81be, ALP_ORDER_BOPOMOFO_LETTER_K_U_AI },
+       { 0x81bf, ALP_ORDER_BOPOMOFO_LETTER_N_U_ENG },
+       { 0x81c0, ALP_ORDER_BOPOMOFO_LETTER_T_U_EN },
+       { 0x81c2, ALP_ORDER_BOPOMOFO_LETTER_B_EI },
+       { 0x81c3, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x81c4, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x81c5, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x81c6, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x81c7, ALP_ORDER_BOPOMOFO_LETTER_J_IU_AN },
+       { 0x81c9, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x81ca, ALP_ORDER_BOPOMOFO_LETTER_S_AU },
+       { 0x81cc, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x81cd, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x81cf, ALP_ORDER_BOPOMOFO_LETTER_B_I_EN },
+       { 0x81d0, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x81d1, ALP_ORDER_BOPOMOFO_LETTER_R_U },
+       { 0x81d2, ALP_ORDER_BOPOMOFO_LETTER_H_U_O },
+       { 0x81d5, ALP_ORDER_BOPOMOFO_LETTER_B_I_AU },
+       { 0x81d7, ALP_ORDER_BOPOMOFO_LETTER_K_U_AN },
+       { 0x81d8, ALP_ORDER_BOPOMOFO_LETTER_L_A },
+       { 0x81d9, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x81da, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x81db, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x81dd, ALP_ORDER_BOPOMOFO_LETTER_L_U_O },
+       { 0x81de, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x81df, ALP_ORDER_BOPOMOFO_LETTER_Z_ANG },
+       { 0x81e0, ALP_ORDER_BOPOMOFO_LETTER_L_U_AN },
+       { 0x81e1, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x81e2, ALP_ORDER_BOPOMOFO_LETTER_Z_ANG },
+       { 0x81e3, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x81e5, ALP_ORDER_BOPOMOFO_LETTER_U_O },
+       { 0x81e6, ALP_ORDER_BOPOMOFO_LETTER_G_U_ANG },
+       { 0x81e7, ALP_ORDER_BOPOMOFO_LETTER_Z_ANG },
+       { 0x81e8, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x81e9, ALP_ORDER_BOPOMOFO_LETTER_G_U_ANG },
+       { 0x81ea, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x81ec, ALP_ORDER_BOPOMOFO_LETTER_N_I_EH },
+       { 0x81ed, ALP_ORDER_BOPOMOFO_LETTER_CH_OU },
+       { 0x81ee, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x81f2, ALP_ORDER_BOPOMOFO_LETTER_N_I_EH },
+       { 0x81f3, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x81f4, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x81f7, ALP_ORDER_BOPOMOFO_LETTER_D_I_EH },
+       { 0x81f8, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x81f9, ALP_ORDER_BOPOMOFO_LETTER_X_I_OU },
+       { 0x81fa, ALP_ORDER_BOPOMOFO_LETTER_T_AI },
+       { 0x81fb, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x81fc, ALP_ORDER_BOPOMOFO_LETTER_J_I_OU },
+       { 0x81fe, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x81ff, ALP_ORDER_BOPOMOFO_LETTER_CH_A },
+       { 0x8200, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x8201, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x8202, ALP_ORDER_BOPOMOFO_LETTER_CH_U_ENG },
+       { 0x8204, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x8205, ALP_ORDER_BOPOMOFO_LETTER_J_I_OU },
+       { 0x8207, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x8208, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x8209, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x820a, ALP_ORDER_BOPOMOFO_LETTER_J_I_OU },
+       { 0x820b, ALP_ORDER_BOPOMOFO_LETTER_X_I_EN },
+       { 0x820c, ALP_ORDER_BOPOMOFO_LETTER_SH_E },
+       { 0x820d, ALP_ORDER_BOPOMOFO_LETTER_SH_E },
+       { 0x8210, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x8211, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x8212, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x8214, ALP_ORDER_BOPOMOFO_LETTER_T_I_AN },
+       { 0x8215, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x8216, ALP_ORDER_BOPOMOFO_LETTER_P_U },
+       { 0x821b, ALP_ORDER_BOPOMOFO_LETTER_CH_U_AN },
+       { 0x821c, ALP_ORDER_BOPOMOFO_LETTER_SH_U_EN },
+       { 0x821d, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x821e, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x821f, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x8220, ALP_ORDER_BOPOMOFO_LETTER_D_AU },
+       { 0x8221, ALP_ORDER_BOPOMOFO_LETTER_CH_U_AN },
+       { 0x8222, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x8225, ALP_ORDER_BOPOMOFO_LETTER_P_A },
+       { 0x8228, ALP_ORDER_BOPOMOFO_LETTER_B_AN },
+       { 0x822a, ALP_ORDER_BOPOMOFO_LETTER_H_ANG },
+       { 0x822b, ALP_ORDER_BOPOMOFO_LETTER_F_ANG },
+       { 0x822c, ALP_ORDER_BOPOMOFO_LETTER_B_AN },
+       { 0x822f, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ENG },
+       { 0x8232, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x8233, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x8234, ALP_ORDER_BOPOMOFO_LETTER_Z_E },
+       { 0x8235, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x8236, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x8237, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x8238, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x8239, ALP_ORDER_BOPOMOFO_LETTER_CH_U_AN },
+       { 0x823a, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x823c, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x823d, ALP_ORDER_BOPOMOFO_LETTER_P_ANG },
+       { 0x823f, ALP_ORDER_BOPOMOFO_LETTER_K_U_A },
+       { 0x8240, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x8242, ALP_ORDER_BOPOMOFO_LETTER_F_ENG },
+       { 0x8244, ALP_ORDER_BOPOMOFO_LETTER_SH_AU },
+       { 0x8245, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x8247, ALP_ORDER_BOPOMOFO_LETTER_T_I_ENG },
+       { 0x8249, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x824b, ALP_ORDER_BOPOMOFO_LETTER_M_ENG },
+       { 0x824e, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x824f, ALP_ORDER_BOPOMOFO_LETTER_SH_OU },
+       { 0x8250, ALP_ORDER_BOPOMOFO_LETTER_Z_U_ENG },
+       { 0x8251, ALP_ORDER_BOPOMOFO_LETTER_B_I_AN },
+       { 0x8252, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x8253, ALP_ORDER_BOPOMOFO_LETTER_D_I_EH },
+       { 0x8255, ALP_ORDER_BOPOMOFO_LETTER_B_ANG },
+       { 0x8256, ALP_ORDER_BOPOMOFO_LETTER_CH_A },
+       { 0x8257, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x8258, ALP_ORDER_BOPOMOFO_LETTER_S_AU },
+       { 0x8259, ALP_ORDER_BOPOMOFO_LETTER_C_ANG },
+       { 0x825a, ALP_ORDER_BOPOMOFO_LETTER_C_AU },
+       { 0x825b, ALP_ORDER_BOPOMOFO_LETTER_L_OU },
+       { 0x825c, ALP_ORDER_BOPOMOFO_LETTER_D_AI },
+       { 0x825e, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x825f, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x8261, ALP_ORDER_BOPOMOFO_LETTER_D_ANG },
+       { 0x8263, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x8264, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x8266, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x8268, ALP_ORDER_BOPOMOFO_LETTER_M_ENG },
+       { 0x8269, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x826b, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x826c, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x826d, ALP_ORDER_BOPOMOFO_LETTER_SH_U_ANG },
+       { 0x826e, ALP_ORDER_BOPOMOFO_LETTER_G_EN },
+       { 0x826f, ALP_ORDER_BOPOMOFO_LETTER_L_I_ANG },
+       { 0x8271, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x8272, ALP_ORDER_BOPOMOFO_LETTER_S_E },
+       { 0x8274, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x8275, ALP_ORDER_BOPOMOFO_LETTER_P_I_ENG },
+       { 0x8277, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x8278, ALP_ORDER_BOPOMOFO_LETTER_C_AU },
+       { 0x827c, ALP_ORDER_BOPOMOFO_LETTER_T_I_ENG },
+       { 0x827d, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x827e, ALP_ORDER_BOPOMOFO_LETTER_AI },
+       { 0x827f, ALP_ORDER_BOPOMOFO_LETTER_N_AI },
+       { 0x8280, ALP_ORDER_BOPOMOFO_LETTER_T_I_AU },
+       { 0x8283, ALP_ORDER_BOPOMOFO_LETTER_P_ENG },
+       { 0x8284, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x8285, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x828a, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x828b, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x828d, ALP_ORDER_BOPOMOFO_LETTER_SH_AU },
+       { 0x828e, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_ENG },
+       { 0x828f, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x8290, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x8291, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x8292, ALP_ORDER_BOPOMOFO_LETTER_M_ANG },
+       { 0x8293, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x8294, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x8298, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x8299, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x829a, ALP_ORDER_BOPOMOFO_LETTER_T_U_EN },
+       { 0x829b, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x829d, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x829e, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x829f, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x82a0, ALP_ORDER_BOPOMOFO_LETTER_U_EN },
+       { 0x82a1, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x82a2, ALP_ORDER_BOPOMOFO_LETTER_R_EN },
+       { 0x82a3, ALP_ORDER_BOPOMOFO_LETTER_F_OU },
+       { 0x82a4, ALP_ORDER_BOPOMOFO_LETTER_K_OU },
+       { 0x82a5, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x82a7, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x82a8, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x82a9, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EN },
+       { 0x82ab, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x82ac, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x82ad, ALP_ORDER_BOPOMOFO_LETTER_B_A },
+       { 0x82ae, ALP_ORDER_BOPOMOFO_LETTER_R_U_EI },
+       { 0x82af, ALP_ORDER_BOPOMOFO_LETTER_X_I_EN },
+       { 0x82b0, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x82b1, ALP_ORDER_BOPOMOFO_LETTER_H_U_A },
+       { 0x82b3, ALP_ORDER_BOPOMOFO_LETTER_F_ANG },
+       { 0x82b4, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x82b5, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x82b6, ALP_ORDER_BOPOMOFO_LETTER_G_OU },
+       { 0x82b7, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x82b8, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x82b9, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EN },
+       { 0x82ba, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x82bb, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x82bc, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x82bd, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x82be, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x82c0, ALP_ORDER_BOPOMOFO_LETTER_H_ANG },
+       { 0x82c2, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x82c3, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x82d1, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x82d2, ALP_ORDER_BOPOMOFO_LETTER_R_AN },
+       { 0x82d3, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x82d4, ALP_ORDER_BOPOMOFO_LETTER_T_AI },
+       { 0x82d5, ALP_ORDER_BOPOMOFO_LETTER_T_I_AU },
+       { 0x82d6, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x82d7, ALP_ORDER_BOPOMOFO_LETTER_M_I_AU },
+       { 0x82d9, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x82db, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x82dc, ALP_ORDER_BOPOMOFO_LETTER_M_U },
+       { 0x82de, ALP_ORDER_BOPOMOFO_LETTER_B_AU },
+       { 0x82df, ALP_ORDER_BOPOMOFO_LETTER_G_OU },
+       { 0x82e0, ALP_ORDER_BOPOMOFO_LETTER_M_I_EN },
+       { 0x82e1, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x82e3, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x82e4, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x82e5, ALP_ORDER_BOPOMOFO_LETTER_R_U_O },
+       { 0x82e6, ALP_ORDER_BOPOMOFO_LETTER_K_U },
+       { 0x82e7, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x82e8, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x82ea, ALP_ORDER_BOPOMOFO_LETTER_B_I_ENG },
+       { 0x82eb, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x82ec, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x82ed, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x82ef, ALP_ORDER_BOPOMOFO_LETTER_B_EN },
+       { 0x82f0, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x82f1, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x82f2, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x82f3, ALP_ORDER_BOPOMOFO_LETTER_D_U_ENG },
+       { 0x82f4, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x82f5, ALP_ORDER_BOPOMOFO_LETTER_D_I_EH },
+       { 0x82f6, ALP_ORDER_BOPOMOFO_LETTER_N_I_EH },
+       { 0x82f9, ALP_ORDER_BOPOMOFO_LETTER_P_I_ENG },
+       { 0x82fa, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x82fb, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x82fe, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x8300, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x8301, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O },
+       { 0x8302, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x8303, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x8304, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x8305, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x8306, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x8307, ALP_ORDER_BOPOMOFO_LETTER_B_A },
+       { 0x8308, ALP_ORDER_BOPOMOFO_LETTER_C },
+       { 0x8309, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x830c, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x830d, ALP_ORDER_BOPOMOFO_LETTER_G_OU },
+       { 0x8316, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x8317, ALP_ORDER_BOPOMOFO_LETTER_M_I_ENG },
+       { 0x8319, ALP_ORDER_BOPOMOFO_LETTER_R_U_ENG },
+       { 0x831b, ALP_ORDER_BOPOMOFO_LETTER_G_EN },
+       { 0x831c, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x831e, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x8320, ALP_ORDER_BOPOMOFO_LETTER_X_I_OU },
+       { 0x8322, ALP_ORDER_BOPOMOFO_LETTER_L_I_EH },
+       { 0x8324, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x8325, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x8326, ALP_ORDER_BOPOMOFO_LETTER_C_E },
+       { 0x8327, ALP_ORDER_BOPOMOFO_LETTER_CH_U_ENG },
+       { 0x8328, ALP_ORDER_BOPOMOFO_LETTER_C },
+       { 0x8329, ALP_ORDER_BOPOMOFO_LETTER_G_OU },
+       { 0x832a, ALP_ORDER_BOPOMOFO_LETTER_G_U_ANG },
+       { 0x832b, ALP_ORDER_BOPOMOFO_LETTER_M_ANG },
+       { 0x832c, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x832d, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x832f, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x8331, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x8332, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x8333, ALP_ORDER_BOPOMOFO_LETTER_J_I_ANG },
+       { 0x8334, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x8335, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x8336, ALP_ORDER_BOPOMOFO_LETTER_CH_A },
+       { 0x8337, ALP_ORDER_BOPOMOFO_LETTER_F_A },
+       { 0x8338, ALP_ORDER_BOPOMOFO_LETTER_R_U_ENG },
+       { 0x8339, ALP_ORDER_BOPOMOFO_LETTER_R_U },
+       { 0x833a, ALP_ORDER_BOPOMOFO_LETTER_CH_U_ENG },
+       { 0x833b, ALP_ORDER_BOPOMOFO_LETTER_M_ANG },
+       { 0x833c, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x833f, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x8340, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x8341, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x8342, ALP_ORDER_BOPOMOFO_LETTER_K_U_A },
+       { 0x8343, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x8344, ALP_ORDER_BOPOMOFO_LETTER_G_AI },
+       { 0x8345, ALP_ORDER_BOPOMOFO_LETTER_D_A },
+       { 0x8347, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x8348, ALP_ORDER_BOPOMOFO_LETTER_CH_U_AN },
+       { 0x8349, ALP_ORDER_BOPOMOFO_LETTER_C_AU },
+       { 0x834a, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x834b, ALP_ORDER_BOPOMOFO_LETTER_ER },
+       { 0x834c, ALP_ORDER_BOPOMOFO_LETTER_AN },
+       { 0x834d, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x834e, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x834f, ALP_ORDER_BOPOMOFO_LETTER_R_EN },
+       { 0x8350, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x8351, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x8352, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x8353, ALP_ORDER_BOPOMOFO_LETTER_P_I_ENG },
+       { 0x8354, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x8356, ALP_ORDER_BOPOMOFO_LETTER_L_AU },
+       { 0x8373, ALP_ORDER_BOPOMOFO_LETTER_D_OU },
+       { 0x8374, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x8375, ALP_ORDER_BOPOMOFO_LETTER_R_EN },
+       { 0x8376, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x8377, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x8378, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x837a, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x837b, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x837c, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x837d, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x837e, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x837f, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x8381, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x8383, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x8386, ALP_ORDER_BOPOMOFO_LETTER_P_U },
+       { 0x8387, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x8388, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x8389, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x838a, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ANG },
+       { 0x838b, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x838c, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x838d, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x838e, ALP_ORDER_BOPOMOFO_LETTER_SH_A },
+       { 0x838f, ALP_ORDER_BOPOMOFO_LETTER_S_U_O },
+       { 0x8390, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x8392, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x8393, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x8394, ALP_ORDER_BOPOMOFO_LETTER_M_ENG },
+       { 0x8395, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x8396, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x8397, ALP_ORDER_BOPOMOFO_LETTER_CH_E },
+       { 0x8398, ALP_ORDER_BOPOMOFO_LETTER_X_I_EN },
+       { 0x8399, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EN },
+       { 0x839a, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x839b, ALP_ORDER_BOPOMOFO_LETTER_T_I_ENG },
+       { 0x839d, ALP_ORDER_BOPOMOFO_LETTER_C_U_O },
+       { 0x839e, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x83a0, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x83a2, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x83a3, ALP_ORDER_BOPOMOFO_LETTER_U_ANG },
+       { 0x83a4, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x83a5, ALP_ORDER_BOPOMOFO_LETTER_CH_OU },
+       { 0x83a6, ALP_ORDER_BOPOMOFO_LETTER_SH_AU },
+       { 0x83a7, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x83a8, ALP_ORDER_BOPOMOFO_LETTER_L_I_ANG },
+       { 0x83a9, ALP_ORDER_BOPOMOFO_LETTER_P_I_AU },
+       { 0x83aa, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x83ab, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x83ae, ALP_ORDER_BOPOMOFO_LETTER_N_AN },
+       { 0x83af, ALP_ORDER_BOPOMOFO_LETTER_M_U },
+       { 0x83b0, ALP_ORDER_BOPOMOFO_LETTER_K_AN },
+       { 0x83bd, ALP_ORDER_BOPOMOFO_LETTER_M_ANG },
+       { 0x83bf, ALP_ORDER_BOPOMOFO_LETTER_C },
+       { 0x83c0, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x83c1, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x83c2, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x83c3, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x83c4, ALP_ORDER_BOPOMOFO_LETTER_D_U_ENG },
+       { 0x83c5, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x83c6, ALP_ORDER_BOPOMOFO_LETTER_Z_OU },
+       { 0x83c7, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x83c8, ALP_ORDER_BOPOMOFO_LETTER_L_A },
+       { 0x83c9, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x83ca, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x83cb, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x83cc, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EN },
+       { 0x83ce, ALP_ORDER_BOPOMOFO_LETTER_K_U_EN },
+       { 0x83cf, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x83d1, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x83d4, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x83d5, ALP_ORDER_BOPOMOFO_LETTER_L_U_EN },
+       { 0x83d6, ALP_ORDER_BOPOMOFO_LETTER_CH_ANG },
+       { 0x83d7, ALP_ORDER_BOPOMOFO_LETTER_CH_OU },
+       { 0x83d8, ALP_ORDER_BOPOMOFO_LETTER_S_U_ENG },
+       { 0x83d9, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EI },
+       { 0x83db, ALP_ORDER_BOPOMOFO_LETTER_M_EN },
+       { 0x83dc, ALP_ORDER_BOPOMOFO_LETTER_C_AI },
+       { 0x83dd, ALP_ORDER_BOPOMOFO_LETTER_B_A },
+       { 0x83de, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x83df, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x83e0, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x83e1, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x83e2, ALP_ORDER_BOPOMOFO_LETTER_B_AU },
+       { 0x83e3, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EN },
+       { 0x83e4, ALP_ORDER_BOPOMOFO_LETTER_J_IU_AN },
+       { 0x83e5, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x83e7, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x83e8, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x83e9, ALP_ORDER_BOPOMOFO_LETTER_P_U },
+       { 0x83ea, ALP_ORDER_BOPOMOFO_LETTER_D_ANG },
+       { 0x83eb, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x83ec, ALP_ORDER_BOPOMOFO_LETTER_ZH_AU },
+       { 0x83ee, ALP_ORDER_BOPOMOFO_LETTER_G_ENG },
+       { 0x83ef, ALP_ORDER_BOPOMOFO_LETTER_H_U_A },
+       { 0x83f0, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x83f1, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x83f2, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x83f3, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x83f4, ALP_ORDER_BOPOMOFO_LETTER_AN },
+       { 0x83f5, ALP_ORDER_BOPOMOFO_LETTER_U_ANG },
+       { 0x83f6, ALP_ORDER_BOPOMOFO_LETTER_B_ENG },
+       { 0x83f8, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x83f9, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x83fa, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x83fb, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x83fc, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x83fd, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x83fe, ALP_ORDER_BOPOMOFO_LETTER_T_I_AN },
+       { 0x83ff, ALP_ORDER_BOPOMOFO_LETTER_D_AU },
+       { 0x8401, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x8403, ALP_ORDER_BOPOMOFO_LETTER_C_U_EI },
+       { 0x8404, ALP_ORDER_BOPOMOFO_LETTER_T_AU },
+       { 0x8406, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x8407, ALP_ORDER_BOPOMOFO_LETTER_CH_ANG },
+       { 0x8409, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x840a, ALP_ORDER_BOPOMOFO_LETTER_L_AI },
+       { 0x840b, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x840c, ALP_ORDER_BOPOMOFO_LETTER_M_ENG },
+       { 0x840d, ALP_ORDER_BOPOMOFO_LETTER_P_I_ENG },
+       { 0x840e, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x840f, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x8410, ALP_ORDER_BOPOMOFO_LETTER_SH_A },
+       { 0x8411, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x8412, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x8413, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x841b, ALP_ORDER_BOPOMOFO_LETTER_J_I_OU },
+       { 0x8423, ALP_ORDER_BOPOMOFO_LETTER_D_I_ENG },
+       { 0x8429, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x842b, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x842c, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x842d, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x842f, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x8430, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x8431, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x8432, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x8433, ALP_ORDER_BOPOMOFO_LETTER_N_AN },
+       { 0x8434, ALP_ORDER_BOPOMOFO_LETTER_Z_E },
+       { 0x8435, ALP_ORDER_BOPOMOFO_LETTER_U_O },
+       { 0x8436, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EN },
+       { 0x8437, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x8438, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x8439, ALP_ORDER_BOPOMOFO_LETTER_B_I_AN },
+       { 0x843a, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x843b, ALP_ORDER_BOPOMOFO_LETTER_AN },
+       { 0x843c, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x843d, ALP_ORDER_BOPOMOFO_LETTER_L_U_O },
+       { 0x843f, ALP_ORDER_BOPOMOFO_LETTER_H_U_O },
+       { 0x8440, ALP_ORDER_BOPOMOFO_LETTER_G_U_A },
+       { 0x8442, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x8443, ALP_ORDER_BOPOMOFO_LETTER_Z_U_O },
+       { 0x8444, ALP_ORDER_BOPOMOFO_LETTER_Z_U_O },
+       { 0x8445, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x8446, ALP_ORDER_BOPOMOFO_LETTER_B_AU },
+       { 0x8447, ALP_ORDER_BOPOMOFO_LETTER_R_OU },
+       { 0x8449, ALP_ORDER_BOPOMOFO_LETTER_I_EH },
+       { 0x844b, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x844c, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x844d, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x844e, ALP_ORDER_BOPOMOFO_LETTER_L_IU },
+       { 0x8450, ALP_ORDER_BOPOMOFO_LETTER_P_EN },
+       { 0x8451, ALP_ORDER_BOPOMOFO_LETTER_F_ENG },
+       { 0x8452, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x8454, ALP_ORDER_BOPOMOFO_LETTER_H_OU },
+       { 0x8456, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x8457, ALP_ORDER_BOPOMOFO_LETTER_ZH_E },
+       { 0x8459, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x845a, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x845b, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x845d, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x845e, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x845f, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x8460, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x8461, ALP_ORDER_BOPOMOFO_LETTER_P_U },
+       { 0x8463, ALP_ORDER_BOPOMOFO_LETTER_D_U_ENG },
+       { 0x8465, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x8466, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x8467, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x8468, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x8469, ALP_ORDER_BOPOMOFO_LETTER_P_A },
+       { 0x846b, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x846c, ALP_ORDER_BOPOMOFO_LETTER_Z_ANG },
+       { 0x846d, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x846e, ALP_ORDER_BOPOMOFO_LETTER_D_U_AN },
+       { 0x846f, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x8470, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EN },
+       { 0x8473, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x8474, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x8475, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x8476, ALP_ORDER_BOPOMOFO_LETTER_T_I_ENG },
+       { 0x8477, ALP_ORDER_BOPOMOFO_LETTER_H_U_EN },
+       { 0x8478, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x8479, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x847a, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x847d, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x847e, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x8482, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x8486, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_ENG },
+       { 0x848d, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x848e, ALP_ORDER_BOPOMOFO_LETTER_P_AI },
+       { 0x848f, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x8490, ALP_ORDER_BOPOMOFO_LETTER_S_OU },
+       { 0x8491, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x8494, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x8497, ALP_ORDER_BOPOMOFO_LETTER_L_ANG },
+       { 0x8498, ALP_ORDER_BOPOMOFO_LETTER_R_U },
+       { 0x8499, ALP_ORDER_BOPOMOFO_LETTER_M_ENG },
+       { 0x849a, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x849b, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_EH },
+       { 0x849c, ALP_ORDER_BOPOMOFO_LETTER_S_U_AN },
+       { 0x849d, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x849e, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x849f, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x84a0, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x84a1, ALP_ORDER_BOPOMOFO_LETTER_B_ANG },
+       { 0x84a2, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x84a4, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x84a7, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x84a8, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x84a9, ALP_ORDER_BOPOMOFO_LETTER_Z_U },
+       { 0x84aa, ALP_ORDER_BOPOMOFO_LETTER_P_O },
+       { 0x84ab, ALP_ORDER_BOPOMOFO_LETTER_C_U_O },
+       { 0x84ac, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x84ae, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x84af, ALP_ORDER_BOPOMOFO_LETTER_K_U_AI },
+       { 0x84b0, ALP_ORDER_BOPOMOFO_LETTER_P_AN },
+       { 0x84b1, ALP_ORDER_BOPOMOFO_LETTER_P_U },
+       { 0x84b2, ALP_ORDER_BOPOMOFO_LETTER_P_U },
+       { 0x84b4, ALP_ORDER_BOPOMOFO_LETTER_SH_U_O },
+       { 0x84b6, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x84b8, ALP_ORDER_BOPOMOFO_LETTER_ZH_ENG },
+       { 0x84b9, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x84ba, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x84bb, ALP_ORDER_BOPOMOFO_LETTER_R_U_O },
+       { 0x84bc, ALP_ORDER_BOPOMOFO_LETTER_C_ANG },
+       { 0x84bf, ALP_ORDER_BOPOMOFO_LETTER_H_AU },
+       { 0x84c0, ALP_ORDER_BOPOMOFO_LETTER_S_U_EN },
+       { 0x84c1, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x84c2, ALP_ORDER_BOPOMOFO_LETTER_M_I_ENG },
+       { 0x84c4, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x84c5, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x84c6, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x84c7, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x84c9, ALP_ORDER_BOPOMOFO_LETTER_R_U_ENG },
+       { 0x84ca, ALP_ORDER_BOPOMOFO_LETTER_U_ENG },
+       { 0x84cb, ALP_ORDER_BOPOMOFO_LETTER_G_AI },
+       { 0x84cc, ALP_ORDER_BOPOMOFO_LETTER_C_U_O },
+       { 0x84cd, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x84ce, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x84cf, ALP_ORDER_BOPOMOFO_LETTER_L_U_O },
+       { 0x84d0, ALP_ORDER_BOPOMOFO_LETTER_R_U },
+       { 0x84d1, ALP_ORDER_BOPOMOFO_LETTER_S_U_O },
+       { 0x84d2, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x84d3, ALP_ORDER_BOPOMOFO_LETTER_B_EI },
+       { 0x84d4, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x84d6, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x84d7, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x84db, ALP_ORDER_BOPOMOFO_LETTER_C_E },
+       { 0x84e7, ALP_ORDER_BOPOMOFO_LETTER_D_I_AU },
+       { 0x84e8, ALP_ORDER_BOPOMOFO_LETTER_X_I_OU },
+       { 0x84e9, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x84ea, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x84eb, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x84ec, ALP_ORDER_BOPOMOFO_LETTER_P_ENG },
+       { 0x84ee, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x84ef, ALP_ORDER_BOPOMOFO_LETTER_C_U_ENG },
+       { 0x84f0, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x84f1, ALP_ORDER_BOPOMOFO_LETTER_P_I_ENG },
+       { 0x84f2, ALP_ORDER_BOPOMOFO_LETTER_OU },
+       { 0x84f3, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x84f4, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EN },
+       { 0x84f6, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x84f7, ALP_ORDER_BOPOMOFO_LETTER_T_U_EI },
+       { 0x84f9, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x84fa, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x84fb, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x84fc, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x84fd, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x84fe, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x84ff, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x8500, ALP_ORDER_BOPOMOFO_LETTER_B_U },
+       { 0x8502, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x8506, ALP_ORDER_BOPOMOFO_LETTER_L_ENG },
+       { 0x8507, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x8508, ALP_ORDER_BOPOMOFO_LETTER_B_I_AU },
+       { 0x8509, ALP_ORDER_BOPOMOFO_LETTER_G_U_EN },
+       { 0x850a, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x850b, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x850c, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x850d, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x850e, ALP_ORDER_BOPOMOFO_LETTER_SH_E },
+       { 0x850f, ALP_ORDER_BOPOMOFO_LETTER_SH_ANG },
+       { 0x8511, ALP_ORDER_BOPOMOFO_LETTER_M_I_EH },
+       { 0x8512, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x8513, ALP_ORDER_BOPOMOFO_LETTER_M_AN },
+       { 0x8514, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x8515, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x8516, ALP_ORDER_BOPOMOFO_LETTER_C_U_O },
+       { 0x8517, ALP_ORDER_BOPOMOFO_LETTER_ZH_E },
+       { 0x8518, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x8519, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x851a, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x851c, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x851d, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x851e, ALP_ORDER_BOPOMOFO_LETTER_L_OU },
+       { 0x851f, ALP_ORDER_BOPOMOFO_LETTER_C_U },
+       { 0x8520, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ENG },
+       { 0x8521, ALP_ORDER_BOPOMOFO_LETTER_C_AI },
+       { 0x8523, ALP_ORDER_BOPOMOFO_LETTER_J_I_ANG },
+       { 0x8524, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x8525, ALP_ORDER_BOPOMOFO_LETTER_C_U_ENG },
+       { 0x8526, ALP_ORDER_BOPOMOFO_LETTER_N_I_AU },
+       { 0x8527, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x8528, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EN },
+       { 0x8529, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x852a, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x852b, ALP_ORDER_BOPOMOFO_LETTER_N_I_AN },
+       { 0x852c, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x852d, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x852e, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x852f, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x8530, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x8531, ALP_ORDER_BOPOMOFO_LETTER_SH_A },
+       { 0x853b, ALP_ORDER_BOPOMOFO_LETTER_K_OU },
+       { 0x853d, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x853e, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x8540, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x8541, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x8543, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x8544, ALP_ORDER_BOPOMOFO_LETTER_M_ENG },
+       { 0x8545, ALP_ORDER_BOPOMOFO_LETTER_OU },
+       { 0x8546, ALP_ORDER_BOPOMOFO_LETTER_CH_AN }
+};
+
+static han_map HANZI_TO_BPMF_MAP_8[] = {
+       { 0x8547, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x8548, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x8549, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x854a, ALP_ORDER_BOPOMOFO_LETTER_R_U_EI },
+       { 0x854d, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x854e, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x8551, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x8553, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x8554, ALP_ORDER_BOPOMOFO_LETTER_B_AU },
+       { 0x8555, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x8556, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x8557, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x8558, ALP_ORDER_BOPOMOFO_LETTER_R_AU },
+       { 0x8559, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x855b, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x855d, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x855e, ALP_ORDER_BOPOMOFO_LETTER_Z_U_EI },
+       { 0x8560, ALP_ORDER_BOPOMOFO_LETTER_R_U },
+       { 0x8561, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x8562, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x8563, ALP_ORDER_BOPOMOFO_LETTER_SH_U_EN },
+       { 0x8564, ALP_ORDER_BOPOMOFO_LETTER_R_U_EI },
+       { 0x8565, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x8566, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x8567, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x8568, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x8569, ALP_ORDER_BOPOMOFO_LETTER_D_ANG },
+       { 0x856a, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x856b, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x856c, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x856d, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x856e, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x8571, ALP_ORDER_BOPOMOFO_LETTER_SH_AU },
+       { 0x8575, ALP_ORDER_BOPOMOFO_LETTER_S_U_EN },
+       { 0x8576, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x8577, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x8578, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x8579, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x857a, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x857b, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x857c, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x857e, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x8580, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x8581, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x8582, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x8583, ALP_ORDER_BOPOMOFO_LETTER_H_AU },
+       { 0x8584, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x8585, ALP_ORDER_BOPOMOFO_LETTER_H_AU },
+       { 0x8586, ALP_ORDER_BOPOMOFO_LETTER_AI },
+       { 0x8587, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x8588, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x8589, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x858a, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x858b, ALP_ORDER_BOPOMOFO_LETTER_C },
+       { 0x858c, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x858d, ALP_ORDER_BOPOMOFO_LETTER_L_U_AN },
+       { 0x858e, ALP_ORDER_BOPOMOFO_LETTER_M_I_EH },
+       { 0x858f, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x8590, ALP_ORDER_BOPOMOFO_LETTER_L_ENG },
+       { 0x8591, ALP_ORDER_BOPOMOFO_LETTER_J_I_ANG },
+       { 0x8594, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ANG },
+       { 0x8595, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x8596, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x8598, ALP_ORDER_BOPOMOFO_LETTER_D_A },
+       { 0x8599, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x859a, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x859b, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EH },
+       { 0x859c, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x859d, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x859e, ALP_ORDER_BOPOMOFO_LETTER_S_U_EN },
+       { 0x859f, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x85a0, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x85a1, ALP_ORDER_BOPOMOFO_LETTER_D_I_ENG },
+       { 0x85a2, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x85a3, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x85a4, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x85a6, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x85a7, ALP_ORDER_BOPOMOFO_LETTER_K_AU },
+       { 0x85a8, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x85a9, ALP_ORDER_BOPOMOFO_LETTER_S_A },
+       { 0x85aa, ALP_ORDER_BOPOMOFO_LETTER_X_I_EN },
+       { 0x85af, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x85b0, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x85b1, ALP_ORDER_BOPOMOFO_LETTER_D_U_EI },
+       { 0x85b3, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x85b4, ALP_ORDER_BOPOMOFO_LETTER_N_I_ENG },
+       { 0x85b5, ALP_ORDER_BOPOMOFO_LETTER_CH_OU },
+       { 0x85b6, ALP_ORDER_BOPOMOFO_LETTER_M_AI },
+       { 0x85b7, ALP_ORDER_BOPOMOFO_LETTER_R_U },
+       { 0x85b8, ALP_ORDER_BOPOMOFO_LETTER_P_I_AU },
+       { 0x85b9, ALP_ORDER_BOPOMOFO_LETTER_T_AI },
+       { 0x85ba, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x85bd, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x85be, ALP_ORDER_BOPOMOFO_LETTER_ER },
+       { 0x85bf, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x85c0, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x85c2, ALP_ORDER_BOPOMOFO_LETTER_C_U_ENG },
+       { 0x85c3, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x85c4, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x85c5, ALP_ORDER_BOPOMOFO_LETTER_F_A },
+       { 0x85c6, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x85c7, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x85c8, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x85c9, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x85cb, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x85cd, ALP_ORDER_BOPOMOFO_LETTER_L_AN },
+       { 0x85ce, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x85cf, ALP_ORDER_BOPOMOFO_LETTER_C_ANG },
+       { 0x85d0, ALP_ORDER_BOPOMOFO_LETTER_M_I_AU },
+       { 0x85d1, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_ENG },
+       { 0x85d2, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EH },
+       { 0x85d5, ALP_ORDER_BOPOMOFO_LETTER_OU },
+       { 0x85d7, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x85d8, ALP_ORDER_BOPOMOFO_LETTER_L_IU },
+       { 0x85d9, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x85da, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x85dc, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x85dd, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x85de, ALP_ORDER_BOPOMOFO_LETTER_L_A },
+       { 0x85df, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x85e1, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x85e2, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x85e3, ALP_ORDER_BOPOMOFO_LETTER_B_A },
+       { 0x85e4, ALP_ORDER_BOPOMOFO_LETTER_T_ENG },
+       { 0x85e5, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x85e6, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x85e8, ALP_ORDER_BOPOMOFO_LETTER_B_I_AU },
+       { 0x85e9, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x85ea, ALP_ORDER_BOPOMOFO_LETTER_S_OU },
+       { 0x85eb, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x85ec, ALP_ORDER_BOPOMOFO_LETTER_T_U_EI },
+       { 0x85ed, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_ENG },
+       { 0x85ef, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x85f0, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x85f1, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x85f2, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x85f6, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x85f7, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x85f8, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x85f9, ALP_ORDER_BOPOMOFO_LETTER_AI },
+       { 0x85fa, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x85fb, ALP_ORDER_BOPOMOFO_LETTER_Z_AU },
+       { 0x85fd, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x85fe, ALP_ORDER_BOPOMOFO_LETTER_L_AI },
+       { 0x85ff, ALP_ORDER_BOPOMOFO_LETTER_H_U_O },
+       { 0x8600, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x8601, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x8604, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x8605, ALP_ORDER_BOPOMOFO_LETTER_H_ENG },
+       { 0x8606, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x8607, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x8609, ALP_ORDER_BOPOMOFO_LETTER_M_ANG },
+       { 0x860a, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x860b, ALP_ORDER_BOPOMOFO_LETTER_P_I_ENG },
+       { 0x860c, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x8611, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x8617, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x8618, ALP_ORDER_BOPOMOFO_LETTER_R_ANG },
+       { 0x8619, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x861a, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x861b, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x861c, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x861e, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x861f, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x8620, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ANG },
+       { 0x8621, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x8622, ALP_ORDER_BOPOMOFO_LETTER_L_U_ENG },
+       { 0x8623, ALP_ORDER_BOPOMOFO_LETTER_T_OU },
+       { 0x8624, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x8625, ALP_ORDER_BOPOMOFO_LETTER_IU_EH },
+       { 0x8626, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x8627, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x8629, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x862a, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x862c, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x862d, ALP_ORDER_BOPOMOFO_LETTER_L_AN },
+       { 0x862e, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x8631, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x8632, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x8633, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x8634, ALP_ORDER_BOPOMOFO_LETTER_F_ENG },
+       { 0x8635, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x8636, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x8638, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x8639, ALP_ORDER_BOPOMOFO_LETTER_H_U_AI },
+       { 0x863a, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x863b, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x863c, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x863e, ALP_ORDER_BOPOMOFO_LETTER_H_U_AI },
+       { 0x863f, ALP_ORDER_BOPOMOFO_LETTER_L_U_O },
+       { 0x8640, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x8643, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x8646, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x8647, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x8648, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x864b, ALP_ORDER_BOPOMOFO_LETTER_M_EN },
+       { 0x864c, ALP_ORDER_BOPOMOFO_LETTER_B_I_EH },
+       { 0x864d, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x864e, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x8650, ALP_ORDER_BOPOMOFO_LETTER_N_IU_EH },
+       { 0x8652, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x8653, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x8654, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x8655, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x8656, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x8659, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x865b, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x865c, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x865e, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x865f, ALP_ORDER_BOPOMOFO_LETTER_H_AU },
+       { 0x8661, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x8662, ALP_ORDER_BOPOMOFO_LETTER_G_U_O },
+       { 0x8663, ALP_ORDER_BOPOMOFO_LETTER_B_AU },
+       { 0x8664, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x8665, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x8667, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x8668, ALP_ORDER_BOPOMOFO_LETTER_B_AN },
+       { 0x8669, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x866a, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x866b, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x866d, ALP_ORDER_BOPOMOFO_LETTER_D_I_AU },
+       { 0x866e, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x866f, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x8670, ALP_ORDER_BOPOMOFO_LETTER_D_I_ENG },
+       { 0x8671, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x8673, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x8674, ALP_ORDER_BOPOMOFO_LETTER_ZH_E },
+       { 0x8677, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x8679, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x867a, ALP_ORDER_BOPOMOFO_LETTER_H_AI },
+       { 0x867b, ALP_ORDER_BOPOMOFO_LETTER_M_ENG },
+       { 0x867c, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x8685, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x8686, ALP_ORDER_BOPOMOFO_LETTER_P_A },
+       { 0x8687, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x868a, ALP_ORDER_BOPOMOFO_LETTER_U_EN },
+       { 0x868b, ALP_ORDER_BOPOMOFO_LETTER_R_U_EI },
+       { 0x868c, ALP_ORDER_BOPOMOFO_LETTER_B_ANG },
+       { 0x868d, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x868e, ALP_ORDER_BOPOMOFO_LETTER_IU_EH },
+       { 0x8690, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EN },
+       { 0x8691, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x8693, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x8694, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x8695, ALP_ORDER_BOPOMOFO_LETTER_T_I_AN },
+       { 0x8696, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x8697, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x8698, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x8699, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x869a, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x869c, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x869d, ALP_ORDER_BOPOMOFO_LETTER_C },
+       { 0x869e, ALP_ORDER_BOPOMOFO_LETTER_M_U },
+       { 0x86a1, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x86a2, ALP_ORDER_BOPOMOFO_LETTER_H_ANG },
+       { 0x86a3, ALP_ORDER_BOPOMOFO_LETTER_G_U_ENG },
+       { 0x86a4, ALP_ORDER_BOPOMOFO_LETTER_Z_AU },
+       { 0x86a5, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x86a7, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x86a8, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x86a9, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x86aa, ALP_ORDER_BOPOMOFO_LETTER_D_OU },
+       { 0x86af, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x86b0, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x86b1, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x86b3, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x86b4, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x86b5, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x86b6, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x86b7, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x86b8, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x86b9, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x86ba, ALP_ORDER_BOPOMOFO_LETTER_R_AN },
+       { 0x86bb, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x86bc, ALP_ORDER_BOPOMOFO_LETTER_G_OU },
+       { 0x86bd, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x86be, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x86bf, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x86c0, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x86c1, ALP_ORDER_BOPOMOFO_LETTER_D_I_AU },
+       { 0x86c2, ALP_ORDER_BOPOMOFO_LETTER_B_I_EH },
+       { 0x86c3, ALP_ORDER_BOPOMOFO_LETTER_B_I_ENG },
+       { 0x86c4, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x86c5, ALP_ORDER_BOPOMOFO_LETTER_R_AN },
+       { 0x86c6, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x86c7, ALP_ORDER_BOPOMOFO_LETTER_SH_E },
+       { 0x86c8, ALP_ORDER_BOPOMOFO_LETTER_T_I_EH },
+       { 0x86c9, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x86cb, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x86cc, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x86d0, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x86d1, ALP_ORDER_BOPOMOFO_LETTER_M_OU },
+       { 0x86d3, ALP_ORDER_BOPOMOFO_LETTER_C },
+       { 0x86d4, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x86d6, ALP_ORDER_BOPOMOFO_LETTER_M_ANG },
+       { 0x86d7, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x86d8, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x86d9, ALP_ORDER_BOPOMOFO_LETTER_U_A },
+       { 0x86da, ALP_ORDER_BOPOMOFO_LETTER_L_I_EH },
+       { 0x86db, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x86dc, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x86dd, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x86de, ALP_ORDER_BOPOMOFO_LETTER_K_U_O },
+       { 0x86df, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x86e2, ALP_ORDER_BOPOMOFO_LETTER_P_I_ENG },
+       { 0x86e3, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x86e4, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x86e6, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x86e8, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x86e9, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_ENG },
+       { 0x86ea, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EH },
+       { 0x86eb, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x86ec, ALP_ORDER_BOPOMOFO_LETTER_G_U_ENG },
+       { 0x86ed, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x86f5, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x86f6, ALP_ORDER_BOPOMOFO_LETTER_L_I_EH },
+       { 0x86f7, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x86f8, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x86f9, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x86fa, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x86fb, ALP_ORDER_BOPOMOFO_LETTER_T_U_EI },
+       { 0x86fe, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x8700, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x8701, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x8702, ALP_ORDER_BOPOMOFO_LETTER_F_ENG },
+       { 0x8703, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x8704, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x8705, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x8706, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x8707, ALP_ORDER_BOPOMOFO_LETTER_ZH_E },
+       { 0x8708, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x8709, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x870a, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x870b, ALP_ORDER_BOPOMOFO_LETTER_L_ANG },
+       { 0x870c, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x870d, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x870e, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x8711, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x8712, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x8713, ALP_ORDER_BOPOMOFO_LETTER_T_I_ENG },
+       { 0x8718, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x8719, ALP_ORDER_BOPOMOFO_LETTER_S_U_ENG },
+       { 0x871a, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x871b, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x871c, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x871e, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x8720, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EN },
+       { 0x8721, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x8722, ALP_ORDER_BOPOMOFO_LETTER_M_ENG },
+       { 0x8723, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ANG },
+       { 0x8724, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x8725, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x8726, ALP_ORDER_BOPOMOFO_LETTER_L_U_EN },
+       { 0x8727, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x8728, ALP_ORDER_BOPOMOFO_LETTER_D_I_EH },
+       { 0x8729, ALP_ORDER_BOPOMOFO_LETTER_T_I_AU },
+       { 0x872a, ALP_ORDER_BOPOMOFO_LETTER_T_AU },
+       { 0x872c, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x872d, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x872e, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x8730, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x8731, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x8732, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x8733, ALP_ORDER_BOPOMOFO_LETTER_D_U_EN },
+       { 0x8734, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x8735, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x8737, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x8738, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x873a, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x873b, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ENG },
+       { 0x873c, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x873e, ALP_ORDER_BOPOMOFO_LETTER_G_U_O },
+       { 0x873f, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x8740, ALP_ORDER_BOPOMOFO_LETTER_D_U_ENG },
+       { 0x8741, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x8742, ALP_ORDER_BOPOMOFO_LETTER_B_AN },
+       { 0x8743, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O },
+       { 0x8746, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x874c, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x874d, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x874e, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x874f, ALP_ORDER_BOPOMOFO_LETTER_T_I_ENG },
+       { 0x8750, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x8751, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x8752, ALP_ORDER_BOPOMOFO_LETTER_M_I_AN },
+       { 0x8753, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x8754, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x8755, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x8756, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x8757, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x8758, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x8759, ALP_ORDER_BOPOMOFO_LETTER_B_I_AN },
+       { 0x875a, ALP_ORDER_BOPOMOFO_LETTER_R_OU },
+       { 0x875b, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x875c, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x875d, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x875e, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x875f, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x8760, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x8761, ALP_ORDER_BOPOMOFO_LETTER_R_U_AN },
+       { 0x8762, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x8763, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x8764, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x8765, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x8766, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x8767, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x8768, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x8769, ALP_ORDER_BOPOMOFO_LETTER_CH_U_ENG },
+       { 0x876a, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x876b, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x876c, ALP_ORDER_BOPOMOFO_LETTER_Z_U_ENG },
+       { 0x876d, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x876e, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x876f, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x8773, ALP_ORDER_BOPOMOFO_LETTER_D_U },
+       { 0x8774, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x8775, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x8776, ALP_ORDER_BOPOMOFO_LETTER_D_I_EH },
+       { 0x8777, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x8778, ALP_ORDER_BOPOMOFO_LETTER_G_U_A },
+       { 0x8779, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x877a, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x877b, ALP_ORDER_BOPOMOFO_LETTER_N_AN },
+       { 0x8781, ALP_ORDER_BOPOMOFO_LETTER_T_U_EI },
+       { 0x8782, ALP_ORDER_BOPOMOFO_LETTER_L_ANG },
+       { 0x8783, ALP_ORDER_BOPOMOFO_LETTER_P_ANG },
+       { 0x8784, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x8785, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x8787, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x8788, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x8789, ALP_ORDER_BOPOMOFO_LETTER_U_ENG },
+       { 0x878d, ALP_ORDER_BOPOMOFO_LETTER_R_U_ENG },
+       { 0x878f, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x8790, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x8791, ALP_ORDER_BOPOMOFO_LETTER_X_I_OU },
+       { 0x8792, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x8793, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EN },
+       { 0x8794, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x8796, ALP_ORDER_BOPOMOFO_LETTER_H_U_A },
+       { 0x8797, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x8798, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x879a, ALP_ORDER_BOPOMOFO_LETTER_N_AI },
+       { 0x879b, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x879c, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x879d, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x879e, ALP_ORDER_BOPOMOFO_LETTER_M_A },
+       { 0x879f, ALP_ORDER_BOPOMOFO_LETTER_M_I_ENG },
+       { 0x87a2, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x87a3, ALP_ORDER_BOPOMOFO_LETTER_T_ENG },
+       { 0x87a4, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x87aa, ALP_ORDER_BOPOMOFO_LETTER_SH_ANG },
+       { 0x87ab, ALP_ORDER_BOPOMOFO_LETTER_ZH_E },
+       { 0x87ac, ALP_ORDER_BOPOMOFO_LETTER_C_AU },
+       { 0x87ad, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x87ae, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x87af, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x87b0, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x87b2, ALP_ORDER_BOPOMOFO_LETTER_D_I_EH },
+       { 0x87b3, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x87b4, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x87b5, ALP_ORDER_BOPOMOFO_LETTER_P_I_AU },
+       { 0x87b6, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x87b7, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x87b8, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x87b9, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x87ba, ALP_ORDER_BOPOMOFO_LETTER_L_U_O },
+       { 0x87bb, ALP_ORDER_BOPOMOFO_LETTER_L_OU },
+       { 0x87bc, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EN },
+       { 0x87bd, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ENG },
+       { 0x87be, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x87bf, ALP_ORDER_BOPOMOFO_LETTER_J_I_ANG },
+       { 0x87c0, ALP_ORDER_BOPOMOFO_LETTER_SH_U_AI },
+       { 0x87c2, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x87c3, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x87c4, ALP_ORDER_BOPOMOFO_LETTER_ZH_E },
+       { 0x87c5, ALP_ORDER_BOPOMOFO_LETTER_ZH_E },
+       { 0x87c6, ALP_ORDER_BOPOMOFO_LETTER_M_A },
+       { 0x87c8, ALP_ORDER_BOPOMOFO_LETTER_G_U_O },
+       { 0x87c9, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x87ca, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x87cb, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x87cc, ALP_ORDER_BOPOMOFO_LETTER_C_U_ENG },
+       { 0x87d1, ALP_ORDER_BOPOMOFO_LETTER_ZH_ANG },
+       { 0x87d2, ALP_ORDER_BOPOMOFO_LETTER_M_ANG },
+       { 0x87d3, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x87d4, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x87d7, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x87d8, ALP_ORDER_BOPOMOFO_LETTER_T_E },
+       { 0x87d9, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x87db, ALP_ORDER_BOPOMOFO_LETTER_P_ENG },
+       { 0x87dc, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x87dd, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x87de, ALP_ORDER_BOPOMOFO_LETTER_B_I_EH },
+       { 0x87df, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x87e0, ALP_ORDER_BOPOMOFO_LETTER_P_AN },
+       { 0x87e1, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x87e2, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x87e3, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x87e4, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_AN },
+       { 0x87e5, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x87e6, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x87e7, ALP_ORDER_BOPOMOFO_LETTER_L_AU },
+       { 0x87e8, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x87ea, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x87eb, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x87ec, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x87ed, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x87ef, ALP_ORDER_BOPOMOFO_LETTER_R_AU },
+       { 0x87f2, ALP_ORDER_BOPOMOFO_LETTER_CH_U_ENG },
+       { 0x87f3, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x87f4, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x87f6, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x87f7, ALP_ORDER_BOPOMOFO_LETTER_D_ANG },
+       { 0x87f9, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x87fa, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x87fb, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x87fc, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x87fe, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x87ff, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x8800, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x8801, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x8802, ALP_ORDER_BOPOMOFO_LETTER_SH_E },
+       { 0x8803, ALP_ORDER_BOPOMOFO_LETTER_L_U_O },
+       { 0x8805, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x8806, ALP_ORDER_BOPOMOFO_LETTER_CH_AI },
+       { 0x8808, ALP_ORDER_BOPOMOFO_LETTER_Z_E },
+       { 0x8809, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x880a, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x880b, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x880c, ALP_ORDER_BOPOMOFO_LETTER_Z_E },
+       { 0x880d, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x8810, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x8811, ALP_ORDER_BOPOMOFO_LETTER_R_U_ENG },
+       { 0x8813, ALP_ORDER_BOPOMOFO_LETTER_M_ENG },
+       { 0x8814, ALP_ORDER_BOPOMOFO_LETTER_H_AU },
+       { 0x8815, ALP_ORDER_BOPOMOFO_LETTER_R_U },
+       { 0x8816, ALP_ORDER_BOPOMOFO_LETTER_H_U_O },
+       { 0x8817, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O },
+       { 0x8819, ALP_ORDER_BOPOMOFO_LETTER_B_I_EN },
+       { 0x881b, ALP_ORDER_BOPOMOFO_LETTER_M_I_EH },
+       { 0x881c, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x881d, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x881f, ALP_ORDER_BOPOMOFO_LETTER_L_A },
+       { 0x8820, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x8821, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x8822, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EN },
+       { 0x8823, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x8824, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x8825, ALP_ORDER_BOPOMOFO_LETTER_N_I_EH },
+       { 0x8826, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x8828, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x8829, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x882a, ALP_ORDER_BOPOMOFO_LETTER_L_U_ENG },
+       { 0x882b, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x882c, ALP_ORDER_BOPOMOFO_LETTER_L_U_ENG },
+       { 0x882e, ALP_ORDER_BOPOMOFO_LETTER_I_EH },
+       { 0x882f, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x8830, ALP_ORDER_BOPOMOFO_LETTER_R_ANG },
+       { 0x8831, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x8832, ALP_ORDER_BOPOMOFO_LETTER_J_IU_AN },
+       { 0x8833, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x8835, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x8836, ALP_ORDER_BOPOMOFO_LETTER_C_AN },
+       { 0x8837, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x8838, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x8839, ALP_ORDER_BOPOMOFO_LETTER_D_U },
+       { 0x883b, ALP_ORDER_BOPOMOFO_LETTER_M_AN },
+       { 0x883c, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x883d, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x883e, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x883f, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x8840, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x8841, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x8843, ALP_ORDER_BOPOMOFO_LETTER_P_EI },
+       { 0x8844, ALP_ORDER_BOPOMOFO_LETTER_N_IU },
+       { 0x8848, ALP_ORDER_BOPOMOFO_LETTER_ER },
+       { 0x884a, ALP_ORDER_BOPOMOFO_LETTER_M_I_EH },
+       { 0x884b, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x884c, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x884d, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x884e, ALP_ORDER_BOPOMOFO_LETTER_K_AN },
+       { 0x8852, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x8853, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x8855, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x8856, ALP_ORDER_BOPOMOFO_LETTER_L_U_ENG },
+       { 0x8857, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x8859, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x885a, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x885b, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x885d, ALP_ORDER_BOPOMOFO_LETTER_CH_U_ENG },
+       { 0x8861, ALP_ORDER_BOPOMOFO_LETTER_H_ENG },
+       { 0x8862, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x8863, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x8867, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x8868, ALP_ORDER_BOPOMOFO_LETTER_B_I_AU },
+       { 0x8869, ALP_ORDER_BOPOMOFO_LETTER_CH_A },
+       { 0x886a, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x886b, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x886d, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x886f, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x8870, ALP_ORDER_BOPOMOFO_LETTER_SH_U_AI },
+       { 0x8871, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x8872, ALP_ORDER_BOPOMOFO_LETTER_N_A },
+       { 0x8874, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x8875, ALP_ORDER_BOPOMOFO_LETTER_R },
+       { 0x8876, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ENG },
+       { 0x8877, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ENG },
+       { 0x8879, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x887c, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x887d, ALP_ORDER_BOPOMOFO_LETTER_R_EN },
+       { 0x887e, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EN },
+       { 0x887f, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x8880, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EN },
+       { 0x8881, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x8882, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x8883, ALP_ORDER_BOPOMOFO_LETTER_CH_AI },
+       { 0x8888, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x8889, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x888b, ALP_ORDER_BOPOMOFO_LETTER_D_AI },
+       { 0x888c, ALP_ORDER_BOPOMOFO_LETTER_B_AU },
+       { 0x888d, ALP_ORDER_BOPOMOFO_LETTER_P_AU },
+       { 0x888e, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x8891, ALP_ORDER_BOPOMOFO_LETTER_SH_AU },
+       { 0x8892, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x8893, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x8895, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EH },
+       { 0x8896, ALP_ORDER_BOPOMOFO_LETTER_X_I_OU },
+       { 0x8897, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x8898, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x8899, ALP_ORDER_BOPOMOFO_LETTER_P_A },
+       { 0x889a, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x889b, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x889e, ALP_ORDER_BOPOMOFO_LETTER_G_U_EN },
+       { 0x889f, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x88a1, ALP_ORDER_BOPOMOFO_LETTER_R_AN },
+       { 0x88a2, ALP_ORDER_BOPOMOFO_LETTER_P_AN },
+       { 0x88a4, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x88a7, ALP_ORDER_BOPOMOFO_LETTER_K_OU },
+       { 0x88a8, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x88aa, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x88ab, ALP_ORDER_BOPOMOFO_LETTER_B_EI },
+       { 0x88ac, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x88b1, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x88b2, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x88b6, ALP_ORDER_BOPOMOFO_LETTER_J_I_ANG },
+       { 0x88b7, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x88b8, ALP_ORDER_BOPOMOFO_LETTER_C_U_EN },
+       { 0x88b9, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x88ba, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x88bc, ALP_ORDER_BOPOMOFO_LETTER_L_U_O },
+       { 0x88bd, ALP_ORDER_BOPOMOFO_LETTER_R_U },
+       { 0x88be, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x88c0, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x88c1, ALP_ORDER_BOPOMOFO_LETTER_C_AI },
+       { 0x88c2, ALP_ORDER_BOPOMOFO_LETTER_L_I_EH },
+       { 0x88c9, ALP_ORDER_BOPOMOFO_LETTER_K_EN },
+       { 0x88ca, ALP_ORDER_BOPOMOFO_LETTER_N_I_AU },
+       { 0x88cb, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x88cc, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x88cd, ALP_ORDER_BOPOMOFO_LETTER_K_U_EN },
+       { 0x88ce, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x88cf, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x88d0, ALP_ORDER_BOPOMOFO_LETTER_J_IU_AN },
+       { 0x88d2, ALP_ORDER_BOPOMOFO_LETTER_P_OU },
+       { 0x88d4, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x88d5, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x88d6, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x88d7, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x88d8, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x88d9, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_EN },
+       { 0x88da, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x88db, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x88dc, ALP_ORDER_BOPOMOFO_LETTER_B_U },
+       { 0x88dd, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ANG },
+       { 0x88de, ALP_ORDER_BOPOMOFO_LETTER_SH_U_EI },
+       { 0x88df, ALP_ORDER_BOPOMOFO_LETTER_SH_A },
+       { 0x88e1, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x88e7, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x88e8, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x88eb, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x88ec, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x88ee, ALP_ORDER_BOPOMOFO_LETTER_CH_ANG },
+       { 0x88ef, ALP_ORDER_BOPOMOFO_LETTER_CH_OU },
+       { 0x88f0, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x88f1, ALP_ORDER_BOPOMOFO_LETTER_B_I_AU },
+       { 0x88f2, ALP_ORDER_BOPOMOFO_LETTER_L_I_ANG },
+       { 0x88f3, ALP_ORDER_BOPOMOFO_LETTER_SH_ANG },
+       { 0x88f4, ALP_ORDER_BOPOMOFO_LETTER_P_EI },
+       { 0x88f6, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x88f7, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x88f8, ALP_ORDER_BOPOMOFO_LETTER_L_U_O },
+       { 0x88f9, ALP_ORDER_BOPOMOFO_LETTER_G_U_O },
+       { 0x88fa, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x88fb, ALP_ORDER_BOPOMOFO_LETTER_D_U },
+       { 0x88fc, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x88fd, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x88fe, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x8901, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x8902, ALP_ORDER_BOPOMOFO_LETTER_G_U_A },
+       { 0x8905, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x8906, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x8907, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x8909, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x890a, ALP_ORDER_BOPOMOFO_LETTER_B_I_AN },
+       { 0x890b, ALP_ORDER_BOPOMOFO_LETTER_D_I_EH },
+       { 0x890c, ALP_ORDER_BOPOMOFO_LETTER_K_U_EN },
+       { 0x890e, ALP_ORDER_BOPOMOFO_LETTER_X_I_OU },
+       { 0x8910, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x8911, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x8912, ALP_ORDER_BOPOMOFO_LETTER_B_AU },
+       { 0x8913, ALP_ORDER_BOPOMOFO_LETTER_B_AU },
+       { 0x8914, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x8915, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x8916, ALP_ORDER_BOPOMOFO_LETTER_T_U_AN },
+       { 0x8917, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x8918, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x8919, ALP_ORDER_BOPOMOFO_LETTER_B_EI },
+       { 0x891a, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x891e, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x891f, ALP_ORDER_BOPOMOFO_LETTER_T_A },
+       { 0x8921, ALP_ORDER_BOPOMOFO_LETTER_D_A },
+       { 0x8922, ALP_ORDER_BOPOMOFO_LETTER_H_U_AI },
+       { 0x8923, ALP_ORDER_BOPOMOFO_LETTER_R_U_ENG },
+       { 0x8925, ALP_ORDER_BOPOMOFO_LETTER_R_U },
+       { 0x8926, ALP_ORDER_BOPOMOFO_LETTER_N_AI },
+       { 0x8927, ALP_ORDER_BOPOMOFO_LETTER_J_IU_ENG },
+       { 0x8929, ALP_ORDER_BOPOMOFO_LETTER_B_AN },
+       { 0x892a, ALP_ORDER_BOPOMOFO_LETTER_T_U_EI },
+       { 0x892b, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x892c, ALP_ORDER_BOPOMOFO_LETTER_S_ANG },
+       { 0x892d, ALP_ORDER_BOPOMOFO_LETTER_N_I_AU },
+       { 0x892e, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x892f, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x8930, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x8931, ALP_ORDER_BOPOMOFO_LETTER_H_U_AI },
+       { 0x8932, ALP_ORDER_BOPOMOFO_LETTER_K_U },
+       { 0x8933, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x8935, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x8936, ALP_ORDER_BOPOMOFO_LETTER_ZH_E },
+       { 0x8937, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x8938, ALP_ORDER_BOPOMOFO_LETTER_L_IU },
+       { 0x893b, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x893c, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x893d, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x893e, ALP_ORDER_BOPOMOFO_LETTER_B_I_AU },
+       { 0x8941, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ANG },
+       { 0x8942, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x8944, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x8946, ALP_ORDER_BOPOMOFO_LETTER_P_U },
+       { 0x8949, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x894b, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x894c, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x894f, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x8950, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x8951, ALP_ORDER_BOPOMOFO_LETTER_X_I_EN },
+       { 0x8952, ALP_ORDER_BOPOMOFO_LETTER_B_I_EH },
+       { 0x8953, ALP_ORDER_BOPOMOFO_LETTER_R_AU },
+       { 0x8956, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x8957, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x8958, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x8959, ALP_ORDER_BOPOMOFO_LETTER_C_AU },
+       { 0x895a, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x895b, ALP_ORDER_BOPOMOFO_LETTER_N_U_ENG },
+       { 0x895c, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x895d, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x895e, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x895f, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x8960, ALP_ORDER_BOPOMOFO_LETTER_D_ANG },
+       { 0x8961, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x8962, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x8963, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x8964, ALP_ORDER_BOPOMOFO_LETTER_L_AN },
+       { 0x8966, ALP_ORDER_BOPOMOFO_LETTER_R_U },
+       { 0x8969, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x896a, ALP_ORDER_BOPOMOFO_LETTER_U_A },
+       { 0x896b, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x896c, ALP_ORDER_BOPOMOFO_LETTER_B_AI },
+       { 0x896d, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x896e, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x896f, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x8971, ALP_ORDER_BOPOMOFO_LETTER_L_U_ENG },
+       { 0x8972, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x8973, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x8974, ALP_ORDER_BOPOMOFO_LETTER_L_AN },
+       { 0x8976, ALP_ORDER_BOPOMOFO_LETTER_D_AI },
+       { 0x8979, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x897a, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x897b, ALP_ORDER_BOPOMOFO_LETTER_P_AN },
+       { 0x897c, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x897e, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x897f, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x8981, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x8982, ALP_ORDER_BOPOMOFO_LETTER_F_ENG },
+       { 0x8983, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x8985, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x8986, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x8988, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x898b, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x898f, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x8993, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x8995, ALP_ORDER_BOPOMOFO_LETTER_M_I_EH },
+       { 0x8996, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x8997, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x8998, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x899b, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x899c, ALP_ORDER_BOPOMOFO_LETTER_T_I_AU },
+       { 0x899d, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x899e, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x899f, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x89a1, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x89a2, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x89a3, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x89a4, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x89a6, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x89aa, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EN },
+       { 0x89ac, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x89ad, ALP_ORDER_BOPOMOFO_LETTER_M_I_ENG },
+       { 0x89ae, ALP_ORDER_BOPOMOFO_LETTER_P_I_ENG },
+       { 0x89af, ALP_ORDER_BOPOMOFO_LETTER_G_OU },
+       { 0x89b2, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x89b6, ALP_ORDER_BOPOMOFO_LETTER_L_U_O },
+       { 0x89b7, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x89b9, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x89ba, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x89bd, ALP_ORDER_BOPOMOFO_LETTER_L_AN },
+       { 0x89be, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x89bf, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x89c0, ALP_ORDER_BOPOMOFO_LETTER_G_U_AN },
+       { 0x89d2, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x89d3, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x89d4, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x89d5, ALP_ORDER_BOPOMOFO_LETTER_C_U },
+       { 0x89d6, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x89d9, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x89da, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x89db, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x89dc, ALP_ORDER_BOPOMOFO_LETTER_Z_U_EI },
+       { 0x89dd, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x89df, ALP_ORDER_BOPOMOFO_LETTER_H_U_A },
+       { 0x89e0, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x89e1, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x89e2, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x89e3, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x89e4, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x89e5, ALP_ORDER_BOPOMOFO_LETTER_G_U_ENG },
+       { 0x89e6, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x89e8, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x89e9, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x89eb, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x89ec, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x89ed, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x89f0, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x89f1, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x89f2, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x89f3, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x89f4, ALP_ORDER_BOPOMOFO_LETTER_SH_ANG },
+       { 0x89f6, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x89f7, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EH },
+       { 0x89f8, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x89fa, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x89fb, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x89fc, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x89fe, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x89ff, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x8a00, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x8a02, ALP_ORDER_BOPOMOFO_LETTER_D_I_ENG },
+       { 0x8a03, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x8a04, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x8a07, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x8a08, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x8a0a, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x8a0c, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x8a0e, ALP_ORDER_BOPOMOFO_LETTER_T_AU },
+       { 0x8a0f, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x8a10, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x8a11, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x8a12, ALP_ORDER_BOPOMOFO_LETTER_R_EN },
+       { 0x8a13, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x8a15, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x8a16, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x8a17, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x8a18, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x8a1b, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x8a1d, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x8a1e, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x8a1f, ALP_ORDER_BOPOMOFO_LETTER_S_U_ENG },
+       { 0x8a22, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x8a23, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x8a25, ALP_ORDER_BOPOMOFO_LETTER_N_A },
+       { 0x8a27, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x8a2a, ALP_ORDER_BOPOMOFO_LETTER_F_ANG },
+       { 0x8a2c, ALP_ORDER_BOPOMOFO_LETTER_CH_AU },
+       { 0x8a2d, ALP_ORDER_BOPOMOFO_LETTER_SH_E },
+       { 0x8a30, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_EN },
+       { 0x8a31, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x8a34, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x8a36, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x8a39, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x8a3a, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x8a3b, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x8a3c, ALP_ORDER_BOPOMOFO_LETTER_ZH_ENG },
+       { 0x8a3e, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x8a3f, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x8a40, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x8a41, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x8a44, ALP_ORDER_BOPOMOFO_LETTER_D_I_EH },
+       { 0x8a45, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x8a46, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x8a48, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x8a4a, ALP_ORDER_BOPOMOFO_LETTER_P_AN },
+       { 0x8a4c, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x8a4d, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x8a4e, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x8a4f, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x8a50, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x8a51, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x8a52, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x8a54, ALP_ORDER_BOPOMOFO_LETTER_ZH_AU },
+       { 0x8a55, ALP_ORDER_BOPOMOFO_LETTER_P_I_ENG },
+       { 0x8a56, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x8a57, ALP_ORDER_BOPOMOFO_LETTER_X_IU_ENG },
+       { 0x8a58, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x8a59, ALP_ORDER_BOPOMOFO_LETTER_B_A },
+       { 0x8a5b, ALP_ORDER_BOPOMOFO_LETTER_Z_U },
+       { 0x8a5e, ALP_ORDER_BOPOMOFO_LETTER_C },
+       { 0x8a60, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x8a61, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x8a62, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x8a63, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x8a66, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x8a68, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x8a69, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x8a6b, ALP_ORDER_BOPOMOFO_LETTER_CH_A },
+       { 0x8a6c, ALP_ORDER_BOPOMOFO_LETTER_G_OU },
+       { 0x8a6d, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x8a6e, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x8a70, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x8a71, ALP_ORDER_BOPOMOFO_LETTER_H_U_A },
+       { 0x8a72, ALP_ORDER_BOPOMOFO_LETTER_G_AI },
+       { 0x8a73, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x8a74, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x8a75, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x8a76, ALP_ORDER_BOPOMOFO_LETTER_CH_OU },
+       { 0x8a77, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x8a79, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x8a7a, ALP_ORDER_BOPOMOFO_LETTER_M_I_ENG },
+       { 0x8a7b, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x8a7c, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x8a7f, ALP_ORDER_BOPOMOFO_LETTER_G_U_A },
+       { 0x8a81, ALP_ORDER_BOPOMOFO_LETTER_B_ENG },
+       { 0x8a82, ALP_ORDER_BOPOMOFO_LETTER_T_I_AU },
+       { 0x8a83, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x8a84, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x8a85, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x8a86, ALP_ORDER_BOPOMOFO_LETTER_K_U_ANG },
+       { 0x8a87, ALP_ORDER_BOPOMOFO_LETTER_K_U_A },
+       { 0x8a8b, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x8a8c, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x8a8d, ALP_ORDER_BOPOMOFO_LETTER_R_EN },
+       { 0x8a8f, ALP_ORDER_BOPOMOFO_LETTER_L_ANG },
+       { 0x8a91, ALP_ORDER_BOPOMOFO_LETTER_K_U_ANG },
+       { 0x8a92, ALP_ORDER_BOPOMOFO_LETTER_EI },
+       { 0x8a93, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x8a95, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x8a96, ALP_ORDER_BOPOMOFO_LETTER_B_EI },
+       { 0x8a98, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x8a99, ALP_ORDER_BOPOMOFO_LETTER_H_ENG },
+       { 0x8a9a, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x8a9e, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x8aa0, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x8aa1, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x8aa3, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x8aa4, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x8aa5, ALP_ORDER_BOPOMOFO_LETTER_G_AU },
+       { 0x8aa6, ALP_ORDER_BOPOMOFO_LETTER_S_U_ENG },
+       { 0x8aa7, ALP_ORDER_BOPOMOFO_LETTER_P_U },
+       { 0x8aa8, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x8aaa, ALP_ORDER_BOPOMOFO_LETTER_SH_U_O },
+       { 0x8aab, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x8ab0, ALP_ORDER_BOPOMOFO_LETTER_SH_EI },
+       { 0x8ab2, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x8ab6, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x8ab8, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x8ab9, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x8aba, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x8abb, ALP_ORDER_BOPOMOFO_LETTER_T_A },
+       { 0x8abc, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x8abd, ALP_ORDER_BOPOMOFO_LETTER_N_A },
+       { 0x8abe, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x8abf, ALP_ORDER_BOPOMOFO_LETTER_T_I_AU },
+       { 0x8ac0, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x8ac2, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x8ac3, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x8ac4, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_EN },
+       { 0x8ac5, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x8ac6, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x8ac7, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x8ac8, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EI },
+       { 0x8ac9, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x8acb, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ENG },
+       { 0x8acd, ALP_ORDER_BOPOMOFO_LETTER_ZH_ENG },
+       { 0x8acf, ALP_ORDER_BOPOMOFO_LETTER_Z_OU },
+       { 0x8ad1, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O },
+       { 0x8ad2, ALP_ORDER_BOPOMOFO_LETTER_L_I_ANG },
+       { 0x8ad3, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x8ad4, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x8ad5, ALP_ORDER_BOPOMOFO_LETTER_H_AU },
+       { 0x8ad6, ALP_ORDER_BOPOMOFO_LETTER_L_U_EN },
+       { 0x8ad7, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x8ad8, ALP_ORDER_BOPOMOFO_LETTER_B_I_AU },
+       { 0x8ad9, ALP_ORDER_BOPOMOFO_LETTER_H_U_AI },
+       { 0x8adb, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x8adc, ALP_ORDER_BOPOMOFO_LETTER_D_I_EH },
+       { 0x8add, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x8ade, ALP_ORDER_BOPOMOFO_LETTER_P_I_AN },
+       { 0x8adf, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x8ae0, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x8ae1, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x8ae2, ALP_ORDER_BOPOMOFO_LETTER_H_U_EN },
+       { 0x8ae4, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x8ae6, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x8ae7, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x8ae8, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x8aeb, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x8aed, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x8aee, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x8aef, ALP_ORDER_BOPOMOFO_LETTER_CH_U_AN },
+       { 0x8af0, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x8af1, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x8af2, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x8af3, ALP_ORDER_BOPOMOFO_LETTER_AN },
+       { 0x8af4, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x8af5, ALP_ORDER_BOPOMOFO_LETTER_N_AN },
+       { 0x8af6, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x8af7, ALP_ORDER_BOPOMOFO_LETTER_F_ENG },
+       { 0x8af8, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x8afa, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x8afb, ALP_ORDER_BOPOMOFO_LETTER_H_ENG },
+       { 0x8afc, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x8afe, ALP_ORDER_BOPOMOFO_LETTER_N_U_O },
+       { 0x8aff, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x8b00, ALP_ORDER_BOPOMOFO_LETTER_M_OU },
+       { 0x8b01, ALP_ORDER_BOPOMOFO_LETTER_I_EH },
+       { 0x8b02, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x8b04, ALP_ORDER_BOPOMOFO_LETTER_T_ENG },
+       { 0x8b05, ALP_ORDER_BOPOMOFO_LETTER_Z_OU },
+       { 0x8b06, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x8b07, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x8b08, ALP_ORDER_BOPOMOFO_LETTER_P_O },
+       { 0x8b0a, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x8b0b, ALP_ORDER_BOPOMOFO_LETTER_H_U_O },
+       { 0x8b0d, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x8b0e, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x8b0f, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x8b10, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x8b11, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x8b12, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ANG },
+       { 0x8b13, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x8b14, ALP_ORDER_BOPOMOFO_LETTER_N_IU_EH },
+       { 0x8b15, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x8b16, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x8b17, ALP_ORDER_BOPOMOFO_LETTER_B_ANG },
+       { 0x8b18, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x8b19, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x8b1a, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x8b1b, ALP_ORDER_BOPOMOFO_LETTER_J_I_ANG },
+       { 0x8b1c, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x8b1d, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x8b1e, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EH },
+       { 0x8b20, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x8b22, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x8b23, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x8b24, ALP_ORDER_BOPOMOFO_LETTER_B_I_AU },
+       { 0x8b25, ALP_ORDER_BOPOMOFO_LETTER_C_U_ENG },
+       { 0x8b26, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ENG },
+       { 0x8b27, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x8b28, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x8b2a, ALP_ORDER_BOPOMOFO_LETTER_SH_ANG },
+       { 0x8b2b, ALP_ORDER_BOPOMOFO_LETTER_ZH_E },
+       { 0x8b2c, ALP_ORDER_BOPOMOFO_LETTER_M_I_OU },
+       { 0x8b2e, ALP_ORDER_BOPOMOFO_LETTER_Z_E },
+       { 0x8b2f, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x8b30, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x8b31, ALP_ORDER_BOPOMOFO_LETTER_L_OU },
+       { 0x8b33, ALP_ORDER_BOPOMOFO_LETTER_OU },
+       { 0x8b35, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x8b36, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O },
+       { 0x8b37, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x8b39, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x8b3a, ALP_ORDER_BOPOMOFO_LETTER_ZH_E },
+       { 0x8b3b, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x8b3c, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x8b3d, ALP_ORDER_BOPOMOFO_LETTER_J_I_ANG },
+       { 0x8b3e, ALP_ORDER_BOPOMOFO_LETTER_M_AN },
+       { 0x8b40, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x8b41, ALP_ORDER_BOPOMOFO_LETTER_H_U_A },
+       { 0x8b42, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x8b45, ALP_ORDER_BOPOMOFO_LETTER_S_E },
+       { 0x8b46, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x8b47, ALP_ORDER_BOPOMOFO_LETTER_SH_E },
+       { 0x8b48, ALP_ORDER_BOPOMOFO_LETTER_D_U_EI },
+       { 0x8b49, ALP_ORDER_BOPOMOFO_LETTER_ZH_ENG },
+       { 0x8b4a, ALP_ORDER_BOPOMOFO_LETTER_N_AU },
+       { 0x8b4b, ALP_ORDER_BOPOMOFO_LETTER_L_AN },
+       { 0x8b4e, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x8b4f, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x8b50, ALP_ORDER_BOPOMOFO_LETTER_Z_U_EN },
+       { 0x8b51, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x8b52, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x8b53, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x8b54, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_AN },
+       { 0x8b55, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x8b56, ALP_ORDER_BOPOMOFO_LETTER_Z_EN },
+       { 0x8b57, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x8b58, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x8b59, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x8b5a, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x8b5c, ALP_ORDER_BOPOMOFO_LETTER_P_U },
+       { 0x8b5d, ALP_ORDER_BOPOMOFO_LETTER_SH_ENG },
+       { 0x8b5f, ALP_ORDER_BOPOMOFO_LETTER_Z_AU },
+       { 0x8b60, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x8b63, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x8b65, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x8b66, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x8b67, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x8b68, ALP_ORDER_BOPOMOFO_LETTER_N_OU },
+       { 0x8b6a, ALP_ORDER_BOPOMOFO_LETTER_AI },
+       { 0x8b6b, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x8b6c, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x8b6d, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x8b6f, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x8b70, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x8b74, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x8b77, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x8b78, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x8b79, ALP_ORDER_BOPOMOFO_LETTER_H_AU },
+       { 0x8b7a, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x8b7b, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x8b7d, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x8b7e, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x8b7f, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x8b80, ALP_ORDER_BOPOMOFO_LETTER_D_U },
+       { 0x8b82, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x8b84, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x8b85, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x8b86, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x8b88, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x8b8a, ALP_ORDER_BOPOMOFO_LETTER_B_I_AN },
+       { 0x8b8b, ALP_ORDER_BOPOMOFO_LETTER_ZH_E },
+       { 0x8b8c, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x8b8e, ALP_ORDER_BOPOMOFO_LETTER_CH_OU },
+       { 0x8b92, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x8b93, ALP_ORDER_BOPOMOFO_LETTER_R_ANG },
+       { 0x8b94, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x8b95, ALP_ORDER_BOPOMOFO_LETTER_L_AN },
+       { 0x8b96, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x8b98, ALP_ORDER_BOPOMOFO_LETTER_ZH_E },
+       { 0x8b99, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x8b9a, ALP_ORDER_BOPOMOFO_LETTER_Z_AN },
+       { 0x8b9c, ALP_ORDER_BOPOMOFO_LETTER_D_ANG },
+       { 0x8b9e, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x8b9f, ALP_ORDER_BOPOMOFO_LETTER_D_U },
+       { 0x8c37, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x8c39, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x8c3b, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x8c3c, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x8c3d, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x8c3e, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x8c3f, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x8c41, ALP_ORDER_BOPOMOFO_LETTER_H_U_O },
+       { 0x8c42, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x8c43, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x8c45, ALP_ORDER_BOPOMOFO_LETTER_L_U_ENG },
+       { 0x8c46, ALP_ORDER_BOPOMOFO_LETTER_D_OU },
+       { 0x8c47, ALP_ORDER_BOPOMOFO_LETTER_J_I_ANG },
+       { 0x8c48, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x8c49, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x8c4a, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x8c4b, ALP_ORDER_BOPOMOFO_LETTER_D_ENG },
+       { 0x8c4c, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x8c4d, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x8c4e, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x8c4f, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x8c50, ALP_ORDER_BOPOMOFO_LETTER_F_ENG },
+       { 0x8c54, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x8c55, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x8c56, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x8c57, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x8c5a, ALP_ORDER_BOPOMOFO_LETTER_T_U_EN },
+       { 0x8c5c, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x8c5d, ALP_ORDER_BOPOMOFO_LETTER_B_A },
+       { 0x8c5f, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x8c61, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x8c62, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x8c64, ALP_ORDER_BOPOMOFO_LETTER_K_EN },
+       { 0x8c65, ALP_ORDER_BOPOMOFO_LETTER_G_AI },
+       { 0x8c66, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x8c68, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x8c69, ALP_ORDER_BOPOMOFO_LETTER_B_I_EN },
+       { 0x8c6a, ALP_ORDER_BOPOMOFO_LETTER_H_AU },
+       { 0x8c6b, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x8c6c, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x8c6d, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x8c6f, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x8c70, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x8c71, ALP_ORDER_BOPOMOFO_LETTER_U_EN },
+       { 0x8c72, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x8c73, ALP_ORDER_BOPOMOFO_LETTER_B_I_EN },
+       { 0x8c75, ALP_ORDER_BOPOMOFO_LETTER_Z_U_ENG },
+       { 0x8c76, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x8c77, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x8c78, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x8c79, ALP_ORDER_BOPOMOFO_LETTER_B_AU },
+       { 0x8c7a, ALP_ORDER_BOPOMOFO_LETTER_CH_AI },
+       { 0x8c7b, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x8c7d, ALP_ORDER_BOPOMOFO_LETTER_N_A },
+       { 0x8c80, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x8c81, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x8c82, ALP_ORDER_BOPOMOFO_LETTER_D_I_AU },
+       { 0x8c84, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x8c85, ALP_ORDER_BOPOMOFO_LETTER_X_I_OU },
+       { 0x8c86, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x8c89, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x8c8a, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x8c8c, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x8c8d, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x8c8f, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x8c90, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x8c91, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x8c92, ALP_ORDER_BOPOMOFO_LETTER_T_U_AN },
+       { 0x8c93, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x8c94, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x8c95, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x8c97, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x8c98, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x8c99, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x8c9a, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x8c9c, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x8c9d, ALP_ORDER_BOPOMOFO_LETTER_B_EI },
+       { 0x8c9e, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x8ca0, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x8ca1, ALP_ORDER_BOPOMOFO_LETTER_C_AI },
+       { 0x8ca2, ALP_ORDER_BOPOMOFO_LETTER_G_U_ENG },
+       { 0x8ca3, ALP_ORDER_BOPOMOFO_LETTER_T_E },
+       { 0x8ca4, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x8ca5, ALP_ORDER_BOPOMOFO_LETTER_H_ANG },
+       { 0x8ca7, ALP_ORDER_BOPOMOFO_LETTER_P_I_EN },
+       { 0x8ca8, ALP_ORDER_BOPOMOFO_LETTER_H_U_O },
+       { 0x8ca9, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x8caa, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x8cab, ALP_ORDER_BOPOMOFO_LETTER_G_U_AN },
+       { 0x8cac, ALP_ORDER_BOPOMOFO_LETTER_Z_E },
+       { 0x8caf, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x8cb0, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x8cb2, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x8cb3, ALP_ORDER_BOPOMOFO_LETTER_ER },
+       { 0x8cb4, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x8cb5, ALP_ORDER_BOPOMOFO_LETTER_P_I_AN },
+       { 0x8cb6, ALP_ORDER_BOPOMOFO_LETTER_B_I_AN },
+       { 0x8cb7, ALP_ORDER_BOPOMOFO_LETTER_M_AI },
+       { 0x8cb8, ALP_ORDER_BOPOMOFO_LETTER_D_AI },
+       { 0x8cb9, ALP_ORDER_BOPOMOFO_LETTER_SH_ENG },
+       { 0x8cba, ALP_ORDER_BOPOMOFO_LETTER_K_U_ANG },
+       { 0x8cbb, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x8cbc, ALP_ORDER_BOPOMOFO_LETTER_T_I_EH },
+       { 0x8cbd, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x8cbe, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x8cbf, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x8cc0, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x8cc1, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x8cc2, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x8cc3, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x8cc4, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x8cc5, ALP_ORDER_BOPOMOFO_LETTER_G_AI },
+       { 0x8cc7, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x8cc8, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x8cca, ALP_ORDER_BOPOMOFO_LETTER_Z_EI },
+       { 0x8ccc, ALP_ORDER_BOPOMOFO_LETTER_G_AI },
+       { 0x8ccf, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x8cd1, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x8cd2, ALP_ORDER_BOPOMOFO_LETTER_SH_E },
+       { 0x8cd3, ALP_ORDER_BOPOMOFO_LETTER_B_I_EN },
+       { 0x8cd5, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x8cd7, ALP_ORDER_BOPOMOFO_LETTER_CH_U_AN },
+       { 0x8cd9, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x8cda, ALP_ORDER_BOPOMOFO_LETTER_L_AI },
+       { 0x8cdc, ALP_ORDER_BOPOMOFO_LETTER_C },
+       { 0x8cdd, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x8cde, ALP_ORDER_BOPOMOFO_LETTER_SH_ANG },
+       { 0x8cdf, ALP_ORDER_BOPOMOFO_LETTER_T_I_AN },
+       { 0x8ce0, ALP_ORDER_BOPOMOFO_LETTER_P_EI },
+       { 0x8ce1, ALP_ORDER_BOPOMOFO_LETTER_G_ENG },
+       { 0x8ce2, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x8ce3, ALP_ORDER_BOPOMOFO_LETTER_M_AI },
+       { 0x8ce4, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x8ce5, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x8ce6, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x8ce7, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x8ce8, ALP_ORDER_BOPOMOFO_LETTER_C_U_ENG },
+       { 0x8cea, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x8cec, ALP_ORDER_BOPOMOFO_LETTER_ZH_ANG },
+       { 0x8ced, ALP_ORDER_BOPOMOFO_LETTER_D_U },
+       { 0x8cee, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x8cf0, ALP_ORDER_BOPOMOFO_LETTER_SH_U_EN },
+       { 0x8cf1, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x8cf3, ALP_ORDER_BOPOMOFO_LETTER_Z_AI },
+       { 0x8cf4, ALP_ORDER_BOPOMOFO_LETTER_L_AI },
+};
+
+static han_map HANZI_TO_BPMF_MAP_9[] = {
+       { 0x8cf5, ALP_ORDER_BOPOMOFO_LETTER_F_ENG },
+       { 0x8cf8, ALP_ORDER_BOPOMOFO_LETTER_SH_ENG },
+       { 0x8cf9, ALP_ORDER_BOPOMOFO_LETTER_AI },
+       { 0x8cfa, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_AN },
+       { 0x8cfb, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x8cfc, ALP_ORDER_BOPOMOFO_LETTER_G_OU },
+       { 0x8cfd, ALP_ORDER_BOPOMOFO_LETTER_S_AI },
+       { 0x8cfe, ALP_ORDER_BOPOMOFO_LETTER_Z_E },
+       { 0x8d00, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x8d02, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x8d04, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x8d05, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_EI },
+       { 0x8d06, ALP_ORDER_BOPOMOFO_LETTER_B_I_AU },
+       { 0x8d07, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x8d08, ALP_ORDER_BOPOMOFO_LETTER_Z_ENG },
+       { 0x8d09, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x8d0a, ALP_ORDER_BOPOMOFO_LETTER_Z_AN },
+       { 0x8d0d, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x8d0f, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x8d10, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x8d13, ALP_ORDER_BOPOMOFO_LETTER_Z_ANG },
+       { 0x8d14, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x8d15, ALP_ORDER_BOPOMOFO_LETTER_D_U },
+       { 0x8d16, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x8d17, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x8d19, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x8d1b, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x8d64, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x8d66, ALP_ORDER_BOPOMOFO_LETTER_SH_E },
+       { 0x8d67, ALP_ORDER_BOPOMOFO_LETTER_N_AN },
+       { 0x8d68, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x8d69, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x8d6b, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x8d6c, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x8d6d, ALP_ORDER_BOPOMOFO_LETTER_ZH_E },
+       { 0x8d6e, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x8d6f, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x8d70, ALP_ORDER_BOPOMOFO_LETTER_Z_OU },
+       { 0x8d72, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x8d73, ALP_ORDER_BOPOMOFO_LETTER_J_I_OU },
+       { 0x8d74, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x8d76, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x8d77, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x8d78, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x8d79, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_ENG },
+       { 0x8d7b, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x8d7d, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x8d80, ALP_ORDER_BOPOMOFO_LETTER_C },
+       { 0x8d81, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x8d84, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x8d85, ALP_ORDER_BOPOMOFO_LETTER_CH_AU },
+       { 0x8d89, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x8d8a, ALP_ORDER_BOPOMOFO_LETTER_IU_EH },
+       { 0x8d8c, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x8d8d, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x8d8e, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x8d8f, ALP_ORDER_BOPOMOFO_LETTER_G_U_A },
+       { 0x8d90, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EH },
+       { 0x8d91, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x8d92, ALP_ORDER_BOPOMOFO_LETTER_T_I_AU },
+       { 0x8d93, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x8d94, ALP_ORDER_BOPOMOFO_LETTER_L_I_EH },
+       { 0x8d95, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x8d96, ALP_ORDER_BOPOMOFO_LETTER_S_U_O },
+       { 0x8d99, ALP_ORDER_BOPOMOFO_LETTER_ZH_AU },
+       { 0x8d9b, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x8d9c, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x8d9f, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x8da0, ALP_ORDER_BOPOMOFO_LETTER_CH_AU },
+       { 0x8da1, ALP_ORDER_BOPOMOFO_LETTER_C_U_EI },
+       { 0x8da3, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x8da5, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x8da7, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x8da8, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x8daa, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x8dab, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x8dac, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x8dad, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x8dae, ALP_ORDER_BOPOMOFO_LETTER_Z_AU },
+       { 0x8daf, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x8db2, ALP_ORDER_BOPOMOFO_LETTER_Z_AN },
+       { 0x8db3, ALP_ORDER_BOPOMOFO_LETTER_Z_U },
+       { 0x8db4, ALP_ORDER_BOPOMOFO_LETTER_P_A },
+       { 0x8db5, ALP_ORDER_BOPOMOFO_LETTER_B_AU },
+       { 0x8db6, ALP_ORDER_BOPOMOFO_LETTER_K_U },
+       { 0x8db7, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x8db9, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x8dba, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x8dbc, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x8dbe, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x8dbf, ALP_ORDER_BOPOMOFO_LETTER_T_A },
+       { 0x8dc1, ALP_ORDER_BOPOMOFO_LETTER_P_A },
+       { 0x8dc2, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x8dc5, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x8dc6, ALP_ORDER_BOPOMOFO_LETTER_T_AI },
+       { 0x8dc7, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x8dc8, ALP_ORDER_BOPOMOFO_LETTER_N_I_AN },
+       { 0x8dcb, ALP_ORDER_BOPOMOFO_LETTER_B_A },
+       { 0x8dcc, ALP_ORDER_BOPOMOFO_LETTER_D_I_EH },
+       { 0x8dcd, ALP_ORDER_BOPOMOFO_LETTER_K_U },
+       { 0x8dce, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x8dcf, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x8dd0, ALP_ORDER_BOPOMOFO_LETTER_C },
+       { 0x8dd1, ALP_ORDER_BOPOMOFO_LETTER_P_AU },
+       { 0x8dd3, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x8dd5, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x8dd6, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x8dd7, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x8dd8, ALP_ORDER_BOPOMOFO_LETTER_P_AN },
+       { 0x8dd9, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x8dda, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x8ddb, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x8ddc, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x8ddd, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x8ddf, ALP_ORDER_BOPOMOFO_LETTER_G_EN },
+       { 0x8de0, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x8de1, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x8de2, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x8de3, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x8de4, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x8de6, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x8de7, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x8de8, ALP_ORDER_BOPOMOFO_LETTER_K_U_A },
+       { 0x8de9, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_AI },
+       { 0x8dea, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x8deb, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_ENG },
+       { 0x8dec, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x8dee, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x8def, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x8df0, ALP_ORDER_BOPOMOFO_LETTER_B_ENG },
+       { 0x8df1, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x8df2, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x8df3, ALP_ORDER_BOPOMOFO_LETTER_T_I_AU },
+       { 0x8df4, ALP_ORDER_BOPOMOFO_LETTER_C_AI },
+       { 0x8dfa, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x8dfc, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x8dfd, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x8dfe, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x8dff, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x8e00, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x8e02, ALP_ORDER_BOPOMOFO_LETTER_N_I_EH },
+       { 0x8e03, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x8e04, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x8e05, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EH },
+       { 0x8e06, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_EN },
+       { 0x8e07, ALP_ORDER_BOPOMOFO_LETTER_M_OU },
+       { 0x8e09, ALP_ORDER_BOPOMOFO_LETTER_L_ANG },
+       { 0x8e0a, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x8e0d, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x8e0f, ALP_ORDER_BOPOMOFO_LETTER_T_A },
+       { 0x8e10, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x8e11, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x8e12, ALP_ORDER_BOPOMOFO_LETTER_U_O },
+       { 0x8e13, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x8e14, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O },
+       { 0x8e15, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x8e16, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x8e17, ALP_ORDER_BOPOMOFO_LETTER_N_I_EH },
+       { 0x8e18, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x8e19, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x8e1a, ALP_ORDER_BOPOMOFO_LETTER_L_U_EN },
+       { 0x8e1b, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x8e1c, ALP_ORDER_BOPOMOFO_LETTER_L_ENG },
+       { 0x8e1d, ALP_ORDER_BOPOMOFO_LETTER_H_U_AI },
+       { 0x8e1e, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x8e1f, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x8e20, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x8e21, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x8e22, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x8e23, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x8e24, ALP_ORDER_BOPOMOFO_LETTER_Z_U },
+       { 0x8e25, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EH },
+       { 0x8e26, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x8e27, ALP_ORDER_BOPOMOFO_LETTER_C_U },
+       { 0x8e29, ALP_ORDER_BOPOMOFO_LETTER_C_AI },
+       { 0x8e2b, ALP_ORDER_BOPOMOFO_LETTER_P_AN },
+       { 0x8e2e, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x8e30, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x8e31, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x8e33, ALP_ORDER_BOPOMOFO_LETTER_CH_U_AN },
+       { 0x8e34, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x8e35, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ENG },
+       { 0x8e36, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x8e38, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x8e39, ALP_ORDER_BOPOMOFO_LETTER_CH_U_AI },
+       { 0x8e3c, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x8e3d, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x8e3e, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x8e3f, ALP_ORDER_BOPOMOFO_LETTER_Z_U },
+       { 0x8e40, ALP_ORDER_BOPOMOFO_LETTER_D_I_EH },
+       { 0x8e41, ALP_ORDER_BOPOMOFO_LETTER_P_I_AN },
+       { 0x8e42, ALP_ORDER_BOPOMOFO_LETTER_R_OU },
+       { 0x8e44, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x8e45, ALP_ORDER_BOPOMOFO_LETTER_CH_A },
+       { 0x8e47, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x8e48, ALP_ORDER_BOPOMOFO_LETTER_D_AU },
+       { 0x8e49, ALP_ORDER_BOPOMOFO_LETTER_C_U_O },
+       { 0x8e4a, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x8e4b, ALP_ORDER_BOPOMOFO_LETTER_T_A },
+       { 0x8e4c, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ANG },
+       { 0x8e4d, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x8e4e, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x8e50, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x8e53, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x8e54, ALP_ORDER_BOPOMOFO_LETTER_Z_AN },
+       { 0x8e55, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x8e56, ALP_ORDER_BOPOMOFO_LETTER_CH_U_ENG },
+       { 0x8e57, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x8e59, ALP_ORDER_BOPOMOFO_LETTER_C_U },
+       { 0x8e5a, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x8e5b, ALP_ORDER_BOPOMOFO_LETTER_D_AI },
+       { 0x8e5c, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x8e5d, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x8e5e, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x8e5f, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x8e60, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x8e61, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ANG },
+       { 0x8e62, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x8e63, ALP_ORDER_BOPOMOFO_LETTER_M_AN },
+       { 0x8e64, ALP_ORDER_BOPOMOFO_LETTER_Z_U_ENG },
+       { 0x8e65, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x8e66, ALP_ORDER_BOPOMOFO_LETTER_B_ENG },
+       { 0x8e67, ALP_ORDER_BOPOMOFO_LETTER_Z_AU },
+       { 0x8e69, ALP_ORDER_BOPOMOFO_LETTER_B_I_EH },
+       { 0x8e6a, ALP_ORDER_BOPOMOFO_LETTER_T_U_EI },
+       { 0x8e6c, ALP_ORDER_BOPOMOFO_LETTER_D_ENG },
+       { 0x8e6d, ALP_ORDER_BOPOMOFO_LETTER_C_ENG },
+       { 0x8e6f, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x8e72, ALP_ORDER_BOPOMOFO_LETTER_D_U_EN },
+       { 0x8e73, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x8e74, ALP_ORDER_BOPOMOFO_LETTER_C_U },
+       { 0x8e76, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x8e78, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x8e7a, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x8e7b, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x8e7c, ALP_ORDER_BOPOMOFO_LETTER_P_U },
+       { 0x8e81, ALP_ORDER_BOPOMOFO_LETTER_Z_AU },
+       { 0x8e82, ALP_ORDER_BOPOMOFO_LETTER_T_A },
+       { 0x8e84, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x8e85, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x8e86, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x8e87, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x8e88, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x8e89, ALP_ORDER_BOPOMOFO_LETTER_D_U_EN },
+       { 0x8e8a, ALP_ORDER_BOPOMOFO_LETTER_CH_OU },
+       { 0x8e8b, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x8e8c, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x8e8d, ALP_ORDER_BOPOMOFO_LETTER_IU_EH },
+       { 0x8e8e, ALP_ORDER_BOPOMOFO_LETTER_N_I_AN },
+       { 0x8e90, ALP_ORDER_BOPOMOFO_LETTER_L_I_EH },
+       { 0x8e91, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x8e92, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x8e93, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x8e94, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x8e95, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x8e96, ALP_ORDER_BOPOMOFO_LETTER_D_U_AN },
+       { 0x8e97, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x8e98, ALP_ORDER_BOPOMOFO_LETTER_L_U_ENG },
+       { 0x8e9a, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x8e9d, ALP_ORDER_BOPOMOFO_LETTER_L_AN },
+       { 0x8e9e, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x8e9f, ALP_ORDER_BOPOMOFO_LETTER_R_ANG },
+       { 0x8ea0, ALP_ORDER_BOPOMOFO_LETTER_S_A },
+       { 0x8ea1, ALP_ORDER_BOPOMOFO_LETTER_N_I_EH },
+       { 0x8ea3, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x8ea4, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x8ea5, ALP_ORDER_BOPOMOFO_LETTER_C_U_AN },
+       { 0x8ea6, ALP_ORDER_BOPOMOFO_LETTER_Z_U_AN },
+       { 0x8ea8, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x8ea9, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x8eaa, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x8eab, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x8eac, ALP_ORDER_BOPOMOFO_LETTER_G_U_ENG },
+       { 0x8eb2, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x8eba, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x8ebd, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x8ec0, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x8ec2, ALP_ORDER_BOPOMOFO_LETTER_L_AU },
+       { 0x8ec9, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x8eca, ALP_ORDER_BOPOMOFO_LETTER_CH_E },
+       { 0x8ecb, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x8ecc, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x8ecd, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EN },
+       { 0x8ecf, ALP_ORDER_BOPOMOFO_LETTER_IU_EH },
+       { 0x8ed1, ALP_ORDER_BOPOMOFO_LETTER_D_AI },
+       { 0x8ed2, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x8ed3, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x8ed4, ALP_ORDER_BOPOMOFO_LETTER_R_EN },
+       { 0x8ed7, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x8ed8, ALP_ORDER_BOPOMOFO_LETTER_T_U_EN },
+       { 0x8edb, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x8edc, ALP_ORDER_BOPOMOFO_LETTER_N_A },
+       { 0x8edd, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x8ede, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x8edf, ALP_ORDER_BOPOMOFO_LETTER_R_U_AN },
+       { 0x8ee0, ALP_ORDER_BOPOMOFO_LETTER_R_EN },
+       { 0x8ee1, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x8ee5, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x8ee6, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x8ee7, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x8ee8, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x8ee9, ALP_ORDER_BOPOMOFO_LETTER_D_AI },
+       { 0x8eeb, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x8eec, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x8eee, ALP_ORDER_BOPOMOFO_LETTER_ANG },
+       { 0x8eef, ALP_ORDER_BOPOMOFO_LETTER_P_ENG },
+       { 0x8ef1, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x8ef4, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x8ef5, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x8ef6, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x8ef7, ALP_ORDER_BOPOMOFO_LETTER_B_A },
+       { 0x8ef8, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x8ef9, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x8efa, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x8efb, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x8efc, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x8efe, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x8eff, ALP_ORDER_BOPOMOFO_LETTER_P_I_ENG },
+       { 0x8f00, ALP_ORDER_BOPOMOFO_LETTER_ER },
+       { 0x8f01, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_ENG },
+       { 0x8f02, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x8f03, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x8f05, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x8f06, ALP_ORDER_BOPOMOFO_LETTER_K_EI },
+       { 0x8f07, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x8f08, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x8f09, ALP_ORDER_BOPOMOFO_LETTER_Z_AI },
+       { 0x8f0a, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x8f0b, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x8f0d, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x8f0e, ALP_ORDER_BOPOMOFO_LETTER_SH_AU },
+       { 0x8f10, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x8f11, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x8f12, ALP_ORDER_BOPOMOFO_LETTER_ZH_E },
+       { 0x8f13, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x8f14, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x8f15, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ENG },
+       { 0x8f16, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x8f17, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x8f18, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x8f1a, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x8f1b, ALP_ORDER_BOPOMOFO_LETTER_L_I_ANG },
+       { 0x8f1c, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x8f1d, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x8f1e, ALP_ORDER_BOPOMOFO_LETTER_U_ANG },
+       { 0x8f1f, ALP_ORDER_BOPOMOFO_LETTER_CH_U_O },
+       { 0x8f20, ALP_ORDER_BOPOMOFO_LETTER_G_U_O },
+       { 0x8f23, ALP_ORDER_BOPOMOFO_LETTER_P_ENG },
+       { 0x8f24, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x8f25, ALP_ORDER_BOPOMOFO_LETTER_G_U_EN },
+       { 0x8f26, ALP_ORDER_BOPOMOFO_LETTER_N_I_AN },
+       { 0x8f29, ALP_ORDER_BOPOMOFO_LETTER_B_EI },
+       { 0x8f2a, ALP_ORDER_BOPOMOFO_LETTER_L_U_EN },
+       { 0x8f2c, ALP_ORDER_BOPOMOFO_LETTER_L_I_ANG },
+       { 0x8f2e, ALP_ORDER_BOPOMOFO_LETTER_R_OU },
+       { 0x8f2f, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x8f32, ALP_ORDER_BOPOMOFO_LETTER_CH_U_AN },
+       { 0x8f33, ALP_ORDER_BOPOMOFO_LETTER_C_OU },
+       { 0x8f34, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EN },
+       { 0x8f35, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x8f36, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x8f37, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x8f38, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x8f39, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x8f3b, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x8f3e, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x8f3f, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x8f40, ALP_ORDER_BOPOMOFO_LETTER_U_EN },
+       { 0x8f42, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x8f43, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x8f44, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x8f45, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x8f46, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x8f47, ALP_ORDER_BOPOMOFO_LETTER_J_I_OU },
+       { 0x8f48, ALP_ORDER_BOPOMOFO_LETTER_CH_AU },
+       { 0x8f49, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_AN },
+       { 0x8f4b, ALP_ORDER_BOPOMOFO_LETTER_H_U_EN },
+       { 0x8f4d, ALP_ORDER_BOPOMOFO_LETTER_CH_E },
+       { 0x8f4e, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x8f4f, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x8f50, ALP_ORDER_BOPOMOFO_LETTER_B_U },
+       { 0x8f51, ALP_ORDER_BOPOMOFO_LETTER_L_AU },
+       { 0x8f52, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x8f53, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x8f54, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x8f55, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x8f56, ALP_ORDER_BOPOMOFO_LETTER_S_E },
+       { 0x8f57, ALP_ORDER_BOPOMOFO_LETTER_K_AN },
+       { 0x8f58, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x8f59, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x8f5a, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x8f5b, ALP_ORDER_BOPOMOFO_LETTER_D_U_EI },
+       { 0x8f5d, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x8f5e, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x8f5f, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x8f60, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x8f61, ALP_ORDER_BOPOMOFO_LETTER_P_EI },
+       { 0x8f62, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x8f63, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x8f64, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x8f9b, ALP_ORDER_BOPOMOFO_LETTER_X_I_EN },
+       { 0x8f9c, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x8f9f, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x8fa3, ALP_ORDER_BOPOMOFO_LETTER_L_A },
+       { 0x8fa6, ALP_ORDER_BOPOMOFO_LETTER_B_AN },
+       { 0x8fa8, ALP_ORDER_BOPOMOFO_LETTER_B_I_AN },
+       { 0x8fad, ALP_ORDER_BOPOMOFO_LETTER_C },
+       { 0x8fae, ALP_ORDER_BOPOMOFO_LETTER_B_I_AN },
+       { 0x8faf, ALP_ORDER_BOPOMOFO_LETTER_B_I_AN },
+       { 0x8fb0, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x8fb1, ALP_ORDER_BOPOMOFO_LETTER_R_U },
+       { 0x8fb2, ALP_ORDER_BOPOMOFO_LETTER_N_U_ENG },
+       { 0x8fb4, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x8fbf, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x8fc2, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x8fc4, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x8fc5, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x8fc6, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x8fc9, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x8fcb, ALP_ORDER_BOPOMOFO_LETTER_G_U_ANG },
+       { 0x8fcd, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_EN },
+       { 0x8fce, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x8fd1, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x8fd2, ALP_ORDER_BOPOMOFO_LETTER_H_ANG },
+       { 0x8fd3, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x8fd4, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x8fd5, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x8fd6, ALP_ORDER_BOPOMOFO_LETTER_T_A },
+       { 0x8fd7, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x8fe0, ALP_ORDER_BOPOMOFO_LETTER_CH_E },
+       { 0x8fe1, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x8fe2, ALP_ORDER_BOPOMOFO_LETTER_T_I_AU },
+       { 0x8fe3, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x8fe4, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x8fe5, ALP_ORDER_BOPOMOFO_LETTER_J_IU_ENG },
+       { 0x8fe6, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x8fe8, ALP_ORDER_BOPOMOFO_LETTER_D_AI },
+       { 0x8fea, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x8feb, ALP_ORDER_BOPOMOFO_LETTER_P_O },
+       { 0x8fed, ALP_ORDER_BOPOMOFO_LETTER_D_I_EH },
+       { 0x8fee, ALP_ORDER_BOPOMOFO_LETTER_Z_E },
+       { 0x8ff0, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x8ff4, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x8ff5, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x8ff6, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x8ff7, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x8ff8, ALP_ORDER_BOPOMOFO_LETTER_B_ENG },
+       { 0x8ffa, ALP_ORDER_BOPOMOFO_LETTER_N_AI },
+       { 0x8ffb, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x8ffc, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x8ffd, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_EI },
+       { 0x8ffe, ALP_ORDER_BOPOMOFO_LETTER_L_I_EH },
+       { 0x8fff, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x9000, ALP_ORDER_BOPOMOFO_LETTER_T_U_EI },
+       { 0x9001, ALP_ORDER_BOPOMOFO_LETTER_S_U_ENG },
+       { 0x9002, ALP_ORDER_BOPOMOFO_LETTER_G_U_A },
+       { 0x9003, ALP_ORDER_BOPOMOFO_LETTER_T_AU },
+       { 0x9004, ALP_ORDER_BOPOMOFO_LETTER_P_ANG },
+       { 0x9005, ALP_ORDER_BOPOMOFO_LETTER_H_OU },
+       { 0x9006, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x900b, ALP_ORDER_BOPOMOFO_LETTER_B_U },
+       { 0x900c, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x900d, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x900f, ALP_ORDER_BOPOMOFO_LETTER_T_OU },
+       { 0x9010, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x9011, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x9014, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x9015, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x9016, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x9017, ALP_ORDER_BOPOMOFO_LETTER_D_OU },
+       { 0x9019, ALP_ORDER_BOPOMOFO_LETTER_ZH_E },
+       { 0x901a, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x901b, ALP_ORDER_BOPOMOFO_LETTER_G_U_ANG },
+       { 0x901c, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x901d, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x901e, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x901f, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x9020, ALP_ORDER_BOPOMOFO_LETTER_Z_AU },
+       { 0x9021, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_EN },
+       { 0x9022, ALP_ORDER_BOPOMOFO_LETTER_F_ENG },
+       { 0x9023, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x9024, ALP_ORDER_BOPOMOFO_LETTER_SH_A },
+       { 0x902d, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x902e, ALP_ORDER_BOPOMOFO_LETTER_D_AI },
+       { 0x902f, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x9031, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x9032, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x9034, ALP_ORDER_BOPOMOFO_LETTER_CH_U_O },
+       { 0x9035, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x9036, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x9038, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x903c, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x903d, ALP_ORDER_BOPOMOFO_LETTER_N_U_O },
+       { 0x903e, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x903f, ALP_ORDER_BOPOMOFO_LETTER_D_ANG },
+       { 0x9041, ALP_ORDER_BOPOMOFO_LETTER_D_U_EN },
+       { 0x9042, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x9044, ALP_ORDER_BOPOMOFO_LETTER_CH_U_AN },
+       { 0x9047, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x9049, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x904a, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x904b, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x904d, ALP_ORDER_BOPOMOFO_LETTER_B_I_AN },
+       { 0x904e, ALP_ORDER_BOPOMOFO_LETTER_G_U_O },
+       { 0x904f, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x9050, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x9051, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x9052, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x9053, ALP_ORDER_BOPOMOFO_LETTER_D_AU },
+       { 0x9054, ALP_ORDER_BOPOMOFO_LETTER_D_A },
+       { 0x9055, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x9058, ALP_ORDER_BOPOMOFO_LETTER_G_OU },
+       { 0x9059, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x905b, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x905c, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x905d, ALP_ORDER_BOPOMOFO_LETTER_T_A },
+       { 0x905e, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x9060, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x9062, ALP_ORDER_BOPOMOFO_LETTER_T_A },
+       { 0x9063, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x9067, ALP_ORDER_BOPOMOFO_LETTER_ZH_ANG },
+       { 0x9068, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x9069, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x906b, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x906d, ALP_ORDER_BOPOMOFO_LETTER_Z_AU },
+       { 0x906e, ALP_ORDER_BOPOMOFO_LETTER_ZH_E },
+       { 0x906f, ALP_ORDER_BOPOMOFO_LETTER_D_U_EN },
+       { 0x9070, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x9072, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x9073, ALP_ORDER_BOPOMOFO_LETTER_C_U_O },
+       { 0x9074, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x9075, ALP_ORDER_BOPOMOFO_LETTER_Z_U_EN },
+       { 0x9076, ALP_ORDER_BOPOMOFO_LETTER_R_AU },
+       { 0x9077, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x9078, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x9079, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x907a, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x907b, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x907c, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x907d, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x907e, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x907f, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x9080, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x9081, ALP_ORDER_BOPOMOFO_LETTER_M_AI },
+       { 0x9082, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x9083, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x9084, ALP_ORDER_BOPOMOFO_LETTER_H_AI },
+       { 0x9085, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x9086, ALP_ORDER_BOPOMOFO_LETTER_D_ENG },
+       { 0x9087, ALP_ORDER_BOPOMOFO_LETTER_ER },
+       { 0x9088, ALP_ORDER_BOPOMOFO_LETTER_M_I_AU },
+       { 0x908a, ALP_ORDER_BOPOMOFO_LETTER_B_I_AN },
+       { 0x908b, ALP_ORDER_BOPOMOFO_LETTER_L_A },
+       { 0x908d, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x908f, ALP_ORDER_BOPOMOFO_LETTER_L_U_O },
+       { 0x9090, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x9091, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x9094, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x9095, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x9097, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x9098, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x9099, ALP_ORDER_BOPOMOFO_LETTER_M_ANG },
+       { 0x909b, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_ENG },
+       { 0x909e, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x909f, ALP_ORDER_BOPOMOFO_LETTER_K_ANG },
+       { 0x90a0, ALP_ORDER_BOPOMOFO_LETTER_B_I_EN },
+       { 0x90a1, ALP_ORDER_BOPOMOFO_LETTER_F_ANG },
+       { 0x90a2, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x90a3, ALP_ORDER_BOPOMOFO_LETTER_N_A },
+       { 0x90a5, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x90a6, ALP_ORDER_BOPOMOFO_LETTER_B_ANG },
+       { 0x90a7, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x90aa, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x90af, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x90b0, ALP_ORDER_BOPOMOFO_LETTER_T_AI },
+       { 0x90b1, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x90b2, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x90b3, ALP_ORDER_BOPOMOFO_LETTER_P_EI },
+       { 0x90b4, ALP_ORDER_BOPOMOFO_LETTER_B_I_ENG },
+       { 0x90b5, ALP_ORDER_BOPOMOFO_LETTER_SH_AU },
+       { 0x90b6, ALP_ORDER_BOPOMOFO_LETTER_B_EI },
+       { 0x90b8, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x90bd, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x90be, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x90bf, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x90c1, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x90c3, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x90c5, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x90c7, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x90c8, ALP_ORDER_BOPOMOFO_LETTER_H_OU },
+       { 0x90ca, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x90cb, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x90ce, ALP_ORDER_BOPOMOFO_LETTER_L_ANG },
+       { 0x90d4, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x90d5, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x90d6, ALP_ORDER_BOPOMOFO_LETTER_D_OU },
+       { 0x90d7, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x90d8, ALP_ORDER_BOPOMOFO_LETTER_L_IU },
+       { 0x90d9, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x90da, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x90db, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x90dc, ALP_ORDER_BOPOMOFO_LETTER_G_AU },
+       { 0x90dd, ALP_ORDER_BOPOMOFO_LETTER_H_AU },
+       { 0x90df, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x90e0, ALP_ORDER_BOPOMOFO_LETTER_G_ENG },
+       { 0x90e1, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EN },
+       { 0x90e2, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x90e3, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x90e4, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x90e5, ALP_ORDER_BOPOMOFO_LETTER_B_EI },
+       { 0x90e8, ALP_ORDER_BOPOMOFO_LETTER_B_U },
+       { 0x90e9, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x90ea, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x90eb, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x90ec, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ENG },
+       { 0x90ed, ALP_ORDER_BOPOMOFO_LETTER_G_U_O },
+       { 0x90ef, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x90f0, ALP_ORDER_BOPOMOFO_LETTER_Z_OU },
+       { 0x90f1, ALP_ORDER_BOPOMOFO_LETTER_P_I_ENG },
+       { 0x90f2, ALP_ORDER_BOPOMOFO_LETTER_L_AI },
+       { 0x90f3, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x90f4, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x90f5, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x90f9, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x90fa, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x90fb, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x90fc, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x90fd, ALP_ORDER_BOPOMOFO_LETTER_D_OU },
+       { 0x90fe, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x90ff, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x9100, ALP_ORDER_BOPOMOFO_LETTER_R_U_O },
+       { 0x9101, ALP_ORDER_BOPOMOFO_LETTER_B_EI },
+       { 0x9102, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x9103, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x9104, ALP_ORDER_BOPOMOFO_LETTER_J_IU_AN },
+       { 0x9105, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x9106, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x9107, ALP_ORDER_BOPOMOFO_LETTER_H_OU },
+       { 0x9108, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x9109, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x910b, ALP_ORDER_BOPOMOFO_LETTER_S_OU },
+       { 0x910d, ALP_ORDER_BOPOMOFO_LETTER_M_I_ENG },
+       { 0x910e, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x910f, ALP_ORDER_BOPOMOFO_LETTER_R_U },
+       { 0x9110, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x9111, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x9112, ALP_ORDER_BOPOMOFO_LETTER_Z_OU },
+       { 0x9114, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x9116, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x9117, ALP_ORDER_BOPOMOFO_LETTER_H_AU },
+       { 0x9118, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x9119, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x911a, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x911b, ALP_ORDER_BOPOMOFO_LETTER_CH_AU },
+       { 0x911c, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x911d, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x911e, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x911f, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_AN },
+       { 0x9120, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x9121, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x9122, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x9123, ALP_ORDER_BOPOMOFO_LETTER_ZH_ANG },
+       { 0x9124, ALP_ORDER_BOPOMOFO_LETTER_M_AN },
+       { 0x9126, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x9127, ALP_ORDER_BOPOMOFO_LETTER_D_ENG },
+       { 0x9128, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x9129, ALP_ORDER_BOPOMOFO_LETTER_X_I_EN },
+       { 0x912a, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x912b, ALP_ORDER_BOPOMOFO_LETTER_C_ENG },
+       { 0x912c, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x912d, ALP_ORDER_BOPOMOFO_LETTER_ZH_ENG },
+       { 0x912e, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x912f, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x9130, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x9131, ALP_ORDER_BOPOMOFO_LETTER_P_O },
+       { 0x9132, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x9133, ALP_ORDER_BOPOMOFO_LETTER_M_ENG },
+       { 0x9134, ALP_ORDER_BOPOMOFO_LETTER_I_EH },
+       { 0x9135, ALP_ORDER_BOPOMOFO_LETTER_C_AU },
+       { 0x9136, ALP_ORDER_BOPOMOFO_LETTER_K_U_AI },
+       { 0x9138, ALP_ORDER_BOPOMOFO_LETTER_M_ENG },
+       { 0x9139, ALP_ORDER_BOPOMOFO_LETTER_Z_OU },
+       { 0x913a, ALP_ORDER_BOPOMOFO_LETTER_K_U_ANG },
+       { 0x913b, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x913e, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x913f, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x9140, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x9141, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x9143, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x9144, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x9145, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x9146, ALP_ORDER_BOPOMOFO_LETTER_F_ENG },
+       { 0x9147, ALP_ORDER_BOPOMOFO_LETTER_Z_AN },
+       { 0x9148, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x9149, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x914a, ALP_ORDER_BOPOMOFO_LETTER_D_I_ENG },
+       { 0x914b, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x914c, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O },
+       { 0x914d, ALP_ORDER_BOPOMOFO_LETTER_P_EI },
+       { 0x914e, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x914f, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x9150, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x9152, ALP_ORDER_BOPOMOFO_LETTER_J_I_OU },
+       { 0x9153, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x9155, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x9156, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x9157, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x9158, ALP_ORDER_BOPOMOFO_LETTER_T_OU },
+       { 0x915a, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x915f, ALP_ORDER_BOPOMOFO_LETTER_T_I_AN },
+       { 0x9160, ALP_ORDER_BOPOMOFO_LETTER_Q_I_A },
+       { 0x9161, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x9162, ALP_ORDER_BOPOMOFO_LETTER_Z_U_O },
+       { 0x9163, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x9164, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x9165, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x9168, ALP_ORDER_BOPOMOFO_LETTER_D_AI },
+       { 0x9169, ALP_ORDER_BOPOMOFO_LETTER_M_I_ENG },
+       { 0x916a, ALP_ORDER_BOPOMOFO_LETTER_L_U_O },
+       { 0x916c, ALP_ORDER_BOPOMOFO_LETTER_CH_OU },
+       { 0x916e, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x916f, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x9172, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x9173, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x9174, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x9175, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x9177, ALP_ORDER_BOPOMOFO_LETTER_K_U },
+       { 0x9178, ALP_ORDER_BOPOMOFO_LETTER_S_U_AN },
+       { 0x9179, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x917a, ALP_ORDER_BOPOMOFO_LETTER_P_U },
+       { 0x9180, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x9181, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x9182, ALP_ORDER_BOPOMOFO_LETTER_L_AN },
+       { 0x9183, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x9184, ALP_ORDER_BOPOMOFO_LETTER_T_AU },
+       { 0x9185, ALP_ORDER_BOPOMOFO_LETTER_P_EI },
+       { 0x9186, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x9187, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EN },
+       { 0x9189, ALP_ORDER_BOPOMOFO_LETTER_Z_U_EI },
+       { 0x918a, ALP_ORDER_BOPOMOFO_LETTER_CH_U_O },
+       { 0x918b, ALP_ORDER_BOPOMOFO_LETTER_C_U },
+       { 0x918d, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x918f, ALP_ORDER_BOPOMOFO_LETTER_D_U },
+       { 0x9190, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x9191, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x9192, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x9193, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x9199, ALP_ORDER_BOPOMOFO_LETTER_S_OU },
+       { 0x919a, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x919b, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x919c, ALP_ORDER_BOPOMOFO_LETTER_CH_OU },
+       { 0x919d, ALP_ORDER_BOPOMOFO_LETTER_C_U_O },
+       { 0x919e, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x919f, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x91a0, ALP_ORDER_BOPOMOFO_LETTER_ANG },
+       { 0x91a1, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x91a2, ALP_ORDER_BOPOMOFO_LETTER_H_AI },
+       { 0x91a3, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x91a5, ALP_ORDER_BOPOMOFO_LETTER_P_I_AU },
+       { 0x91a7, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x91a8, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x91aa, ALP_ORDER_BOPOMOFO_LETTER_L_AU },
+       { 0x91ab, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x91ac, ALP_ORDER_BOPOMOFO_LETTER_J_I_ANG },
+       { 0x91ad, ALP_ORDER_BOPOMOFO_LETTER_B_U },
+       { 0x91ae, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x91af, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x91b0, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x91b1, ALP_ORDER_BOPOMOFO_LETTER_P_O },
+       { 0x91b2, ALP_ORDER_BOPOMOFO_LETTER_N_U_ENG },
+       { 0x91b3, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x91b4, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x91b5, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x91b7, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x91b9, ALP_ORDER_BOPOMOFO_LETTER_R_U },
+       { 0x91ba, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x91bc, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x91bd, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x91be, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x91c0, ALP_ORDER_BOPOMOFO_LETTER_N_I_ANG },
+       { 0x91c1, ALP_ORDER_BOPOMOFO_LETTER_X_I_EN },
+       { 0x91c2, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x91c3, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x91c5, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x91c6, ALP_ORDER_BOPOMOFO_LETTER_C_AI },
+       { 0x91c7, ALP_ORDER_BOPOMOFO_LETTER_C_AI },
+       { 0x91c9, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x91cb, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x91cc, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x91cd, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ENG },
+       { 0x91ce, ALP_ORDER_BOPOMOFO_LETTER_I_EH },
+       { 0x91cf, ALP_ORDER_BOPOMOFO_LETTER_L_I_ANG },
+       { 0x91d0, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x91d1, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x91d3, ALP_ORDER_BOPOMOFO_LETTER_G_A },
+       { 0x91d4, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x91d5, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x91d7, ALP_ORDER_BOPOMOFO_LETTER_ZH_AU },
+       { 0x91d8, ALP_ORDER_BOPOMOFO_LETTER_D_I_ENG },
+       { 0x91d9, ALP_ORDER_BOPOMOFO_LETTER_P_O },
+       { 0x91da, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x91dc, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x91dd, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x91e2, ALP_ORDER_BOPOMOFO_LETTER_N_AI },
+       { 0x91e3, ALP_ORDER_BOPOMOFO_LETTER_D_I_AU },
+       { 0x91e4, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x91e6, ALP_ORDER_BOPOMOFO_LETTER_K_OU },
+       { 0x91e7, ALP_ORDER_BOPOMOFO_LETTER_CH_U_AN },
+       { 0x91e8, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x91e9, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x91ea, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x91eb, ALP_ORDER_BOPOMOFO_LETTER_H_U_A },
+       { 0x91ec, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x91ed, ALP_ORDER_BOPOMOFO_LETTER_G_U_ENG },
+       { 0x91ee, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x91f1, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x91f3, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x91f4, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x91f5, ALP_ORDER_BOPOMOFO_LETTER_CH_AI },
+       { 0x91f7, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x91f8, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x91f9, ALP_ORDER_BOPOMOFO_LETTER_N_IU },
+       { 0x91fd, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x91ff, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x9200, ALP_ORDER_BOPOMOFO_LETTER_P_A },
+       { 0x9201, ALP_ORDER_BOPOMOFO_LETTER_F_ANG },
+       { 0x9202, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x9203, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x9204, ALP_ORDER_BOPOMOFO_LETTER_T_OU },
+       { 0x9205, ALP_ORDER_BOPOMOFO_LETTER_IU_EH },
+       { 0x9206, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x9207, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x9209, ALP_ORDER_BOPOMOFO_LETTER_N_A },
+       { 0x920a, ALP_ORDER_BOPOMOFO_LETTER_X_I_EN },
+       { 0x920c, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x920d, ALP_ORDER_BOPOMOFO_LETTER_D_U_EN },
+       { 0x920f, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x9210, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x9211, ALP_ORDER_BOPOMOFO_LETTER_B_AN },
+       { 0x9212, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x9214, ALP_ORDER_BOPOMOFO_LETTER_CH_AU },
+       { 0x9215, ALP_ORDER_BOPOMOFO_LETTER_N_I_OU },
+       { 0x9216, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x9217, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x9219, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EN },
+       { 0x921a, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x921c, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x921e, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EN },
+       { 0x9223, ALP_ORDER_BOPOMOFO_LETTER_G_AI },
+       { 0x9224, ALP_ORDER_BOPOMOFO_LETTER_R },
+       { 0x9225, ALP_ORDER_BOPOMOFO_LETTER_H_U_O },
+       { 0x9226, ALP_ORDER_BOPOMOFO_LETTER_T_AI },
+       { 0x9227, ALP_ORDER_BOPOMOFO_LETTER_K_ANG },
+       { 0x922d, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x922e, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x9230, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x9231, ALP_ORDER_BOPOMOFO_LETTER_M_I_EN },
+       { 0x9232, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x9233, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x9234, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x9236, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x9237, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x9238, ALP_ORDER_BOPOMOFO_LETTER_B_A },
+       { 0x9239, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x923a, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x923d, ALP_ORDER_BOPOMOFO_LETTER_B_U },
+       { 0x923e, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x923f, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x9240, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x9245, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x9246, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x9248, ALP_ORDER_BOPOMOFO_LETTER_T_A },
+       { 0x9249, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x924a, ALP_ORDER_BOPOMOFO_LETTER_ZH_AU },
+       { 0x924b, ALP_ORDER_BOPOMOFO_LETTER_B_AU },
+       { 0x924c, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x924d, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x924e, ALP_ORDER_BOPOMOFO_LETTER_SH_ENG },
+       { 0x924f, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x9250, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x9251, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x9252, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x9253, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x9254, ALP_ORDER_BOPOMOFO_LETTER_Z_A },
+       { 0x9256, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x9257, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x925a, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x925b, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x925e, ALP_ORDER_BOPOMOFO_LETTER_IU_EH },
+       { 0x9260, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x9261, ALP_ORDER_BOPOMOFO_LETTER_B_AN },
+       { 0x9263, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x9264, ALP_ORDER_BOPOMOFO_LETTER_G_OU },
+       { 0x9265, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x9266, ALP_ORDER_BOPOMOFO_LETTER_ZH_ENG },
+       { 0x9267, ALP_ORDER_BOPOMOFO_LETTER_M_U },
+       { 0x926c, ALP_ORDER_BOPOMOFO_LETTER_M_U },
+       { 0x926d, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x926f, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x9270, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x9272, ALP_ORDER_BOPOMOFO_LETTER_K_A },
+       { 0x9276, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x9278, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x9279, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x927a, ALP_ORDER_BOPOMOFO_LETTER_ER },
+       { 0x927b, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x927c, ALP_ORDER_BOPOMOFO_LETTER_B_I_ENG },
+       { 0x927d, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x927e, ALP_ORDER_BOPOMOFO_LETTER_M_OU },
+       { 0x927f, ALP_ORDER_BOPOMOFO_LETTER_H_A },
+       { 0x9280, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x9282, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x9283, ALP_ORDER_BOPOMOFO_LETTER_CH_U_ENG },
+       { 0x9285, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x9286, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x9287, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x9288, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x928a, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x928b, ALP_ORDER_BOPOMOFO_LETTER_R_EN },
+       { 0x928c, ALP_ORDER_BOPOMOFO_LETTER_Z_U_EN },
+       { 0x928d, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x928e, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_ENG },
+       { 0x9291, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x9293, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x9294, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x9295, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x9296, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x9297, ALP_ORDER_BOPOMOFO_LETTER_H_OU },
+       { 0x9298, ALP_ORDER_BOPOMOFO_LETTER_M_I_ENG },
+       { 0x9299, ALP_ORDER_BOPOMOFO_LETTER_K_U_A },
+       { 0x929a, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x929b, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x929c, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x929d, ALP_ORDER_BOPOMOFO_LETTER_X_I_OU },
+       { 0x92a0, ALP_ORDER_BOPOMOFO_LETTER_L_AU },
+       { 0x92a1, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x92a2, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x92a3, ALP_ORDER_BOPOMOFO_LETTER_R_U },
+       { 0x92a4, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x92a5, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x92a6, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x92a7, ALP_ORDER_BOPOMOFO_LETTER_G_U_ANG },
+       { 0x92a8, ALP_ORDER_BOPOMOFO_LETTER_AN },
+       { 0x92a9, ALP_ORDER_BOPOMOFO_LETTER_D_I_OU },
+       { 0x92aa, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x92ab, ALP_ORDER_BOPOMOFO_LETTER_S_E },
+       { 0x92ac, ALP_ORDER_BOPOMOFO_LETTER_K_AU },
+       { 0x92b2, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x92b3, ALP_ORDER_BOPOMOFO_LETTER_R_U_EI },
+       { 0x92b4, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x92b5, ALP_ORDER_BOPOMOFO_LETTER_K_ENG },
+       { 0x92b6, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x92b7, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x92b9, ALP_ORDER_BOPOMOFO_LETTER_X_I_OU },
+       { 0x92bb, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x92bc, ALP_ORDER_BOPOMOFO_LETTER_C_U_O },
+       { 0x92c0, ALP_ORDER_BOPOMOFO_LETTER_D_OU },
+       { 0x92c1, ALP_ORDER_BOPOMOFO_LETTER_L_IU },
+       { 0x92c2, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x92c3, ALP_ORDER_BOPOMOFO_LETTER_L_ANG },
+       { 0x92c4, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x92c5, ALP_ORDER_BOPOMOFO_LETTER_X_I_EN },
+       { 0x92c6, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x92c7, ALP_ORDER_BOPOMOFO_LETTER_B_EI },
+       { 0x92c8, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x92c9, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x92ca, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x92cb, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x92cc, ALP_ORDER_BOPOMOFO_LETTER_T_I_ENG },
+       { 0x92cd, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x92ce, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x92cf, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x92d0, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x92d1, ALP_ORDER_BOPOMOFO_LETTER_C_U_AN },
+       { 0x92d2, ALP_ORDER_BOPOMOFO_LETTER_F_ENG },
+       { 0x92d3, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x92d5, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x92d7, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x92d8, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x92d9, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x92dd, ALP_ORDER_BOPOMOFO_LETTER_L_IU },
+       { 0x92de, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x92df, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EN },
+       { 0x92e0, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x92e1, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x92e4, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x92e6, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x92e7, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x92e8, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x92e9, ALP_ORDER_BOPOMOFO_LETTER_M_ANG },
+       { 0x92ea, ALP_ORDER_BOPOMOFO_LETTER_P_U },
+       { 0x92ee, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x92ef, ALP_ORDER_BOPOMOFO_LETTER_G_AU },
+       { 0x92f0, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x92f1, ALP_ORDER_BOPOMOFO_LETTER_T_E },
+       { 0x92f7, ALP_ORDER_BOPOMOFO_LETTER_Z_U_EI },
+       { 0x92f8, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x92f9, ALP_ORDER_BOPOMOFO_LETTER_CH_ANG },
+       { 0x92fa, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x92fb, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x92fc, ALP_ORDER_BOPOMOFO_LETTER_G_ANG },
+       { 0x92fe, ALP_ORDER_BOPOMOFO_LETTER_T_AU },
+       { 0x92ff, ALP_ORDER_BOPOMOFO_LETTER_CH_ANG },
+       { 0x9300, ALP_ORDER_BOPOMOFO_LETTER_L_U_EN },
+       { 0x9301, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x9302, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x9304, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x9306, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ANG },
+       { 0x9308, ALP_ORDER_BOPOMOFO_LETTER_J_IU_AN },
+       { 0x9309, ALP_ORDER_BOPOMOFO_LETTER_M_I_EN },
+       { 0x930b, ALP_ORDER_BOPOMOFO_LETTER_P_ENG },
+       { 0x930c, ALP_ORDER_BOPOMOFO_LETTER_AN },
+       { 0x930d, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x930e, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x930f, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x9310, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_EI },
+       { 0x9312, ALP_ORDER_BOPOMOFO_LETTER_A },
+       { 0x9313, ALP_ORDER_BOPOMOFO_LETTER_K_U_ENG },
+       { 0x9314, ALP_ORDER_BOPOMOFO_LETTER_T_A },
+       { 0x9315, ALP_ORDER_BOPOMOFO_LETTER_K_U_EN },
+       { 0x9316, ALP_ORDER_BOPOMOFO_LETTER_D_U },
+       { 0x9318, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EI },
+       { 0x9319, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x931a, ALP_ORDER_BOPOMOFO_LETTER_ZH_ENG },
+       { 0x931b, ALP_ORDER_BOPOMOFO_LETTER_B_EN },
+       { 0x931d, ALP_ORDER_BOPOMOFO_LETTER_C_U_ENG },
+       { 0x931e, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EN },
+       { 0x931f, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x9320, ALP_ORDER_BOPOMOFO_LETTER_D_I_ENG },
+       { 0x9321, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x9322, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x9323, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_EI },
+       { 0x9324, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x9325, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x9326, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x9327, ALP_ORDER_BOPOMOFO_LETTER_G_U_AN },
+       { 0x9328, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x9329, ALP_ORDER_BOPOMOFO_LETTER_CH_ANG },
+       { 0x932a, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x932b, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x932d, ALP_ORDER_BOPOMOFO_LETTER_T_AU },
+       { 0x932e, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x932f, ALP_ORDER_BOPOMOFO_LETTER_C_U_O },
+       { 0x9333, ALP_ORDER_BOPOMOFO_LETTER_M_ENG },
+       { 0x9334, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x9335, ALP_ORDER_BOPOMOFO_LETTER_H_U_A },
+       { 0x9336, ALP_ORDER_BOPOMOFO_LETTER_B_I_AU },
+       { 0x9338, ALP_ORDER_BOPOMOFO_LETTER_L_AI },
+       { 0x9339, ALP_ORDER_BOPOMOFO_LETTER_K_EN },
+       { 0x933c, ALP_ORDER_BOPOMOFO_LETTER_N_AI },
+       { 0x9346, ALP_ORDER_BOPOMOFO_LETTER_M_EN },
+       { 0x9347, ALP_ORDER_BOPOMOFO_LETTER_K_EI },
+       { 0x9349, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x934a, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x934b, ALP_ORDER_BOPOMOFO_LETTER_G_U_O },
+       { 0x934c, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x934d, ALP_ORDER_BOPOMOFO_LETTER_D_U },
+       { 0x934e, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x934f, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x9350, ALP_ORDER_BOPOMOFO_LETTER_C_U_ENG },
+       { 0x9351, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x9352, ALP_ORDER_BOPOMOFO_LETTER_R_OU },
+       { 0x9354, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x9355, ALP_ORDER_BOPOMOFO_LETTER_R_OU },
+       { 0x9356, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x9357, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x9358, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x9359, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x935a, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x935b, ALP_ORDER_BOPOMOFO_LETTER_D_U_AN },
+       { 0x935c, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x935e, ALP_ORDER_BOPOMOFO_LETTER_K_ENG },
+       { 0x9360, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x9361, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x9363, ALP_ORDER_BOPOMOFO_LETTER_ZH_AU },
+       { 0x9364, ALP_ORDER_BOPOMOFO_LETTER_CH_A },
+       { 0x9365, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EH },
+       { 0x9367, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x936a, ALP_ORDER_BOPOMOFO_LETTER_M_OU },
+       { 0x936c, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x936d, ALP_ORDER_BOPOMOFO_LETTER_H_OU },
+       { 0x9370, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x9371, ALP_ORDER_BOPOMOFO_LETTER_I_EH },
+       { 0x9375, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x9376, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x9377, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x9379, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x937a, ALP_ORDER_BOPOMOFO_LETTER_ZH_E },
+       { 0x937b, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x937c, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x937e, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ENG },
+       { 0x9380, ALP_ORDER_BOPOMOFO_LETTER_X_I_OU },
+       { 0x9382, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x9383, ALP_ORDER_BOPOMOFO_LETTER_P_AI },
+       { 0x9388, ALP_ORDER_BOPOMOFO_LETTER_CH_A },
+       { 0x9389, ALP_ORDER_BOPOMOFO_LETTER_T_A },
+       { 0x938a, ALP_ORDER_BOPOMOFO_LETTER_B_ANG },
+       { 0x938c, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x938d, ALP_ORDER_BOPOMOFO_LETTER_S_U_O },
+       { 0x938e, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x938f, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x9391, ALP_ORDER_BOPOMOFO_LETTER_I_EH },
+       { 0x9392, ALP_ORDER_BOPOMOFO_LETTER_N_OU },
+       { 0x9394, ALP_ORDER_BOPOMOFO_LETTER_R_U_ENG },
+       { 0x9395, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x9396, ALP_ORDER_BOPOMOFO_LETTER_S_U_O },
+       { 0x9397, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ANG },
+       { 0x9398, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x9399, ALP_ORDER_BOPOMOFO_LETTER_SH_U_O },
+       { 0x939a, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EI },
+       { 0x939b, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x939d, ALP_ORDER_BOPOMOFO_LETTER_D_A },
+       { 0x939e, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x939f, ALP_ORDER_BOPOMOFO_LETTER_S_ANG },
+       { 0x93a1, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x93a2, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x93a3, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x93a4, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x93a5, ALP_ORDER_BOPOMOFO_LETTER_T_I_AU },
+       { 0x93a6, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x93a7, ALP_ORDER_BOPOMOFO_LETTER_K_EI },
+       { 0x93a8, ALP_ORDER_BOPOMOFO_LETTER_S_U_EN },
+       { 0x93a9, ALP_ORDER_BOPOMOFO_LETTER_SH_A },
+       { 0x93aa, ALP_ORDER_BOPOMOFO_LETTER_S_OU },
+       { 0x93ac, ALP_ORDER_BOPOMOFO_LETTER_H_AU },
+       { 0x93ae, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x93af, ALP_ORDER_BOPOMOFO_LETTER_L_U_O },
+       { 0x93b0, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x93b1, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x93b2, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x93b3, ALP_ORDER_BOPOMOFO_LETTER_N_I_EH },
+       { 0x93b4, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x93b5, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x93b7, ALP_ORDER_BOPOMOFO_LETTER_M_A },
+       { 0x93c0, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x93c2, ALP_ORDER_BOPOMOFO_LETTER_K_OU },
+       { 0x93c3, ALP_ORDER_BOPOMOFO_LETTER_Z_U },
+       { 0x93c4, ALP_ORDER_BOPOMOFO_LETTER_T_U_AN },
+       { 0x93c7, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x93c8, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x93ca, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x93cc, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x93cd, ALP_ORDER_BOPOMOFO_LETTER_L_U_O },
+       { 0x93ce, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x93cf, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x93d0, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x93d1, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x93d2, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x93d4, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x93d5, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x93d6, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x93d7, ALP_ORDER_BOPOMOFO_LETTER_K_ENG },
+       { 0x93d8, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ANG },
+       { 0x93d9, ALP_ORDER_BOPOMOFO_LETTER_C_U_EI },
+       { 0x93da, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x93dc, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x93dd, ALP_ORDER_BOPOMOFO_LETTER_M_AN },
+       { 0x93de, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x93df, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x93e1, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x93e2, ALP_ORDER_BOPOMOFO_LETTER_B_I_AU },
+       { 0x93e3, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x93e4, ALP_ORDER_BOPOMOFO_LETTER_L_OU },
+       { 0x93e6, ALP_ORDER_BOPOMOFO_LETTER_C_U_ENG },
+       { 0x93e7, ALP_ORDER_BOPOMOFO_LETTER_L_U_ENG },
+       { 0x93e8, ALP_ORDER_BOPOMOFO_LETTER_Z_AN },
+       { 0x93ec, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x93ee, ALP_ORDER_BOPOMOFO_LETTER_K_ANG },
+       { 0x93f5, ALP_ORDER_BOPOMOFO_LETTER_H_U_A },
+       { 0x93f6, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x93f7, ALP_ORDER_BOPOMOFO_LETTER_P_U },
+       { 0x93f8, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x93f9, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ANG },
+       { 0x93fa, ALP_ORDER_BOPOMOFO_LETTER_P_O },
+       { 0x93fb, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x93fc, ALP_ORDER_BOPOMOFO_LETTER_S_U_O },
+       { 0x93fd, ALP_ORDER_BOPOMOFO_LETTER_X_I_OU },
+       { 0x93fe, ALP_ORDER_BOPOMOFO_LETTER_S_AN },
+       { 0x93ff, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x9400, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x9403, ALP_ORDER_BOPOMOFO_LETTER_N_AU },
+       { 0x9406, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x9407, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x9409, ALP_ORDER_BOPOMOFO_LETTER_CH_U_AN },
+       { 0x940a, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x940b, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x940c, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x940d, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x940e, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x940f, ALP_ORDER_BOPOMOFO_LETTER_Z_U_EN },
+       { 0x9410, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x9411, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x9412, ALP_ORDER_BOPOMOFO_LETTER_L_AU },
+       { 0x9413, ALP_ORDER_BOPOMOFO_LETTER_D_U_EN },
+       { 0x9414, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x9415, ALP_ORDER_BOPOMOFO_LETTER_Z_AN },
+       { 0x9416, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x9418, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_ENG },
+       { 0x9419, ALP_ORDER_BOPOMOFO_LETTER_D_ENG },
+       { 0x9420, ALP_ORDER_BOPOMOFO_LETTER_P_U },
+       { 0x9428, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x9429, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x942a, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x942b, ALP_ORDER_BOPOMOFO_LETTER_J_IU_AN },
+       { 0x942c, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x942e, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x9430, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x9431, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x9432, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O },
+       { 0x9433, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x9435, ALP_ORDER_BOPOMOFO_LETTER_T_I_EH },
+       { 0x9436, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x9437, ALP_ORDER_BOPOMOFO_LETTER_I_EH },
+       { 0x9438, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x9439, ALP_ORDER_BOPOMOFO_LETTER_G_U_O },
+       { 0x943a, ALP_ORDER_BOPOMOFO_LETTER_D_ANG },
+       { 0x943b, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x943c, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x943d, ALP_ORDER_BOPOMOFO_LETTER_D_A },
+       { 0x943f, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x9440, ALP_ORDER_BOPOMOFO_LETTER_AI },
+       { 0x9444, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x9445, ALP_ORDER_BOPOMOFO_LETTER_H_ENG },
+       { 0x9446, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_EI },
+       { 0x9447, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x9448, ALP_ORDER_BOPOMOFO_LETTER_N_I_EH },
+       { 0x9449, ALP_ORDER_BOPOMOFO_LETTER_T_A },
+       { 0x944a, ALP_ORDER_BOPOMOFO_LETTER_H_U_O },
+       { 0x944b, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ENG },
+       { 0x944c, ALP_ORDER_BOPOMOFO_LETTER_B_I_EN },
+       { 0x944f, ALP_ORDER_BOPOMOFO_LETTER_N_I_ENG },
+       { 0x9450, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x9451, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x9452, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x9455, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x9457, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x945d, ALP_ORDER_BOPOMOFO_LETTER_P_ENG },
+       { 0x945e, ALP_ORDER_BOPOMOFO_LETTER_L_A },
+       { 0x9460, ALP_ORDER_BOPOMOFO_LETTER_SH_U_O },
+       { 0x9462, ALP_ORDER_BOPOMOFO_LETTER_L_IU },
+       { 0x9463, ALP_ORDER_BOPOMOFO_LETTER_B_I_AU },
+       { 0x9464, ALP_ORDER_BOPOMOFO_LETTER_B_AU },
+       { 0x9468, ALP_ORDER_BOPOMOFO_LETTER_L_U_ENG },
+       { 0x9469, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x946a, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x946b, ALP_ORDER_BOPOMOFO_LETTER_X_I_EN },
+       { 0x946d, ALP_ORDER_BOPOMOFO_LETTER_L_AN },
+       { 0x946e, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x946f, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x9470, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x9471, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x9472, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x9473, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x9474, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x9475, ALP_ORDER_BOPOMOFO_LETTER_G_U_AN },
+       { 0x9476, ALP_ORDER_BOPOMOFO_LETTER_C_ANG },
+       { 0x9477, ALP_ORDER_BOPOMOFO_LETTER_N_I_EH },
+       { 0x9478, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x947c, ALP_ORDER_BOPOMOFO_LETTER_L_U_O },
+       { 0x947d, ALP_ORDER_BOPOMOFO_LETTER_Z_U_AN },
+       { 0x947e, ALP_ORDER_BOPOMOFO_LETTER_L_U_AN },
+       { 0x947f, ALP_ORDER_BOPOMOFO_LETTER_Z_AU },
+       { 0x9480, ALP_ORDER_BOPOMOFO_LETTER_N_I_EH },
+       { 0x9481, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x9482, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x9483, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x9577, ALP_ORDER_BOPOMOFO_LETTER_CH_ANG },
+       { 0x957a, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x957b, ALP_ORDER_BOPOMOFO_LETTER_D_I_EH },
+       { 0x957c, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x957d, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x9580, ALP_ORDER_BOPOMOFO_LETTER_M_EN },
+       { 0x9582, ALP_ORDER_BOPOMOFO_LETTER_SH_U_AN },
+       { 0x9583, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x9586, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x9588, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x9589, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x958b, ALP_ORDER_BOPOMOFO_LETTER_K_EI },
+       { 0x958c, ALP_ORDER_BOPOMOFO_LETTER_K_ANG },
+       { 0x958d, ALP_ORDER_BOPOMOFO_LETTER_B_ENG },
+       { 0x958e, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x958f, ALP_ORDER_BOPOMOFO_LETTER_R_U_EN },
+       { 0x9590, ALP_ORDER_BOPOMOFO_LETTER_S_AN },
+       { 0x9591, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x9592, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x9593, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x9594, ALP_ORDER_BOPOMOFO_LETTER_M_I_EN },
+       { 0x9598, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x959b, ALP_ORDER_BOPOMOFO_LETTER_P_ENG },
+       { 0x959c, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x959e, ALP_ORDER_BOPOMOFO_LETTER_B_I_AN },
+       { 0x959f, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x95a1, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x95a3, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x95a4, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x95a5, ALP_ORDER_BOPOMOFO_LETTER_F_A },
+       { 0x95a8, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x95a9, ALP_ORDER_BOPOMOFO_LETTER_M_I_EN },
+       { 0x95ab, ALP_ORDER_BOPOMOFO_LETTER_K_U_EN },
+       { 0x95ac, ALP_ORDER_BOPOMOFO_LETTER_L_ANG },
+       { 0x95ad, ALP_ORDER_BOPOMOFO_LETTER_L_IU },
+       { 0x95ae, ALP_ORDER_BOPOMOFO_LETTER_T_I_ENG },
+       { 0x95b0, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x95b1, ALP_ORDER_BOPOMOFO_LETTER_IU_EH },
+       { 0x95b5, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN }
+};
+
+static han_map HANZI_TO_BPMF_MAP_10[] = {
+       { 0x95b6, ALP_ORDER_BOPOMOFO_LETTER_CH_ANG },
+       { 0x95b7, ALP_ORDER_BOPOMOFO_LETTER_SH_AI },
+       { 0x95b9, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x95ba, ALP_ORDER_BOPOMOFO_LETTER_U_EN },
+       { 0x95bb, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x95bc, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x95bd, ALP_ORDER_BOPOMOFO_LETTER_H_U_EN },
+       { 0x95be, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x95bf, ALP_ORDER_BOPOMOFO_LETTER_U_EN },
+       { 0x95c0, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x95c3, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x95c5, ALP_ORDER_BOPOMOFO_LETTER_U_EN },
+       { 0x95c6, ALP_ORDER_BOPOMOFO_LETTER_B_AN },
+       { 0x95c7, ALP_ORDER_BOPOMOFO_LETTER_AN },
+       { 0x95c8, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x95c9, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x95ca, ALP_ORDER_BOPOMOFO_LETTER_K_U_O },
+       { 0x95cb, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_EH },
+       { 0x95cc, ALP_ORDER_BOPOMOFO_LETTER_L_AN },
+       { 0x95cd, ALP_ORDER_BOPOMOFO_LETTER_D_U },
+       { 0x95d0, ALP_ORDER_BOPOMOFO_LETTER_T_I_AN },
+       { 0x95d1, ALP_ORDER_BOPOMOFO_LETTER_N_I_EH },
+       { 0x95d2, ALP_ORDER_BOPOMOFO_LETTER_T_A },
+       { 0x95d3, ALP_ORDER_BOPOMOFO_LETTER_K_EI },
+       { 0x95d4, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x95d5, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_EH },
+       { 0x95d6, ALP_ORDER_BOPOMOFO_LETTER_CH_U_ANG },
+       { 0x95da, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x95db, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x95dc, ALP_ORDER_BOPOMOFO_LETTER_G_U_AN },
+       { 0x95de, ALP_ORDER_BOPOMOFO_LETTER_K_AN },
+       { 0x95df, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x95e0, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x95e1, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x95e2, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x95e3, ALP_ORDER_BOPOMOFO_LETTER_D_ANG },
+       { 0x95e4, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x95e5, ALP_ORDER_BOPOMOFO_LETTER_T_A },
+       { 0x961c, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x961e, ALP_ORDER_BOPOMOFO_LETTER_L_E },
+       { 0x9620, ALP_ORDER_BOPOMOFO_LETTER_X_I_EN },
+       { 0x9621, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x9622, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x9623, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x9624, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x9628, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x962a, ALP_ORDER_BOPOMOFO_LETTER_B_AN },
+       { 0x962c, ALP_ORDER_BOPOMOFO_LETTER_K_ENG },
+       { 0x962d, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x962e, ALP_ORDER_BOPOMOFO_LETTER_R_U_AN },
+       { 0x962f, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x9630, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x9631, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x9632, ALP_ORDER_BOPOMOFO_LETTER_F_ANG },
+       { 0x9639, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x963a, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x963b, ALP_ORDER_BOPOMOFO_LETTER_Z_U },
+       { 0x963c, ALP_ORDER_BOPOMOFO_LETTER_Z_U_O },
+       { 0x963d, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x963f, ALP_ORDER_BOPOMOFO_LETTER_A },
+       { 0x9640, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x9642, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x9643, ALP_ORDER_BOPOMOFO_LETTER_B_I_ENG },
+       { 0x9644, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x964a, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x964b, ALP_ORDER_BOPOMOFO_LETTER_L_OU },
+       { 0x964c, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x964d, ALP_ORDER_BOPOMOFO_LETTER_J_I_ANG },
+       { 0x964e, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x964f, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x9650, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x9651, ALP_ORDER_BOPOMOFO_LETTER_ER },
+       { 0x9653, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x9654, ALP_ORDER_BOPOMOFO_LETTER_G_AI },
+       { 0x9658, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x965b, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x965c, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x965d, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x965e, ALP_ORDER_BOPOMOFO_LETTER_SH_ENG },
+       { 0x965f, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x9661, ALP_ORDER_BOPOMOFO_LETTER_D_OU },
+       { 0x9662, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x9663, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x9664, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x966a, ALP_ORDER_BOPOMOFO_LETTER_P_EI },
+       { 0x966b, ALP_ORDER_BOPOMOFO_LETTER_P_EI },
+       { 0x966c, ALP_ORDER_BOPOMOFO_LETTER_Z_OU },
+       { 0x966d, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x966f, ALP_ORDER_BOPOMOFO_LETTER_L_U_EN },
+       { 0x9670, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x9671, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x9672, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EI },
+       { 0x9673, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x9674, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x9675, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x9676, ALP_ORDER_BOPOMOFO_LETTER_T_AU },
+       { 0x9677, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x9678, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x967c, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x967d, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x967e, ALP_ORDER_BOPOMOFO_LETTER_R_ENG },
+       { 0x9680, ALP_ORDER_BOPOMOFO_LETTER_CH_U_ENG },
+       { 0x9683, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x9684, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x9685, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x9686, ALP_ORDER_BOPOMOFO_LETTER_L_U_ENG },
+       { 0x9687, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x9688, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x9689, ALP_ORDER_BOPOMOFO_LETTER_N_I_EH },
+       { 0x968a, ALP_ORDER_BOPOMOFO_LETTER_D_U_EI },
+       { 0x968b, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x968d, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x968e, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x9691, ALP_ORDER_BOPOMOFO_LETTER_G_AI },
+       { 0x9692, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x9693, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x9694, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x9695, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x9697, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x9698, ALP_ORDER_BOPOMOFO_LETTER_AI },
+       { 0x9699, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x969b, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x969c, ALP_ORDER_BOPOMOFO_LETTER_ZH_ANG },
+       { 0x969e, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x96a1, ALP_ORDER_BOPOMOFO_LETTER_S_A },
+       { 0x96a2, ALP_ORDER_BOPOMOFO_LETTER_R_AU },
+       { 0x96a4, ALP_ORDER_BOPOMOFO_LETTER_T_U_EI },
+       { 0x96a7, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x96a8, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x96a9, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x96aa, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x96ac, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x96ae, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x96b0, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x96b1, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x96b3, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x96b4, ALP_ORDER_BOPOMOFO_LETTER_L_U_ENG },
+       { 0x96b8, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x96b9, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_EI },
+       { 0x96bb, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x96bc, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_EN },
+       { 0x96bf, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x96c0, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_EH },
+       { 0x96c1, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x96c2, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EN },
+       { 0x96c3, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x96c4, ALP_ORDER_BOPOMOFO_LETTER_X_IU_ENG },
+       { 0x96c5, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x96c6, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x96c7, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x96c8, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x96c9, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x96ca, ALP_ORDER_BOPOMOFO_LETTER_G_OU },
+       { 0x96cb, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EN },
+       { 0x96cc, ALP_ORDER_BOPOMOFO_LETTER_C },
+       { 0x96cd, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x96ce, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x96d2, ALP_ORDER_BOPOMOFO_LETTER_L_U_O },
+       { 0x96d3, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x96d4, ALP_ORDER_BOPOMOFO_LETTER_CH_OU },
+       { 0x96d5, ALP_ORDER_BOPOMOFO_LETTER_D_I_AU },
+       { 0x96d6, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x96d7, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x96d8, ALP_ORDER_BOPOMOFO_LETTER_H_U_O },
+       { 0x96d9, ALP_ORDER_BOPOMOFO_LETTER_SH_U_ANG },
+       { 0x96da, ALP_ORDER_BOPOMOFO_LETTER_G_U_AN },
+       { 0x96db, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x96dc, ALP_ORDER_BOPOMOFO_LETTER_Z_A },
+       { 0x96dd, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x96de, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x96df, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x96e1, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x96e2, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x96e3, ALP_ORDER_BOPOMOFO_LETTER_N_AN },
+       { 0x96e5, ALP_ORDER_BOPOMOFO_LETTER_Z_A },
+       { 0x96e8, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x96e9, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x96ea, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EH },
+       { 0x96ef, ALP_ORDER_BOPOMOFO_LETTER_U_EN },
+       { 0x96f0, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x96f1, ALP_ORDER_BOPOMOFO_LETTER_P_ANG },
+       { 0x96f2, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x96f5, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x96f6, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x96f7, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x96f8, ALP_ORDER_BOPOMOFO_LETTER_AN },
+       { 0x96f9, ALP_ORDER_BOPOMOFO_LETTER_B_AU },
+       { 0x96fa, ALP_ORDER_BOPOMOFO_LETTER_M_ENG },
+       { 0x96fb, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x96fd, ALP_ORDER_BOPOMOFO_LETTER_H_ANG },
+       { 0x96ff, ALP_ORDER_BOPOMOFO_LETTER_ZH_AU },
+       { 0x9700, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x9702, ALP_ORDER_BOPOMOFO_LETTER_M_U },
+       { 0x9704, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x9705, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x9706, ALP_ORDER_BOPOMOFO_LETTER_T_I_ENG },
+       { 0x9707, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x9708, ALP_ORDER_BOPOMOFO_LETTER_P_EI },
+       { 0x9709, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x970b, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x970d, ALP_ORDER_BOPOMOFO_LETTER_H_U_O },
+       { 0x970e, ALP_ORDER_BOPOMOFO_LETTER_SH_A },
+       { 0x970f, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x9710, ALP_ORDER_BOPOMOFO_LETTER_U_ENG },
+       { 0x9711, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x9712, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x9713, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x9716, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x9718, ALP_ORDER_BOPOMOFO_LETTER_D_U_ENG },
+       { 0x9719, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x971c, ALP_ORDER_BOPOMOFO_LETTER_SH_U_ANG },
+       { 0x971d, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x971e, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x971f, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x9720, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x9722, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x9723, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x9724, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x9725, ALP_ORDER_BOPOMOFO_LETTER_M_ENG },
+       { 0x9726, ALP_ORDER_BOPOMOFO_LETTER_B_I_EN },
+       { 0x9727, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x9728, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x9729, ALP_ORDER_BOPOMOFO_LETTER_K_U_O },
+       { 0x972a, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x972b, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x972c, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x972e, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x972f, ALP_ORDER_BOPOMOFO_LETTER_D_ENG },
+       { 0x9730, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x9732, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x9735, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x9738, ALP_ORDER_BOPOMOFO_LETTER_B_A },
+       { 0x9739, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x973a, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x973d, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x973e, ALP_ORDER_BOPOMOFO_LETTER_M_AI },
+       { 0x973f, ALP_ORDER_BOPOMOFO_LETTER_M_ENG },
+       { 0x9742, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x9743, ALP_ORDER_BOPOMOFO_LETTER_H_U_O },
+       { 0x9744, ALP_ORDER_BOPOMOFO_LETTER_AI },
+       { 0x9746, ALP_ORDER_BOPOMOFO_LETTER_D_AI },
+       { 0x9747, ALP_ORDER_BOPOMOFO_LETTER_L_U_ENG },
+       { 0x9748, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x9749, ALP_ORDER_BOPOMOFO_LETTER_AI },
+       { 0x974b, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x9752, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ENG },
+       { 0x9756, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x9758, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ENG },
+       { 0x975a, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x975b, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x975c, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x975e, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x9760, ALP_ORDER_BOPOMOFO_LETTER_K_AU },
+       { 0x9761, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x9762, ALP_ORDER_BOPOMOFO_LETTER_M_I_AN },
+       { 0x9766, ALP_ORDER_BOPOMOFO_LETTER_M_I_AN },
+       { 0x9768, ALP_ORDER_BOPOMOFO_LETTER_I_EH },
+       { 0x9769, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x976a, ALP_ORDER_BOPOMOFO_LETTER_D_I_ENG },
+       { 0x976c, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x976e, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x9770, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x9772, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EN },
+       { 0x9773, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x9774, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EH },
+       { 0x9776, ALP_ORDER_BOPOMOFO_LETTER_B_A },
+       { 0x9777, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x9778, ALP_ORDER_BOPOMOFO_LETTER_S_A },
+       { 0x977a, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x977b, ALP_ORDER_BOPOMOFO_LETTER_Z_U },
+       { 0x977c, ALP_ORDER_BOPOMOFO_LETTER_D_A },
+       { 0x977d, ALP_ORDER_BOPOMOFO_LETTER_B_AN },
+       { 0x977e, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x977f, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x9780, ALP_ORDER_BOPOMOFO_LETTER_T_AU },
+       { 0x9781, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x9782, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x9783, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x9784, ALP_ORDER_BOPOMOFO_LETTER_P_AU },
+       { 0x9785, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x9788, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x978a, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x978b, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x978d, ALP_ORDER_BOPOMOFO_LETTER_AN },
+       { 0x978e, ALP_ORDER_BOPOMOFO_LETTER_H_EN },
+       { 0x978f, ALP_ORDER_BOPOMOFO_LETTER_G_U_ENG },
+       { 0x9794, ALP_ORDER_BOPOMOFO_LETTER_M_AN },
+       { 0x9797, ALP_ORDER_BOPOMOFO_LETTER_T_I_AU },
+       { 0x9798, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x9799, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x979a, ALP_ORDER_BOPOMOFO_LETTER_K_U_ENG },
+       { 0x979c, ALP_ORDER_BOPOMOFO_LETTER_T_A },
+       { 0x979d, ALP_ORDER_BOPOMOFO_LETTER_ZH_ANG },
+       { 0x979e, ALP_ORDER_BOPOMOFO_LETTER_B_I_ENG },
+       { 0x97a0, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x97a1, ALP_ORDER_BOPOMOFO_LETTER_L_A },
+       { 0x97a2, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x97a3, ALP_ORDER_BOPOMOFO_LETTER_R_OU },
+       { 0x97a4, ALP_ORDER_BOPOMOFO_LETTER_B_ANG },
+       { 0x97a5, ALP_ORDER_BOPOMOFO_LETTER_ENG },
+       { 0x97a6, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x97a8, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x97aa, ALP_ORDER_BOPOMOFO_LETTER_M_U },
+       { 0x97ab, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x97ac, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x97ad, ALP_ORDER_BOPOMOFO_LETTER_B_I_AN },
+       { 0x97ae, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x97b3, ALP_ORDER_BOPOMOFO_LETTER_T_A },
+       { 0x97b6, ALP_ORDER_BOPOMOFO_LETTER_P_AN },
+       { 0x97b7, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x97b9, ALP_ORDER_BOPOMOFO_LETTER_K_U_O },
+       { 0x97bb, ALP_ORDER_BOPOMOFO_LETTER_L_OU },
+       { 0x97bf, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x97c1, ALP_ORDER_BOPOMOFO_LETTER_J_I_ANG },
+       { 0x97c3, ALP_ORDER_BOPOMOFO_LETTER_D_A },
+       { 0x97c4, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x97c5, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x97c6, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x97c7, ALP_ORDER_BOPOMOFO_LETTER_D_U },
+       { 0x97c9, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x97cb, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x97cc, ALP_ORDER_BOPOMOFO_LETTER_R_EN },
+       { 0x97cd, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x97ce, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x97cf, ALP_ORDER_BOPOMOFO_LETTER_J_IU_AN },
+       { 0x97d0, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x97d3, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x97d4, ALP_ORDER_BOPOMOFO_LETTER_CH_ANG },
+       { 0x97d5, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EN },
+       { 0x97d6, ALP_ORDER_BOPOMOFO_LETTER_R_OU },
+       { 0x97d7, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x97d8, ALP_ORDER_BOPOMOFO_LETTER_SH_E },
+       { 0x97d9, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x97dc, ALP_ORDER_BOPOMOFO_LETTER_T_AU },
+       { 0x97dd, ALP_ORDER_BOPOMOFO_LETTER_G_OU },
+       { 0x97de, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x97df, ALP_ORDER_BOPOMOFO_LETTER_G_AU },
+       { 0x97e1, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x97e3, ALP_ORDER_BOPOMOFO_LETTER_D_U },
+       { 0x97e5, ALP_ORDER_BOPOMOFO_LETTER_D_U },
+       { 0x97ed, ALP_ORDER_BOPOMOFO_LETTER_J_I_OU },
+       { 0x97f0, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x97f1, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x97f3, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x97f6, ALP_ORDER_BOPOMOFO_LETTER_SH_AU },
+       { 0x97f8, ALP_ORDER_BOPOMOFO_LETTER_P_ENG },
+       { 0x97f9, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x97fa, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x97fb, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x97fd, ALP_ORDER_BOPOMOFO_LETTER_AN },
+       { 0x97fe, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x97ff, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x9800, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x9801, ALP_ORDER_BOPOMOFO_LETTER_I_EH },
+       { 0x9802, ALP_ORDER_BOPOMOFO_LETTER_D_I_ENG },
+       { 0x9803, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ENG },
+       { 0x9804, ALP_ORDER_BOPOMOFO_LETTER_P_AN },
+       { 0x9805, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x9806, ALP_ORDER_BOPOMOFO_LETTER_SH_U_EN },
+       { 0x9807, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x9808, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x980a, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x980c, ALP_ORDER_BOPOMOFO_LETTER_S_U_ENG },
+       { 0x980d, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x980e, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x980f, ALP_ORDER_BOPOMOFO_LETTER_H_ANG },
+       { 0x9810, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x9811, ALP_ORDER_BOPOMOFO_LETTER_U_AN },
+       { 0x9812, ALP_ORDER_BOPOMOFO_LETTER_B_AN },
+       { 0x9813, ALP_ORDER_BOPOMOFO_LETTER_D_U_EN },
+       { 0x9816, ALP_ORDER_BOPOMOFO_LETTER_P_AN },
+       { 0x9817, ALP_ORDER_BOPOMOFO_LETTER_P_O },
+       { 0x9818, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x981b, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x981c, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x981d, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x981e, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x9820, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x9821, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x9824, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x9826, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x9827, ALP_ORDER_BOPOMOFO_LETTER_D_U_EI },
+       { 0x9828, ALP_ORDER_BOPOMOFO_LETTER_P_I_AN },
+       { 0x9829, ALP_ORDER_BOPOMOFO_LETTER_P_I_ENG },
+       { 0x982b, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x982d, ALP_ORDER_BOPOMOFO_LETTER_T_OU },
+       { 0x982f, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x9830, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x9832, ALP_ORDER_BOPOMOFO_LETTER_T_I_ENG },
+       { 0x9835, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EN },
+       { 0x9837, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x9838, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x9839, ALP_ORDER_BOPOMOFO_LETTER_T_U_EI },
+       { 0x983b, ALP_ORDER_BOPOMOFO_LETTER_P_I_EN },
+       { 0x9841, ALP_ORDER_BOPOMOFO_LETTER_D_I_ENG },
+       { 0x9843, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x9844, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x9845, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x9846, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x9848, ALP_ORDER_BOPOMOFO_LETTER_J_IU_ENG },
+       { 0x9849, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EN },
+       { 0x984a, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x984c, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x984d, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x984e, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x984f, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x9850, ALP_ORDER_BOPOMOFO_LETTER_H_U_EN },
+       { 0x9851, ALP_ORDER_BOPOMOFO_LETTER_K_AN },
+       { 0x9852, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x9853, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_AN },
+       { 0x9857, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x9858, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x9859, ALP_ORDER_BOPOMOFO_LETTER_S_ANG },
+       { 0x985b, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x985c, ALP_ORDER_BOPOMOFO_LETTER_J_I_ANG },
+       { 0x985d, ALP_ORDER_BOPOMOFO_LETTER_K_U },
+       { 0x985e, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x985f, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x9860, ALP_ORDER_BOPOMOFO_LETTER_P_I_AU },
+       { 0x9862, ALP_ORDER_BOPOMOFO_LETTER_M_AN },
+       { 0x9863, ALP_ORDER_BOPOMOFO_LETTER_C_U },
+       { 0x9864, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x9865, ALP_ORDER_BOPOMOFO_LETTER_H_AU },
+       { 0x9867, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x9869, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x986a, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x986b, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x986f, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x9870, ALP_ORDER_BOPOMOFO_LETTER_P_I_EN },
+       { 0x9871, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x9872, ALP_ORDER_BOPOMOFO_LETTER_L_AN },
+       { 0x9873, ALP_ORDER_BOPOMOFO_LETTER_N_I_EH },
+       { 0x9874, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x98a8, ALP_ORDER_BOPOMOFO_LETTER_F_ENG },
+       { 0x98a9, ALP_ORDER_BOPOMOFO_LETTER_B_I_AU },
+       { 0x98ac, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x98ad, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x98ae, ALP_ORDER_BOPOMOFO_LETTER_P_AU },
+       { 0x98af, ALP_ORDER_BOPOMOFO_LETTER_S_A },
+       { 0x98b1, ALP_ORDER_BOPOMOFO_LETTER_T_AI },
+       { 0x98b2, ALP_ORDER_BOPOMOFO_LETTER_L_I_EH },
+       { 0x98b3, ALP_ORDER_BOPOMOFO_LETTER_G_U_A },
+       { 0x98b6, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x98b8, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x98ba, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x98bb, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x98bc, ALP_ORDER_BOPOMOFO_LETTER_S_OU },
+       { 0x98bd, ALP_ORDER_BOPOMOFO_LETTER_K_EI },
+       { 0x98be, ALP_ORDER_BOPOMOFO_LETTER_S_AU },
+       { 0x98bf, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x98c0, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x98c1, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x98c2, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x98c4, ALP_ORDER_BOPOMOFO_LETTER_P_I_AU },
+       { 0x98c6, ALP_ORDER_BOPOMOFO_LETTER_B_I_AU },
+       { 0x98c9, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x98cb, ALP_ORDER_BOPOMOFO_LETTER_S_E },
+       { 0x98cc, ALP_ORDER_BOPOMOFO_LETTER_F_ENG },
+       { 0x98db, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x98df, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x98e2, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x98e3, ALP_ORDER_BOPOMOFO_LETTER_D_I_ENG },
+       { 0x98e5, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x98e7, ALP_ORDER_BOPOMOFO_LETTER_S_U_EN },
+       { 0x98e9, ALP_ORDER_BOPOMOFO_LETTER_T_U_EN },
+       { 0x98ea, ALP_ORDER_BOPOMOFO_LETTER_R_EN },
+       { 0x98eb, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x98ed, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x98ef, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x98f2, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x98f4, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x98f6, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x98f9, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x98fa, ALP_ORDER_BOPOMOFO_LETTER_C },
+       { 0x98fc, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x98fd, ALP_ORDER_BOPOMOFO_LETTER_B_AU },
+       { 0x98fe, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x9900, ALP_ORDER_BOPOMOFO_LETTER_H_AI },
+       { 0x9902, ALP_ORDER_BOPOMOFO_LETTER_T_I_AN },
+       { 0x9903, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x9905, ALP_ORDER_BOPOMOFO_LETTER_B_I_ENG },
+       { 0x9907, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x9908, ALP_ORDER_BOPOMOFO_LETTER_C },
+       { 0x9909, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x990a, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x990c, ALP_ORDER_BOPOMOFO_LETTER_ER },
+       { 0x9910, ALP_ORDER_BOPOMOFO_LETTER_C_AN },
+       { 0x9911, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x9912, ALP_ORDER_BOPOMOFO_LETTER_N_EI },
+       { 0x9913, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x9914, ALP_ORDER_BOPOMOFO_LETTER_B_U },
+       { 0x9915, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EN },
+       { 0x9916, ALP_ORDER_BOPOMOFO_LETTER_D_OU },
+       { 0x9917, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x9918, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x991a, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x991b, ALP_ORDER_BOPOMOFO_LETTER_H_U_EN },
+       { 0x991e, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x991f, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_EI },
+       { 0x9921, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x9924, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x9925, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x9927, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x9928, ALP_ORDER_BOPOMOFO_LETTER_G_U_AN },
+       { 0x9929, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x992a, ALP_ORDER_BOPOMOFO_LETTER_N_U_AN },
+       { 0x992b, ALP_ORDER_BOPOMOFO_LETTER_H_U_EN },
+       { 0x992c, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x992d, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x992e, ALP_ORDER_BOPOMOFO_LETTER_T_I_EH },
+       { 0x992f, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x9930, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x9931, ALP_ORDER_BOPOMOFO_LETTER_H_OU },
+       { 0x9932, ALP_ORDER_BOPOMOFO_LETTER_AI },
+       { 0x9933, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x9935, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x993a, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x993c, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x993d, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x993e, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x993f, ALP_ORDER_BOPOMOFO_LETTER_S_OU },
+       { 0x9941, ALP_ORDER_BOPOMOFO_LETTER_I_EH },
+       { 0x9943, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x9945, ALP_ORDER_BOPOMOFO_LETTER_M_AN },
+       { 0x9947, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x9948, ALP_ORDER_BOPOMOFO_LETTER_X_I_OU },
+       { 0x9949, ALP_ORDER_BOPOMOFO_LETTER_J_I_EN },
+       { 0x994b, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x994c, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_AN },
+       { 0x994e, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x9950, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x9951, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x9952, ALP_ORDER_BOPOMOFO_LETTER_R_AU },
+       { 0x9953, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x9954, ALP_ORDER_BOPOMOFO_LETTER_IU_ENG },
+       { 0x9955, ALP_ORDER_BOPOMOFO_LETTER_T_AU },
+       { 0x9956, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x9957, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x9958, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x9959, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x995b, ALP_ORDER_BOPOMOFO_LETTER_M_ENG },
+       { 0x995c, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x995e, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x995f, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x9961, ALP_ORDER_BOPOMOFO_LETTER_Z_AN },
+       { 0x9996, ALP_ORDER_BOPOMOFO_LETTER_SH_OU },
+       { 0x9997, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x9998, ALP_ORDER_BOPOMOFO_LETTER_G_U_O },
+       { 0x9999, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x999c, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x999d, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x999e, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x99a1, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x99a3, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x99a5, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x99a6, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x99a7, ALP_ORDER_BOPOMOFO_LETTER_U_EN },
+       { 0x99a8, ALP_ORDER_BOPOMOFO_LETTER_X_I_EN },
+       { 0x99ab, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x99ac, ALP_ORDER_BOPOMOFO_LETTER_M_A },
+       { 0x99ad, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x99ae, ALP_ORDER_BOPOMOFO_LETTER_F_ENG },
+       { 0x99af, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x99b0, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x99b1, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x99b2, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x99b3, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x99b4, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x99b5, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x99b9, ALP_ORDER_BOPOMOFO_LETTER_R },
+       { 0x99ba, ALP_ORDER_BOPOMOFO_LETTER_S_A },
+       { 0x99bb, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x99bd, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x99c1, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x99c2, ALP_ORDER_BOPOMOFO_LETTER_B_AU },
+       { 0x99c3, ALP_ORDER_BOPOMOFO_LETTER_K_U_AI },
+       { 0x99c7, ALP_ORDER_BOPOMOFO_LETTER_U_EN },
+       { 0x99c9, ALP_ORDER_BOPOMOFO_LETTER_J_IU_ENG },
+       { 0x99cb, ALP_ORDER_BOPOMOFO_LETTER_ZH_AU },
+       { 0x99cc, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x99cd, ALP_ORDER_BOPOMOFO_LETTER_P_ENG },
+       { 0x99ce, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x99cf, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x99d0, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x99d1, ALP_ORDER_BOPOMOFO_LETTER_N_U },
+       { 0x99d2, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x99d3, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x99d4, ALP_ORDER_BOPOMOFO_LETTER_Z_ANG },
+       { 0x99d5, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x99d6, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x99d7, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x99d8, ALP_ORDER_BOPOMOFO_LETTER_D_AI },
+       { 0x99d9, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x99db, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x99dc, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x99dd, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x99df, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x99e2, ALP_ORDER_BOPOMOFO_LETTER_P_I_AN },
+       { 0x99e3, ALP_ORDER_BOPOMOFO_LETTER_T_AU },
+       { 0x99e4, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x99e5, ALP_ORDER_BOPOMOFO_LETTER_R_U_ENG },
+       { 0x99e7, ALP_ORDER_BOPOMOFO_LETTER_D_U_ENG },
+       { 0x99e9, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x99ea, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x99ec, ALP_ORDER_BOPOMOFO_LETTER_ER },
+       { 0x99ed, ALP_ORDER_BOPOMOFO_LETTER_H_AI },
+       { 0x99ee, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x99f0, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x99f1, ALP_ORDER_BOPOMOFO_LETTER_L_U_O },
+       { 0x99f4, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x99f6, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x99f7, ALP_ORDER_BOPOMOFO_LETTER_S_U_ENG },
+       { 0x99f8, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EN },
+       { 0x99f9, ALP_ORDER_BOPOMOFO_LETTER_M_ANG },
+       { 0x99fa, ALP_ORDER_BOPOMOFO_LETTER_L_ANG },
+       { 0x99fb, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x99fc, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x99fd, ALP_ORDER_BOPOMOFO_LETTER_X_IU_AN },
+       { 0x99fe, ALP_ORDER_BOPOMOFO_LETTER_T_U_EI },
+       { 0x99ff, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EN },
+       { 0x9a01, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x9a02, ALP_ORDER_BOPOMOFO_LETTER_X_I_ENG },
+       { 0x9a03, ALP_ORDER_BOPOMOFO_LETTER_AI },
+       { 0x9a04, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x9a05, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_EI },
+       { 0x9a06, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x9a07, ALP_ORDER_BOPOMOFO_LETTER_SH_E },
+       { 0x9a09, ALP_ORDER_BOPOMOFO_LETTER_K_U_EN },
+       { 0x9a0a, ALP_ORDER_BOPOMOFO_LETTER_T_AU },
+       { 0x9a0b, ALP_ORDER_BOPOMOFO_LETTER_L_AI },
+       { 0x9a0d, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x9a0e, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x9a0f, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x9a11, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x9a14, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x9a15, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x9a16, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x9a19, ALP_ORDER_BOPOMOFO_LETTER_P_I_AN },
+       { 0x9a1a, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x9a1b, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x9a1c, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x9a1d, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x9a1e, ALP_ORDER_BOPOMOFO_LETTER_H_U_O },
+       { 0x9a20, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x9a22, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x9a23, ALP_ORDER_BOPOMOFO_LETTER_Z_U_ENG },
+       { 0x9a24, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x9a25, ALP_ORDER_BOPOMOFO_LETTER_R_OU },
+       { 0x9a27, ALP_ORDER_BOPOMOFO_LETTER_G_U_A },
+       { 0x9a29, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x9a2a, ALP_ORDER_BOPOMOFO_LETTER_S_OU },
+       { 0x9a2b, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x9a2c, ALP_ORDER_BOPOMOFO_LETTER_CH_ENG },
+       { 0x9a2d, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x9a2e, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x9a30, ALP_ORDER_BOPOMOFO_LETTER_T_ENG },
+       { 0x9a31, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x9a32, ALP_ORDER_BOPOMOFO_LETTER_C_AU },
+       { 0x9a34, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x9a35, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x9a36, ALP_ORDER_BOPOMOFO_LETTER_Z_OU },
+       { 0x9a37, ALP_ORDER_BOPOMOFO_LETTER_S_AU },
+       { 0x9a38, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x9a39, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x9a3a, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x9a3d, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x9a3e, ALP_ORDER_BOPOMOFO_LETTER_L_U_O },
+       { 0x9a3f, ALP_ORDER_BOPOMOFO_LETTER_ZH_ANG },
+       { 0x9a40, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x9a41, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x9a42, ALP_ORDER_BOPOMOFO_LETTER_C_AN },
+       { 0x9a43, ALP_ORDER_BOPOMOFO_LETTER_P_I_AU },
+       { 0x9a44, ALP_ORDER_BOPOMOFO_LETTER_C_U_ENG },
+       { 0x9a45, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x9a46, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x9a48, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x9a49, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x9a4a, ALP_ORDER_BOPOMOFO_LETTER_H_U_A },
+       { 0x9a4c, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x9a4d, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x9a4e, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x9a4f, ALP_ORDER_BOPOMOFO_LETTER_CH_AN },
+       { 0x9a50, ALP_ORDER_BOPOMOFO_LETTER_D_U_EN },
+       { 0x9a52, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x9a53, ALP_ORDER_BOPOMOFO_LETTER_Z_ENG },
+       { 0x9a54, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x9a55, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x9a56, ALP_ORDER_BOPOMOFO_LETTER_T_I_EH },
+       { 0x9a57, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x9a59, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x9a5a, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x9a5b, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x9a5e, ALP_ORDER_BOPOMOFO_LETTER_B_I_EN },
+       { 0x9a5f, ALP_ORDER_BOPOMOFO_LETTER_Z_OU },
+       { 0x9a60, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x9a62, ALP_ORDER_BOPOMOFO_LETTER_L_IU },
+       { 0x9a64, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x9a65, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x9a66, ALP_ORDER_BOPOMOFO_LETTER_SH_U_ANG },
+       { 0x9a67, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x9a68, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x9a69, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x9a6a, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x9a6b, ALP_ORDER_BOPOMOFO_LETTER_B_I_AU },
+       { 0x9aa8, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x9aab, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x9aad, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x9aaf, ALP_ORDER_BOPOMOFO_LETTER_ANG },
+       { 0x9ab0, ALP_ORDER_BOPOMOFO_LETTER_SH_AI },
+       { 0x9ab1, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x9ab3, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x9ab4, ALP_ORDER_BOPOMOFO_LETTER_C },
+       { 0x9ab7, ALP_ORDER_BOPOMOFO_LETTER_K_U },
+       { 0x9ab8, ALP_ORDER_BOPOMOFO_LETTER_H_AI },
+       { 0x9ab9, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x9abb, ALP_ORDER_BOPOMOFO_LETTER_K_U_A },
+       { 0x9abc, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x9abe, ALP_ORDER_BOPOMOFO_LETTER_G_ENG },
+       { 0x9abf, ALP_ORDER_BOPOMOFO_LETTER_P_I_AN },
+       { 0x9ac0, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x9ac1, ALP_ORDER_BOPOMOFO_LETTER_K_E },
+       { 0x9ac2, ALP_ORDER_BOPOMOFO_LETTER_K_A },
+       { 0x9ac6, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x9ac7, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x9aca, ALP_ORDER_BOPOMOFO_LETTER_C_U_O },
+       { 0x9acd, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x9acf, ALP_ORDER_BOPOMOFO_LETTER_L_OU },
+       { 0x9ad0, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x9ad1, ALP_ORDER_BOPOMOFO_LETTER_D_U },
+       { 0x9ad2, ALP_ORDER_BOPOMOFO_LETTER_Z_ANG },
+       { 0x9ad3, ALP_ORDER_BOPOMOFO_LETTER_S_U_EI },
+       { 0x9ad4, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x9ad5, ALP_ORDER_BOPOMOFO_LETTER_B_I_EN },
+       { 0x9ad6, ALP_ORDER_BOPOMOFO_LETTER_K_U_AN },
+       { 0x9ad8, ALP_ORDER_BOPOMOFO_LETTER_G_AU },
+       { 0x9adc, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AU },
+       { 0x9adf, ALP_ORDER_BOPOMOFO_LETTER_B_I_AU },
+       { 0x9ae1, ALP_ORDER_BOPOMOFO_LETTER_K_U_EN },
+       { 0x9ae3, ALP_ORDER_BOPOMOFO_LETTER_F_ANG },
+       { 0x9ae6, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x9ae7, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x9aeb, ALP_ORDER_BOPOMOFO_LETTER_T_I_AU },
+       { 0x9aec, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x9aed, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x9aee, ALP_ORDER_BOPOMOFO_LETTER_F_A },
+       { 0x9aef, ALP_ORDER_BOPOMOFO_LETTER_R_AN },
+       { 0x9af1, ALP_ORDER_BOPOMOFO_LETTER_P_AU },
+       { 0x9af2, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x9af3, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x9af6, ALP_ORDER_BOPOMOFO_LETTER_R_U_ENG },
+       { 0x9af7, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x9af9, ALP_ORDER_BOPOMOFO_LETTER_X_I_OU },
+       { 0x9afa, ALP_ORDER_BOPOMOFO_LETTER_G_U_A },
+       { 0x9afb, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x9afc, ALP_ORDER_BOPOMOFO_LETTER_P_ENG },
+       { 0x9afd, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_A },
+       { 0x9afe, ALP_ORDER_BOPOMOFO_LETTER_SH_AU },
+       { 0x9b01, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x9b03, ALP_ORDER_BOPOMOFO_LETTER_Z_U_ENG },
+       { 0x9b04, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x9b05, ALP_ORDER_BOPOMOFO_LETTER_P_ENG },
+       { 0x9b06, ALP_ORDER_BOPOMOFO_LETTER_S_U_ENG },
+       { 0x9b08, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x9b0a, ALP_ORDER_BOPOMOFO_LETTER_SH_U_EN },
+       { 0x9b0b, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x9b0c, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x9b0d, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x9b0e, ALP_ORDER_BOPOMOFO_LETTER_L_A },
+       { 0x9b10, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x9b11, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x9b12, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x9b15, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x9b16, ALP_ORDER_BOPOMOFO_LETTER_S_AN },
+       { 0x9b17, ALP_ORDER_BOPOMOFO_LETTER_M_AN },
+       { 0x9b18, ALP_ORDER_BOPOMOFO_LETTER_M_AN },
+       { 0x9b19, ALP_ORDER_BOPOMOFO_LETTER_S_ENG },
+       { 0x9b1a, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x9b1e, ALP_ORDER_BOPOMOFO_LETTER_N_U_ENG },
+       { 0x9b1f, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x9b20, ALP_ORDER_BOPOMOFO_LETTER_K_U_AI },
+       { 0x9b22, ALP_ORDER_BOPOMOFO_LETTER_B_I_EN },
+       { 0x9b23, ALP_ORDER_BOPOMOFO_LETTER_L_I_EH },
+       { 0x9b24, ALP_ORDER_BOPOMOFO_LETTER_R_ANG },
+       { 0x9b25, ALP_ORDER_BOPOMOFO_LETTER_D_OU },
+       { 0x9b27, ALP_ORDER_BOPOMOFO_LETTER_N_AU },
+       { 0x9b28, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x9b29, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x9b2b, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x9b2e, ALP_ORDER_BOPOMOFO_LETTER_J_I_OU },
+       { 0x9b2f, ALP_ORDER_BOPOMOFO_LETTER_CH_ANG },
+       { 0x9b31, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x9b32, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x9b33, ALP_ORDER_BOPOMOFO_LETTER_J_IU_AN },
+       { 0x9b35, ALP_ORDER_BOPOMOFO_LETTER_X_I_EN },
+       { 0x9b37, ALP_ORDER_BOPOMOFO_LETTER_Z_U_ENG },
+       { 0x9b3a, ALP_ORDER_BOPOMOFO_LETTER_SH_ANG },
+       { 0x9b3b, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x9b3c, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x9b3e, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x9b3f, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x9b41, ALP_ORDER_BOPOMOFO_LETTER_K_U_EI },
+       { 0x9b42, ALP_ORDER_BOPOMOFO_LETTER_H_U_EN },
+       { 0x9b43, ALP_ORDER_BOPOMOFO_LETTER_B_A },
+       { 0x9b44, ALP_ORDER_BOPOMOFO_LETTER_P_O },
+       { 0x9b45, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x9b46, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x9b48, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x9b4a, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x9b4b, ALP_ORDER_BOPOMOFO_LETTER_T_U_EI },
+       { 0x9b4c, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x9b4d, ALP_ORDER_BOPOMOFO_LETTER_U_ANG },
+       { 0x9b4e, ALP_ORDER_BOPOMOFO_LETTER_L_I_ANG },
+       { 0x9b4f, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x9b51, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x9b52, ALP_ORDER_BOPOMOFO_LETTER_P_I_AU },
+       { 0x9b54, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x9b55, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x9b56, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x9b58, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x9b59, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x9b5a, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x9b5b, ALP_ORDER_BOPOMOFO_LETTER_D_AU },
+       { 0x9b5f, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x9b60, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x9b61, ALP_ORDER_BOPOMOFO_LETTER_D_I_AU },
+       { 0x9b64, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x9b66, ALP_ORDER_BOPOMOFO_LETTER_SH_A },
+       { 0x9b67, ALP_ORDER_BOPOMOFO_LETTER_H_ANG },
+       { 0x9b68, ALP_ORDER_BOPOMOFO_LETTER_T_U_EN },
+       { 0x9b6c, ALP_ORDER_BOPOMOFO_LETTER_B_AN },
+       { 0x9b6f, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x9b70, ALP_ORDER_BOPOMOFO_LETTER_U_EN },
+       { 0x9b71, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x9b74, ALP_ORDER_BOPOMOFO_LETTER_F_ANG },
+       { 0x9b75, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x9b76, ALP_ORDER_BOPOMOFO_LETTER_N_A },
+       { 0x9b77, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x9b7a, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x9b7b, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x9b7c, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x9b7d, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x9b7e, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x9b80, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x9b82, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x9b85, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x9b86, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x9b87, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x9b88, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x9b90, ALP_ORDER_BOPOMOFO_LETTER_T_AI },
+       { 0x9b91, ALP_ORDER_BOPOMOFO_LETTER_B_AU },
+       { 0x9b92, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x9b93, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x9b95, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x9b9a, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x9b9b, ALP_ORDER_BOPOMOFO_LETTER_SH_U_A },
+       { 0x9b9e, ALP_ORDER_BOPOMOFO_LETTER_ER },
+       { 0x9ba0, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x9ba1, ALP_ORDER_BOPOMOFO_LETTER_ZH_AU },
+       { 0x9ba2, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x9ba4, ALP_ORDER_BOPOMOFO_LETTER_L_I_EH },
+       { 0x9ba5, ALP_ORDER_BOPOMOFO_LETTER_L_U_O },
+       { 0x9ba6, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x9ba8, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x9baa, ALP_ORDER_BOPOMOFO_LETTER_U_EI },
+       { 0x9bab, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x9bad, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x9bae, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x9baf, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x9bb5, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x9bb6, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EN },
+       { 0x9bb8, ALP_ORDER_BOPOMOFO_LETTER_M_I_AN },
+       { 0x9bb9, ALP_ORDER_BOPOMOFO_LETTER_SH_AU },
+       { 0x9bbd, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x9bbf, ALP_ORDER_BOPOMOFO_LETTER_ZH_E },
+       { 0x9bc0, ALP_ORDER_BOPOMOFO_LETTER_G_U_EN },
+       { 0x9bc1, ALP_ORDER_BOPOMOFO_LETTER_G_ENG },
+       { 0x9bc3, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x9bc4, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x9bc6, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x9bc7, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x9bc8, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x9bc9, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x9bca, ALP_ORDER_BOPOMOFO_LETTER_SH_A },
+       { 0x9bd3, ALP_ORDER_BOPOMOFO_LETTER_SH_EN },
+       { 0x9bd4, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x9bd5, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x9bd6, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ENG },
+       { 0x9bd7, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x9bd9, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EN },
+       { 0x9bda, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x9bdb, ALP_ORDER_BOPOMOFO_LETTER_D_I_AU },
+       { 0x9bdc, ALP_ORDER_BOPOMOFO_LETTER_Q_I_EH },
+       { 0x9bde, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x9be0, ALP_ORDER_BOPOMOFO_LETTER_L_AI },
+       { 0x9be1, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x9be2, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x9be4, ALP_ORDER_BOPOMOFO_LETTER_K_U_EN },
+       { 0x9be5, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x9be6, ALP_ORDER_BOPOMOFO_LETTER_J_I_OU },
+       { 0x9be7, ALP_ORDER_BOPOMOFO_LETTER_CH_ANG },
+       { 0x9be8, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x9bea, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x9beb, ALP_ORDER_BOPOMOFO_LETTER_Z_OU },
+       { 0x9bec, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x9bf0, ALP_ORDER_BOPOMOFO_LETTER_N_I_AN },
+       { 0x9bf7, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x9bf8, ALP_ORDER_BOPOMOFO_LETTER_H_OU },
+       { 0x9bfd, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x9c05, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x9c06, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EN },
+       { 0x9c07, ALP_ORDER_BOPOMOFO_LETTER_R_OU },
+       { 0x9c08, ALP_ORDER_BOPOMOFO_LETTER_D_I_EH },
+       { 0x9c09, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x9c0b, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x9c0d, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x9c0e, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x9c12, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x9c13, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x9c14, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x9c17, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x9c1c, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x9c1d, ALP_ORDER_BOPOMOFO_LETTER_H_AU },
+       { 0x9c21, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x9c23, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x9c24, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x9c25, ALP_ORDER_BOPOMOFO_LETTER_G_U_AN },
+       { 0x9c28, ALP_ORDER_BOPOMOFO_LETTER_T_A },
+       { 0x9c29, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x9c2b, ALP_ORDER_BOPOMOFO_LETTER_R_U_ENG },
+       { 0x9c2c, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x9c2d, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x9c31, ALP_ORDER_BOPOMOFO_LETTER_L_I_AN },
+       { 0x9c32, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x9c33, ALP_ORDER_BOPOMOFO_LETTER_L_E },
+       { 0x9c34, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x9c36, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x9c37, ALP_ORDER_BOPOMOFO_LETTER_T_I_AU },
+       { 0x9c39, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x9c3b, ALP_ORDER_BOPOMOFO_LETTER_M_AN },
+       { 0x9c3c, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x9c3d, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x9c3e, ALP_ORDER_BOPOMOFO_LETTER_B_I_AU },
+       { 0x9c3f, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x9c40, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x9c41, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x9c44, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_AN },
+       { 0x9c46, ALP_ORDER_BOPOMOFO_LETTER_ZH_ANG },
+       { 0x9c48, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EH },
+       { 0x9c49, ALP_ORDER_BOPOMOFO_LETTER_B_I_EH },
+       { 0x9c4a, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x9c4b, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x9c4c, ALP_ORDER_BOPOMOFO_LETTER_X_I_ANG },
+       { 0x9c4d, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x9c4e, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x9c50, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x9c52, ALP_ORDER_BOPOMOFO_LETTER_Z_U_EN },
+       { 0x9c54, ALP_ORDER_BOPOMOFO_LETTER_SH_AN },
+       { 0x9c55, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x9c56, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x9c57, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x9c58, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x9c59, ALP_ORDER_BOPOMOFO_LETTER_M_I_AU },
+       { 0x9c5e, ALP_ORDER_BOPOMOFO_LETTER_G_U_AN },
+       { 0x9c5f, ALP_ORDER_BOPOMOFO_LETTER_H_OU },
+       { 0x9c60, ALP_ORDER_BOPOMOFO_LETTER_K_U_AI },
+       { 0x9c62, ALP_ORDER_BOPOMOFO_LETTER_S_AU },
+       { 0x9c63, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x9c66, ALP_ORDER_BOPOMOFO_LETTER_SH_ENG },
+       { 0x9c67, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x9c68, ALP_ORDER_BOPOMOFO_LETTER_CH_ANG },
+       { 0x9c6d, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x9c6e, ALP_ORDER_BOPOMOFO_LETTER_X_IU },
+       { 0x9c71, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x9c73, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x9c74, ALP_ORDER_BOPOMOFO_LETTER_M_I_EH },
+       { 0x9c75, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x9c77, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x9c78, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x9c79, ALP_ORDER_BOPOMOFO_LETTER_G_U_AN },
+       { 0x9c7a, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x9ce5, ALP_ORDER_BOPOMOFO_LETTER_N_I_AU },
+       { 0x9ce6, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x9ce7, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x9ce9, ALP_ORDER_BOPOMOFO_LETTER_J_I_OU },
+       { 0x9cea, ALP_ORDER_BOPOMOFO_LETTER_B_U },
+       { 0x9ced, ALP_ORDER_BOPOMOFO_LETTER_D_I_AU },
+       { 0x9cf1, ALP_ORDER_BOPOMOFO_LETTER_G_AN },
+       { 0x9cf2, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x9cf3, ALP_ORDER_BOPOMOFO_LETTER_F_ENG },
+       { 0x9cf4, ALP_ORDER_BOPOMOFO_LETTER_M_I_ENG },
+       { 0x9cf5, ALP_ORDER_BOPOMOFO_LETTER_B_AU },
+       { 0x9cf6, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x9cf7, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x9cf9, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x9cfa, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x9cfb, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x9cfc, ALP_ORDER_BOPOMOFO_LETTER_U_EN },
+       { 0x9cfd, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x9cff, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x9d00, ALP_ORDER_BOPOMOFO_LETTER_F_OU },
+       { 0x9d03, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x9d04, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x9d05, ALP_ORDER_BOPOMOFO_LETTER_H_U_AN },
+       { 0x9d06, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x9d07, ALP_ORDER_BOPOMOFO_LETTER_B_AU },
+       { 0x9d08, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x9d09, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x9d10, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x9d12, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x9d14, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x9d15, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x9d17, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x9d18, ALP_ORDER_BOPOMOFO_LETTER_B_I_AN },
+       { 0x9d19, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x9d1b, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x9d1d, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x9d1e, ALP_ORDER_BOPOMOFO_LETTER_X_I_AU },
+       { 0x9d1f, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x9d20, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x9d22, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x9d23, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x9d25, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x9d26, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x9d28, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x9d29, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x9d2d, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_EI },
+       { 0x9d2e, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x9d2f, ALP_ORDER_BOPOMOFO_LETTER_ER },
+       { 0x9d30, ALP_ORDER_BOPOMOFO_LETTER_G_U_A },
+       { 0x9d31, ALP_ORDER_BOPOMOFO_LETTER_AI },
+       { 0x9d33, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x9d36, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x9d37, ALP_ORDER_BOPOMOFO_LETTER_L_I_EH },
+       { 0x9d38, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x9d3b, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x9d3d, ALP_ORDER_BOPOMOFO_LETTER_R_U },
+       { 0x9d3e, ALP_ORDER_BOPOMOFO_LETTER_M_OU },
+       { 0x9d3f, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x9d40, ALP_ORDER_BOPOMOFO_LETTER_R_EN },
+       { 0x9d41, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x9d42, ALP_ORDER_BOPOMOFO_LETTER_X_I_OU },
+       { 0x9d43, ALP_ORDER_BOPOMOFO_LETTER_ZH_OU },
+       { 0x9d45, ALP_ORDER_BOPOMOFO_LETTER_L_U_O },
+       { 0x9d4a, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x9d4b, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x9d4c, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x9d4f, ALP_ORDER_BOPOMOFO_LETTER_B_U },
+       { 0x9d51, ALP_ORDER_BOPOMOFO_LETTER_J_IU_AN },
+       { 0x9d52, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x9d53, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x9d54, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EN },
+       { 0x9d56, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x9d57, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x9d58, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EN },
+       { 0x9d59, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x9d5a, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x9d5b, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x9d5c, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x9d5d, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x9d5f, ALP_ORDER_BOPOMOFO_LETTER_K_U_ANG },
+       { 0x9d60, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x9d61, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x9d67, ALP_ORDER_BOPOMOFO_LETTER_B_I_ENG },
+       { 0x9d68, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x9d69, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x9d6a, ALP_ORDER_BOPOMOFO_LETTER_AN },
+       { 0x9d6b, ALP_ORDER_BOPOMOFO_LETTER_ZH_AU },
+       { 0x9d6c, ALP_ORDER_BOPOMOFO_LETTER_P_ENG },
+       { 0x9d6f, ALP_ORDER_BOPOMOFO_LETTER_B_EI },
+       { 0x9d70, ALP_ORDER_BOPOMOFO_LETTER_D_I_AU },
+       { 0x9d71, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x9d72, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_EH },
+       { 0x9d73, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x9d74, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x9d75, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x9d77, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x9d78, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x9d79, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x9d7b, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_EI },
+       { 0x9d7d, ALP_ORDER_BOPOMOFO_LETTER_D_U_O },
+       { 0x9d7f, ALP_ORDER_BOPOMOFO_LETTER_SH_ENG },
+       { 0x9d80, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x9d81, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x9d82, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x9d84, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x9d85, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x9d86, ALP_ORDER_BOPOMOFO_LETTER_L_AI },
+       { 0x9d87, ALP_ORDER_BOPOMOFO_LETTER_D_U_ENG },
+       { 0x9d88, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x9d89, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EN },
+       { 0x9d8a, ALP_ORDER_BOPOMOFO_LETTER_G_ENG },
+       { 0x9d8b, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x9d8c, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x9d90, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x9d92, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x9d94, ALP_ORDER_BOPOMOFO_LETTER_R_OU },
+       { 0x9d96, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x9d97, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x9d98, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x9d99, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x9d9a, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x9d9b, ALP_ORDER_BOPOMOFO_LETTER_J_I_EH },
+       { 0x9d9c, ALP_ORDER_BOPOMOFO_LETTER_M_AU },
+       { 0x9d9d, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x9d9e, ALP_ORDER_BOPOMOFO_LETTER_CH_U_EN },
+       { 0x9d9f, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x9da0, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x9da1, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x9da2, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x9da3, ALP_ORDER_BOPOMOFO_LETTER_B_I_EN },
+       { 0x9da4, ALP_ORDER_BOPOMOFO_LETTER_IU_EN },
+       { 0x9da6, ALP_ORDER_BOPOMOFO_LETTER_H_U },
+       { 0x9da7, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x9da8, ALP_ORDER_BOPOMOFO_LETTER_D_U_EN },
+       { 0x9da9, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x9daa, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x9dac, ALP_ORDER_BOPOMOFO_LETTER_C_ANG },
+       { 0x9dad, ALP_ORDER_BOPOMOFO_LETTER_F_ANG },
+       { 0x9daf, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x9db1, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x9db2, ALP_ORDER_BOPOMOFO_LETTER_U_ENG },
+       { 0x9db3, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x9db4, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x9db5, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x9db6, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x9db7, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x9db8, ALP_ORDER_BOPOMOFO_LETTER_R_U_O },
+       { 0x9db9, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x9dba, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x9dbb, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x9dbc, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x9dbe, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x9dbf, ALP_ORDER_BOPOMOFO_LETTER_C },
+       { 0x9dc1, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x9dc2, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x9dc3, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x9dc5, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x9dc7, ALP_ORDER_BOPOMOFO_LETTER_K_OU },
+       { 0x9dc8, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x9dca, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x9dcb, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x9dcc, ALP_ORDER_BOPOMOFO_LETTER_M_A },
+       { 0x9dcd, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x9dce, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x9dcf, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x9dd0, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x9dd1, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x9dd2, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_AN },
+       { 0x9dd3, ALP_ORDER_BOPOMOFO_LETTER_ZH_E },
+       { 0x9dd5, ALP_ORDER_BOPOMOFO_LETTER_I_AU },
+       { 0x9dd6, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x9dd7, ALP_ORDER_BOPOMOFO_LETTER_OU },
+       { 0x9dd8, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x9dd9, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x9dda, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x9ddb, ALP_ORDER_BOPOMOFO_LETTER_R_U_ENG },
+       { 0x9ddc, ALP_ORDER_BOPOMOFO_LETTER_L_OU },
+       { 0x9ddd, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x9dde, ALP_ORDER_BOPOMOFO_LETTER_SH_U_ANG },
+       { 0x9ddf, ALP_ORDER_BOPOMOFO_LETTER_ZH_U_O },
+       { 0x9de1, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x9de2, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EH },
+       { 0x9de3, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x9de4, ALP_ORDER_BOPOMOFO_LETTER_T_I },
+       { 0x9de5, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x9de6, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x9de8, ALP_ORDER_BOPOMOFO_LETTER_H_U_A },
+       { 0x9de9, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x9deb, ALP_ORDER_BOPOMOFO_LETTER_S_U },
+       { 0x9dec, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x9ded, ALP_ORDER_BOPOMOFO_LETTER_F_AN },
+       { 0x9dee, ALP_ORDER_BOPOMOFO_LETTER_J_I_AU },
+       { 0x9def, ALP_ORDER_BOPOMOFO_LETTER_L_I_AU },
+       { 0x9df0, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x9df2, ALP_ORDER_BOPOMOFO_LETTER_J_I_OU },
+       { 0x9df3, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x9df4, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x9df5, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x9df6, ALP_ORDER_BOPOMOFO_LETTER_M_AI },
+       { 0x9df7, ALP_ORDER_BOPOMOFO_LETTER_Z_U_EN },
+       { 0x9df8, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x9df9, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x9dfa, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x9dfb, ALP_ORDER_BOPOMOFO_LETTER_T_U_AN },
+       { 0x9dfd, ALP_ORDER_BOPOMOFO_LETTER_X_IU_EH },
+       { 0x9dfe, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x9dff, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x9e00, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x9e01, ALP_ORDER_BOPOMOFO_LETTER_L_U_O },
+       { 0x9e02, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x9e03, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x9e04, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x9e05, ALP_ORDER_BOPOMOFO_LETTER_ZH_E },
+       { 0x9e06, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x9e07, ALP_ORDER_BOPOMOFO_LETTER_ZH_AN },
+       { 0x9e09, ALP_ORDER_BOPOMOFO_LETTER_I_ANG },
+       { 0x9e0b, ALP_ORDER_BOPOMOFO_LETTER_N_I_ENG },
+       { 0x9e0d, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x9e0f, ALP_ORDER_BOPOMOFO_LETTER_M_ENG },
+       { 0x9e10, ALP_ORDER_BOPOMOFO_LETTER_D_I },
+       { 0x9e11, ALP_ORDER_BOPOMOFO_LETTER_IU_EH },
+       { 0x9e12, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x9e13, ALP_ORDER_BOPOMOFO_LETTER_L_EI },
+       { 0x9e14, ALP_ORDER_BOPOMOFO_LETTER_B_O },
+       { 0x9e15, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x9e17, ALP_ORDER_BOPOMOFO_LETTER_L_U_ENG },
+       { 0x9e19, ALP_ORDER_BOPOMOFO_LETTER_IU_EH },
+       { 0x9e1a, ALP_ORDER_BOPOMOFO_LETTER_I_ENG },
+       { 0x9e1b, ALP_ORDER_BOPOMOFO_LETTER_G_U_AN },
+       { 0x9e1d, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x9e1e, ALP_ORDER_BOPOMOFO_LETTER_L_U_AN },
+       { 0x9e75, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x9e79, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x9e7a, ALP_ORDER_BOPOMOFO_LETTER_C_U_O },
+       { 0x9e7c, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x9e7d, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x9e7f, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x9e80, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x9e82, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x9e83, ALP_ORDER_BOPOMOFO_LETTER_B_I_AU },
+       { 0x9e86, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x9e87, ALP_ORDER_BOPOMOFO_LETTER_J_IU_EN },
+       { 0x9e88, ALP_ORDER_BOPOMOFO_LETTER_ZH_U },
+       { 0x9e89, ALP_ORDER_BOPOMOFO_LETTER_J_I_AN },
+       { 0x9e8a, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x9e8b, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x9e8c, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x9e8d, ALP_ORDER_BOPOMOFO_LETTER_L_I_OU },
+       { 0x9e8e, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x9e91, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x9e92, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x9e93, ALP_ORDER_BOPOMOFO_LETTER_L_U },
+       { 0x9e94, ALP_ORDER_BOPOMOFO_LETTER_J_I_OU },
+       { 0x9e97, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x9e99, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x9e9a, ALP_ORDER_BOPOMOFO_LETTER_J_I_A },
+       { 0x9e9b, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x9e9c, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x9e9d, ALP_ORDER_BOPOMOFO_LETTER_SH_E },
+       { 0x9e9f, ALP_ORDER_BOPOMOFO_LETTER_L_I_EN },
+       { 0x9ea0, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x9ea1, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x9ea4, ALP_ORDER_BOPOMOFO_LETTER_C_U },
+       { 0x9ea5, ALP_ORDER_BOPOMOFO_LETTER_M_AI },
+       { 0x9ea7, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x9ea9, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x9ead, ALP_ORDER_BOPOMOFO_LETTER_P_AU },
+       { 0x9eae, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x9eb0, ALP_ORDER_BOPOMOFO_LETTER_M_OU },
+       { 0x9eb4, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x9eb5, ALP_ORDER_BOPOMOFO_LETTER_M_I_AN },
+       { 0x9eb6, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x9eb7, ALP_ORDER_BOPOMOFO_LETTER_F_ENG },
+       { 0x9ebb, ALP_ORDER_BOPOMOFO_LETTER_M_A },
+       { 0x9ebc, ALP_ORDER_BOPOMOFO_LETTER_M_E },
+       { 0x9ebe, ALP_ORDER_BOPOMOFO_LETTER_H_U_EI },
+       { 0x9ec0, ALP_ORDER_BOPOMOFO_LETTER_Z_OU },
+       { 0x9ec2, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x9ec3, ALP_ORDER_BOPOMOFO_LETTER_H_U_ANG },
+       { 0x9ec8, ALP_ORDER_BOPOMOFO_LETTER_T_OU },
+       { 0x9ecc, ALP_ORDER_BOPOMOFO_LETTER_H_U_ENG },
+       { 0x9ecd, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x9ece, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x9ecf, ALP_ORDER_BOPOMOFO_LETTER_N_I_AN },
+       { 0x9ed0, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x9ed1, ALP_ORDER_BOPOMOFO_LETTER_H_EI },
+       { 0x9ed3, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x9ed4, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x9ed5, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x9ed6, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x9ed8, ALP_ORDER_BOPOMOFO_LETTER_M_O },
+       { 0x9eda, ALP_ORDER_BOPOMOFO_LETTER_Q_I_AN },
+       { 0x9edb, ALP_ORDER_BOPOMOFO_LETTER_D_AI },
+       { 0x9edc, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x9edd, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x9ede, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x9edf, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x9ee0, ALP_ORDER_BOPOMOFO_LETTER_X_I_A },
+       { 0x9ee4, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x9ee5, ALP_ORDER_BOPOMOFO_LETTER_Q_I_ENG },
+       { 0x9ee6, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x9ee7, ALP_ORDER_BOPOMOFO_LETTER_L_I },
+       { 0x9ee8, ALP_ORDER_BOPOMOFO_LETTER_D_ANG },
+       { 0x9eeb, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x9eed, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x9eee, ALP_ORDER_BOPOMOFO_LETTER_T_AN },
+       { 0x9eef, ALP_ORDER_BOPOMOFO_LETTER_AN },
+       { 0x9ef0, ALP_ORDER_BOPOMOFO_LETTER_ZH_EN },
+       { 0x9ef2, ALP_ORDER_BOPOMOFO_LETTER_C_AN },
+       { 0x9ef3, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x9ef4, ALP_ORDER_BOPOMOFO_LETTER_M_EI },
+       { 0x9ef5, ALP_ORDER_BOPOMOFO_LETTER_D_AN },
+       { 0x9ef6, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x9ef7, ALP_ORDER_BOPOMOFO_LETTER_D_U },
+       { 0x9ef9, ALP_ORDER_BOPOMOFO_LETTER_ZH },
+       { 0x9efa, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x9efb, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x9efc, ALP_ORDER_BOPOMOFO_LETTER_F_U },
+       { 0x9efd, ALP_ORDER_BOPOMOFO_LETTER_M_I_EN },
+       { 0x9eff, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x9f00, ALP_ORDER_BOPOMOFO_LETTER_C_U },
+       { 0x9f01, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x9f06, ALP_ORDER_BOPOMOFO_LETTER_M_ENG },
+       { 0x9f07, ALP_ORDER_BOPOMOFO_LETTER_AU },
+       { 0x9f09, ALP_ORDER_BOPOMOFO_LETTER_T_U_O },
+       { 0x9f0a, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x9f0e, ALP_ORDER_BOPOMOFO_LETTER_D_I_ENG },
+       { 0x9f0f, ALP_ORDER_BOPOMOFO_LETTER_M_I },
+       { 0x9f10, ALP_ORDER_BOPOMOFO_LETTER_N_AI },
+       { 0x9f12, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x9f13, ALP_ORDER_BOPOMOFO_LETTER_G_U },
+       { 0x9f15, ALP_ORDER_BOPOMOFO_LETTER_D_U_ENG },
+       { 0x9f16, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x9f18, ALP_ORDER_BOPOMOFO_LETTER_IU_AN },
+       { 0x9f19, ALP_ORDER_BOPOMOFO_LETTER_P_I },
+       { 0x9f1a, ALP_ORDER_BOPOMOFO_LETTER_CH_ANG },
+       { 0x9f1b, ALP_ORDER_BOPOMOFO_LETTER_G_AU },
+       { 0x9f1c, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x9f1e, ALP_ORDER_BOPOMOFO_LETTER_T_ANG },
+       { 0x9f20, ALP_ORDER_BOPOMOFO_LETTER_SH_U },
+       { 0x9f22, ALP_ORDER_BOPOMOFO_LETTER_F_EN },
+       { 0x9f23, ALP_ORDER_BOPOMOFO_LETTER_F_EI },
+       { 0x9f24, ALP_ORDER_BOPOMOFO_LETTER_U_EN },
+       { 0x9f25, ALP_ORDER_BOPOMOFO_LETTER_B_A },
+       { 0x9f28, ALP_ORDER_BOPOMOFO_LETTER_T_U_ENG },
+       { 0x9f29, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x9f2a, ALP_ORDER_BOPOMOFO_LETTER_SH_ENG },
+       { 0x9f2b, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x9f2c, ALP_ORDER_BOPOMOFO_LETTER_I_OU },
+       { 0x9f2d, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x9f2e, ALP_ORDER_BOPOMOFO_LETTER_T_I_ENG },
+       { 0x9f2f, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x9f30, ALP_ORDER_BOPOMOFO_LETTER_N_I_AN },
+       { 0x9f31, ALP_ORDER_BOPOMOFO_LETTER_J_I_ENG },
+       { 0x9f32, ALP_ORDER_BOPOMOFO_LETTER_H_U_EN },
+       { 0x9f33, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x9f34, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x9f35, ALP_ORDER_BOPOMOFO_LETTER_T_U },
+       { 0x9f36, ALP_ORDER_BOPOMOFO_LETTER_S },
+       { 0x9f37, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x9f38, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x9f3b, ALP_ORDER_BOPOMOFO_LETTER_B_I },
+       { 0x9f3d, ALP_ORDER_BOPOMOFO_LETTER_Q_I_OU },
+       { 0x9f3e, ALP_ORDER_BOPOMOFO_LETTER_H_AN },
+       { 0x9f40, ALP_ORDER_BOPOMOFO_LETTER_U },
+       { 0x9f41, ALP_ORDER_BOPOMOFO_LETTER_H_OU },
+       { 0x9f42, ALP_ORDER_BOPOMOFO_LETTER_X_I },
+       { 0x9f43, ALP_ORDER_BOPOMOFO_LETTER_G_E },
+       { 0x9f46, ALP_ORDER_BOPOMOFO_LETTER_U_ENG },
+       { 0x9f47, ALP_ORDER_BOPOMOFO_LETTER_ZH_A },
+       { 0x9f48, ALP_ORDER_BOPOMOFO_LETTER_N_U_ENG },
+       { 0x9f49, ALP_ORDER_BOPOMOFO_LETTER_N_ANG },
+       { 0x9f4a, ALP_ORDER_BOPOMOFO_LETTER_Q_I },
+       { 0x9f4b, ALP_ORDER_BOPOMOFO_LETTER_ZH_AI },
+       { 0x9f4c, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x9f4d, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x9f4e, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x9f4f, ALP_ORDER_BOPOMOFO_LETTER_J_I },
+       { 0x9f52, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x9f54, ALP_ORDER_BOPOMOFO_LETTER_CH_EN },
+       { 0x9f55, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x9f56, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x9f57, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x9f58, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x9f59, ALP_ORDER_BOPOMOFO_LETTER_B_AU },
+       { 0x9f5b, ALP_ORDER_BOPOMOFO_LETTER_SH },
+       { 0x9f5c, ALP_ORDER_BOPOMOFO_LETTER_Z },
+       { 0x9f5d, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x9f5e, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x9f5f, ALP_ORDER_BOPOMOFO_LETTER_J_IU },
+       { 0x9f60, ALP_ORDER_BOPOMOFO_LETTER_T_I_AU },
+       { 0x9f61, ALP_ORDER_BOPOMOFO_LETTER_L_I_ENG },
+       { 0x9f63, ALP_ORDER_BOPOMOFO_LETTER_CH_U },
+       { 0x9f64, ALP_ORDER_BOPOMOFO_LETTER_Q_IU_AN },
+       { 0x9f65, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+       { 0x9f66, ALP_ORDER_BOPOMOFO_LETTER_I_EN },
+       { 0x9f67, ALP_ORDER_BOPOMOFO_LETTER_N_I_EH },
+       { 0x9f6a, ALP_ORDER_BOPOMOFO_LETTER_CH_U_O },
+       { 0x9f6b, ALP_ORDER_BOPOMOFO_LETTER_K_U_EN },
+       { 0x9f6c, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x9f6e, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x9f6f, ALP_ORDER_BOPOMOFO_LETTER_N_I },
+       { 0x9f70, ALP_ORDER_BOPOMOFO_LETTER_Z_E },
+       { 0x9f71, ALP_ORDER_BOPOMOFO_LETTER_Z_OU },
+       { 0x9f72, ALP_ORDER_BOPOMOFO_LETTER_Q_IU },
+       { 0x9f74, ALP_ORDER_BOPOMOFO_LETTER_X_I_AN },
+       { 0x9f75, ALP_ORDER_BOPOMOFO_LETTER_IU },
+       { 0x9f76, ALP_ORDER_BOPOMOFO_LETTER_E },
+       { 0x9f77, ALP_ORDER_BOPOMOFO_LETTER_U_O },
+       { 0x9f78, ALP_ORDER_BOPOMOFO_LETTER_I },
+       { 0x9f79, ALP_ORDER_BOPOMOFO_LETTER_CH },
+       { 0x9f7a, ALP_ORDER_BOPOMOFO_LETTER_Z_OU },
+       { 0x9f7b, ALP_ORDER_BOPOMOFO_LETTER_D_I_AN },
+       { 0x9f7e, ALP_ORDER_BOPOMOFO_LETTER_I_A },
+       { 0x9f8d, ALP_ORDER_BOPOMOFO_LETTER_L_U_ENG },
+       { 0x9f90, ALP_ORDER_BOPOMOFO_LETTER_P_ANG },
+       { 0x9f91, ALP_ORDER_BOPOMOFO_LETTER_I_AN },
+       { 0x9f92, ALP_ORDER_BOPOMOFO_LETTER_L_U_ENG },
+       { 0x9f94, ALP_ORDER_BOPOMOFO_LETTER_G_U_ENG },
+       { 0x9f95, ALP_ORDER_BOPOMOFO_LETTER_K_AN },
+       { 0x9f98, ALP_ORDER_BOPOMOFO_LETTER_T_A },
+       { 0x9f9c, ALP_ORDER_BOPOMOFO_LETTER_G_U_EI },
+       { 0x9fa0, ALP_ORDER_BOPOMOFO_LETTER_IU_EH },
+       { 0x9fa2, ALP_ORDER_BOPOMOFO_LETTER_H_E },
+       { 0x9fa4, ALP_ORDER_BOPOMOFO_LETTER_X_I_EH },
+};
+
+
+static  int MAP_BEGIN = 0x4e00;
+static  int MAP_1_BEGIN = 0x4e00;
+static  int MAP_2_BEGIN = 0x55e7;
+static  int MAP_3_BEGIN = 0x5e2d;
+static  int MAP_4_BEGIN = 0x65c4;
+static  int MAP_5_BEGIN = 0x6d7f;
+static  int MAP_6_BEGIN = 0x751c;
+static  int MAP_7_BEGIN = 0x7d33;
+static  int MAP_8_BEGIN = 0x8547;
+static  int MAP_9_BEGIN = 0x8cf5;
+static  int MAP_10_BEGIN = 0x95b6;
+static  int MAP_END = 0x9fa4;
+
+static han_map BPMF_TO_BPMF_MAP[] = {
+       { 0x3105,  ALP_ORDER_BOPOMOFO_LETTER_B}, // 0xA001
+       { 0x3106,  ALP_ORDER_BOPOMOFO_LETTER_P}, // 0xA012
+       { 0x3107,  ALP_ORDER_BOPOMOFO_LETTER_M}, // 0xA024
+       { 0x3108,  ALP_ORDER_BOPOMOFO_LETTER_F}, // 0xA038
+       { 0x3109,  ALP_ORDER_BOPOMOFO_LETTER_D}, // 0xA042
+       { 0x310A,  ALP_ORDER_BOPOMOFO_LETTER_T}, // 0xA058
+       { 0x310B,  ALP_ORDER_BOPOMOFO_LETTER_N}, // 0xA06C
+       { 0x310C,  ALP_ORDER_BOPOMOFO_LETTER_L}, // 0xA085
+       { 0x310D,  ALP_ORDER_BOPOMOFO_LETTER_G}, // 0xA09E
+       { 0x310E,  ALP_ORDER_BOPOMOFO_LETTER_K}, // 0xA0B2
+       { 0x310F,  ALP_ORDER_BOPOMOFO_LETTER_H}, // 0xA0C5
+       { 0x3110,  ALP_ORDER_BOPOMOFO_LETTER_J}, // 0xA0D9
+       { 0x3111,  ALP_ORDER_BOPOMOFO_LETTER_Q}, // 0xA0E8
+       { 0x3112,  ALP_ORDER_BOPOMOFO_LETTER_X}, // 0xA0F7
+       { 0x3113,  ALP_ORDER_BOPOMOFO_LETTER_ZH}, // 0xA106
+       { 0x3114,  ALP_ORDER_BOPOMOFO_LETTER_CH}, // 0xA119
+       { 0x3115,  ALP_ORDER_BOPOMOFO_LETTER_SH}, // 0xA12B
+       { 0x3116,  ALP_ORDER_BOPOMOFO_LETTER_R}, // 0xA13E
+       { 0x3117,  ALP_ORDER_BOPOMOFO_LETTER_Z}, // 0xA14C
+       { 0x3118,  ALP_ORDER_BOPOMOFO_LETTER_C}, // 0xA15D
+       { 0x3119,  ALP_ORDER_BOPOMOFO_LETTER_S}, // 0xA16D
+       { 0x311A,  ALP_ORDER_BOPOMOFO_LETTER_A}, // 0xA196
+       { 0x311B,  ALP_ORDER_BOPOMOFO_LETTER_O}, // 0xA197
+       { 0x311C,  ALP_ORDER_BOPOMOFO_LETTER_E}, // 0xA198
+       { 0x311D,  ALP_ORDER_BOPOMOFO_LETTER_EH}, // 0xA1
+       { 0x311E,  ALP_ORDER_BOPOMOFO_LETTER_AI}, // 0xA199
+       { 0x311F,  ALP_ORDER_BOPOMOFO_LETTER_EI}, // 0xA19A
+       { 0x3120,  ALP_ORDER_BOPOMOFO_LETTER_AU}, // 0xA19B
+       { 0x3121,  ALP_ORDER_BOPOMOFO_LETTER_OU}, // 0xA19C
+       { 0x3122,  ALP_ORDER_BOPOMOFO_LETTER_AN}, // 0xA19D
+       { 0x3123,  ALP_ORDER_BOPOMOFO_LETTER_EN}, // 0xA19E
+       { 0x3124,  ALP_ORDER_BOPOMOFO_LETTER_ANG}, // 0xA19F
+       { 0x3125,  ALP_ORDER_BOPOMOFO_LETTER_ENG}, // 0xA1A0
+       { 0x3126,  ALP_ORDER_BOPOMOFO_LETTER_ER}, // 0xA1A1
+       { 0x3127,  ALP_ORDER_BOPOMOFO_LETTER_I}, // 0xA17D
+       { 0x3128,  ALP_ORDER_BOPOMOFO_LETTER_U}, // 0xA188
+       { 0x3129,  ALP_ORDER_BOPOMOFO_LETTER_IU}, // 0xA191
+};
+
+
+// Chinese -> Yi -> Bopomofo
+
+static UChar* __media_svc_bopomofo_find(bopomofo_map *table, int size, UChar src) {
+       int lowerBound = 0;
+       int upperBound = size - 1;
+       int curIn;
+
+       while (true) {
+               curIn = (lowerBound + upperBound) / 2;
+               if (table[curIn].yi_syllable == src) {
+                       return (UChar*)table[curIn].bopomofo;
+               } else if (lowerBound > upperBound) {
+                       return NULL;
+               } else {
+                       if (table[curIn].yi_syllable < src) {
+                               lowerBound = curIn + 1;
+                       } else {
+                               upperBound = curIn - 1;
+                       }
+               }
+       }
+       return NULL;
+}
+
+static UChar __media_svc_yi_syllable_find(han_map *table, int size, UChar src) {
+       int lowerBound = 0;
+       int upperBound = size - 1;
+       int curIn;
+
+       while (true) {
+               curIn = (lowerBound + upperBound) / 2;
+               if (table[curIn].han == src) {
+                       return table[curIn].yi_syllable;
+               }
+               else if (lowerBound > upperBound) {
+                       return -1;
+               }
+               else {
+                       if (table[curIn].han < src)
+                               lowerBound = curIn + 1;
+                       else
+                               upperBound = curIn - 1;
+               }
+       }
+}
+
+static void __media_svc_get_bopomofo(UChar src, UChar dest[], int *len)
+{
+       int code = 0;
+       if (MAP_BEGIN <= src && src <= MAP_END) {
+               if (MAP_1_BEGIN <= src && src < MAP_2_BEGIN)
+                       code = __media_svc_yi_syllable_find(HANZI_TO_BPMF_MAP_1, array_sizeof(HANZI_TO_BPMF_MAP_1), src);
+               else if (MAP_2_BEGIN <= src && src < MAP_3_BEGIN)
+                       code = __media_svc_yi_syllable_find(HANZI_TO_BPMF_MAP_2, array_sizeof(HANZI_TO_BPMF_MAP_2), src);
+               else if (MAP_3_BEGIN <= src && src < MAP_4_BEGIN)
+                       code = __media_svc_yi_syllable_find(HANZI_TO_BPMF_MAP_3, array_sizeof(HANZI_TO_BPMF_MAP_3), src);
+               else if (MAP_4_BEGIN <= src && src < MAP_5_BEGIN)
+                       code = __media_svc_yi_syllable_find(HANZI_TO_BPMF_MAP_4, array_sizeof(HANZI_TO_BPMF_MAP_4), src);
+               else if (MAP_5_BEGIN <= src && src < MAP_6_BEGIN)
+                       code = __media_svc_yi_syllable_find(HANZI_TO_BPMF_MAP_5, array_sizeof(HANZI_TO_BPMF_MAP_5), src);
+               else if (MAP_6_BEGIN <= src && src < MAP_7_BEGIN)
+                       code = __media_svc_yi_syllable_find(HANZI_TO_BPMF_MAP_6, array_sizeof(HANZI_TO_BPMF_MAP_6), src);
+               else if (MAP_7_BEGIN <= src && src < MAP_8_BEGIN)
+                       code = __media_svc_yi_syllable_find(HANZI_TO_BPMF_MAP_7, array_sizeof(HANZI_TO_BPMF_MAP_7), src);
+               else if (MAP_8_BEGIN <= src && src < MAP_9_BEGIN)
+                       code = __media_svc_yi_syllable_find(HANZI_TO_BPMF_MAP_8, array_sizeof(HANZI_TO_BPMF_MAP_8), src);
+               else if (MAP_9_BEGIN <= src && src < MAP_10_BEGIN)
+                       code = __media_svc_yi_syllable_find(HANZI_TO_BPMF_MAP_9, array_sizeof(HANZI_TO_BPMF_MAP_9), src);
+               else if (MAP_10_BEGIN <= src && src < MAP_END)
+                       code = __media_svc_yi_syllable_find(HANZI_TO_BPMF_MAP_10, array_sizeof(HANZI_TO_BPMF_MAP_10), src);
+               else {
+                       dest[0] = src;
+                       dest[1] = 0x0;
+                       *len = 1;
+                       return;
+               }
+
+               UChar *temp = __media_svc_bopomofo_find(UNICODES, array_sizeof(UNICODES), code);
+               if(temp) {
+                       int i=0;
+                       int j=0;
+                       while(temp[i] != 0x0 && i < 3)
+                               dest[j++] = temp[i++];
+                       *len = j;
+               }
+               else {
+                       dest[0] = src;
+                       dest[1] = 0x0;
+                       *len = 1;
+               }
+               return;
+       }
+       else {
+               dest[0] = src;
+               dest[1] = 0x0;
+               *len = 1;
+       }
+       return;
+}
+
+static const UChar *__media_svc_get_bpmf(const UChar src)
+{
+       int code = 0;
+       if (MAP_BEGIN <= src && src <= MAP_END) {
+               if (MAP_1_BEGIN <= src && src < MAP_2_BEGIN)
+                       code = __media_svc_yi_syllable_find(HANZI_TO_BPMF_MAP_1, array_sizeof(HANZI_TO_BPMF_MAP_1), src);
+               else if (MAP_2_BEGIN <= src && src < MAP_3_BEGIN)
+                       code = __media_svc_yi_syllable_find(HANZI_TO_BPMF_MAP_2, array_sizeof(HANZI_TO_BPMF_MAP_2), src);
+               else if (MAP_3_BEGIN <= src && src < MAP_4_BEGIN)
+                       code = __media_svc_yi_syllable_find(HANZI_TO_BPMF_MAP_3, array_sizeof(HANZI_TO_BPMF_MAP_3), src);
+               else if (MAP_4_BEGIN <= src && src < MAP_5_BEGIN)
+                       code = __media_svc_yi_syllable_find(HANZI_TO_BPMF_MAP_4, array_sizeof(HANZI_TO_BPMF_MAP_4), src);
+               else if (MAP_5_BEGIN <= src && src < MAP_6_BEGIN)
+                       code = __media_svc_yi_syllable_find(HANZI_TO_BPMF_MAP_5, array_sizeof(HANZI_TO_BPMF_MAP_5), src);
+               else if (MAP_6_BEGIN <= src && src < MAP_7_BEGIN)
+                       code = __media_svc_yi_syllable_find(HANZI_TO_BPMF_MAP_6, array_sizeof(HANZI_TO_BPMF_MAP_6), src);
+               else if (MAP_7_BEGIN <= src && src < MAP_8_BEGIN)
+                       code = __media_svc_yi_syllable_find(HANZI_TO_BPMF_MAP_7, array_sizeof(HANZI_TO_BPMF_MAP_7), src);
+               else if (MAP_8_BEGIN <= src && src < MAP_9_BEGIN)
+                       code = __media_svc_yi_syllable_find(HANZI_TO_BPMF_MAP_8, array_sizeof(HANZI_TO_BPMF_MAP_8), src);
+               else if (MAP_9_BEGIN <= src && src < MAP_10_BEGIN)
+                       code = __media_svc_yi_syllable_find(HANZI_TO_BPMF_MAP_9, array_sizeof(HANZI_TO_BPMF_MAP_9), src);
+               else if (MAP_10_BEGIN <= src && src < MAP_END)
+                       code = __media_svc_yi_syllable_find(HANZI_TO_BPMF_MAP_10, array_sizeof(HANZI_TO_BPMF_MAP_10), src);
+               else {
+                       return NULL;
+               }
+       }
+       else if (src >= 0x3105 && src <= 0x3129) {
+               code = __media_svc_yi_syllable_find(BPMF_TO_BPMF_MAP, array_sizeof(BPMF_TO_BPMF_MAP), src);
+       }
+       else
+               return NULL;
+
+       return __media_svc_bopomofo_find(UNICODES, array_sizeof(UNICODES), code);
+}
+
+int _media_svc_get_bopomofo(const char *src, char **dest)
+{
+       int ret = MS_MEDIA_ERR_NONE;
+       UChar *tmp_result = NULL;
+       UErrorCode status = 0;
+       char *temp_dest = NULL;
+       int temp_dest_size = 1024;
+       int32_t size;
+       int i;
+       int len;
+       int result_len;
+
+       *dest = NULL;
+
+       u_strFromUTF8(NULL, 0, &size, src, strlen(src), &status);
+       if (U_FAILURE(status) && status != U_BUFFER_OVERFLOW_ERROR) {
+               media_svc_error("u_strFromUTF8 to get the dest length Failed(%s)", u_errorName(status));
+               ret = MS_MEDIA_ERR_INTERNAL;
+               goto DATA_FREE;
+       }
+
+       status = U_ZERO_ERROR;
+       tmp_result = calloc(1, sizeof(UChar) * (size + 1));
+       u_strFromUTF8(tmp_result, size + 1, NULL, src, -1, &status);
+       if (U_FAILURE(status)){
+               media_svc_error("u_strFromUTF8 Failed(%s)", u_errorName(status));
+               ret = MS_MEDIA_ERR_INTERNAL;
+               goto DATA_FREE;
+       }
+
+       result_len = 0;
+       temp_dest = calloc(1, sizeof(char) * temp_dest_size);
+       for (i = 0; i < size; i++) {
+               char *tmp = NULL;
+               int tmp_size = 0;
+               UChar *bopomofo = calloc(1, sizeof(UChar)*4);
+               if (bopomofo == NULL) {
+                       media_svc_error("u_strToUTF8 to allocate memory Failed");
+                       ret = MS_MEDIA_ERR_OUT_OF_MEMORY;
+                       goto DATA_FREE;
+               }
+               __media_svc_get_bopomofo(tmp_result[i], bopomofo, &len);
+
+               u_strToUTF8(NULL, 0, &tmp_size, bopomofo, -1, &status);
+               if (U_FAILURE(status) && status != U_BUFFER_OVERFLOW_ERROR) {
+                       media_svc_error("u_strToUTF8 to get the dest length Failed(%s)", u_errorName(status));
+                       ret = MS_MEDIA_ERR_INTERNAL;
+                       free(bopomofo);
+                       goto DATA_FREE;
+               }
+
+               status = U_ZERO_ERROR;
+               tmp = calloc(1, sizeof(char)*(tmp_size+1));
+               if (tmp == NULL)
+               {
+                       media_svc_error("u_strToUTF8 to allocate memory Failed");
+                       ret = MS_MEDIA_ERR_OUT_OF_MEMORY;
+                       free(bopomofo);
+                       goto DATA_FREE;
+               }
+
+               u_strToUTF8(tmp, tmp_size + 1, &tmp_size, bopomofo, -1, &status);
+               result_len += SAFE_SNPRINTF(&temp_dest, &temp_dest_size, result_len, tmp);
+
+               free(tmp);
+               free(bopomofo);
+       }
+
+       *dest = temp_dest;
+       temp_dest = NULL;
+       ret = MS_MEDIA_ERR_NONE;
+
+DATA_FREE:
+       free(tmp_result);
+       free(temp_dest);
+       return ret;
+}
+
+
+void _media_svc_bpmf_name_destroy(media_svc_bpmf_name_s *bpmf)
+{
+       if (bpmf) {
+               free(bpmf->bpmf_initial);
+               free(bpmf->bpmf_name);
+               free(bpmf);
+       }
+}
+
+int _media_svc_convert_chinese_to_bpmf(const char *src, media_svc_bpmf_name_s **dest)
+{
+       UChar *temp_string = NULL;
+       UErrorCode status = U_ZERO_ERROR;
+       int32_t size = 0;
+
+       char bpmf_name[MAX_BPMF_NAME_LENGTH*3+1];
+       char bpmf_initial_name[MAX_BPMF_NAME_LENGTH*3+1];
+       char single_bpmf[MAX_BPMF_COUNT*3 + 1];
+
+       *dest = NULL;
+
+       u_strFromUTF8(NULL, 0, &size, src, strlen(src), &status);
+       if (U_FAILURE(status) && status != U_BUFFER_OVERFLOW_ERROR) {
+               media_svc_error("Get the length of the source string failed(%s)", u_errorName(status));
+               return MS_MEDIA_ERR_INTERNAL;
+       }
+
+       temp_string = calloc(1, sizeof(UChar) * (size + 1));
+       if (temp_string == NULL){
+               media_svc_error("u_strFromUTF8 Failed");
+               return MS_MEDIA_ERR_OUT_OF_MEMORY;
+       }
+       status = U_ZERO_ERROR;
+       u_strFromUTF8(temp_string, size + 1, NULL, src, -1, &status);
+       if (U_FAILURE(status)){
+               media_svc_error("u_strFromUTF8 Failed(%s)", u_errorName(status));
+               free(temp_string);
+               return MS_MEDIA_ERR_INTERNAL;
+       }
+
+       int i = 0;
+       int total_len = 0;
+       int total_initial_len = 0;
+
+       for (i = 0; i < size; i++){
+               int len = 0;
+               const UChar *bpmf = __media_svc_get_bpmf(temp_string[i]);
+
+               if (bpmf) {
+                       u_strToUTF8(single_bpmf, MAX_BPMF_COUNT*3 + 1, &len, bpmf, -1, &status);
+
+                       // total
+                       if (total_len < MAX_BPMF_NAME_LENGTH*3) {
+                               if (total_len > 0)
+                                       total_len += snprintf(bpmf_name + total_len, MAX_BPMF_NAME_LENGTH*3+1 - total_len, " %s", single_bpmf);
+                               else
+                                       total_len += snprintf(bpmf_name + total_len, MAX_BPMF_NAME_LENGTH*3+1 - total_len, "%s", single_bpmf);
+                       }
+
+                       // initial
+                       if (total_initial_len < MAX_BPMF_NAME_LENGTH*3) {
+                               single_bpmf[3]='\0';
+                               total_initial_len += snprintf(bpmf_initial_name + total_initial_len, MAX_BPMF_NAME_LENGTH*3+1 - total_initial_len, "%s", single_bpmf);
+                       }
+               }
+               else {
+                        if ((temp_string[i] >= 0x30 && temp_string[i] <= 0x39) ||          // 0~9
+                    (temp_string[i] >= 0x41 && temp_string[i] <= 0x5a) ||      // A~Z
+                    (temp_string[i] >= 0x61 && temp_string[i] <= 0x7a)) {      // a~z
+
+                single_bpmf[0] = temp_string[i]&0xff;
+                single_bpmf[1] = '\0';
+
+                               if (total_len < MAX_BPMF_NAME_LENGTH*3)
+                                       total_len += snprintf(bpmf_name + total_len, MAX_BPMF_NAME_LENGTH*3+1 - total_len, "%s", single_bpmf);
+
+                               if (total_initial_len < MAX_BPMF_NAME_LENGTH*3)
+                                       total_initial_len += snprintf(bpmf_initial_name + total_initial_len, MAX_BPMF_NAME_LENGTH*3+1 - total_initial_len, "%s", single_bpmf);
+            }
+               }
+       }
+
+       if (total_len > 0) {
+               media_svc_bpmf_name_s *bpmf = calloc(1, sizeof(media_svc_bpmf_name_s));
+               if (bpmf == NULL)
+               {
+                       free(temp_string);
+                       return MS_MEDIA_ERR_OUT_OF_MEMORY;
+               }
+               bpmf->bpmf_name = strdup(bpmf_name);
+               bpmf->bpmf_initial = strdup(bpmf_initial_name);
+
+               *dest = bpmf;
+       }
+
+       free(temp_string);
+
+       return MS_MEDIA_ERR_NONE;
+}
+
+char _media_svc_bpmf_get_fuzzy_number(const char *src)
+{
+       char fuzzy_number = '*';
+       switch(src[2]) {
+               case 0x85:      // \u3105 : u3105, e3 84  85 - 1
+               case 0x86:      // \u3106 : u3106, e3 84  86 - 1
+               case 0x87:      // \u3107 : u3107, e3 84  87 - 1
+               case 0x88:      // \u3108 : u3108, e3 84  88 - 1
+                       fuzzy_number = '1';
+                       break;
+               case 0x89:      //  \u3109: u3109, e3 84  89 - 2
+               case 0x8a:      //  \u310a: u310a, e3 84  8a - 2
+               case 0x8b:      //  \u310b: u310b, e3 84  8b - 2
+               case 0x8c:      //  \u310c: u310c, e3 84  8c - 2
+                       fuzzy_number = '2';
+                       break;
+               case 0x8d:      //  \u310d: u310d, e3 84  8d - 3
+               case 0x8e:      //  \u310e: u310e, e3 84  8e - 3
+               case 0x8f:      //  \u310f: u310f, e3 84  8f - 3
+                       fuzzy_number = '3';
+                       break;
+               case 0x90:      //  \u3110: u3110, e3 84  90 - 4
+               case 0x91:      //  \u3111: u3111, e3 84  91 - 4
+               case 0x92:      //  \u3112: u3112, e3 84  92 - 4
+                       fuzzy_number = '4';
+                       break;
+               case 0x93:      //  \u3113: u3113, e3 84  93 - 5
+               case 0x94:      //  \u3114: u3114, e3 84  94 - 5
+               case 0x95:      //  \u3115: u3115, e3 84  95 - 5
+               case 0x96:      //  \u3116: u3116, e3 84  96 - 5
+                       fuzzy_number = '5';
+                       break;
+               case 0x97:      //  \u3117: u3117, e3 84  97 - 6
+               case 0x98:      //  \u3118: u3118, e3 84  98 - 6
+               case 0x99:      //  \u3119: u3119, e3 84  99 - 6
+                       fuzzy_number = '6';
+                       break;
+               case 0x9a:      //  \u311a: u311a, e3 84  9a - 7
+               case 0x9b:      //  \u311b: u311b, e3 84  9b - 7
+               case 0x9c:      //  \u311c: u311c, e3 84  9c - 7
+               case 0x9d:      //  \u311d: u311d, e3 84  9d - 7
+                       fuzzy_number = '7';
+                       break;
+               case 0x9e:      //  \u311e: u311e, e3 84  9e - 8
+               case 0x9f:      //  \u311f: u311f, e3 84  9f - 8
+               case 0xa0:      //  \u3120: u3120, e3 84  a0 - 8
+               case 0xa1:      //  \u3121: u3121, e3 84  a1 - 8
+                       fuzzy_number = '8';
+                       break;
+               case 0xa2:      //  \u3122: u3122, e3 84  a2 - 9
+               case 0xa3:      //  \u3123: u3123, e3 84  a3 - 9
+               case 0xa4:      //  \u3124: u3124, e3 84  a4 - 9
+               case 0xa5:      //  \u3125: u3125, e3 84  a5 - 9
+               case 0xa6:      //  \u3126: u3126, e3 84  a6 - 9
+                       fuzzy_number =  '9';
+                       break;
+               case 0xa7:      //  \u3127: u3127, e3 84  a7 - 0
+               case 0xa8:      //  \u3128: u3128, e3 84  a8 - 0
+               case 0xa9:      //  \u3129: u3129, e3 84  a9 - 0
+                       fuzzy_number =  '0';
+                       break;
+               default:
+                       fuzzy_number = '*';
+                       break;
+       }
+
+       return fuzzy_number;
+}
+
+
+bool _media_svc_bpmf_is_bpmf(const char *src)
+{
+       if (src[0] == 0xe3 && src[1] == 0x84) {
+               if (src[2] >= 0x85 && src[2] <= 0xa9) {
+                       return true;
+               }
+       }
+
+       return false;
+}
index 3c540fa..ae0128f 100755 (executable)
@@ -20,8 +20,8 @@
  */
 
 #include <glib/gstdio.h>
+#include <media-util-err.h>
 #include "media-svc-media-folder.h"
-#include "media-svc-error.h"
 #include "media-svc-debug.h"
 #include "media-svc-env.h"
 #include "media-svc-util.h"
@@ -31,15 +31,15 @@ extern __thread GList *g_media_svc_move_item_query_list;
 
 int _media_svc_get_folder_id_by_foldername(sqlite3 *handle, const char *folder_name, char *folder_id)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        sqlite3_stmt *sql_stmt = NULL;
 
        char *sql = sqlite3_mprintf("SELECT folder_uuid FROM %s WHERE path = '%q';", MEDIA_SVC_DB_TABLE_FOLDER, folder_name);
 
        ret = _media_svc_sql_prepare_to_step(handle, sql, &sql_stmt);
 
-       if (ret != MEDIA_INFO_ERROR_NONE) {
-               if(ret == MEDIA_INFO_ERROR_DATABASE_NO_RECORD) {
+       if (ret != MS_MEDIA_ERR_NONE) {
+               if(ret == MS_MEDIA_ERR_DB_NO_RECORD) {
                        media_svc_debug("there is no folder.");
                }
                else {
@@ -58,7 +58,7 @@ int _media_svc_get_folder_id_by_foldername(sqlite3 *handle, const char *folder_n
 int _media_svc_append_folder(sqlite3 *handle, media_svc_storage_type_e storage_type,
                                    const char *folder_id, const char *path_name, const char *folder_name, int modified_date, uid_t uid)
 {
-       int err = -1;
+       int ret = MS_MEDIA_ERR_NONE;
 
        /*Update Pinyin If Support Pinyin*/
        char *folder_name_pinyin = NULL;
@@ -67,21 +67,21 @@ int _media_svc_append_folder(sqlite3 *handle, media_svc_storage_type_e storage_t
 
        char *sql = sqlite3_mprintf("INSERT INTO %s (folder_uuid, path, name, storage_type, modified_time, name_pinyin) values (%Q, %Q, %Q, '%d', '%d', %Q); ",
                                             MEDIA_SVC_DB_TABLE_FOLDER, folder_id, path_name, folder_name, storage_type, modified_date, folder_name_pinyin);
-       err = _media_svc_sql_query(handle, sql, uid);
+       ret = _media_svc_sql_query(handle, sql, uid);
        sqlite3_free(sql);
-       if (err != SQLITE_OK) {
+       if (ret != SQLITE_OK) {
                media_svc_error("failed to insert folder");
-               return MEDIA_INFO_ERROR_DATABASE_INTERNAL;
+               return MS_MEDIA_ERR_DB_INTERNAL;
        }
        
        SAFE_FREE(folder_name_pinyin);
 
-       return MEDIA_INFO_ERROR_NONE;
+       return ret;
 }
 
 int _media_svc_update_folder_modified_time_by_folder_uuid(sqlite3 *handle, const char *folder_uuid, const char *folder_path, bool stack_query, uid_t uid)
 {
-       int err = -1;
+       int ret = MS_MEDIA_ERR_NONE;
        int modified_time = 0;
 
        modified_time = _media_svc_get_file_time(folder_path);
@@ -89,36 +89,36 @@ int _media_svc_update_folder_modified_time_by_folder_uuid(sqlite3 *handle, const
        char *sql = sqlite3_mprintf("UPDATE %s SET modified_time=%d WHERE folder_uuid=%Q;", MEDIA_SVC_DB_TABLE_FOLDER, modified_time, folder_uuid);
 
        if(!stack_query) {
-               err = _media_svc_sql_query(handle, sql, uid);
+               ret = _media_svc_sql_query(handle, sql, uid);
                sqlite3_free(sql);
-               if (err != SQLITE_OK) {
+               if (ret != SQLITE_OK) {
                        media_svc_error("failed to update folder");
-                       return MEDIA_INFO_ERROR_DATABASE_INTERNAL;
+                       return MS_MEDIA_ERR_DB_INTERNAL;
                }
        } else {
                _media_svc_sql_query_add(&g_media_svc_move_item_query_list, &sql);
        }
 
-       return MEDIA_INFO_ERROR_NONE;
+       return ret;
 }
 
 int _media_svc_get_and_append_folder_id_by_path(sqlite3 *handle, const char *path, media_svc_storage_type_e storage_type, char *folder_id, uid_t uid)
 {
        char *path_name = NULL;
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
 
        path_name = g_path_get_dirname(path);
 
        ret = _media_svc_get_folder_id_by_foldername(handle, path_name, folder_id);
 
-       if(ret == MEDIA_INFO_ERROR_DATABASE_NO_RECORD) {
+       if(ret == MS_MEDIA_ERR_DB_NO_RECORD) {
                char *folder_name = NULL;
                int folder_modified_date = 0;
                char *folder_uuid = _media_info_generate_uuid();
                if(folder_uuid == NULL ) {
                        media_svc_error("Invalid UUID");
                        SAFE_FREE(path_name);
-                       return MEDIA_INFO_ERROR_INTERNAL;
+                       return MS_MEDIA_ERR_INTERNAL;
                }
 
                folder_name = g_path_get_basename(path_name);
@@ -136,18 +136,18 @@ int _media_svc_get_and_append_folder_id_by_path(sqlite3 *handle, const char *pat
 
 int _media_svc_update_folder_table(sqlite3 *handle, uid_t uid)
 {
-       int err = -1;
+       int ret = MS_MEDIA_ERR_NONE;
        char *sql = NULL;
 
        sql = sqlite3_mprintf("DELETE FROM %s WHERE folder_uuid IN (SELECT folder_uuid FROM %s WHERE folder_uuid NOT IN (SELECT folder_uuid FROM %s))",
             MEDIA_SVC_DB_TABLE_FOLDER, MEDIA_SVC_DB_TABLE_FOLDER, MEDIA_SVC_DB_TABLE_MEDIA);
 
-       err = _media_svc_sql_query(handle, sql, uid);
+       ret = _media_svc_sql_query(handle, sql, uid);
        sqlite3_free(sql);
-       if (err != SQLITE_OK) {
+       if (ret != SQLITE_OK) {
                media_svc_error("failed to delete folder item");
-               return MEDIA_INFO_ERROR_DATABASE_INTERNAL;
+               return MS_MEDIA_ERR_DB_INTERNAL;
        }
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
index 36899ac..fbfd0ab 100755 (executable)
@@ -22,9 +22,9 @@
 #include <string.h>
 #include <grp.h>
 #include <pwd.h>
+#include <media-util-err.h>
 #include "media-svc-media.h"
 #include "media-svc-media-folder.h"
-#include "media-svc-error.h"
 #include "media-svc-debug.h"
 #include "media-svc-util.h"
 #include "media-svc-db-utils.h"
@@ -49,14 +49,14 @@ static int __media_svc_get_invalid_folder_records_with_thumbnail(sqlite3 *handle
 
 static int __media_svc_count_invalid_records_with_thumbnail(sqlite3 *handle, media_svc_storage_type_e storage_type, int *count)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        sqlite3_stmt *sql_stmt = NULL;
        char *sql = sqlite3_mprintf("SELECT count(*) FROM %s WHERE validity=0 AND storage_type=%d AND thumbnail_path IS NOT NULL",
                                        MEDIA_SVC_DB_TABLE_MEDIA, storage_type);
 
        ret = _media_svc_sql_prepare_to_step(handle, sql, &sql_stmt);
 
-       if (ret != MEDIA_INFO_ERROR_NONE) {
+       if (ret != MS_MEDIA_ERR_NONE) {
                media_svc_error("error when __media_svc_count_invalid_records_with_thumbnail. err = [%d]", ret);
                return ret;
        }
@@ -65,27 +65,27 @@ static int __media_svc_count_invalid_records_with_thumbnail(sqlite3 *handle, med
 
        SQLITE3_FINALIZE(sql_stmt);
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 
 }
 
 static int __media_svc_get_invalid_records_with_thumbnail(sqlite3 *handle, media_svc_storage_type_e storage_type,
                                                        int count, media_svc_thumbnailpath_s * thumb_path)
 {
-       int err = -1;
-       int idx = 0;
+       int ret = MS_MEDIA_ERR_NONE;
        sqlite3_stmt *sql_stmt = NULL;
+       int idx = 0;
 
        char *sql = sqlite3_mprintf("SELECT thumbnail_path from (select thumbnail_path, validity from %s WHERE storage_type=%d AND thumbnail_path IS NOT NULL GROUP BY thumbnail_path HAVING count() = 1) WHERE validity=0",
                                        MEDIA_SVC_DB_TABLE_MEDIA, storage_type);
 
        media_svc_debug("[SQL query] : %s", sql);
 
-       err = sqlite3_prepare_v2(handle, sql, -1, &sql_stmt, NULL);
+       ret = sqlite3_prepare_v2(handle, sql, -1, &sql_stmt, NULL);
        sqlite3_free(sql);
-       if (err != SQLITE_OK) {
+       if (ret != SQLITE_OK) {
                media_svc_error("prepare error [%s]", sqlite3_errmsg(handle));
-               return MEDIA_INFO_ERROR_DATABASE_INTERNAL;
+               return MS_MEDIA_ERR_DB_INTERNAL;
        }
 
        while (sqlite3_step(sql_stmt) == SQLITE_ROW) {
@@ -96,19 +96,19 @@ static int __media_svc_get_invalid_records_with_thumbnail(sqlite3 *handle, media
 
        SQLITE3_FINALIZE(sql_stmt);
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 static int __media_svc_count_invalid_folder_records_with_thumbnail(sqlite3 *handle, const char *folder_path, int *count)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        sqlite3_stmt *sql_stmt = NULL;
        char *sql = sqlite3_mprintf("SELECT count(*) FROM %s WHERE validity=0 AND path LIKE '%q/%%' AND thumbnail_path IS NOT NULL",
                                        MEDIA_SVC_DB_TABLE_MEDIA, folder_path);
 
        ret = _media_svc_sql_prepare_to_step(handle, sql, &sql_stmt);
 
-       if (ret != MEDIA_INFO_ERROR_NONE) {
+       if (ret != MS_MEDIA_ERR_NONE) {
                media_svc_error("error when __media_svc_count_invalid_folder_records_with_thumbnail. err = [%d]", ret);
                return ret;
        }
@@ -117,27 +117,27 @@ static int __media_svc_count_invalid_folder_records_with_thumbnail(sqlite3 *hand
 
        SQLITE3_FINALIZE(sql_stmt);
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 
 }
 
 static int __media_svc_get_invalid_folder_records_with_thumbnail(sqlite3 *handle, const char *folder_path,
                                                        int count, media_svc_thumbnailpath_s * thumb_path)
 {
-       int err = -1;
-       int idx = 0;
+       int ret = MS_MEDIA_ERR_NONE;
        sqlite3_stmt *sql_stmt = NULL;
+       int idx = 0;
 
        char *sql = sqlite3_mprintf("SELECT thumbnail_path from (select thumbnail_path, validity from %s WHERE path LIKE '%q/%%' AND thumbnail_path IS NOT NULL GROUP BY thumbnail_path HAVING count() = 1) WHERE validity=0",
                                        MEDIA_SVC_DB_TABLE_MEDIA, folder_path);
 
        media_svc_debug("[SQL query] : %s", sql);
 
-       err = sqlite3_prepare_v2(handle, sql, -1, &sql_stmt, NULL);
+       ret = sqlite3_prepare_v2(handle, sql, -1, &sql_stmt, NULL);
        sqlite3_free(sql);
-       if (err != SQLITE_OK) {
+       if (ret != MS_MEDIA_ERR_NONE) {
                media_svc_error("prepare error [%s]", sqlite3_errmsg(handle));
-               return MEDIA_INFO_ERROR_DATABASE_INTERNAL;
+               return ret;
        }
 
        while (sqlite3_step(sql_stmt) == SQLITE_ROW) {
@@ -147,25 +147,25 @@ static int __media_svc_get_invalid_folder_records_with_thumbnail(sqlite3 *handle
 
        SQLITE3_FINALIZE(sql_stmt);
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 int _media_svc_count_record_with_path(sqlite3 *handle, const char *path, int *count)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        sqlite3_stmt *sql_stmt = NULL;
 
        char *sql = sqlite3_mprintf("SELECT count(*) FROM %s WHERE path='%q'", MEDIA_SVC_DB_TABLE_MEDIA, path);
 
        ret = _media_svc_sql_prepare_to_step(handle, sql, &sql_stmt);
 
-       media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
        *count = sqlite3_column_int(sql_stmt, 0);
 
        SQLITE3_FINALIZE(sql_stmt);
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 char* _media_svc_get_thumb_default_path(uid_t uid)
@@ -207,7 +207,7 @@ char* _media_svc_get_thumb_default_path(uid_t uid)
 int _media_svc_insert_item_with_data(sqlite3 *handle, media_svc_content_info_s *content_info, int is_burst, bool stack_query, uid_t uid)
 {
        media_svc_debug("");
-       int err = -1;
+       int ret = MS_MEDIA_ERR_NONE;
        char *burst_id = NULL;
 
        char * db_fields = "media_uuid, path, file_name, media_type, mime_type, size, added_time, modified_time, folder_uuid, \
@@ -223,8 +223,8 @@ int _media_svc_insert_item_with_data(sqlite3 *handle, media_svc_content_info_s *
 
        if (is_burst) {
                int burst_id_int = 0;
-               err = _media_svc_get_burst_id(handle, &burst_id_int);
-               if (err < 0) {
+               ret = _media_svc_get_burst_id(handle, &burst_id_int);
+               if (ret != MS_MEDIA_ERR_NONE) {
                        burst_id = NULL;
                }
 
@@ -238,13 +238,13 @@ int _media_svc_insert_item_with_data(sqlite3 *handle, media_svc_content_info_s *
                int width = 0;
                int height = 0;
 
-               err = thumbnail_request_from_db_with_size(content_info->path, thumb_path, sizeof(thumb_path), &width, &height, uid);
-               if (err < 0) {
-                       media_svc_error("thumbnail_request_from_db failed: %d", err);
+               ret = thumbnail_request_from_db_with_size(content_info->path, thumb_path, sizeof(thumb_path), &width, &height, uid);
+               if (ret != MS_MEDIA_ERR_NONE) {
+                       media_svc_error("thumbnail_request_from_db failed: %d", ret);
                } else {
                        media_svc_debug("thumbnail_request_from_db success: %s", thumb_path);
-                       err = __media_svc_malloc_and_strncpy(&(content_info->thumbnail_path), thumb_path);
-                       if (err < 0) {
+                       ret = __media_svc_malloc_and_strncpy(&(content_info->thumbnail_path), thumb_path);
+                       if (ret != MS_MEDIA_ERR_NONE) {
                                content_info->thumbnail_path = NULL;
                        }
                }
@@ -341,24 +341,23 @@ int _media_svc_insert_item_with_data(sqlite3 *handle, media_svc_content_info_s *
        burst_id = NULL;
 
        if(!stack_query) {
-               err = _media_svc_sql_query(handle, sql, uid);
+               ret = _media_svc_sql_query(handle, sql, uid);
                sqlite3_free(sql);
-               if (err != SQLITE_OK) {
+               if (ret != MS_MEDIA_ERR_NONE) {
                        media_svc_error("failed to insert item");
-
-                       return MEDIA_INFO_ERROR_DATABASE_INTERNAL;
+                       return ret;
                }
        } else {
                media_svc_debug("query : %s", sql);
                _media_svc_sql_query_add(&g_media_svc_insert_item_query_list, &sql);
        }
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 int _media_svc_update_item_with_data(sqlite3 *handle, media_svc_content_info_s *content_info, uid_t uid)
 {
-       int err = -1;
+       int ret = MS_MEDIA_ERR_NONE;
 
        /* This sql is due to sqlite3_mprintf's wrong operation when using floating point in the text format */
        /* This code will be removed when sqlite3_mprintf works clearly */
@@ -422,27 +421,22 @@ int _media_svc_update_item_with_data(sqlite3 *handle, media_svc_content_info_s *
                content_info->path
                );
 
-       err = _media_svc_sql_query(handle, sql, uid);
+       ret = _media_svc_sql_query(handle, sql, uid);
        sqlite3_free(sql);
-       if (err != SQLITE_OK) {
-               media_svc_error("failed to update item");
-
-               return MEDIA_INFO_ERROR_DATABASE_INTERNAL;
-       }
 
-       return MEDIA_INFO_ERROR_NONE;
+       return ret;
 }
 int _media_svc_get_thumbnail_path_by_path(sqlite3 *handle, const char *path, char *thumbnail_path)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        sqlite3_stmt *sql_stmt = NULL;
 
        char *sql = sqlite3_mprintf("SELECT thumbnail_path FROM %s WHERE path='%q'", MEDIA_SVC_DB_TABLE_MEDIA, path);
 
        ret = _media_svc_sql_prepare_to_step(handle, sql, &sql_stmt);
 
-       if (ret != MEDIA_INFO_ERROR_NONE) {
-               if(ret == MEDIA_INFO_ERROR_DATABASE_NO_RECORD) {
+       if (ret != MS_MEDIA_ERR_NONE) {
+               if(ret == MS_MEDIA_ERR_DB_NO_RECORD) {
                        media_svc_debug("there is no thumbnail.");
                }
                else {
@@ -455,19 +449,19 @@ int _media_svc_get_thumbnail_path_by_path(sqlite3 *handle, const char *path, cha
 
        SQLITE3_FINALIZE(sql_stmt);
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 int _media_svc_get_media_type_by_path(sqlite3 *handle, const char *path, int *media_type)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        sqlite3_stmt *sql_stmt = NULL;
 
        char *sql = sqlite3_mprintf("SELECT media_type FROM %s WHERE path='%q'", MEDIA_SVC_DB_TABLE_MEDIA, path);
 
        ret = _media_svc_sql_prepare_to_step(handle, sql, &sql_stmt);
 
-       if (ret != MEDIA_INFO_ERROR_NONE) {
+       if (ret != MS_MEDIA_ERR_NONE) {
                media_svc_error("error when _media_svc_get_media_type_by_path. err = [%d]", ret);
                return ret;
        }
@@ -476,50 +470,44 @@ int _media_svc_get_media_type_by_path(sqlite3 *handle, const char *path, int *me
 
        SQLITE3_FINALIZE(sql_stmt);
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 int _media_svc_delete_item_by_path(sqlite3 *handle, const char *path, uid_t uid)
 {
-       int err = -1;
+       int ret = MS_MEDIA_ERR_NONE;
        char *sql = sqlite3_mprintf("DELETE FROM %s WHERE validity=1 AND path='%q'", MEDIA_SVC_DB_TABLE_MEDIA, path);
 
-       err = _media_svc_sql_query(handle, sql, uid);
+       ret = _media_svc_sql_query(handle, sql, uid);
        sqlite3_free(sql);
-       if (err != SQLITE_OK) {
-               media_svc_error("It failed to delete item (%d)", err);
-               return MEDIA_INFO_ERROR_DATABASE_INTERNAL;
+       if (ret != MS_MEDIA_ERR_NONE) {
+               media_svc_error("failed to delete item");
+               return ret;
        }
 
-       return MEDIA_INFO_ERROR_NONE;
+       return ret;
 }
 
 int _media_svc_truncate_table(sqlite3 *handle, media_svc_storage_type_e storage_type, uid_t uid)
 {
-       int err = -1;
+       int ret = MS_MEDIA_ERR_NONE;
        char *sql = sqlite3_mprintf("DELETE FROM %s WHERE storage_type=%d", MEDIA_SVC_DB_TABLE_MEDIA, storage_type);
 
-       err = _media_svc_sql_query(handle, sql, uid);
+       ret = _media_svc_sql_query(handle, sql, uid);
        sqlite3_free(sql);
-       if (err != SQLITE_OK) {
-               media_svc_error("It failed to truncate table (%d)", err);
-               return MEDIA_INFO_ERROR_DATABASE_INTERNAL;
-       }
-
-       return MEDIA_INFO_ERROR_NONE;
 
+       return ret;
 }
 
 int _media_svc_delete_invalid_items(sqlite3 *handle, media_svc_storage_type_e storage_type, uid_t uid)
 {
        int idx = 0;
        media_svc_thumbnailpath_s *thumbpath_record = NULL;
-       int err = -1;
        int invalid_count = 0;
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
 
        ret = __media_svc_count_invalid_records_with_thumbnail(handle, storage_type, &invalid_count);
-       media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
        media_svc_debug("invalid count: %d\n", invalid_count);
 
@@ -527,11 +515,11 @@ int _media_svc_delete_invalid_items(sqlite3 *handle, media_svc_storage_type_e st
                thumbpath_record = (media_svc_thumbnailpath_s *)calloc( invalid_count, sizeof(media_svc_thumbnailpath_s));
                if (thumbpath_record == NULL) {
                        media_svc_error("fail to memory allocation");
-                       return MEDIA_INFO_ERROR_OUT_OF_MEMORY;
+                       return MS_MEDIA_ERR_OUT_OF_MEMORY;
                }
 
                ret = __media_svc_get_invalid_records_with_thumbnail(handle, storage_type, invalid_count, thumbpath_record);
-               if (ret != MEDIA_INFO_ERROR_NONE) {
+               if (ret != MS_MEDIA_ERR_NONE) {
                        media_svc_error("error when get thumbnail record");
                        SAFE_FREE(thumbpath_record);
                        return ret;
@@ -541,12 +529,11 @@ int _media_svc_delete_invalid_items(sqlite3 *handle, media_svc_storage_type_e st
        }
 
        char *sql = sqlite3_mprintf("DELETE FROM %s WHERE validity = 0 AND storage_type=%d", MEDIA_SVC_DB_TABLE_MEDIA, storage_type);
-       err = _media_svc_sql_query(handle, sql, uid);
+       ret = _media_svc_sql_query(handle, sql, uid);
        sqlite3_free(sql);
-       if (err != SQLITE_OK) {
-               media_svc_error("To delete invalid items is failed(%d)", err);
+       if(ret != MS_MEDIA_ERR_NONE) {
                SAFE_FREE(thumbpath_record);
-               return MEDIA_INFO_ERROR_DATABASE_INTERNAL;
+               return ret;
        }
 
        /*Delete thumbnails*/
@@ -554,39 +541,36 @@ int _media_svc_delete_invalid_items(sqlite3 *handle, media_svc_storage_type_e st
                if ((strlen(thumbpath_record[idx].thumbnail_path) > 0) && (strncmp(thumbpath_record[idx].thumbnail_path, _media_svc_get_thumb_default_path(uid), sizeof(_media_svc_get_thumb_default_path(uid))) != 0)) {
                        if (_media_svc_remove_file(thumbpath_record[idx].thumbnail_path) == FALSE) {
                                media_svc_error("fail to remove thumbnail file.");
-                               //SAFE_FREE(thumbpath_record);
-                               //return MEDIA_INFO_ERROR_INTERNAL;
                        }
                }
        }
 
        SAFE_FREE(thumbpath_record);
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 int _media_svc_delete_invalid_folder_items(sqlite3 *handle, const char *folder_path, uid_t uid)
 {
        int idx = 0;
        media_svc_thumbnailpath_s *thumbpath_record = NULL;
-       int err = -1;
        int invalid_count = 0;
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
 
        ret = __media_svc_count_invalid_folder_records_with_thumbnail(handle, folder_path, &invalid_count);
-       media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
-       media_svc_debug("invalid count: %d\n", invalid_count);
+       media_svc_debug("invalid count: %d", invalid_count);
 
        if (invalid_count > 0) {
                thumbpath_record = (media_svc_thumbnailpath_s *)calloc( invalid_count, sizeof(media_svc_thumbnailpath_s));
                if (thumbpath_record == NULL) {
                        media_svc_error("fail to memory allocation");
-                       return MEDIA_INFO_ERROR_OUT_OF_MEMORY;
+                       return MS_MEDIA_ERR_OUT_OF_MEMORY;
                }
 
                ret = __media_svc_get_invalid_folder_records_with_thumbnail(handle, folder_path, invalid_count, thumbpath_record);
-               if (ret != MEDIA_INFO_ERROR_NONE) {
+               if (ret != MS_MEDIA_ERR_NONE) {
                        media_svc_error("error when get thumbnail record");
                        SAFE_FREE(thumbpath_record);
                        return ret;
@@ -596,12 +580,11 @@ int _media_svc_delete_invalid_folder_items(sqlite3 *handle, const char *folder_p
        }
 
        char *sql = sqlite3_mprintf("DELETE FROM %s WHERE validity = 0 AND path LIKE '%q/%%'", MEDIA_SVC_DB_TABLE_MEDIA, folder_path);
-       err = _media_svc_sql_query(handle, sql, uid);
+       ret = _media_svc_sql_query(handle, sql, uid);
        sqlite3_free(sql);
-       if (err != SQLITE_OK) {
-               media_svc_error("To delete invalid items is failed(%d)", err);
+       if(ret != MS_MEDIA_ERR_NONE) {
                SAFE_FREE(thumbpath_record);
-               return MEDIA_INFO_ERROR_DATABASE_INTERNAL;
+               return ret;
        }
 
        /*Delete thumbnails*/
@@ -609,72 +592,58 @@ int _media_svc_delete_invalid_folder_items(sqlite3 *handle, const char *folder_p
                if ((strlen(thumbpath_record[idx].thumbnail_path) > 0) && (strncmp(thumbpath_record[idx].thumbnail_path, _media_svc_get_thumb_default_path(uid), sizeof(_media_svc_get_thumb_default_path(uid))) != 0)) {
                        if (_media_svc_remove_file(thumbpath_record[idx].thumbnail_path) == FALSE) {
                                media_svc_error("fail to remove thumbnail file [%s].", thumbpath_record[idx].thumbnail_path);
-                               //SAFE_FREE(thumbpath_record);
-                               //return MEDIA_INFO_ERROR_INTERNAL;
                        }
                }
        }
 
        SAFE_FREE(thumbpath_record);
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
-
 int _media_svc_update_item_validity(sqlite3 *handle, const char *path, int validity, bool stack_query, uid_t uid)
 {
-       int err = -1;
+       int ret = MS_MEDIA_ERR_NONE;
 
        char *sql = sqlite3_mprintf("UPDATE %s SET validity=%d WHERE path= '%q'", MEDIA_SVC_DB_TABLE_MEDIA, validity, path);
 
        if(!stack_query) {
-               err = _media_svc_sql_query(handle, sql, uid);
+               ret = _media_svc_sql_query(handle, sql, uid);
                sqlite3_free(sql);
-               if (err != SQLITE_OK) {
-                       media_svc_error("To update item as valid is failed(%d)", err);
-                       return MEDIA_INFO_ERROR_DATABASE_INTERNAL;
-               }
        } else {
                _media_svc_sql_query_add(&g_media_svc_item_validity_query_list, &sql);
        }
 
-       return MEDIA_INFO_ERROR_NONE;
+       return ret;
 }
 
 int _media_svc_update_thumbnail_path(sqlite3 *handle, const char *path, const char *thumb_path, uid_t uid)
 {
-       int err = -1;
+       int ret = MS_MEDIA_ERR_NONE;
 
        char *sql = sqlite3_mprintf("UPDATE %s SET thumbnail_path=%Q WHERE path= %Q", MEDIA_SVC_DB_TABLE_MEDIA, thumb_path, path);
 
-       err = _media_svc_sql_query(handle, sql, uid);
+       ret = _media_svc_sql_query(handle, sql, uid);
        sqlite3_free(sql);
-       if (err != SQLITE_OK) {
-               media_svc_error("To update thumb path failed(%d)", err);
-               return MEDIA_INFO_ERROR_DATABASE_INTERNAL;
-       }
 
-       return MEDIA_INFO_ERROR_NONE;
+       return ret;
 }
 
 int _media_svc_update_storage_item_validity(sqlite3 *handle, media_svc_storage_type_e storage_type, int validity, uid_t uid)
 {
-       int err = -1;
+       int ret = MS_MEDIA_ERR_NONE;
+
        char *sql = sqlite3_mprintf("UPDATE %s SET validity=%d WHERE storage_type=%d", MEDIA_SVC_DB_TABLE_MEDIA, validity, storage_type);
-       err = _media_svc_sql_query(handle, sql, uid);
+
+       ret = _media_svc_sql_query(handle, sql, uid);
        sqlite3_free(sql);
-       if (err != SQLITE_OK) {
-               media_svc_error("To update item as valid is failed(%d)", err);
-               return MEDIA_INFO_ERROR_DATABASE_INTERNAL;
-       }
 
-       return MEDIA_INFO_ERROR_NONE;
+       return ret;
 }
 
 int _media_svc_update_folder_item_validity(sqlite3 *handle, const char *folder_path, int validity, uid_t uid)
 {
-       int err = -1;
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        char *sql = NULL;
        char folder_uuid[MEDIA_SVC_UUID_SIZE + 1] = {0, };
        sqlite3_stmt *sql_stmt = NULL;
@@ -682,7 +651,7 @@ int _media_svc_update_folder_item_validity(sqlite3 *handle, const char *folder_p
        /*Get folder ID*/
        sql = sqlite3_mprintf("SELECT folder_uuid FROM %s WHERE path='%q'", MEDIA_SVC_DB_TABLE_FOLDER, folder_path);
        ret = _media_svc_sql_prepare_to_step(handle, sql, &sql_stmt);
-       if (ret != MEDIA_INFO_ERROR_NONE) {
+       if (ret != MS_MEDIA_ERR_NONE) {
                media_svc_error("error when get folder_id. err = [%d]", ret);
                return ret;
        }
@@ -692,30 +661,22 @@ int _media_svc_update_folder_item_validity(sqlite3 *handle, const char *folder_p
 
        /*Update folder item validity*/
        sql = sqlite3_mprintf("UPDATE %s SET validity=%d WHERE folder_uuid='%q'", MEDIA_SVC_DB_TABLE_MEDIA, validity, folder_uuid);
-       err = _media_svc_sql_query(handle, sql, uid);
+       ret = _media_svc_sql_query(handle, sql, uid);
        sqlite3_free(sql);
-       if (err != SQLITE_OK) {
-               media_svc_error("To update folder item as valid is failed(%d)", err);
-               return MEDIA_INFO_ERROR_DATABASE_INTERNAL;
-       }
 
-       return MEDIA_INFO_ERROR_NONE;
+       return ret;
 }
 
 int _media_svc_update_recursive_folder_item_validity(sqlite3 *handle, const char *folder_path, int validity, uid_t uid)
 {
-       int err = -1;
+       int ret = MS_MEDIA_ERR_NONE;
 
        /*Update folder item validity*/
        char *sql = sqlite3_mprintf("UPDATE %s SET validity=%d WHERE path LIKE '%q/%%'", MEDIA_SVC_DB_TABLE_MEDIA, validity, folder_path);
-       err = _media_svc_sql_query(handle, sql, uid);
+       ret = _media_svc_sql_query(handle, sql, uid);
        sqlite3_free(sql);
-       if (err != SQLITE_OK) {
-               media_svc_error("To update recursive folder item validity is failed(%d)", err);
-               return MEDIA_INFO_ERROR_DATABASE_INTERNAL;
-       }
 
-       return MEDIA_INFO_ERROR_NONE;
+       return ret;
 }
 
 int _media_svc_update_item_by_path(sqlite3 *handle, const char *src_path, media_svc_storage_type_e dest_storage, const char *dest_path,
@@ -724,7 +685,7 @@ int _media_svc_update_item_by_path(sqlite3 *handle, const char *src_path, media_
        /* update path, filename, modified_time, folder_uuid, thumbnail_path, */
        /* played_count, last_played_time, last_played_position, favourite, storaget_type*/
 
-       int err = -1;
+       int ret = MS_MEDIA_ERR_NONE;
        char *sql = NULL;
 
        if(thumb_path != NULL) {
@@ -742,25 +703,21 @@ int _media_svc_update_item_by_path(sqlite3 *handle, const char *src_path, media_
        }
 
        if(!stack_query) {
-               err = _media_svc_sql_query(handle, sql, uid);
+               ret = _media_svc_sql_query(handle, sql, uid);
                sqlite3_free(sql);
-               if (err != SQLITE_OK) {
-                       media_svc_error("It failed to update metadata (%d)", err);
-                       return MEDIA_INFO_ERROR_DATABASE_INTERNAL;
-               }
        } else {
                _media_svc_sql_query_add(&g_media_svc_move_item_query_list, &sql);
        }
 
-       return MEDIA_INFO_ERROR_NONE;
+       return ret;
 }
 
 int _media_svc_list_query_do(sqlite3 *handle, media_svc_query_type_e query_type, uid_t uid)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
 
        ret = _media_svc_sql_begin_trans(handle, uid);
-       media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
        if (query_type == MEDIA_SVC_QUERY_SET_ITEM_VALIDITY)
                ret = _media_svc_sql_query_list(handle, &g_media_svc_item_validity_query_list,uid);
@@ -769,34 +726,34 @@ int _media_svc_list_query_do(sqlite3 *handle, media_svc_query_type_e query_type,
        else if (query_type == MEDIA_SVC_QUERY_INSERT_ITEM)
                ret = _media_svc_sql_query_list(handle, &g_media_svc_insert_item_query_list, uid);
        else
-               ret = MEDIA_INFO_ERROR_INVALID_PARAMETER;
+               ret = MS_MEDIA_ERR_INVALID_PARAMETER;
 
-       if (ret != MEDIA_INFO_ERROR_NONE) {
+       if (ret != MS_MEDIA_ERR_NONE) {
                media_svc_error("_media_svc_list_query_do failed. start rollback");
                _media_svc_sql_rollback_trans(handle,uid);
                return ret;
        }
 
        ret = _media_svc_sql_end_trans(handle, uid);
-       if (ret != MEDIA_INFO_ERROR_NONE) {
+       if (ret != MS_MEDIA_ERR_NONE) {
                media_svc_error("mb_svc_sqlite3_commit_trans failed.. Now start to rollback\n");
                _media_svc_sql_rollback_trans(handle,uid);
                return ret;
        }
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 int _media_svc_get_media_id_by_path(sqlite3 *handle, const char *path, char *media_uuid, int max_length)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        sqlite3_stmt *sql_stmt = NULL;
        char *sql = sqlite3_mprintf("SELECT media_uuid FROM %s WHERE validity=1 AND path='%q'",
                                        MEDIA_SVC_DB_TABLE_MEDIA, path);
 
        ret = _media_svc_sql_prepare_to_step(handle, sql, &sql_stmt);
 
-       if (ret != MEDIA_INFO_ERROR_NONE) {
+       if (ret != MS_MEDIA_ERR_NONE) {
                media_svc_error("error when __media_svc_count_invalid_records_with_thumbnail. err = [%d]", ret);
                return ret;
        }
@@ -806,19 +763,19 @@ int _media_svc_get_media_id_by_path(sqlite3 *handle, const char *path, char *med
 
        SQLITE3_FINALIZE(sql_stmt);
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 int _media_svc_get_burst_id(sqlite3 *handle, int *id)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        int cur_id = -1;
        sqlite3_stmt *sql_stmt = NULL;
        char *sql = sqlite3_mprintf("SELECT max(CAST(burst_id AS INTEGER)) FROM %s", MEDIA_SVC_DB_TABLE_MEDIA);
 
        ret = _media_svc_sql_prepare_to_step(handle, sql, &sql_stmt);
 
-       if (ret != MEDIA_INFO_ERROR_NONE) {
+       if (ret != MS_MEDIA_ERR_NONE) {
                media_svc_error("error when _media_svc_get_burst_id. err = [%d]", ret);
                return ret;
        }
@@ -827,19 +784,19 @@ int _media_svc_get_burst_id(sqlite3 *handle, int *id)
        *id = ++cur_id;
        SQLITE3_FINALIZE(sql_stmt);
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 int _media_svc_get_noti_info(sqlite3 *handle, const char *path, int update_item, media_svc_noti_item **item)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        sqlite3_stmt *sql_stmt = NULL;
        char *sql = NULL;
        int is_root_dir = FALSE;
 
        if (item == NULL) {
                media_svc_error("_media_svc_get_noti_info failed");
-               return MEDIA_INFO_ERROR_INVALID_PARAMETER;
+               return MS_MEDIA_ERR_INVALID_PARAMETER;
        }
 
        if (update_item == MS_MEDIA_ITEM_FILE) {
@@ -848,14 +805,14 @@ int _media_svc_get_noti_info(sqlite3 *handle, const char *path, int update_item,
                sql = sqlite3_mprintf("SELECT folder_uuid FROM %s WHERE path=%Q", MEDIA_SVC_DB_TABLE_FOLDER, path);
        } else {
                media_svc_error("_media_svc_get_noti_info failed : update item");
-               return MEDIA_INFO_ERROR_INVALID_PARAMETER;
+               return MS_MEDIA_ERR_INVALID_PARAMETER;
        }
 
        ret = _media_svc_sql_prepare_to_step(handle, sql, &sql_stmt);
 
-       if (ret != MEDIA_INFO_ERROR_NONE) {
-               if (ret == MEDIA_INFO_ERROR_DATABASE_NO_RECORD && update_item == MS_MEDIA_ITEM_DIRECTORY) {
-                       media_svc_error("This is root directory of media");
+       if (ret != MS_MEDIA_ERR_NONE) {
+               if (ret == MS_MEDIA_ERR_DB_NO_RECORD && update_item == MS_MEDIA_ITEM_DIRECTORY) {
+                       media_svc_debug("This is root directory of media");
                        sql_stmt = NULL;
                        is_root_dir = TRUE;
                } else {
@@ -867,7 +824,7 @@ int _media_svc_get_noti_info(sqlite3 *handle, const char *path, int update_item,
        *item = calloc(1, sizeof(media_svc_noti_item));
        if (*item == NULL) {
                media_svc_error("_media_svc_get_noti_info failed : calloc");
-               return MEDIA_INFO_ERROR_OUT_OF_MEMORY;
+               return MS_MEDIA_ERR_OUT_OF_MEMORY;
        }
 
        if (update_item == MS_MEDIA_ITEM_FILE) {
@@ -889,19 +846,19 @@ int _media_svc_get_noti_info(sqlite3 *handle, const char *path, int update_item,
 
        SQLITE3_FINALIZE(sql_stmt);
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 int _media_svc_count_invalid_folder_items(sqlite3 *handle, const char *folder_path, int *count)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        sqlite3_stmt *sql_stmt = NULL;
        char *sql = sqlite3_mprintf("SELECT count(*) FROM %s WHERE validity=0 AND path LIKE '%q/%%'",
                                        MEDIA_SVC_DB_TABLE_MEDIA, folder_path);
 
        ret = _media_svc_sql_prepare_to_step(handle, sql, &sql_stmt);
 
-       if (ret != MEDIA_INFO_ERROR_NONE) {
+       if (ret != MS_MEDIA_ERR_NONE) {
                media_svc_error("error when __media_svc_count_invalid_folder_records_with_thumbnail. err = [%d]", ret);
                return ret;
        }
@@ -910,18 +867,18 @@ int _media_svc_count_invalid_folder_items(sqlite3 *handle, const char *folder_pa
 
        SQLITE3_FINALIZE(sql_stmt);
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 int _media_svc_get_thumbnail_count(sqlite3 *handle, const char *thumb_path, int *count)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        sqlite3_stmt *sql_stmt = NULL;
        char *sql = sqlite3_mprintf("SELECT count(*) FROM %s WHERE thumbnail_path=%Q", MEDIA_SVC_DB_TABLE_MEDIA, thumb_path);
 
        ret = _media_svc_sql_prepare_to_step(handle, sql, &sql_stmt);
 
-       if (ret != MEDIA_INFO_ERROR_NONE) {
+       if (ret != MS_MEDIA_ERR_NONE) {
                media_svc_error("error when _media_svc_get_thumbnail_count. err = [%d]", ret);
                return ret;
        }
@@ -930,5 +887,5 @@ int _media_svc_get_thumbnail_count(sqlite3 *handle, const char *thumb_path, int
 
        SQLITE3_FINALIZE(sql_stmt);
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
index e24f434..117631d 100755 (executable)
@@ -43,10 +43,10 @@ int _media_svc_create_noti_list(int count)
        g_inserted_noti_list = calloc(count, sizeof(media_svc_noti_item));
        if (g_inserted_noti_list == NULL) {
                media_svc_error("Failed to prepare noti items");
-               return MEDIA_INFO_ERROR_OUT_OF_MEMORY;
+               return MS_MEDIA_ERR_OUT_OF_MEMORY;
        }
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 int _media_svc_insert_item_to_noti_list(media_svc_content_info_s *content_info, int cnt)
@@ -66,10 +66,9 @@ int _media_svc_insert_item_to_noti_list(media_svc_content_info_s *content_info,
                        noti_list[cnt].mime_type = strdup(content_info->mime_type);
        }
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
-
 int _media_svc_destroy_noti_list(int all_cnt)
 {
        int i = 0;
@@ -86,25 +85,22 @@ int _media_svc_destroy_noti_list(int all_cnt)
                g_inserted_noti_list = NULL;
        }
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 int _media_svc_publish_noti_list(int all_cnt)
 {
-       int err = MEDIA_INFO_ERROR_NONE;
-       int i = 0;
+       int ret = MS_MEDIA_ERR_NONE;
+       int idx = 0;
        media_svc_noti_item *noti_list = g_inserted_noti_list;
 
        if (noti_list) {
-               for (i = 0; i < all_cnt; i++) {
-                       err = _media_svc_publish_noti_by_item(&(noti_list[i]));
-                       if (err < 0) {
-                               media_svc_error("_media_svc_publish_noti failed : %d", err);
-                       }
+               for (idx = 0; idx < all_cnt; idx++) {
+                       ret = __media_svc_publish_noti_by_item(&(noti_list[idx]));
                }
        }
 
-       return err;
+       return ret;
 }
 
 
@@ -118,14 +114,14 @@ int _media_svc_create_noti_item(media_svc_content_info_s *content_info,
 
        if (item == NULL || content_info == NULL) {
                media_svc_error("_media_svc_create_noti_item : invalid param");
-               return MEDIA_INFO_ERROR_INVALID_PARAMETER;
+               return MS_MEDIA_ERR_INVALID_PARAMETER;
        }
 
        _item = calloc(1, sizeof(media_svc_noti_item));
 
        if (_item == NULL) {
                media_svc_error("Failed to prepare noti items");
-               return MEDIA_INFO_ERROR_OUT_OF_MEMORY;
+               return MS_MEDIA_ERR_OUT_OF_MEMORY;
        }
 
        _item->pid = pid;
@@ -142,7 +138,7 @@ int _media_svc_create_noti_item(media_svc_content_info_s *content_info,
 
        *item = _item;
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 int _media_svc_destroy_noti_item(media_svc_noti_item *item)
@@ -155,12 +151,12 @@ int _media_svc_destroy_noti_item(media_svc_noti_item *item)
                SAFE_FREE(item);
        }
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 int _media_svc_publish_noti_by_item(media_svc_noti_item *noti_item)
 {
-       int err = MEDIA_INFO_ERROR_NONE;
+       int err = MS_MEDIA_ERR_NONE;
 
        if (noti_item && noti_item->path) {
                err = media_db_update_send(noti_item->pid,
@@ -188,7 +184,7 @@ int _media_svc_publish_noti(media_item_type_e update_item,
                                                        const char *mime_type
 )
 {
-       int err = MEDIA_INFO_ERROR_NONE;
+       int err = MS_MEDIA_ERR_NONE;
 
        if (path) {
                err = media_db_update_send(getpid(),
@@ -200,7 +196,7 @@ int _media_svc_publish_noti(media_item_type_e update_item,
                                                                (char *)mime_type);
                if (err < 0) {
                        media_svc_error("media_db_update_send failed : %d [%s]", err, path);
-                       return MEDIA_INFO_ERROR_SEND_NOTI_FAIL;
+                       return MS_MEDIA_ERR_SEND_NOTI_FAIL;
                } else {
                        media_svc_debug("media_db_update_send success");
                }
index 7722b38..b69fbaa 100755 (executable)
@@ -39,8 +39,9 @@
 #include <grp.h>
 #include <pwd.h>
 #include "uuid.h"
+#include "media-util-err.h"
 #include "media-svc-util.h"
-#include "media-svc-error.h"
+#include "media-svc-db-utils.h"
 #include "media-svc-debug.h"
 #include "media-svc-env.h"
 #include "media-svc-hash.h"
@@ -83,7 +84,7 @@ static char *__year_2_str(int year)
 char *_media_info_generate_uuid(void)
 {
        uuid_t uuid_value;
-       static char uuid_unparsed[50];  
+       static char uuid_unparsed[50];
 
        uuid_generate(uuid_value);
        uuid_unparse(uuid_value, uuid_unparsed);
@@ -114,7 +115,7 @@ int __media_svc_malloc_and_strncpy(char **dst, const char *src)
 
        if (!STRING_VALID(src)) {
                media_svc_error("invalid src");
-               return MEDIA_INFO_ERROR_INVALID_PARAMETER;
+               return MS_MEDIA_ERR_INVALID_PARAMETER;
        }
 
        SAFE_FREE(*dst);
@@ -124,14 +125,14 @@ int __media_svc_malloc_and_strncpy(char **dst, const char *src)
 
        if (*dst == NULL) {
                media_svc_error("malloc failed");
-               return MEDIA_INFO_ERROR_INTERNAL;
+               return MS_MEDIA_ERR_INTERNAL;
        }
 
        strncpy(*dst, src, len);
        char *p = *dst;
        p[len - 1] = '\0';
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 static void __media_svc_split_to_double(char *input, double *arr, int *num)
@@ -196,7 +197,7 @@ static int __media_svc_get_exif_info(ExifData *ed,
 
        if (ed == NULL) {
                //media_svc_debug("ExifData is NULL");
-               return MEDIA_INFO_ERROR_INVALID_PARAMETER;
+               return MS_MEDIA_ERR_INVALID_PARAMETER;
        }
 
        ifd = ifdtype;
@@ -211,7 +212,7 @@ static int __media_svc_get_exif_info(ExifData *ed,
 
                        if (i_value == NULL) {
                                media_svc_error("i_value is NULL");
-                               return MEDIA_INFO_ERROR_INVALID_PARAMETER;
+                               return MS_MEDIA_ERR_INVALID_PARAMETER;
                        }
 
                        ExifByteOrder mByteOrder = exif_data_get_byte_order(ed);
@@ -223,7 +224,7 @@ static int __media_svc_get_exif_info(ExifData *ed,
 
                        if (d_value == NULL) {
                                media_svc_error("d_value is NULL");
-                               return MEDIA_INFO_ERROR_INVALID_PARAMETER;
+                               return MS_MEDIA_ERR_INVALID_PARAMETER;
                        }
 
                        /* Get the contents of the tag in human-readable form */
@@ -239,7 +240,7 @@ static int __media_svc_get_exif_info(ExifData *ed,
                        __media_svc_split_to_double(gps_buf, tmp_arr, &count);
                        if (count != 3) {
                                media_svc_error("Value is invalid");
-                               return MEDIA_INFO_ERROR_INTERNAL;
+                               return MS_MEDIA_ERR_INTERNAL;
                        }
 
                        *d_value = tmp_arr[0] + tmp_arr[1] / 60 + tmp_arr[2] / 3600;
@@ -248,7 +249,7 @@ static int __media_svc_get_exif_info(ExifData *ed,
 
                        if (buf == NULL) {
                                media_svc_error("buf is NULL");
-                               return MEDIA_INFO_ERROR_INVALID_PARAMETER;
+                               return MS_MEDIA_ERR_INVALID_PARAMETER;
                        }
 
                        exif_entry_get_value(entry, buf, MEDIA_SVC_METADATA_LEN_MAX);
@@ -260,7 +261,7 @@ static int __media_svc_get_exif_info(ExifData *ed,
                }
        }
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 unsigned int _media_svc_get_current_time(void)
@@ -320,15 +321,15 @@ int _media_svc_rename_file( const char *old_name, const char *new_name)
        if((old_name == NULL) || (new_name == NULL))
        {
                media_svc_error("invalid file name");
-               return MEDIA_INFO_ERROR_INVALID_PARAMETER;
+               return MS_MEDIA_ERR_INVALID_PARAMETER;
        }
 
        if (rename(old_name, new_name) < 0) {
                media_svc_error("Old : [%s] New : [%s] errno : [%s]", old_name, new_name, strerror(errno));
-               return MEDIA_INFO_ERROR_INTERNAL;
+               return MS_MEDIA_ERR_INTERNAL;
        }
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 bool _media_svc_remove_file(const char *path)
@@ -355,7 +356,7 @@ int _media_svc_remove_all_files_in_dir(const char *dir_path)
        dir = opendir(dir_path);
        if (dir == NULL) {
                media_svc_error("%s is not exist", dir_path);
-               return MEDIA_INFO_ERROR_INVALID_PARAMETER;
+               return MS_MEDIA_ERR_INVALID_PARAMETER;
        }
 
        while ((entry = readdir(dir)) != NULL) {
@@ -373,12 +374,12 @@ int _media_svc_remove_all_files_in_dir(const char *dir_path)
                if (unlink(filename) != 0) {
                        media_svc_error("failed to remove : %s", filename);
                        closedir(dir);
-                       return MEDIA_INFO_ERROR_INTERNAL;
+                       return MS_MEDIA_ERR_INTERNAL;
                }
        }
 
        closedir(dir);
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 char *_media_svc_get_title_from_filepath (const char *path)
@@ -563,20 +564,20 @@ int _media_svc_save_image(void *image, int size, char *image_path, uid_t uid)
 
        if (!image) {
                media_svc_error("invalid image..");
-               return MEDIA_INFO_ERROR_INVALID_PARAMETER;
+               return MS_MEDIA_ERR_INVALID_PARAMETER;
        }
 
        struct statfs fs;
        if (-1 == statfs(_media_svc_get_thumb_path(uid), &fs)) {
                media_svc_error("error in statfs");
-               return MEDIA_INFO_ERROR_INTERNAL;
+               return MS_MEDIA_ERR_INTERNAL;
        }
 
        long bsize_kbytes = fs.f_bsize >> 10;
 
        if ((bsize_kbytes * fs.f_bavail) < 1024) {
                media_svc_error("not enought space...");
-               return MEDIA_INFO_ERROR_INTERNAL;
+               return MS_MEDIA_ERR_INTERNAL;
        }
 
        FILE *fp = NULL;
@@ -586,19 +587,19 @@ int _media_svc_save_image(void *image, int size, char *image_path, uid_t uid)
 
                if (fp == NULL) {
                        media_svc_error("failed to open file");
-                       return MEDIA_INFO_ERROR_INTERNAL;
+                       return MS_MEDIA_ERR_INTERNAL;
                }
 
                nwrite = fwrite(image, 1, size, fp);
                if (nwrite != size) {
                        media_svc_error("failed to write thumbnail");
                        fclose(fp);
-                       return MEDIA_INFO_ERROR_INTERNAL;
+                       return MS_MEDIA_ERR_INTERNAL;
                }
                fclose(fp);
        }
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 
@@ -672,7 +673,7 @@ int _media_svc_get_file_time(const char *full_path)
        fd = stat(full_path, &statbuf);
        if (fd == -1) {
                 media_svc_error("stat(%s) fails.", full_path);
-                return MEDIA_INFO_ERROR_INTERNAL;
+                return MS_MEDIA_ERR_INTERNAL;
         }
 
         return statbuf.st_mtime;
@@ -681,7 +682,7 @@ int _media_svc_get_file_time(const char *full_path)
 int _media_svc_set_media_info(media_svc_content_info_s *content_info, media_svc_storage_type_e storage_type,
                          const char *path, media_svc_media_type_e *media_type, bool refresh, drm_content_info_s **drm_contentInfo)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        char * media_uuid = NULL;
        char * file_name = NULL;
        struct stat st;
@@ -689,7 +690,7 @@ int _media_svc_set_media_info(media_svc_content_info_s *content_info, media_svc_
        char mime_type[256] = {0};
 
        ret = __media_svc_malloc_and_strncpy(&content_info->path, path);
-       media_svc_retv_del_if(ret != MEDIA_INFO_ERROR_NONE, ret, content_info);
+       media_svc_retv_del_if(ret != MS_MEDIA_ERR_NONE, ret, content_info);
 
        memset(&st, 0, sizeof(struct stat));
        if (stat(path, &st) == 0) {
@@ -711,85 +712,85 @@ int _media_svc_set_media_info(media_svc_content_info_s *content_info, media_svc_
        title = _media_svc_get_title_from_filepath(content_info->path);
        if (title) {
                ret = __media_svc_malloc_and_strncpy(&content_info->media_meta.title, title);
-               if(ret != MEDIA_INFO_ERROR_NONE)
+               if(ret != MS_MEDIA_ERR_NONE)
                        media_svc_error("strcpy error");
                SAFE_FREE(title);
        } else {
                media_svc_error("Can't extract title from filepath [%s]", content_info->path);
                ret = __media_svc_malloc_and_strncpy(&content_info->media_meta.title, MEDIA_SVC_TAG_UNKNOWN);
-               media_svc_retv_del_if(ret != MEDIA_INFO_ERROR_NONE, ret, content_info);
+               media_svc_retv_del_if(ret != MS_MEDIA_ERR_NONE, ret, content_info);
        }
 
        /* Set default value before extracting meta information */
        ret = __media_svc_malloc_and_strncpy(&content_info->media_meta.description, MEDIA_SVC_TAG_UNKNOWN);
-       media_svc_retv_del_if(ret != MEDIA_INFO_ERROR_NONE, ret, content_info);
+       media_svc_retv_del_if(ret != MS_MEDIA_ERR_NONE, ret, content_info);
 
        ret = __media_svc_malloc_and_strncpy(&content_info->media_meta.copyright, MEDIA_SVC_TAG_UNKNOWN);
-       media_svc_retv_del_if(ret != MEDIA_INFO_ERROR_NONE, ret, content_info);
+       media_svc_retv_del_if(ret != MS_MEDIA_ERR_NONE, ret, content_info);
 
        ret = __media_svc_malloc_and_strncpy(&content_info->media_meta.track_num, MEDIA_SVC_TAG_UNKNOWN);
-       media_svc_retv_del_if(ret != MEDIA_INFO_ERROR_NONE, ret, content_info);
+       media_svc_retv_del_if(ret != MS_MEDIA_ERR_NONE, ret, content_info);
 
        ret = __media_svc_malloc_and_strncpy(&content_info->media_meta.album, MEDIA_SVC_TAG_UNKNOWN);
-       media_svc_retv_del_if(ret != MEDIA_INFO_ERROR_NONE, ret, content_info);
+       media_svc_retv_del_if(ret != MS_MEDIA_ERR_NONE, ret, content_info);
 
        ret = __media_svc_malloc_and_strncpy(&content_info->media_meta.artist, MEDIA_SVC_TAG_UNKNOWN);
-       media_svc_retv_del_if(ret != MEDIA_INFO_ERROR_NONE, ret, content_info);
+       media_svc_retv_del_if(ret != MS_MEDIA_ERR_NONE, ret, content_info);
 
        ret = __media_svc_malloc_and_strncpy(&content_info->media_meta.album_artist, MEDIA_SVC_TAG_UNKNOWN);
-       media_svc_retv_del_if(ret != MEDIA_INFO_ERROR_NONE, ret, content_info);
+       media_svc_retv_del_if(ret != MS_MEDIA_ERR_NONE, ret, content_info);
 
        ret = __media_svc_malloc_and_strncpy(&content_info->media_meta.genre, MEDIA_SVC_TAG_UNKNOWN);
-       media_svc_retv_del_if(ret != MEDIA_INFO_ERROR_NONE, ret, content_info);
+       media_svc_retv_del_if(ret != MS_MEDIA_ERR_NONE, ret, content_info);
 
        ret = __media_svc_malloc_and_strncpy(&content_info->media_meta.composer, MEDIA_SVC_TAG_UNKNOWN);
-       media_svc_retv_del_if(ret != MEDIA_INFO_ERROR_NONE, ret, content_info);
+       media_svc_retv_del_if(ret != MS_MEDIA_ERR_NONE, ret, content_info);
 
        ret = __media_svc_malloc_and_strncpy(&content_info->media_meta.year, MEDIA_SVC_TAG_UNKNOWN);
-       media_svc_retv_del_if(ret != MEDIA_INFO_ERROR_NONE, ret, content_info);
+       media_svc_retv_del_if(ret != MS_MEDIA_ERR_NONE, ret, content_info);
 
        /* refresh is TRUE when file modified. so only modified_time and size are changed*/
        if(refresh) {
                media_svc_debug("refresh");
-               return MEDIA_INFO_ERROR_NONE;
+               return MS_MEDIA_ERR_NONE;
        }
 
        content_info->storage_type = storage_type;
        time(&content_info->added_time);
 
        media_uuid = _media_info_generate_uuid();
-       media_svc_retvm_if(media_uuid == NULL, MEDIA_INFO_ERROR_INTERNAL, "Invalid UUID");
+       media_svc_retvm_if(media_uuid == NULL, MS_MEDIA_ERR_INTERNAL, "Invalid UUID");
 
        ret = __media_svc_malloc_and_strncpy(&content_info->media_uuid, media_uuid);
-       media_svc_retv_del_if(ret != MEDIA_INFO_ERROR_NONE, ret, content_info);
+       media_svc_retv_del_if(ret != MS_MEDIA_ERR_NONE, ret, content_info);
 
        file_name = g_path_get_basename(path);
        ret = __media_svc_malloc_and_strncpy(&content_info->file_name, file_name);
        SAFE_FREE(file_name);
-       media_svc_retv_del_if(ret != MEDIA_INFO_ERROR_NONE, ret, content_info);
+       media_svc_retv_del_if(ret != MS_MEDIA_ERR_NONE, ret, content_info);
 
        /* if the file is DRM file, drm_type value is DRM_TRUE(1).
        if drm_contentinfo is not NULL, the file is OMA DRM.*/
        ret = _media_svc_get_mime_type(path, mime_type, &drm_type, drm_contentInfo);
        if (ret < 0) {
                media_svc_error("media_svc_get_mime_type failed : %d (%s)", ret, path);
-               return MEDIA_INFO_ERROR_INVALID_PATH;
+               return MS_MEDIA_ERR_INVALID_PARAMETER;
        }
 
        media_svc_error("mime [%s]", mime_type);
        content_info->is_drm = drm_type;
 
        ret = _media_svc_get_media_type(path, mime_type, media_type);
-       media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
        if ((*media_type < MEDIA_SVC_MEDIA_TYPE_IMAGE) || (*media_type > MEDIA_SVC_MEDIA_TYPE_OTHER)) {
                media_svc_error("invalid media_type condition[%d]", *media_type);
-               return MEDIA_INFO_ERROR_INVALID_PARAMETER;
+               return MS_MEDIA_ERR_INVALID_PARAMETER;
        }
 
        ret = __media_svc_malloc_and_strncpy(&content_info->mime_type, mime_type);
-       media_svc_retv_del_if(ret != MEDIA_INFO_ERROR_NONE, ret, content_info);
+       media_svc_retv_del_if(ret != MS_MEDIA_ERR_NONE, ret, content_info);
 
-       media_svc_debug("storage[%d], path[%s], media_type[%d]", storage_type, path, *media_type);
+       media_svc_sec_debug("storage[%d], path[%s], media_type[%d]", storage_type, path, *media_type);
 
        content_info->media_type = *media_type;
 
@@ -799,14 +800,14 @@ int _media_svc_set_media_info(media_svc_content_info_s *content_info, media_svc_
        content_info->favourate= 0;
        content_info->media_meta.rating = 0;
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 int _media_svc_extract_image_metadata(media_svc_content_info_s *content_info, media_svc_media_type_e media_type)
 {
        if (content_info == NULL || media_type != MEDIA_SVC_MEDIA_TYPE_IMAGE) {
                media_svc_error("content_info == NULL || media_type != MEDIA_SVC_MEDIA_TYPE_IMAGE");
-               return MEDIA_INFO_ERROR_INVALID_PARAMETER;
+               return MS_MEDIA_ERR_INVALID_PARAMETER;
        }
 
        char buf[MEDIA_SVC_METADATA_LEN_MAX + 1] = { '\0' };
@@ -814,7 +815,7 @@ int _media_svc_extract_image_metadata(media_svc_content_info_s *content_info, me
        memset(buf, 0x00, sizeof(buf));
        memset(description_buf, 0x00, sizeof(description_buf));
 
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        double value = 0.0;
        int orient_value = 0;
        int exif_width = 0;
@@ -824,7 +825,7 @@ int _media_svc_extract_image_metadata(media_svc_content_info_s *content_info, me
        char *path = content_info->path;
        if (path == NULL) {
                media_svc_error("path is NULL");
-               return MEDIA_INFO_ERROR_INVALID_PARAMETER;
+               return MS_MEDIA_ERR_INVALID_PARAMETER;
        }
 
        /* Load an ExifData object from an EXIF file */
@@ -834,9 +835,9 @@ int _media_svc_extract_image_metadata(media_svc_content_info_s *content_info, me
                media_svc_debug("There is no exif data in [ %s ]", path);
        }
 
-       if (__media_svc_get_exif_info(ed, buf, NULL, NULL, EXIF_IFD_0, EXIF_TAG_GPS_LATITUDE_REF) == MEDIA_INFO_ERROR_NONE) {
+       if (__media_svc_get_exif_info(ed, buf, NULL, NULL, EXIF_IFD_0, EXIF_TAG_GPS_LATITUDE_REF) == MS_MEDIA_ERR_NONE) {
                if (strlen(buf) != 0) {
-                       if (__media_svc_get_exif_info(ed, NULL, NULL, &value, EXIF_IFD_GPS, EXIF_TAG_GPS_LATITUDE) == MEDIA_INFO_ERROR_NONE) {
+                       if (__media_svc_get_exif_info(ed, NULL, NULL, &value, EXIF_IFD_GPS, EXIF_TAG_GPS_LATITUDE) == MS_MEDIA_ERR_NONE) {
 
                                if (strcmp(buf, "S") == 0) {
                                        value = -1 * value;
@@ -855,9 +856,9 @@ int _media_svc_extract_image_metadata(media_svc_content_info_s *content_info, me
 
        memset(buf, 0x00, sizeof(buf));
 
-       if (__media_svc_get_exif_info(ed, buf, NULL, NULL, EXIF_IFD_0, EXIF_TAG_GPS_LONGITUDE_REF) == MEDIA_INFO_ERROR_NONE) {
+       if (__media_svc_get_exif_info(ed, buf, NULL, NULL, EXIF_IFD_0, EXIF_TAG_GPS_LONGITUDE_REF) == MS_MEDIA_ERR_NONE) {
                if (strlen(buf) != 0) {
-                       if (__media_svc_get_exif_info(ed, NULL, NULL, &value, EXIF_IFD_GPS, EXIF_TAG_GPS_LONGITUDE) == MEDIA_INFO_ERROR_NONE) {
+                       if (__media_svc_get_exif_info(ed, NULL, NULL, &value, EXIF_IFD_GPS, EXIF_TAG_GPS_LONGITUDE) == MS_MEDIA_ERR_NONE) {
                                if (strcmp(buf, "W") == 0) {
                                        value = -1 * value;
                                }
@@ -874,44 +875,44 @@ int _media_svc_extract_image_metadata(media_svc_content_info_s *content_info, me
 
        memset(buf, 0x00, sizeof(buf));
 
-       if (__media_svc_get_exif_info(ed, description_buf, NULL, NULL, EXIF_IFD_0, EXIF_TAG_IMAGE_DESCRIPTION) == MEDIA_INFO_ERROR_NONE) {
+       if (__media_svc_get_exif_info(ed, description_buf, NULL, NULL, EXIF_IFD_0, EXIF_TAG_IMAGE_DESCRIPTION) == MS_MEDIA_ERR_NONE) {
                if (strlen(description_buf) == 0) {
                        //media_svc_debug("Use 'No description'");
                        ret = __media_svc_malloc_and_strncpy(&content_info->media_meta.description, MEDIA_SVC_TAG_UNKNOWN);
-                       if(ret != MEDIA_INFO_ERROR_NONE)
+                       if(ret != MS_MEDIA_ERR_NONE)
                                media_svc_error("strcpy error");
                } else {
                        ret = __media_svc_malloc_and_strncpy(&content_info->media_meta.description, description_buf);
-                       if(ret != MEDIA_INFO_ERROR_NONE)
+                       if(ret != MS_MEDIA_ERR_NONE)
                                media_svc_error("strcpy error");
                }
        } else {
                ret = __media_svc_malloc_and_strncpy(&content_info->media_meta.description, MEDIA_SVC_TAG_UNKNOWN);
-               if(ret != MEDIA_INFO_ERROR_NONE)
+               if(ret != MS_MEDIA_ERR_NONE)
                        media_svc_error("strcpy error");
        }
 
        memset(buf, 0x00, sizeof(buf));
 
-       if (__media_svc_get_exif_info(ed, buf, NULL, NULL, EXIF_IFD_0, EXIF_TAG_DATE_TIME) == MEDIA_INFO_ERROR_NONE) {
+       if (__media_svc_get_exif_info(ed, buf, NULL, NULL, EXIF_IFD_0, EXIF_TAG_DATE_TIME) == MS_MEDIA_ERR_NONE) {
                if (strlen(buf) == 0) {
                        //media_svc_debug("time  is NULL");
                } else {
                        //media_svc_debug("time  is %s", buf);
                        ret = __media_svc_malloc_and_strncpy(&content_info->media_meta.datetaken, buf);
-                       if(ret != MEDIA_INFO_ERROR_NONE) {
+                       if(ret != MS_MEDIA_ERR_NONE) {
                                media_svc_error("strcpy error");
                        } else {
                                /* This is same as recorded_date */
                                ret = __media_svc_malloc_and_strncpy(&content_info->media_meta.recorded_date, buf);
-                               if(ret != MEDIA_INFO_ERROR_NONE)
+                               if(ret != MS_MEDIA_ERR_NONE)
                                        media_svc_error("strcpy error");
                        }
                }
        }
 
        /* Get orientation value from exif. */
-       if (__media_svc_get_exif_info(ed, NULL, &orient_value, NULL, EXIF_IFD_0, EXIF_TAG_ORIENTATION) == MEDIA_INFO_ERROR_NONE) {
+       if (__media_svc_get_exif_info(ed, NULL, &orient_value, NULL, EXIF_IFD_0, EXIF_TAG_ORIENTATION) == MS_MEDIA_ERR_NONE) {
                if (orient_value >= NOT_AVAILABLE && orient_value <= ROT_270) {
                        content_info->media_meta.orientation = orient_value;
                } else {
@@ -922,7 +923,7 @@ int _media_svc_extract_image_metadata(media_svc_content_info_s *content_info, me
        }
 
        /* Get width value from exif. */
-       if (__media_svc_get_exif_info(ed, NULL, &exif_width, NULL, EXIF_IFD_EXIF, EXIF_TAG_PIXEL_X_DIMENSION) == MEDIA_INFO_ERROR_NONE) {
+       if (__media_svc_get_exif_info(ed, NULL, &exif_width, NULL, EXIF_IFD_EXIF, EXIF_TAG_PIXEL_X_DIMENSION) == MS_MEDIA_ERR_NONE) {
                if (exif_width > 0) {
                        content_info->media_meta.width = exif_width;
                } else {
@@ -933,7 +934,7 @@ int _media_svc_extract_image_metadata(media_svc_content_info_s *content_info, me
        }
 
        /* Get height value from exif. */
-       if (__media_svc_get_exif_info(ed, NULL, &exif_height, NULL, EXIF_IFD_EXIF, EXIF_TAG_PIXEL_Y_DIMENSION) == MEDIA_INFO_ERROR_NONE) {
+       if (__media_svc_get_exif_info(ed, NULL, &exif_height, NULL, EXIF_IFD_EXIF, EXIF_TAG_PIXEL_Y_DIMENSION) == MS_MEDIA_ERR_NONE) {
                if (exif_height > 0) {
                        content_info->media_meta.height = exif_height;
                } else {
@@ -952,7 +953,7 @@ int _media_svc_extract_image_metadata(media_svc_content_info_s *content_info, me
        title = _media_svc_get_title_from_filepath(content_info->path);
        if (title) {
                ret = __media_svc_malloc_and_strncpy(&content_info->media_meta.title, title);
-               if(ret != MEDIA_INFO_ERROR_NONE)
+               if(ret != MS_MEDIA_ERR_NONE)
                        media_svc_error("strcpy error");
                SAFE_FREE(title);
        } else {
@@ -980,10 +981,10 @@ int _media_svc_extract_image_metadata(media_svc_content_info_s *content_info, me
        else
                content_info->thumbnail_path = NULL;
 
-       if(ret != MEDIA_INFO_ERROR_NONE)
+       if(ret != MS_MEDIA_ERR_NONE)
                media_svc_error("strcpy error");
 #endif
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 int _media_svc_extract_media_metadata(sqlite3 *handle, media_svc_content_info_s *content_info, media_svc_media_type_e media_type, drm_content_info_s *drm_contentInfo, uid_t uid)
@@ -1002,7 +1003,7 @@ int _media_svc_extract_media_metadata(sqlite3 *handle, media_svc_content_info_s
        bool append_album = FALSE;
        int album_id = 0;
        double gps_value = 0.0;
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        char *path = content_info->path;
 
 #ifdef __SUPPORT_DRM
@@ -1021,45 +1022,45 @@ int _media_svc_extract_media_metadata(sqlite3 *handle, media_svc_content_info_s
                        if (drm_file_type == DRM_TYPE_OMA_V1) {
                                if (strlen(drm_contentInfo->title) > 0) {
                                         ret = __media_svc_malloc_and_strncpy(&content_info->media_meta.title, drm_contentInfo->title);
-                                       if(ret != MEDIA_INFO_ERROR_NONE)
+                                       if(ret != MS_MEDIA_ERR_NONE)
                                                media_svc_error("strcpy error");
                                        extracted_field |= MEDIA_SVC_EXTRACTED_FIELD_TITLE;
                                }
 
                                if (strlen(drm_contentInfo->description) > 0) {
                                         ret = __media_svc_malloc_and_strncpy(&content_info->media_meta.description, drm_contentInfo->description);
-                                       if(ret != MEDIA_INFO_ERROR_NONE)
+                                       if(ret != MS_MEDIA_ERR_NONE)
                                                media_svc_error("strcpy error");
                                        extracted_field |= MEDIA_SVC_EXTRACTED_FIELD_DESC;
                                }
                        } else if (drm_file_type == DRM_TYPE_OMA_V2) {
                                if (strlen(drm_contentInfo->title) > 0) {
                                         ret = __media_svc_malloc_and_strncpy(&content_info->media_meta.title, drm_contentInfo->title);
-                                       if(ret != MEDIA_INFO_ERROR_NONE)
+                                       if(ret != MS_MEDIA_ERR_NONE)
                                                media_svc_error("strcpy error");
                                        extracted_field |= MEDIA_SVC_EXTRACTED_FIELD_TITLE;
                                }
 
                                if (strlen(drm_contentInfo->description) > 0) {
                                        ret =  __media_svc_malloc_and_strncpy(&content_info->media_meta.description, drm_contentInfo->description);
-                                       if(ret != MEDIA_INFO_ERROR_NONE)
+                                       if(ret != MS_MEDIA_ERR_NONE)
                                                media_svc_error("strcpy error");
                                        extracted_field |= MEDIA_SVC_EXTRACTED_FIELD_DESC;
                                }
 
                                if (strlen(drm_contentInfo->copyright) > 0) {
                                         ret = __media_svc_malloc_and_strncpy(&content_info->media_meta.copyright, drm_contentInfo->copyright);
-                                       if(ret != MEDIA_INFO_ERROR_NONE)
+                                       if(ret != MS_MEDIA_ERR_NONE)
                                                media_svc_error("strcpy error");
                                        extracted_field |= MEDIA_SVC_EXTRACTED_FIELD_COPYRIGHT;
                                }
 
                                if (strlen(drm_contentInfo->author) > 0) {
                                         ret = __media_svc_malloc_and_strncpy(&content_info->media_meta.composer, drm_contentInfo->author);
-                                       if(ret != MEDIA_INFO_ERROR_NONE)
+                                       if(ret != MS_MEDIA_ERR_NONE)
                                                media_svc_error("strcpy error");
                                         ret = __media_svc_malloc_and_strncpy(&content_info->media_meta.artist, drm_contentInfo->author);
-                                       if(ret != MEDIA_INFO_ERROR_NONE)
+                                       if(ret != MS_MEDIA_ERR_NONE)
                                                media_svc_error("strcpy error");
 
                                        extracted_field |= MEDIA_SVC_EXTRACTED_FIELD_AUTHOR;
@@ -1072,14 +1073,14 @@ int _media_svc_extract_media_metadata(sqlite3 *handle, media_svc_content_info_s
                                if (title) {
                                        ret = __media_svc_malloc_and_strncpy(&content_info->media_meta.title, title);
                                        SAFE_FREE(title);
-                                       if(ret != MEDIA_INFO_ERROR_NONE)
+                                       if(ret != MS_MEDIA_ERR_NONE)
                                                media_svc_error("strcpy error");
                                } else {
                                        media_svc_error("Can't extract title from filepath [%s]", content_info->path);
                                }
                        }
 
-                       return MEDIA_INFO_ERROR_NONE;
+                       return MS_MEDIA_ERR_NONE;
                } else {
                        media_svc_debug("Some Not OMA Content's metadata is not incrypted so fileinfo can extracted metadata");
                }
@@ -1173,7 +1174,7 @@ int _media_svc_extract_media_metadata(sqlite3 *handle, media_svc_content_info_s
 
                } else {
                        media_svc_error("Not support type");
-                       return MEDIA_INFO_ERROR_INVALID_PARAMETER;
+                       return MS_MEDIA_ERR_INVALID_PARAMETER;
                }
 
                mmf_error = mm_file_destroy_content_attrs(content);
@@ -1191,7 +1192,7 @@ int _media_svc_extract_media_metadata(sqlite3 *handle, media_svc_content_info_s
                mmf_error = mm_file_get_attrs(tag, &err_attr_name, MM_FILE_TAG_ALBUM, &p, &size, NULL);
                if ((!(extracted_field & MEDIA_SVC_EXTRACTED_FIELD_ALBUM)) && (mmf_error == MM_ERROR_NONE) && (size > 0)) {
                        ret = __media_svc_malloc_and_strncpy(&content_info->media_meta.album, p);
-                       if(ret != MEDIA_INFO_ERROR_NONE)
+                       if(ret != MS_MEDIA_ERR_NONE)
                                media_svc_error("strcpy error");
 
                        //media_svc_debug("album[%d] : %s", size, content_info->media_meta.album);
@@ -1203,7 +1204,7 @@ int _media_svc_extract_media_metadata(sqlite3 *handle, media_svc_content_info_s
                mmf_error = mm_file_get_attrs(tag, &err_attr_name, MM_FILE_TAG_ARTIST, &p, &size, NULL);
                if ((!(extracted_field & MEDIA_SVC_EXTRACTED_FIELD_ARTIST)) && (mmf_error == MM_ERROR_NONE) && (size > 0)) {
                        ret = __media_svc_malloc_and_strncpy(&content_info->media_meta.artist, p);
-                       if(ret != MEDIA_INFO_ERROR_NONE)
+                       if(ret != MS_MEDIA_ERR_NONE)
                                media_svc_error("strcpy error");
                        //media_svc_debug("artist[%d] : %s", size, content_info->media_meta.artist);
                } else {
@@ -1214,7 +1215,7 @@ int _media_svc_extract_media_metadata(sqlite3 *handle, media_svc_content_info_s
                mmf_error = mm_file_get_attrs(tag, &err_attr_name, MM_FILE_TAG_GENRE, &p, &size, NULL);
                if ((!(extracted_field & MEDIA_SVC_EXTRACTED_FIELD_GENRE)) && (mmf_error == MM_ERROR_NONE) && (size > 0)) {
                        ret = __media_svc_malloc_and_strncpy(&content_info->media_meta.genre, p);
-                       if(ret != MEDIA_INFO_ERROR_NONE)
+                       if(ret != MS_MEDIA_ERR_NONE)
                                media_svc_error("strcpy error");
 
                        //media_svc_debug("genre : %s", content_info->media_meta.genre);
@@ -1233,7 +1234,7 @@ int _media_svc_extract_media_metadata(sqlite3 *handle, media_svc_content_info_s
                if ((!(extracted_field & MEDIA_SVC_EXTRACTED_FIELD_TITLE)) && (mmf_error == MM_ERROR_NONE) && (size > 0)/* &&   (!isspace(*p))*/) {
                        if(!isspace(*p)) {
                                ret = __media_svc_malloc_and_strncpy(&content_info->media_meta.title, p);
-                               if(ret != MEDIA_INFO_ERROR_NONE)
+                               if(ret != MS_MEDIA_ERR_NONE)
                                        media_svc_error("strcpy error");
 
                                extracted_field |= MEDIA_SVC_EXTRACTED_FIELD_TITLE;
@@ -1251,7 +1252,7 @@ int _media_svc_extract_media_metadata(sqlite3 *handle, media_svc_content_info_s
                                        } else {
                                                media_svc_debug("Not SPACE [%s]", p);
                                                ret = __media_svc_malloc_and_strncpy(&content_info->media_meta.title, p);
-                                               if(ret != MEDIA_INFO_ERROR_NONE)
+                                               if(ret != MS_MEDIA_ERR_NONE)
                                                        media_svc_error("strcpy error");
                                                break;
                                        }
@@ -1263,7 +1264,7 @@ int _media_svc_extract_media_metadata(sqlite3 *handle, media_svc_content_info_s
                                        title = _media_svc_get_title_from_filepath(content_info->path);
                                        if (title) {
                                                ret = __media_svc_malloc_and_strncpy(&content_info->media_meta.title, title);
-                                               if(ret != MEDIA_INFO_ERROR_NONE)
+                                               if(ret != MS_MEDIA_ERR_NONE)
                                                        media_svc_error("strcpy error");
                                                SAFE_FREE(title);
                                        } else {
@@ -1276,7 +1277,7 @@ int _media_svc_extract_media_metadata(sqlite3 *handle, media_svc_content_info_s
                        title = _media_svc_get_title_from_filepath(content_info->path);
                        if (title) {
                                ret = __media_svc_malloc_and_strncpy(&content_info->media_meta.title, title);
-                               if(ret != MEDIA_INFO_ERROR_NONE)
+                               if(ret != MS_MEDIA_ERR_NONE)
                                        media_svc_error("strcpy error");
                                SAFE_FREE(title);
                        } else {
@@ -1287,7 +1288,7 @@ int _media_svc_extract_media_metadata(sqlite3 *handle, media_svc_content_info_s
                mmf_error = mm_file_get_attrs(tag, &err_attr_name, MM_FILE_TAG_DESCRIPTION, &p, &size, NULL);
                if ((!(extracted_field & MEDIA_SVC_EXTRACTED_FIELD_DESC)) && (mmf_error == MM_ERROR_NONE) && (size > 0)) {
                        ret = __media_svc_malloc_and_strncpy(&content_info->media_meta.description, p);
-                       if(ret != MEDIA_INFO_ERROR_NONE)
+                       if(ret != MS_MEDIA_ERR_NONE)
                                media_svc_error("strcpy error");
                        //media_svc_debug("desc : %s", content_info->media_meta.description);
                } else {
@@ -1297,12 +1298,12 @@ int _media_svc_extract_media_metadata(sqlite3 *handle, media_svc_content_info_s
                mmf_error = mm_file_get_attrs(tag, &err_attr_name, MM_FILE_TAG_RECDATE, &p, &size, NULL);
                if ((!(extracted_field & MEDIA_SVC_EXTRACTED_FIELD_DESC)) && (mmf_error == MM_ERROR_NONE) && (size > 0)) {
                        ret = __media_svc_malloc_and_strncpy(&content_info->media_meta.recorded_date, p);
-                       if(ret != MEDIA_INFO_ERROR_NONE) {
+                       if(ret != MS_MEDIA_ERR_NONE) {
                                media_svc_error("strcpy error");
                        } else {
                                /* This is same as datetaken */
                                ret = __media_svc_malloc_and_strncpy(&content_info->media_meta.datetaken, p);
-                               if(ret != MEDIA_INFO_ERROR_NONE)
+                               if(ret != MS_MEDIA_ERR_NONE)
                                        media_svc_error("strcpy error");
                        }
                        //media_svc_debug("Recorded date : %s", content_info->media_meta.recorded_date);
@@ -1313,7 +1314,7 @@ int _media_svc_extract_media_metadata(sqlite3 *handle, media_svc_content_info_s
                mmf_error = mm_file_get_attrs(tag, &err_attr_name, MM_FILE_TAG_AUTHOR, &p, &size, NULL);
                if ((!(extracted_field & MEDIA_SVC_EXTRACTED_FIELD_AUTHOR)) && (mmf_error == MM_ERROR_NONE) && (size > 0)) {
                        ret = __media_svc_malloc_and_strncpy(&content_info->media_meta.composer, p);
-                       if(ret != MEDIA_INFO_ERROR_NONE)
+                       if(ret != MS_MEDIA_ERR_NONE)
                                media_svc_error("strcpy error");
                        extracted_field |= MEDIA_SVC_EXTRACTED_FIELD_AUTHOR;
                        //media_svc_debug("extract composer from content : %s", content_info->media_meta.composer);
@@ -1325,7 +1326,7 @@ int _media_svc_extract_media_metadata(sqlite3 *handle, media_svc_content_info_s
                mmf_error = mm_file_get_attrs(tag, &err_attr_name, MM_FILE_TAG_COPYRIGHT, &p, &size, NULL);
                if ((!(extracted_field & MEDIA_SVC_EXTRACTED_FIELD_COPYRIGHT)) && (mmf_error == MM_ERROR_NONE) && (size > 0)) {
                        ret = __media_svc_malloc_and_strncpy(&content_info->media_meta.copyright, p);
-                       if(ret != MEDIA_INFO_ERROR_NONE)
+                       if(ret != MS_MEDIA_ERR_NONE)
                                media_svc_error("strcpy error");
                        extracted_field |= MEDIA_SVC_EXTRACTED_FIELD_AUTHOR;
                        //media_svc_debug("extract copyright from content : %s", content_info->media_meta.copyright);
@@ -1337,7 +1338,7 @@ int _media_svc_extract_media_metadata(sqlite3 *handle, media_svc_content_info_s
                mmf_error = mm_file_get_attrs(tag, &err_attr_name, MM_FILE_TAG_TRACK_NUM, &p, &size, NULL);
                if ((mmf_error == MM_ERROR_NONE) && (size > 0)) {
                        ret = __media_svc_malloc_and_strncpy(&content_info->media_meta.track_num, p);
-                       if(ret != MEDIA_INFO_ERROR_NONE)
+                       if(ret != MS_MEDIA_ERR_NONE)
                                media_svc_error("strcpy error");
                } else {
                        SAFE_FREE(err_attr_name);
@@ -1348,7 +1349,7 @@ int _media_svc_extract_media_metadata(sqlite3 *handle, media_svc_content_info_s
                        int year = 0;
                        if((p != NULL) && (sscanf( p, "%d", &year))) {
                                ret = __media_svc_malloc_and_strncpy(&content_info->media_meta.year, p);
-                               if(ret != MEDIA_INFO_ERROR_NONE)
+                               if(ret != MS_MEDIA_ERR_NONE)
                                        media_svc_error("strcpy error");
                        } else {
                                media_svc_debug("Wrong Year Information [%s]", p);
@@ -1370,8 +1371,8 @@ int _media_svc_extract_media_metadata(sqlite3 *handle, media_svc_content_info_s
                        content_info->album_id = album_id;
                        ret = _media_svc_get_album_id(handle, content_info->media_meta.album, content_info->media_meta.artist, &album_id);
        
-                       if (ret != MEDIA_INFO_ERROR_NONE) {
-                               if (ret == MEDIA_INFO_ERROR_DATABASE_NO_RECORD) {
+                       if (ret != MS_MEDIA_ERR_NONE) {
+                               if (ret == MS_MEDIA_ERR_DB_NO_RECORD) {
                                        media_svc_debug("album does not exist. So start to make album art");
                                        extract_thumbnail = TRUE;
                                        append_album = TRUE;
@@ -1392,7 +1393,7 @@ int _media_svc_extract_media_metadata(sqlite3 *handle, media_svc_content_info_s
        
                                        media_svc_debug("album already exists. don't need to make album art");
                                        ret = _media_svc_get_album_art_by_album_id(handle, album_id, &content_info->thumbnail_path);
-                                       media_svc_retv_del_if((ret != MEDIA_INFO_ERROR_NONE) && (ret != MEDIA_INFO_ERROR_DATABASE_NO_RECORD), ret, content_info);
+                                       media_svc_retv_del_if((ret != MS_MEDIA_ERR_NONE) && (ret != MS_MEDIA_ERR_DB_NO_RECORD), ret, content_info);
                                        extract_thumbnail = FALSE;
                                }
                        }
@@ -1415,7 +1416,7 @@ int _media_svc_extract_media_metadata(sqlite3 *handle, media_svc_content_info_s
                                }
                                if (image != NULL && size > 0) {
                                        bool result = FALSE;
-                                       int ret = MEDIA_INFO_ERROR_NONE;
+                                       int ret = MS_MEDIA_ERR_NONE;
                                        char thumb_path[MEDIA_SVC_PATHNAME_SIZE] = "\0";
                                        int artwork_mime_size = -1;
        
@@ -1432,12 +1433,12 @@ int _media_svc_extract_media_metadata(sqlite3 *handle, media_svc_content_info_s
                                        if(strlen(thumb_path) > 0)
                                        {
                                                ret = _media_svc_save_image(image, size, thumb_path, uid);
-                                               if (ret != MEDIA_INFO_ERROR_NONE) {
+                                               if (ret != MS_MEDIA_ERR_NONE) {
                                                        media_svc_error("Fail to Save Thumbnail Image");
                                                }
                                                else {
                                                        ret = __media_svc_malloc_and_strncpy(&content_info->thumbnail_path, thumb_path);
-                                                       if(ret != MEDIA_INFO_ERROR_NONE)
+                                                       if(ret != MS_MEDIA_ERR_NONE)
                                                                media_svc_error("strcpy error");
                                                }
                                        }
@@ -1500,7 +1501,7 @@ int _media_svc_extract_media_metadata(sqlite3 *handle, media_svc_content_info_s
                                }
 
                                ret = __media_svc_malloc_and_strncpy(&content_info->thumbnail_path, thumb_path);
-                               if(ret != MEDIA_INFO_ERROR_NONE)
+                               if(ret != MS_MEDIA_ERR_NONE)
                                        media_svc_error("strcpy error");
 
                                if (content_info->media_meta.width <= 0) content_info->media_meta.width = width;
@@ -1521,7 +1522,7 @@ int _media_svc_extract_media_metadata(sqlite3 *handle, media_svc_content_info_s
                title = _media_svc_get_title_from_filepath(content_info->path);
                if (title) {
                        ret = __media_svc_malloc_and_strncpy(&content_info->media_meta.title, title);
-                       if(ret != MEDIA_INFO_ERROR_NONE)
+                       if(ret != MS_MEDIA_ERR_NONE)
                                media_svc_error("strcpy error");
                        SAFE_FREE(title);
                } else {
@@ -1531,7 +1532,7 @@ int _media_svc_extract_media_metadata(sqlite3 *handle, media_svc_content_info_s
                content_info->album_id = album_id;
        }
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 void _media_svc_destroy_content_info(media_svc_content_info_s *content_info)
@@ -1589,10 +1590,10 @@ int _media_svc_get_store_type_by_path(const char *path, media_svc_storage_type_e
        else
        {
                media_svc_error("INVALID parameter");
-               return MEDIA_INFO_ERROR_INVALID_PARAMETER;
+               return MS_MEDIA_ERR_INVALID_PARAMETER;
        }
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 char *_media_svc_replace_path(char *s, const char *olds, const char *news)
@@ -1627,25 +1628,6 @@ char *_media_svc_replace_path(char *s, const char *olds, const char *news)
   return result;
 }
 
-int _media_svc_error_convert(int error)
-{
-       media_svc_debug("error : [%d]", error);
-
-       if(error == MS_MEDIA_ERR_NONE)                                                  /*Error None*/
-               return MEDIA_INFO_ERROR_NONE;
-       else if(error == MS_MEDIA_ERR_DB_CONNECT_FAIL)                  /*DB Connect Fail*/
-               return MEDIA_INFO_ERROR_DATABASE_CONNECT;
-       else if(error == MS_MEDIA_ERR_DB_DISCONNECT_FAIL)               /*DB Disconnect Fail*/
-               return MEDIA_INFO_ERROR_DATABASE_DISCONNECT;
-       else if(error == MS_MEDIA_ERR_SOCKET_CONN)                              /*Socket Connect Fail*/
-               return MEDIA_INFO_ERROR_SOCKET_CONN;
-       else if(error == MS_MEDIA_ERR_INVALID_PARAMETER || error == MS_MEDIA_ERR_INVALID_PATH)
-               return MEDIA_INFO_ERROR_INVALID_PARAMETER;
-
-       return MEDIA_INFO_ERROR_INTERNAL;
-}
-
-
 bool _media_svc_is_drm_file(const char *path)
 {
 #ifdef __SUPPORT_DRM
@@ -1662,16 +1644,16 @@ bool _media_svc_is_drm_file(const char *path)
 int _media_svc_get_mime_in_drm_info(const char *path, char *mime, drm_content_info_s **drm_contentInfo)
 {
 #ifdef __SUPPORT_DRM
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        drm_file_type_e file_type = DRM_TYPE_UNDEFINED;
 
        if (path == NULL || mime == NULL)
-               return MEDIA_INFO_ERROR_INVALID_PARAMETER;
+               return MS_MEDIA_ERR_INVALID_PARAMETER;
 
        ret = drm_get_file_type(path, &file_type);
        if (ret != DRM_RETURN_SUCCESS) {
                media_svc_error("drm_get_file_type() failed : %d", ret);
-               return MEDIA_INFO_ERROR_INVALID_MEDIA;
+               return MS_MEDIA_ERR_INTERNAL;
        } else {
                if (file_type == DRM_TYPE_OMA_V1
                || file_type == DRM_TYPE_OMA_V2
@@ -1683,7 +1665,7 @@ int _media_svc_get_mime_in_drm_info(const char *path, char *mime, drm_content_in
                                media_svc_error("drm_svc_get_content_info() fails :%d ", ret);
                                free(*drm_contentInfo);
                                *drm_contentInfo = NULL;
-                               return MEDIA_INFO_ERROR_INVALID_MEDIA;
+                               return MS_MEDIA_ERR_INTERNAL;
                        }
 
                        if (STRING_VALID((*drm_contentInfo)->mime_type)) {
@@ -1692,19 +1674,19 @@ int _media_svc_get_mime_in_drm_info(const char *path, char *mime, drm_content_in
                        } else {
                                free(*drm_contentInfo);
                                *drm_contentInfo = NULL;
-                               return MEDIA_INFO_ERROR_INVALID_MEDIA;
+                               return MS_MEDIA_ERR_INTERNAL;
                        }
                } else {
                        media_svc_error("THIS IS DRM BUT YOU SHOULD USE API OF AUL LIBRARY");
                        *drm_contentInfo = NULL;
-                       return MEDIA_INFO_ERROR_INVALID_MEDIA;
+                       return MS_MEDIA_ERR_INTERNAL;
                }
        }
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 #else
        *drm_contentInfo = NULL;
-       return MEDIA_INFO_ERROR_INVALID_MEDIA;
+       return MS_MEDIA_ERR_INTERNAL;
 #endif
 }
 
@@ -1789,17 +1771,17 @@ If the file is not OMA DRM, drm_contentinfo must be NULL.
 */
 int _media_svc_get_mime_type(const char *path, char *mimetype, drm_bool_type_e *is_drm, drm_content_info_s **drm_contentInfo)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
 
        if (path == NULL)
-               return MEDIA_INFO_ERROR_INVALID_PARAMETER;
+               return MS_MEDIA_ERR_INVALID_PARAMETER;
 
 #ifdef __SUPPORT_DRM
        /* In case of drm file. */
        if (_media_svc_is_drm_file(path)) {
                *is_drm = DRM_TRUE;
                ret =  _media_svc_get_mime_in_drm_info(path, mimetype, drm_contentInfo);
-               if (ret == MEDIA_INFO_ERROR_NONE) {
+               if (ret == MS_MEDIA_ERR_NONE) {
                        return ret;
                }
        }
@@ -1811,15 +1793,15 @@ int _media_svc_get_mime_type(const char *path, char *mimetype, drm_bool_type_e *
        /*in case of normal files or failure to get mime in drm */
        if (aul_get_mime_from_file(path, mimetype, 255) < 0) {
                media_svc_error("aul_get_mime_from_file fail");
-               return MEDIA_INFO_ERROR_INVALID_MEDIA;
+               return MS_MEDIA_ERR_INTERNAL;
        }
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 int _media_svc_get_media_type(const char *path, const char *mime_type, media_svc_media_type_e *media_type)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        int category = 0;
 
        media_svc_media_type_e type;
@@ -1842,7 +1824,7 @@ int _media_svc_get_media_type(const char *path, const char *mime_type, media_svc
 
 int _media_svc_get_pinyin_str(const char *src_str, char **pinyin_str)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        int size = 0;
        pinyin_name_s *pinyinname = NULL;
        *pinyin_str = NULL;
@@ -1854,7 +1836,7 @@ int _media_svc_get_pinyin_str(const char *src_str, char **pinyin_str)
        }
 
        ret = _media_svc_convert_chinese_to_pinyin(src_str, &pinyinname, &size);
-       if (ret == MEDIA_INFO_ERROR_NONE)
+       if (ret == MS_MEDIA_ERR_NONE)
        {
                if(STRING_VALID(pinyinname[0].pinyin_name))
                        *pinyin_str = strdup(pinyinname[0].pinyin_name);
index ba0e398..4734a13 100755 (executable)
@@ -20,6 +20,7 @@
  */
 
 #include <string.h>
+#include <errno.h>
 #include <drm_client.h>
 #include <media-util.h>
 #include "media-svc.h"
@@ -45,7 +46,7 @@ static __thread int g_insert_with_noti = FALSE;
 
 int media_svc_connect(MediaSvcHandle **handle, uid_t uid)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        MediaDBHandle *db_handle = NULL;
 
        media_svc_debug_func();
@@ -53,18 +54,17 @@ int media_svc_connect(MediaSvcHandle **handle, uid_t uid)
 #if 1  //Use libmedia_utils API
        ret = media_db_connect(&db_handle,uid);
        if(ret != MS_MEDIA_ERR_NONE)
-               return _media_svc_error_convert(ret);
+               return ret;
 
 #else
        sqlite3 * db_handle = NULL;
 
        ret = _media_svc_connect_db_with_handle(&db_handle);
-       media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 #endif
 
        *handle = db_handle;
-       return MEDIA_INFO_ERROR_NONE;
-
+       return MS_MEDIA_ERR_NONE;
 }
 
 int media_svc_disconnect(MediaSvcHandle *handle)
@@ -73,13 +73,13 @@ int media_svc_disconnect(MediaSvcHandle *handle)
 
        media_svc_debug_func();
 
-       media_svc_retvm_if(db_handle == NULL, MEDIA_INFO_ERROR_INVALID_PARAMETER, "Handle is NULL");
+       media_svc_retvm_if(db_handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Handle is NULL");
 
 #if 1  //Use libmedia_utils API
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
 
        ret = media_db_disconnect(db_handle);
-       return _media_svc_error_convert(ret);
+       return ret;
 #else
        sqlite3 * db_handle = (sqlite3 *)handle;
 
@@ -89,53 +89,53 @@ int media_svc_disconnect(MediaSvcHandle *handle)
 
 int media_svc_create_table(MediaSvcHandle *handle, uid_t uid)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        sqlite3 * db_handle = (sqlite3 *)handle;
 
        media_svc_debug_func();
 
-       media_svc_retvm_if(db_handle == NULL, MEDIA_INFO_ERROR_INVALID_PARAMETER, "Handle is NULL");
+       media_svc_retvm_if(db_handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Handle is NULL");
 
        /*create media table*/
        ret = _media_svc_create_media_table(handle, uid);
-       media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
        /*create folder table*/
        ret = _media_svc_create_folder_table(handle, uid);
-       media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
        /*create playlist table*/
        ret = _media_svc_create_playlist_table(handle, uid);
-       media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
        /* create album table*/
        ret = _media_svc_create_album_table(handle, uid);
-       media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
        /*create tag table*/
        ret = _media_svc_create_tag_table(handle,uid);
-       media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
        /*create bookmark table*/
        ret = _media_svc_create_bookmark_table(handle, uid);
-       media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
 #if 0  /*unify media and custom table*/
        /*create custom table*/
        ret = _media_svc_create_custom_table(handle, uid);
-       media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 #endif
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 int media_svc_get_storage_type(const char *path, media_svc_storage_type_e *storage_type)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        media_svc_storage_type_e type;
 
        ret = _media_svc_get_store_type_by_path(path, &type);
-       media_svc_retvm_if(ret < MEDIA_INFO_ERROR_NONE, ret, "_media_svc_get_store_type_by_path failed : %d", ret);
+       media_svc_retvm_if(ret < MS_MEDIA_ERR_NONE, ret, "_media_svc_get_store_type_by_path failed : %d", ret);
 
        *storage_type = type;
 
@@ -144,7 +144,7 @@ int media_svc_get_storage_type(const char *path, media_svc_storage_type_e *stora
 
 int media_svc_get_mime_type(const char *path, char *mimetype)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        drm_bool_type_e is_drm = DRM_FALSE;
        drm_content_info_s *drm_contentInfo = NULL;
 
@@ -157,7 +157,7 @@ int media_svc_get_mime_type(const char *path, char *mimetype)
 
 int media_svc_get_media_type(const char *path, const char *mime_type, media_svc_media_type_e *media_type)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
 
        ret = _media_svc_get_media_type(path, mime_type, media_type);
 
@@ -166,25 +166,25 @@ int media_svc_get_media_type(const char *path, const char *mime_type, media_svc_
 
 int media_svc_check_item_exist_by_path(MediaSvcHandle *handle, const char *path)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        sqlite3 * db_handle = (sqlite3 *)handle;
        int count = -1;
 
-       media_svc_retvm_if(db_handle == NULL, MEDIA_INFO_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       media_svc_retvm_if(!STRING_VALID(path), MEDIA_INFO_ERROR_INVALID_PARAMETER, "Path is NULL");
+       media_svc_retvm_if(db_handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Handle is NULL");
+       media_svc_retvm_if(!STRING_VALID(path), MS_MEDIA_ERR_INVALID_PARAMETER, "Path is NULL");
 
        ret = _media_svc_count_record_with_path(db_handle, path, &count);
-       media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
        if(count > 0) {
                media_svc_debug("item is exist in database");
-               return MEDIA_INFO_ERROR_NONE;
+               return MS_MEDIA_ERR_NONE;
        } else {
                media_svc_debug("item is not exist in database");
-               return MEDIA_INFO_ERROR_DATABASE_NO_RECORD;
+               return MS_MEDIA_ERR_DB_NO_RECORD;
        }
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 int media_svc_insert_item_begin(MediaSvcHandle *handle, int data_cnt, int with_noti, int from_pid)
@@ -193,8 +193,8 @@ int media_svc_insert_item_begin(MediaSvcHandle *handle, int data_cnt, int with_n
 
        media_svc_debug("Transaction data count : [%d]", data_cnt);
 
-       media_svc_retvm_if(db_handle == NULL, MEDIA_INFO_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       media_svc_retvm_if(data_cnt < 1, MEDIA_INFO_ERROR_INVALID_PARAMETER, "data_cnt shuld be bigger than 1");
+       media_svc_retvm_if(db_handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Handle is NULL");
+       media_svc_retvm_if(data_cnt < 1, MS_MEDIA_ERR_INVALID_PARAMETER, "data_cnt shuld be bigger than 1");
 
        g_media_svc_insert_item_data_cnt  = data_cnt;
        g_media_svc_insert_item_cur_data_cnt  = 0;
@@ -202,25 +202,25 @@ int media_svc_insert_item_begin(MediaSvcHandle *handle, int data_cnt, int with_n
        /* Prepare for making noti item list */
        if (with_noti) {
                media_svc_debug("making noti list from pid[%d]", from_pid);
-               if (_media_svc_create_noti_list(data_cnt) != MEDIA_INFO_ERROR_NONE) {
-                       return MEDIA_INFO_ERROR_OUT_OF_MEMORY;
+               if (_media_svc_create_noti_list(data_cnt) != MS_MEDIA_ERR_NONE) {
+                       return MS_MEDIA_ERR_OUT_OF_MEMORY;
                }
 
                _media_svc_set_noti_from_pid(from_pid);
                g_insert_with_noti = TRUE;
        }
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 int media_svc_insert_item_end(MediaSvcHandle *handle, uid_t uid)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        sqlite3 * db_handle = (sqlite3 *)handle;
 
        media_svc_debug_func();
 
-       media_svc_retvm_if(db_handle == NULL, MEDIA_INFO_ERROR_INVALID_PARAMETER, "Handle is NULL");
+       media_svc_retvm_if(db_handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Handle is NULL");
 
        if (g_media_svc_insert_item_cur_data_cnt  > 0) {
 
@@ -242,18 +242,18 @@ int media_svc_insert_item_end(MediaSvcHandle *handle, uid_t uid)
 
 int media_svc_insert_item_bulk(MediaSvcHandle *handle, media_svc_storage_type_e storage_type, const char *path, int is_burst, uid_t uid)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        sqlite3 * db_handle = (sqlite3 *)handle;
        char folder_uuid[MEDIA_SVC_UUID_SIZE+1] = {0,};
        media_svc_media_type_e media_type;
        drm_content_info_s *drm_contentInfo = NULL;
 
-       media_svc_retvm_if(db_handle == NULL, MEDIA_INFO_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       media_svc_retvm_if(!STRING_VALID(path), MEDIA_INFO_ERROR_INVALID_PARAMETER, "path is NULL");
+       media_svc_retvm_if(db_handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Handle is NULL");
+       media_svc_retvm_if(!STRING_VALID(path), MS_MEDIA_ERR_INVALID_PARAMETER, "path is NULL");
 
        if ((storage_type != MEDIA_SVC_STORAGE_INTERNAL) && (storage_type != MEDIA_SVC_STORAGE_EXTERNAL)) {
                media_svc_error("storage type is incorrect[%d]", storage_type);
-               return MEDIA_INFO_ERROR_INVALID_PARAMETER;
+               return MS_MEDIA_ERR_INVALID_PARAMETER;
        }
 
        media_svc_content_info_s content_info;
@@ -262,7 +262,7 @@ int media_svc_insert_item_bulk(MediaSvcHandle *handle, media_svc_storage_type_e
        /*Set media info*/
        /* if drm_contentinfo is not NULL, the file is OMA DRM.*/
        ret = _media_svc_set_media_info(&content_info, storage_type, path, &media_type, FALSE, &drm_contentInfo);
-       media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
        if(media_type == MEDIA_SVC_MEDIA_TYPE_OTHER) {
                /*Do nothing.*/
@@ -272,19 +272,19 @@ int media_svc_insert_item_bulk(MediaSvcHandle *handle, media_svc_storage_type_e
                ret = _media_svc_extract_media_metadata(handle, &content_info, media_type, drm_contentInfo, uid);
        }
        SAFE_FREE(drm_contentInfo);
-       media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
        /*Set or Get folder id*/
        ret = _media_svc_get_and_append_folder_id_by_path(handle, path, storage_type, folder_uuid, uid);
-       media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
        ret = __media_svc_malloc_and_strncpy(&content_info.folder_uuid, folder_uuid);
-       media_svc_retv_del_if(ret != MEDIA_INFO_ERROR_NONE, ret, &content_info);
+       media_svc_retv_del_if(ret != MS_MEDIA_ERR_NONE, ret, &content_info);
 
        if (g_media_svc_insert_item_data_cnt == 1) {
 
                ret = _media_svc_insert_item_with_data(db_handle, &content_info, is_burst, FALSE, uid);
-               media_svc_retv_del_if(ret != MEDIA_INFO_ERROR_NONE, ret, &content_info);
+               media_svc_retv_del_if(ret != MS_MEDIA_ERR_NONE, ret, &content_info);
 
                if (g_insert_with_noti)
                        _media_svc_insert_item_to_noti_list(&content_info, g_media_svc_insert_item_cur_data_cnt++);
@@ -292,7 +292,7 @@ int media_svc_insert_item_bulk(MediaSvcHandle *handle, media_svc_storage_type_e
        } else if(g_media_svc_insert_item_cur_data_cnt  < (g_media_svc_insert_item_data_cnt  - 1)) {
 
                ret = _media_svc_insert_item_with_data(db_handle, &content_info, is_burst, TRUE, uid);
-               media_svc_retv_del_if(ret != MEDIA_INFO_ERROR_NONE, ret, &content_info);
+               media_svc_retv_del_if(ret != MS_MEDIA_ERR_NONE, ret, &content_info);
 
                if (g_insert_with_noti)
                        _media_svc_insert_item_to_noti_list(&content_info, g_media_svc_insert_item_cur_data_cnt);
@@ -302,21 +302,21 @@ int media_svc_insert_item_bulk(MediaSvcHandle *handle, media_svc_storage_type_e
        } else if (g_media_svc_insert_item_cur_data_cnt  == (g_media_svc_insert_item_data_cnt  - 1)) {
 
                ret = _media_svc_insert_item_with_data(db_handle, &content_info, is_burst, TRUE, uid);
-               media_svc_retv_del_if(ret != MEDIA_INFO_ERROR_NONE, ret, &content_info);
+               media_svc_retv_del_if(ret != MS_MEDIA_ERR_NONE, ret, &content_info);
 
                if (g_insert_with_noti)
                        _media_svc_insert_item_to_noti_list(&content_info, g_media_svc_insert_item_cur_data_cnt);
 
                ret = _media_svc_list_query_do(db_handle, MEDIA_SVC_QUERY_INSERT_ITEM, uid);
-               media_svc_retv_del_if(ret != MEDIA_INFO_ERROR_NONE, ret, &content_info);
+               media_svc_retv_del_if(ret != MS_MEDIA_ERR_NONE, ret, &content_info);
 
                if (g_insert_with_noti) {
                        _media_svc_publish_noti_list(g_media_svc_insert_item_cur_data_cnt + 1);
                        _media_svc_destroy_noti_list(g_media_svc_insert_item_cur_data_cnt + 1);
 
                        /* Recreate noti list */
-                       if (_media_svc_create_noti_list(g_media_svc_insert_item_data_cnt) != MEDIA_INFO_ERROR_NONE) {
-                               return MEDIA_INFO_ERROR_OUT_OF_MEMORY;
+                       if (_media_svc_create_noti_list(g_media_svc_insert_item_data_cnt) != MS_MEDIA_ERR_NONE) {
+                               return MS_MEDIA_ERR_OUT_OF_MEMORY;
                        }
                }
 
@@ -325,28 +325,28 @@ int media_svc_insert_item_bulk(MediaSvcHandle *handle, media_svc_storage_type_e
        } else {
                media_svc_error("Error in media_svc_insert_item_bulk");
                _media_svc_destroy_content_info(&content_info);
-               return MEDIA_INFO_ERROR_INTERNAL;
+               return MS_MEDIA_ERR_INTERNAL;
        }
 
        _media_svc_destroy_content_info(&content_info);
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 int media_svc_insert_item_immediately(MediaSvcHandle *handle, media_svc_storage_type_e storage_type, const char *path, uid_t uid)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        sqlite3 * db_handle = (sqlite3 *)handle;
        char folder_uuid[MEDIA_SVC_UUID_SIZE+1] = {0,};
        media_svc_media_type_e media_type;
        drm_content_info_s *drm_contentInfo = NULL;
 
-       media_svc_retvm_if(db_handle == NULL, MEDIA_INFO_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       media_svc_retvm_if(!STRING_VALID(path), MEDIA_INFO_ERROR_INVALID_PARAMETER, "path is NULL");
+       media_svc_retvm_if(db_handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Handle is NULL");
+       media_svc_retvm_if(!STRING_VALID(path), MS_MEDIA_ERR_INVALID_PARAMETER, "path is NULL");
 
        if ((storage_type != MEDIA_SVC_STORAGE_INTERNAL) && (storage_type != MEDIA_SVC_STORAGE_EXTERNAL)) {
                media_svc_error("storage type is incorrect[%d]", storage_type);
-               return MEDIA_INFO_ERROR_INVALID_PARAMETER;
+               return MS_MEDIA_ERR_INVALID_PARAMETER;
        }
 
        media_svc_content_info_s content_info;
@@ -354,24 +354,24 @@ int media_svc_insert_item_immediately(MediaSvcHandle *handle, media_svc_storage_
 
        /*Set media info*/
        ret = _media_svc_set_media_info(&content_info, storage_type, path, &media_type, FALSE, &drm_contentInfo);
-       media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
        if(media_type == MEDIA_SVC_MEDIA_TYPE_OTHER) {
                /*Do nothing.*/
        } else if(media_type == MEDIA_SVC_MEDIA_TYPE_IMAGE) {
                ret = _media_svc_extract_image_metadata(&content_info, media_type);
-               media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+               media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
        } else {
                ret = _media_svc_extract_media_metadata(handle, &content_info, media_type, drm_contentInfo, uid);
-               media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+               media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
        }
 
        /*Set or Get folder id*/
        ret = _media_svc_get_and_append_folder_id_by_path(handle, path, storage_type, folder_uuid, uid);
-       media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
        ret = __media_svc_malloc_and_strncpy(&content_info.folder_uuid, folder_uuid);
-       media_svc_retv_del_if(ret != MEDIA_INFO_ERROR_NONE, ret, &content_info);
+       media_svc_retv_del_if(ret != MS_MEDIA_ERR_NONE, ret, &content_info);
 #if 1
        /* Extracting thumbnail */
        if (media_type == MEDIA_SVC_MEDIA_TYPE_IMAGE || media_type == MEDIA_SVC_MEDIA_TYPE_VIDEO) {
@@ -399,7 +399,7 @@ int media_svc_insert_item_immediately(MediaSvcHandle *handle, media_svc_storage_
 #endif
        ret = _media_svc_insert_item_with_data(db_handle, &content_info, FALSE, FALSE, uid);
 
-       if (ret == MEDIA_INFO_ERROR_NONE) {
+       if (ret == MS_MEDIA_ERR_NONE) {
                media_svc_debug("Insertion is successful. Sending noti for this");
                _media_svc_publish_noti(MS_MEDIA_ITEM_FILE, MS_MEDIA_ITEM_INSERT, content_info.path, content_info.media_type, content_info.media_uuid, content_info.mime_type);
        }
@@ -410,15 +410,15 @@ int media_svc_insert_item_immediately(MediaSvcHandle *handle, media_svc_storage_
 
 int media_svc_insert_folder(MediaSvcHandle *handle, media_svc_storage_type_e storage_type, const char *path, uid_t uid)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        sqlite3 * db_handle = (sqlite3 *)handle;
 
-       media_svc_retvm_if(db_handle == NULL, MEDIA_INFO_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       media_svc_retvm_if(!STRING_VALID(path), MEDIA_INFO_ERROR_INVALID_PARAMETER, "path is NULL");
+       media_svc_retvm_if(db_handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Handle is NULL");
+       media_svc_retvm_if(!STRING_VALID(path), MS_MEDIA_ERR_INVALID_PARAMETER, "path is NULL");
 
        if ((storage_type != MEDIA_SVC_STORAGE_INTERNAL) && (storage_type != MEDIA_SVC_STORAGE_EXTERNAL)) {
                media_svc_error("storage type is incorrect[%d]", storage_type);
-               return MEDIA_INFO_ERROR_INVALID_PARAMETER;
+               return MS_MEDIA_ERR_INVALID_PARAMETER;
        }
 
        media_svc_debug("storage[%d], folder_path[%s]", storage_type, path);
@@ -429,7 +429,7 @@ int media_svc_insert_folder(MediaSvcHandle *handle, media_svc_storage_type_e sto
        char *folder_uuid = _media_info_generate_uuid();
        if(folder_uuid == NULL ) {
                media_svc_error("Invalid UUID");
-               return MEDIA_INFO_ERROR_INTERNAL;
+               return MS_MEDIA_ERR_INTERNAL;
        }
 
        folder_name = g_path_get_basename(path);
@@ -438,12 +438,12 @@ int media_svc_insert_folder(MediaSvcHandle *handle, media_svc_storage_type_e sto
        ret = _media_svc_append_folder(handle, storage_type, folder_uuid, path, folder_name, folder_modified_date, uid);
        SAFE_FREE(folder_name);
 
-       if (ret < MEDIA_INFO_ERROR_NONE) {
+       if (ret != MS_MEDIA_ERR_NONE) {
                media_svc_error("_media_svc_append_folder error [%d]", ret);
                return ret;
        }
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 int media_svc_move_item_begin(MediaSvcHandle *handle, int data_cnt)
@@ -452,23 +452,23 @@ int media_svc_move_item_begin(MediaSvcHandle *handle, int data_cnt)
 
        media_svc_debug("Transaction data count : [%d]", data_cnt);
 
-       media_svc_retvm_if(db_handle == NULL, MEDIA_INFO_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       media_svc_retvm_if(data_cnt < 1, MEDIA_INFO_ERROR_INVALID_PARAMETER, "data_cnt shuld be bigger than 1");
+       media_svc_retvm_if(db_handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Handle is NULL");
+       media_svc_retvm_if(data_cnt < 1, MS_MEDIA_ERR_INVALID_PARAMETER, "data_cnt shuld be bigger than 1");
 
        g_media_svc_move_item_data_cnt  = data_cnt;
        g_media_svc_move_item_cur_data_cnt  = 0;
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 int media_svc_move_item_end(MediaSvcHandle *handle, uid_t uid)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        sqlite3 * db_handle = (sqlite3 *)handle;
 
        media_svc_debug_func();
 
-       media_svc_retvm_if(db_handle == NULL, MEDIA_INFO_ERROR_INVALID_PARAMETER, "Handle is NULL");
+       media_svc_retvm_if(db_handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Handle is NULL");
 
        if (g_media_svc_move_item_cur_data_cnt  > 0) {
 
@@ -477,7 +477,7 @@ int media_svc_move_item_end(MediaSvcHandle *handle, uid_t uid)
 
        /*clean up old folder path*/
        ret = _media_svc_update_folder_table(handle, uid);
-       media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
        g_media_svc_move_item_data_cnt  = 1;
        g_media_svc_move_item_cur_data_cnt  = 0;
@@ -488,7 +488,7 @@ int media_svc_move_item_end(MediaSvcHandle *handle, uid_t uid)
 int media_svc_move_item(MediaSvcHandle *handle, media_svc_storage_type_e src_storage, const char *src_path,
                        media_svc_storage_type_e dest_storage, const char *dest_path, uid_t uid)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        sqlite3 * db_handle = (sqlite3 *)handle;
        char *file_name = NULL;
        char *folder_path = NULL;
@@ -500,22 +500,22 @@ int media_svc_move_item(MediaSvcHandle *handle, media_svc_storage_type_e src_sto
 
        media_svc_debug_func();
 
-       media_svc_retvm_if(db_handle == NULL, MEDIA_INFO_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       media_svc_retvm_if(!STRING_VALID(src_path), MEDIA_INFO_ERROR_INVALID_PARAMETER, "src_path is NULL");
-       media_svc_retvm_if(!STRING_VALID(dest_path), MEDIA_INFO_ERROR_INVALID_PARAMETER, "dest_path is NULL");
+       media_svc_retvm_if(db_handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Handle is NULL");
+       media_svc_retvm_if(!STRING_VALID(src_path), MS_MEDIA_ERR_INVALID_PARAMETER, "src_path is NULL");
+       media_svc_retvm_if(!STRING_VALID(dest_path), MS_MEDIA_ERR_INVALID_PARAMETER, "dest_path is NULL");
 
        if ((src_storage != MEDIA_SVC_STORAGE_INTERNAL) && (src_storage != MEDIA_SVC_STORAGE_EXTERNAL)) {
                media_svc_error("src_storage type is incorrect[%d]", src_storage);
-               return MEDIA_INFO_ERROR_INVALID_PARAMETER;
+               return MS_MEDIA_ERR_INVALID_PARAMETER;
        }
        if ((dest_storage != MEDIA_SVC_STORAGE_INTERNAL) && (dest_storage != MEDIA_SVC_STORAGE_EXTERNAL)) {
                media_svc_error("dest_storage type is incorrect[%d]", dest_storage);
-               return MEDIA_INFO_ERROR_INVALID_PARAMETER;
+               return MS_MEDIA_ERR_INVALID_PARAMETER;
        }
 
        /*check and update folder*/
        ret = _media_svc_get_and_append_folder_id_by_path(handle, dest_path, dest_storage, folder_uuid, uid);
-       media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
        /*get filename*/
        file_name = g_path_get_basename(dest_path);
@@ -525,12 +525,12 @@ int media_svc_move_item(MediaSvcHandle *handle, media_svc_storage_type_e src_sto
 
        /*get thumbnail_path to update. only for Imgae and Video items. Audio share album_art(thumbnail)*/
        ret = _media_svc_get_media_type_by_path(handle, src_path, &media_type);
-       media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
        if((media_type == MEDIA_SVC_MEDIA_TYPE_IMAGE) ||(media_type == MEDIA_SVC_MEDIA_TYPE_VIDEO)) {
                /*get old thumbnail_path*/
                ret = _media_svc_get_thumbnail_path_by_path(handle, src_path, old_thumb_path);
-               media_svc_retv_if((ret != MEDIA_INFO_ERROR_NONE) && (ret != MEDIA_INFO_ERROR_DATABASE_NO_RECORD), ret);
+               media_svc_retv_if((ret != MS_MEDIA_ERR_NONE) && (ret != MS_MEDIA_ERR_DB_NO_RECORD), ret);
 
                /* If old thumb path is default or not */
                if (strncmp(old_thumb_path, _media_svc_get_thumb_default_path(uid), sizeof(_media_svc_get_thumb_default_path(uid))) == 0) {
@@ -549,14 +549,14 @@ int media_svc_move_item(MediaSvcHandle *handle, media_svc_storage_type_e src_sto
                        ret = _media_svc_update_item_by_path(handle, src_path, dest_storage, dest_path, file_name, modified_time, folder_uuid, NULL, FALSE, uid);
                }
                SAFE_FREE(file_name);
-               media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+               media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
                media_svc_debug("Move is successful. Sending noti for this");
 
                /* Get notification info */
                media_svc_noti_item *noti_item = NULL;
                ret = _media_svc_get_noti_info(handle, dest_path, MS_MEDIA_ITEM_FILE, &noti_item);
-               media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+               media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
                /* Send notification for move */
                _media_svc_publish_noti(MS_MEDIA_ITEM_FILE, MS_MEDIA_ITEM_UPDATE, src_path, media_type, noti_item->media_uuid, noti_item->mime_type);
@@ -566,10 +566,10 @@ int media_svc_move_item(MediaSvcHandle *handle, media_svc_storage_type_e src_sto
                folder_path = g_path_get_dirname(dest_path);
                ret = _media_svc_update_folder_modified_time_by_folder_uuid(handle, folder_uuid, folder_path, FALSE, uid);
                SAFE_FREE(folder_path);
-               media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+               media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
                ret = _media_svc_update_folder_table(handle, uid);
-               media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+               media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
        } else if (g_media_svc_move_item_cur_data_cnt  < (g_media_svc_move_item_data_cnt  - 1)) {
 
@@ -580,13 +580,13 @@ int media_svc_move_item(MediaSvcHandle *handle, media_svc_storage_type_e src_sto
                        ret = _media_svc_update_item_by_path(handle, src_path, dest_storage, dest_path, file_name, modified_time, folder_uuid, NULL, TRUE, uid);
                }
                SAFE_FREE(file_name);
-               media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+               media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
                /*update folder modified_time*/
                folder_path = g_path_get_dirname(dest_path);
                ret = _media_svc_update_folder_modified_time_by_folder_uuid(handle, folder_uuid, folder_path, TRUE, uid);
                SAFE_FREE(folder_path);
-               media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+               media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
                g_media_svc_move_item_cur_data_cnt ++;
 
@@ -599,35 +599,35 @@ int media_svc_move_item(MediaSvcHandle *handle, media_svc_storage_type_e src_sto
                        ret = _media_svc_update_item_by_path(handle, src_path, dest_storage, dest_path, file_name, modified_time, folder_uuid, NULL, TRUE, uid);
                }
                SAFE_FREE(file_name);
-               media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+               media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
                /*update folder modified_time*/
                folder_path = g_path_get_dirname(dest_path);
                ret = _media_svc_update_folder_modified_time_by_folder_uuid(handle, folder_uuid, folder_path, TRUE, uid);
                SAFE_FREE(folder_path);
-               media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+               media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
                /*update db*/
                ret = _media_svc_list_query_do(db_handle, MEDIA_SVC_QUERY_MOVE_ITEM, uid);
-               media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+               media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
                g_media_svc_move_item_cur_data_cnt = 0;
 
        } else {
                media_svc_error("Error in media_svc_move_item");
-               return MEDIA_INFO_ERROR_INTERNAL;
+               return MS_MEDIA_ERR_INTERNAL;
        }
 
        /*rename thumbnail file*/
        if((media_type == MEDIA_SVC_MEDIA_TYPE_IMAGE) ||(media_type == MEDIA_SVC_MEDIA_TYPE_VIDEO)) {
                if((strlen(old_thumb_path) > 0) && (strncmp(old_thumb_path, _media_svc_get_thumb_default_path(uid), sizeof(_media_svc_get_thumb_default_path(uid))) != 0)) {
                        ret = _media_svc_rename_file(old_thumb_path,new_thumb_path);
-                       if (ret < 0)
+                       if (ret != MS_MEDIA_ERR_NONE)
                                media_svc_error("_media_svc_rename_file failed : %d", ret);
                }
        }
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 int media_svc_set_item_validity_begin(MediaSvcHandle *handle, int data_cnt)
@@ -636,23 +636,23 @@ int media_svc_set_item_validity_begin(MediaSvcHandle *handle, int data_cnt)
 
        media_svc_debug("Transaction data count : [%d]", data_cnt);
 
-       media_svc_retvm_if(db_handle == NULL, MEDIA_INFO_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       media_svc_retvm_if(data_cnt < 1, MEDIA_INFO_ERROR_INVALID_PARAMETER, "data_cnt shuld be bigger than 1");
+       media_svc_retvm_if(db_handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Handle is NULL");
+       media_svc_retvm_if(data_cnt < 1, MS_MEDIA_ERR_INVALID_PARAMETER, "data_cnt shuld be bigger than 1");
 
        g_media_svc_item_validity_data_cnt  = data_cnt;
        g_media_svc_item_validity_cur_data_cnt  = 0;
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 int media_svc_set_item_validity_end(MediaSvcHandle *handle, uid_t uid)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        sqlite3 * db_handle = (sqlite3 *)handle;
 
        media_svc_debug_func();
 
-       media_svc_retvm_if(db_handle == NULL, MEDIA_INFO_ERROR_INVALID_PARAMETER, "Handle is NULL");
+       media_svc_retvm_if(db_handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Handle is NULL");
 
        if (g_media_svc_item_validity_cur_data_cnt  > 0) {
 
@@ -667,11 +667,11 @@ int media_svc_set_item_validity_end(MediaSvcHandle *handle, uid_t uid)
 
 int media_svc_set_item_validity(MediaSvcHandle *handle, const char *path, int validity,uid_t uid)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        sqlite3 * db_handle = (sqlite3 *)handle;
 
-       media_svc_retvm_if(db_handle == NULL, MEDIA_INFO_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       media_svc_retvm_if(!STRING_VALID(path), MEDIA_INFO_ERROR_INVALID_PARAMETER, "path is NULL");
+       media_svc_retvm_if(db_handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Handle is NULL");
+       media_svc_retvm_if(!STRING_VALID(path), MS_MEDIA_ERR_INVALID_PARAMETER, "path is NULL");
 
        media_svc_debug("path=[%s], validity=[%d]", path, validity);
 
@@ -682,68 +682,68 @@ int media_svc_set_item_validity(MediaSvcHandle *handle, const char *path, int va
        } else if (g_media_svc_item_validity_cur_data_cnt  < (g_media_svc_item_validity_data_cnt  - 1)) {
 
                ret = _media_svc_update_item_validity(db_handle, path, validity, TRUE, uid);
-               media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+               media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
                g_media_svc_item_validity_cur_data_cnt ++;
 
        } else if (g_media_svc_item_validity_cur_data_cnt  == (g_media_svc_item_validity_data_cnt  - 1)) {
 
                ret = _media_svc_update_item_validity(db_handle, path, validity, TRUE, uid);
-               media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+               media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
                ret = _media_svc_list_query_do(db_handle, MEDIA_SVC_QUERY_SET_ITEM_VALIDITY, uid);
-               media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+               media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
                g_media_svc_item_validity_cur_data_cnt  = 0;
 
        } else {
 
                media_svc_error("Error in media_svc_set_item_validity");
-               return MEDIA_INFO_ERROR_INTERNAL;
+               return MS_MEDIA_ERR_INTERNAL;
        }
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 int media_svc_delete_item_by_path(MediaSvcHandle *handle, const char *path, uid_t uid)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        sqlite3 * db_handle = (sqlite3 *)handle;
        char thumb_path[MEDIA_SVC_PATHNAME_SIZE] = {0,};
 
        media_svc_debug_func();
 
-       media_svc_retvm_if(db_handle == NULL, MEDIA_INFO_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       media_svc_retvm_if(!STRING_VALID(path), MEDIA_INFO_ERROR_INVALID_PARAMETER, "path is NULL");
+       media_svc_retvm_if(db_handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Handle is NULL");
+       media_svc_retvm_if(!STRING_VALID(path), MS_MEDIA_ERR_INVALID_PARAMETER, "path is NULL");
 
        int media_type = -1;
        ret = _media_svc_get_media_type_by_path(db_handle, path, &media_type);
-       media_svc_retv_if((ret != MEDIA_INFO_ERROR_NONE), ret);
+       media_svc_retv_if((ret != MS_MEDIA_ERR_NONE), ret);
 
        if((media_type == MEDIA_SVC_MEDIA_TYPE_IMAGE) ||(media_type == MEDIA_SVC_MEDIA_TYPE_VIDEO)) {
                /*Get thumbnail path to delete*/
                ret = _media_svc_get_thumbnail_path_by_path(db_handle, path, thumb_path);
-               media_svc_retv_if((ret != MEDIA_INFO_ERROR_NONE) && (ret != MEDIA_INFO_ERROR_DATABASE_NO_RECORD), ret);
+               media_svc_retv_if((ret != MS_MEDIA_ERR_NONE) && (ret != MS_MEDIA_ERR_DB_NO_RECORD), ret);
        } else if ((media_type == MEDIA_SVC_MEDIA_TYPE_SOUND) ||(media_type == MEDIA_SVC_MEDIA_TYPE_MUSIC)) {
                int count = 0;
                ret = _media_svc_get_media_count_with_album_id_by_path(db_handle, path, &count);
-               media_svc_retv_if((ret != MEDIA_INFO_ERROR_NONE), ret);
+               media_svc_retv_if((ret != MS_MEDIA_ERR_NONE), ret);
 
                if (count == 1) {
                        /*Get thumbnail path to delete*/
                        ret = _media_svc_get_thumbnail_path_by_path(db_handle, path, thumb_path);
-                       media_svc_retv_if((ret != MEDIA_INFO_ERROR_NONE) && (ret != MEDIA_INFO_ERROR_DATABASE_NO_RECORD), ret);
+                       media_svc_retv_if((ret != MS_MEDIA_ERR_NONE) && (ret != MS_MEDIA_ERR_DB_NO_RECORD), ret);
                }
        }
 
        /* Get notification info */
        media_svc_noti_item *noti_item = NULL;
        ret = _media_svc_get_noti_info(handle, path, MS_MEDIA_ITEM_FILE, &noti_item);
-       media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
        /*Delete item*/
        ret = _media_svc_delete_item_by_path(db_handle, path, uid);
-       if (ret != MEDIA_INFO_ERROR_NONE) {
+       if (ret != MS_MEDIA_ERR_NONE) {
                media_svc_error("_media_svc_delete_item_by_path failed : %d", ret);
                _media_svc_destroy_noti_item(noti_item);
 
@@ -761,7 +761,7 @@ int media_svc_delete_item_by_path(MediaSvcHandle *handle, const char *path, uid_
                /* Get count of media, which contains same thumbnail for music */
                if ((media_type == MEDIA_SVC_MEDIA_TYPE_SOUND) ||(media_type == MEDIA_SVC_MEDIA_TYPE_MUSIC)) {
                        ret = _media_svc_get_thumbnail_count(db_handle, thumb_path, &thumb_count);
-                       if (ret < MEDIA_INFO_ERROR_NONE) {
+                       if (ret != MS_MEDIA_ERR_NONE) {
                                media_svc_error("Failed to get thumbnail count : %d", ret);
                        }
                }
@@ -773,34 +773,34 @@ int media_svc_delete_item_by_path(MediaSvcHandle *handle, const char *path, uid_
                }
        }
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 int media_svc_delete_all_items_in_storage(MediaSvcHandle *handle, media_svc_storage_type_e storage_type, uid_t uid)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        sqlite3 * db_handle = (sqlite3 *)handle;
        char * dirpath = NULL;
 
        media_svc_debug("media_svc_delete_all_items_in_storage [%d]", storage_type);
 
-       media_svc_retvm_if(db_handle == NULL, MEDIA_INFO_ERROR_INVALID_PARAMETER, "Handle is NULL");
+       media_svc_retvm_if(db_handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Handle is NULL");
 
        if ((storage_type != MEDIA_SVC_STORAGE_INTERNAL) && (storage_type != MEDIA_SVC_STORAGE_EXTERNAL)) {
                media_svc_error("storage type is incorrect[%d]", storage_type);
-               return MEDIA_INFO_ERROR_INVALID_PARAMETER;
+               return MS_MEDIA_ERR_INVALID_PARAMETER;
        }
 
        ret = _media_svc_truncate_table(db_handle, storage_type, uid);
-       media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
        dirpath = (storage_type == MEDIA_SVC_STORAGE_INTERNAL) ? _media_svc_get_thumb_internal_path(uid) : _media_svc_get_thumb_external_path(uid);
 
        /* remove thumbnails */
        ret = _media_svc_remove_all_files_in_dir(dirpath);
-       media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 int media_svc_delete_invalid_items_in_storage(MediaSvcHandle *handle, media_svc_storage_type_e storage_type, uid_t uid)
@@ -809,11 +809,11 @@ int media_svc_delete_invalid_items_in_storage(MediaSvcHandle *handle, media_svc_
 
        media_svc_debug_func();
 
-       media_svc_retvm_if(db_handle == NULL, MEDIA_INFO_ERROR_INVALID_PARAMETER, "Handle is NULL");
+       media_svc_retvm_if(db_handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Handle is NULL");
 
        if ((storage_type != MEDIA_SVC_STORAGE_INTERNAL) && (storage_type != MEDIA_SVC_STORAGE_EXTERNAL)) {
                media_svc_error("storage type is incorrect[%d]", storage_type);
-               return MEDIA_INFO_ERROR_INVALID_PARAMETER;
+               return MS_MEDIA_ERR_INVALID_PARAMETER;
        }
 
        /*Delete from DB and remove thumbnail files*/
@@ -826,7 +826,7 @@ int media_svc_delete_invalid_items_in_folder(MediaSvcHandle *handle, const char
 
        media_svc_debug_func();
 
-       media_svc_retvm_if(db_handle == NULL, MEDIA_INFO_ERROR_INVALID_PARAMETER, "Handle is NULL");
+       media_svc_retvm_if(db_handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Handle is NULL");
 
        /*Delete from DB and remove thumbnail files*/
        return _media_svc_delete_invalid_folder_items(db_handle, folder_path, uid);
@@ -836,11 +836,11 @@ int media_svc_set_all_storage_items_validity(MediaSvcHandle *handle, media_svc_s
 {
        sqlite3 * db_handle = (sqlite3 *)handle;
 
-       media_svc_retvm_if(db_handle == NULL, MEDIA_INFO_ERROR_INVALID_PARAMETER, "Handle is NULL");
+       media_svc_retvm_if(db_handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Handle is NULL");
 
        if ((storage_type != MEDIA_SVC_STORAGE_INTERNAL) && (storage_type != MEDIA_SVC_STORAGE_EXTERNAL)) {
                media_svc_error("storage type is incorrect[%d]", storage_type);
-               return MEDIA_INFO_ERROR_INVALID_PARAMETER;
+               return MS_MEDIA_ERR_INVALID_PARAMETER;
        }
 
        return _media_svc_update_storage_item_validity(db_handle, storage_type, validity, uid);
@@ -850,8 +850,8 @@ int media_svc_set_folder_items_validity(MediaSvcHandle *handle, const char *fold
 {
        sqlite3 * db_handle = (sqlite3 *)handle;
 
-       media_svc_retvm_if(db_handle == NULL, MEDIA_INFO_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       media_svc_retvm_if(!STRING_VALID(folder_path), MEDIA_INFO_ERROR_INVALID_PARAMETER, "folder_path is NULL");
+       media_svc_retvm_if(db_handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Handle is NULL");
+       media_svc_retvm_if(!STRING_VALID(folder_path), MS_MEDIA_ERR_INVALID_PARAMETER, "folder_path is NULL");
 
        if(recursive)
                return _media_svc_update_recursive_folder_item_validity(db_handle, folder_path, validity , uid);
@@ -861,46 +861,45 @@ int media_svc_set_folder_items_validity(MediaSvcHandle *handle, const char *fold
 
 int media_svc_refresh_item(MediaSvcHandle *handle, media_svc_storage_type_e storage_type, const char *path, uid_t uid)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        sqlite3 * db_handle = (sqlite3 *)handle;
        media_svc_media_type_e media_type;
        drm_content_info_s *drm_contentInfo = NULL;
 
-       media_svc_retvm_if(db_handle == NULL, MEDIA_INFO_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       media_svc_retvm_if(!STRING_VALID(path), MEDIA_INFO_ERROR_INVALID_PARAMETER, "path is NULL");
+       media_svc_retvm_if(db_handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Handle is NULL");
+       media_svc_retvm_if(!STRING_VALID(path), MS_MEDIA_ERR_INVALID_PARAMETER, "path is NULL");
 
        if ((storage_type != MEDIA_SVC_STORAGE_INTERNAL) && (storage_type != MEDIA_SVC_STORAGE_EXTERNAL)) {
                media_svc_error("storage type is incorrect[%d]", storage_type);
-               return MEDIA_INFO_ERROR_INVALID_PARAMETER;
+               return MS_MEDIA_ERR_INVALID_PARAMETER;
        }
 
-
        media_svc_content_info_s content_info;
        memset(&content_info, 0, sizeof(media_svc_content_info_s));
 
        /*Set media info*/
        ret = _media_svc_set_media_info(&content_info, storage_type, path, &media_type, TRUE, &drm_contentInfo);
-       media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
        /* Initialize thumbnail information to remake thumbnail. */
        char thumb_path[MEDIA_SVC_PATHNAME_SIZE + 1];
        ret = _media_svc_get_thumbnail_path_by_path(handle, path, thumb_path);
-       media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
        if (g_file_test(thumb_path, G_FILE_TEST_EXISTS) && (strncmp(thumb_path, _media_svc_get_thumb_default_path(uid), sizeof(_media_svc_get_thumb_default_path(uid))) != 0)) {
                ret = _media_svc_remove_file(thumb_path);
-               if (ret < MEDIA_INFO_ERROR_NONE) {
+               if (ret != MS_MEDIA_ERR_NONE) {
                        media_svc_error("_media_svc_remove_file failed : %s", thumb_path);
                }
        }
 
        ret = _media_svc_update_thumbnail_path(handle, path, NULL, uid);
-       media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
        /* Get notification info */
        media_svc_noti_item *noti_item = NULL;
        ret = _media_svc_get_noti_info(handle, path, MS_MEDIA_ITEM_FILE, &noti_item);
-       media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
        media_type = noti_item->media_type;
 
@@ -908,13 +907,13 @@ int media_svc_refresh_item(MediaSvcHandle *handle, media_svc_storage_type_e stor
                /*Do nothing.*/
        } else if(media_type == MEDIA_SVC_MEDIA_TYPE_IMAGE) {
                ret = _media_svc_extract_image_metadata(&content_info, media_type);
-               if (ret != MEDIA_INFO_ERROR_NONE) {
+               if (ret != MS_MEDIA_ERR_NONE) {
                        _media_svc_destroy_noti_item(noti_item);
                        return ret;
                }
        } else {
                ret = _media_svc_extract_media_metadata(handle, &content_info, media_type, drm_contentInfo, uid);
-               if (ret != MEDIA_INFO_ERROR_NONE) {
+               if (ret != MS_MEDIA_ERR_NONE) {
                        _media_svc_destroy_noti_item(noti_item);
                        return ret;
                }
@@ -946,7 +945,7 @@ int media_svc_refresh_item(MediaSvcHandle *handle, media_svc_storage_type_e stor
 #endif
        ret = _media_svc_update_item_with_data(db_handle, &content_info, uid);
 
-       if (ret == MEDIA_INFO_ERROR_NONE) {
+       if (ret == MS_MEDIA_ERR_NONE) {
                media_svc_debug("Update is successful. Sending noti for this");
                _media_svc_publish_noti(MS_MEDIA_ITEM_FILE, MS_MEDIA_ITEM_UPDATE, content_info.path, noti_item->media_type, noti_item->media_uuid, noti_item->mime_type);
        } else {
@@ -962,21 +961,21 @@ int media_svc_refresh_item(MediaSvcHandle *handle, media_svc_storage_type_e stor
 int media_svc_rename_folder(MediaSvcHandle *handle, const char *src_path, const char *dst_path, uid_t uid)
 {
        sqlite3 * db_handle = (sqlite3 *)handle;
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
 
-       media_svc_retvm_if(db_handle == NULL, MEDIA_INFO_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       media_svc_retvm_if(src_path == NULL, MEDIA_INFO_ERROR_INVALID_PARAMETER, "src_path is NULL");
-       media_svc_retvm_if(dst_path == NULL, MEDIA_INFO_ERROR_INVALID_PARAMETER, "dst_path is NULL");
+       media_svc_retvm_if(db_handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Handle is NULL");
+       media_svc_retvm_if(src_path == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "src_path is NULL");
+       media_svc_retvm_if(dst_path == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "dst_path is NULL");
 
        media_svc_debug("Src path : %s,  Dst Path : %s", src_path, dst_path);
 
        /* Get notification info */
        media_svc_noti_item *noti_item = NULL;
        ret = _media_svc_get_noti_info(handle, src_path, MS_MEDIA_ITEM_DIRECTORY, &noti_item);
-       media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
        ret = _media_svc_sql_begin_trans(handle,uid);
-       media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
        /* Update all folder record's path, which are matched by old parent path */
        char *update_folder_path_sql = NULL;
@@ -996,7 +995,7 @@ int media_svc_rename_folder(MediaSvcHandle *handle, const char *src_path, const
                media_svc_error("failed to update folder path");
                _media_svc_sql_rollback_trans(handle, uid);
 
-               return MEDIA_INFO_ERROR_DATABASE_INTERNAL;
+               return MS_MEDIA_ERR_DB_INTERNAL;
        }
 
        /* Update all folder record's modified date, which are changed above */
@@ -1014,7 +1013,7 @@ int media_svc_rename_folder(MediaSvcHandle *handle, const char *src_path, const
                media_svc_error("failed to update folder modified time");
                _media_svc_sql_rollback_trans(handle, uid);
 
-               return MEDIA_INFO_ERROR_DATABASE_INTERNAL;
+               return MS_MEDIA_ERR_DB_INTERNAL;
        }
 
        /* Update all items */
@@ -1031,10 +1030,10 @@ int media_svc_rename_folder(MediaSvcHandle *handle, const char *src_path, const
        ret = sqlite3_prepare_v2(handle, select_all_sql, -1, &sql_stmt, NULL);
        sqlite3_free((char *)select_all_sql);
 
-       if (ret != SQLITE_OK) {
+       if (ret != MS_MEDIA_ERR_NONE) {
                media_svc_error ("prepare error [%s]", sqlite3_errmsg(handle));
                _media_svc_sql_rollback_trans(handle, uid);
-               return MEDIA_INFO_ERROR_DATABASE_INTERNAL;
+               return MS_MEDIA_ERR_DB_INTERNAL;
        }
 
        while (1) {
@@ -1056,7 +1055,7 @@ int media_svc_rename_folder(MediaSvcHandle *handle, const char *src_path, const
                        media_uuid[sizeof(media_uuid) - 1] = '\0';
                } else {
                        media_svc_error("media UUID is NULL");
-                       return MEDIA_INFO_ERROR_DATABASE_INVALID;
+                       return MS_MEDIA_ERR_DB_INTERNAL;
                }
 
                if (STRING_VALID((const char *)sqlite3_column_text(sql_stmt, 1))) {
@@ -1064,7 +1063,7 @@ int media_svc_rename_folder(MediaSvcHandle *handle, const char *src_path, const
                        media_path[sizeof(media_path) - 1] = '\0';
                } else {
                        media_svc_error("media path is NULL");
-                       return MEDIA_INFO_ERROR_DATABASE_INVALID;
+                       return MS_MEDIA_ERR_DB_INTERNAL;
                }
 
                if (STRING_VALID((const char *)sqlite3_column_text(sql_stmt, 2))) {
@@ -1084,7 +1083,7 @@ int media_svc_rename_folder(MediaSvcHandle *handle, const char *src_path, const
                        media_svc_error("_media_svc_replace_path failed");
                        SQLITE3_FINALIZE(sql_stmt);
                        _media_svc_sql_rollback_trans(handle, uid);
-                       return MEDIA_INFO_ERROR_INTERNAL;
+                       return MS_MEDIA_ERR_INTERNAL;
                }
 
                media_svc_debug("New media path : %s", replaced_path);
@@ -1096,20 +1095,20 @@ int media_svc_rename_folder(MediaSvcHandle *handle, const char *src_path, const
                                strncpy(media_new_thumb_path, _media_svc_get_thumb_default_path(uid), sizeof(media_new_thumb_path));
                        } else {
                                ret = _media_svc_get_store_type_by_path(replaced_path, &storage_type);
-                               if (ret < 0) {
+                               if (ret != MS_MEDIA_ERR_NONE) {
                                        media_svc_error("_media_svc_get_store_type_by_path failed : %d", ret);
                                        SAFE_FREE(replaced_path);
                                        _media_svc_sql_rollback_trans(handle,uid);
-                                       return MEDIA_INFO_ERROR_DATABASE_INTERNAL;
+                                       return ret;
                                }
        
                                ret = _media_svc_get_thumbnail_path(storage_type, media_new_thumb_path, replaced_path, THUMB_EXT, uid);
-                               if (ret < 0) {
+                               if (ret != MS_MEDIA_ERR_NONE) {
                                        media_svc_error("_media_svc_get_thumbnail_path failed : %d", ret);
                                        SAFE_FREE(replaced_path);
                                        SQLITE3_FINALIZE(sql_stmt);
                                        _media_svc_sql_rollback_trans(handle,uid);
-                                       return MEDIA_INFO_ERROR_INTERNAL;
+                                       return ret;
                                }
                        }
 
@@ -1138,14 +1137,14 @@ int media_svc_rename_folder(MediaSvcHandle *handle, const char *src_path, const
                        SQLITE3_FINALIZE(sql_stmt);
                        _media_svc_sql_rollback_trans(handle,uid);
        
-                       return MEDIA_INFO_ERROR_DATABASE_INTERNAL;
+                       return MS_MEDIA_ERR_DB_INTERNAL;
                }
 
                /* Rename thumbnail file of file system */
                if ((!no_thumb) && (media_type == MEDIA_SVC_MEDIA_TYPE_IMAGE || media_type == MEDIA_SVC_MEDIA_TYPE_VIDEO)
                                && (strncmp(media_thumb_path, _media_svc_get_thumb_default_path(uid), sizeof(_media_svc_get_thumb_default_path(uid))) != 0)) {
                        ret = _media_svc_rename_file(media_thumb_path, media_new_thumb_path);
-                       if (ret < 0) {
+                       if (ret != MS_MEDIA_ERR_NONE) {
                                media_svc_error("_media_svc_rename_file failed : %d", ret);
                        }
                }
@@ -1154,7 +1153,7 @@ int media_svc_rename_folder(MediaSvcHandle *handle, const char *src_path, const
        SQLITE3_FINALIZE(sql_stmt);
 
        ret = _media_svc_sql_end_trans(handle, uid);
-       if (ret != MEDIA_INFO_ERROR_NONE) {
+       if (ret != MS_MEDIA_ERR_NONE) {
                media_svc_error("mb_svc_sqlite3_commit_trans failed.. Now start to rollback\n");
                _media_svc_sql_rollback_trans(handle,uid);
                return ret;
@@ -1164,31 +1163,31 @@ int media_svc_rename_folder(MediaSvcHandle *handle, const char *src_path, const
        _media_svc_publish_noti(MS_MEDIA_ITEM_DIRECTORY, MS_MEDIA_ITEM_UPDATE, src_path, -1, noti_item->media_uuid, NULL);
        _media_svc_destroy_noti_item(noti_item);
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
 
 int media_svc_request_update_db(const char *db_query, uid_t uid)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
 
-       media_svc_retvm_if(!STRING_VALID(db_query), MEDIA_INFO_ERROR_INVALID_PARAMETER, "db_query is NULL");
+       media_svc_retvm_if(!STRING_VALID(db_query), MS_MEDIA_ERR_INVALID_PARAMETER, "db_query is NULL");
 
        ret = _media_svc_request_update_db(db_query, uid);
 
-       return _media_svc_error_convert(ret);
+       return ret;
 }
 
 int media_svc_send_dir_update_noti(MediaSvcHandle *handle, const char *dir_path)
 {
-       int ret = MEDIA_INFO_ERROR_NONE;
+       int ret = MS_MEDIA_ERR_NONE;
        sqlite3 * db_handle = (sqlite3 *)handle;
 
-       media_svc_retvm_if(!STRING_VALID(dir_path), MEDIA_INFO_ERROR_INVALID_PARAMETER, "dir_path is NULL");
+       media_svc_retvm_if(!STRING_VALID(dir_path), MS_MEDIA_ERR_INVALID_PARAMETER, "dir_path is NULL");
 
        /* Get notification info */
        media_svc_noti_item *noti_item = NULL;
        ret = _media_svc_get_noti_info(db_handle, dir_path, MS_MEDIA_ITEM_DIRECTORY, &noti_item);
-       media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
        ret = _media_svc_publish_noti(MS_MEDIA_ITEM_DIRECTORY, MS_MEDIA_ITEM_UPDATE, dir_path, -1, noti_item->media_uuid, NULL);
        _media_svc_destroy_noti_item(noti_item);
@@ -1202,16 +1201,16 @@ int media_svc_count_invalid_items_in_folder(MediaSvcHandle *handle, const char *
 
        media_svc_debug_func();
 
-       media_svc_retvm_if(db_handle == NULL, MEDIA_INFO_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       media_svc_retvm_if(folder_path == NULL, MEDIA_INFO_ERROR_INVALID_PARAMETER, "folder_path is NULL");
-       media_svc_retvm_if(count == NULL, MEDIA_INFO_ERROR_INVALID_PARAMETER, "count is NULL");
+       media_svc_retvm_if(db_handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Handle is NULL");
+       media_svc_retvm_if(folder_path == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "folder_path is NULL");
+       media_svc_retvm_if(count == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "count is NULL");
 
        return _media_svc_count_invalid_folder_items(db_handle, folder_path, count);
 }
 
 int media_svc_get_pinyin(MediaSvcHandle *handle, const char * src_str, char **pinyin_str)
 {
-       media_svc_retvm_if(!STRING_VALID(src_str), MEDIA_INFO_ERROR_INVALID_PARAMETER, "String is NULL");
+       media_svc_retvm_if(!STRING_VALID(src_str), MS_MEDIA_ERR_INVALID_PARAMETER, "String is NULL");
 
        return _media_svc_get_pinyin_str(src_str, pinyin_str);
 }
@@ -1219,5 +1218,5 @@ int media_svc_check_pinyin_support(bool *support)
 {
        *support = _media_svc_check_pinyin_support();
 
-       return MEDIA_INFO_ERROR_NONE;
+       return MS_MEDIA_ERR_NONE;
 }
index 857f130..6a066b0 100755 (executable)
@@ -27,6 +27,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <dlog.h>
+#include <errno.h>
 
 #ifdef LOG_TAG
 #undef LOG_TAG
                        } \
                } while (0)
 
+#define media_svc_sec_debug(fmt, arg...) do { \
+                       SECURE_LOGI(" "fmt"", ##arg);    \
+               } while (0)
+
+#define media_svc_sec_warn(fmt, arg...) do { \
+                       SECURE_LOGW(" "fmt"", ##arg);   \
+               } while (0)
+
+#define media_svct_sec_error(fmt, arg...) do { \
+                       SECURE_LOGE(" "fmt"", ##arg);     \
+               } while (0)
+
+#define ERR_BUF_LENGHT 256
+#define media_svc_stderror(fmt) do { \
+                       char buf[ERR_BUF_LENGHT] = {0,}; \
+                       strerror_r(errno, buf, ERR_BUF_LENGHT); \
+                       LOGE(fmt" : standard error= [%s]", buf); \
+               } while (0)
+
 #ifdef _USE_LOG_FILE_
 void mediainfo_init_file_debug();
 void mediainfo_close_file_debug();
diff --git a/src/include/common/media-svc-localize_tw.h b/src/include/common/media-svc-localize_tw.h
new file mode 100644 (file)
index 0000000..2cad1f0
--- /dev/null
@@ -0,0 +1,35 @@
+/*\r
+ * Contacts Service\r
+ *\r
+ * Copyright (c) 2010 - 2012 Samsung Electronics Co., Ltd. All rights reserved.\r
+ *\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ *\r
+ */\r
+\r
+#ifndef __MEDIA_SERVICE_LOCALIZE_TW_H__\r
+#define __MEDIA_SERVICE_LOCALIZE_TW_H__\r
+\r
+#define MAX_BPMF_NAME_LENGTH 30\r
+typedef struct {\r
+       char *bpmf_initial;\r
+       char *bpmf_name;\r
+}media_svc_bpmf_name_s;\r
+\r
+int _media_svc_get_bopomofo(const char *src, char **dest);\r
+int _media_svc_convert_chinese_to_bpmf(const char *src, media_svc_bpmf_name_s **dest);\r
+void _media_svc_bpmf_name_destroy(media_svc_bpmf_name_s *bpmf);\r
+bool _media_svc_bpmf_is_bpmf(const char *src);\r
+char _media_svc_bpmf_get_fuzzy_number(const char *src);\r
+\r
+#endif         //__MEDIA_SERVICE_LOCALIZE_TW_H__
\ No newline at end of file
index 3a51372..464ce05 100755 (executable)
@@ -22,9 +22,9 @@
 #ifndef _MEDIA_SVC_NOTI_H_
 #define _MEDIA_SVC_NOTI_H_
 
+#include "media-svc-types.h"
 #include "media-svc-env.h"
 #include "media-svc-debug.h"
-#include "media-svc-error.h"
 #include <media-util-noti.h>
 
 typedef struct _media_svc_noti_item media_svc_noti_item;
@@ -40,7 +40,6 @@ struct _media_svc_noti_item {
 };
 
 void _media_svc_set_noti_from_pid(int pid);
-
 int _media_svc_create_noti_list(int count);
 int _media_svc_insert_item_to_noti_list(media_svc_content_info_s *content_info, int cnt);
 int _media_svc_destroy_noti_list(int all_cnt);
index b0b4d46..bec4671 100755 (executable)
@@ -27,6 +27,7 @@
 #include <string.h>
 #include <stdbool.h>
 #include <sqlite3.h>
+#include <iniparser.h>
 #include <drm_client.h>
 #include "media-svc-types.h"
 #include "media-svc-env.h"
index eb0dd53..9e829ec 100755 (executable)
@@ -7,7 +7,7 @@ FOREACH(flag ${${fw_test}_CFLAGS})
     SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
 ENDFOREACH(flag)
 
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Wall")
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Wall -fPIE")
 
 aux_source_directory(. sources)
 FOREACH(src ${sources})
index f644d0b..ccd40a3 100755 (executable)
@@ -22,6 +22,7 @@
 #include <stdlib.h>
 #include <stdio.h>
 #include <dlfcn.h>
+#include <stdbool.h>
 #include <media-svc.h>
 
 #include <tzplatform_config.h>
diff --git a/uuid/clear.c b/uuid/clear.c
deleted file mode 100644 (file)
index 2d91fee..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * clear.c -- Clear a UUID
- *
- * Copyright (C) 1996, 1997 Theodore Ts'o.
- *
- * %Begin-Header%
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, and the entire permission notice in its entirety,
- *    including the disclaimer of warranties.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote
- *    products derived from this software without specific prior
- *    written permission.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
- * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
- * DAMAGE.
- * %End-Header%
- */
-
-#include "string.h"
-
-#include "uuidP.h"
-
-void uuid_clear(uuid_t uu)
-{
-       memset(uu, 0, 16);
-}
-
diff --git a/uuid/compare.c b/uuid/compare.c
deleted file mode 100644 (file)
index f28a726..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * compare.c --- compare whether or not two UUID's are the same
- *
- * Returns 0 if the two UUID's are different, and 1 if they are the same.
- *
- * Copyright (C) 1996, 1997 Theodore Ts'o.
- *
- * %Begin-Header%
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, and the entire permission notice in its entirety,
- *    including the disclaimer of warranties.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote
- *    products derived from this software without specific prior
- *    written permission.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
- * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
- * DAMAGE.
- * %End-Header%
- */
-
-#include "uuidP.h"
-#include <string.h>
-
-#define UUCMP(u1,u2) if (u1 != u2) return((u1 < u2) ? -1 : 1);
-
-int uuid_compare(const uuid_t uu1, const uuid_t uu2)
-{
-       struct uuid     uuid1, uuid2;
-
-       uuid_unpack(uu1, &uuid1);
-       uuid_unpack(uu2, &uuid2);
-
-       UUCMP(uuid1.time_low, uuid2.time_low);
-       UUCMP(uuid1.time_mid, uuid2.time_mid);
-       UUCMP(uuid1.time_hi_and_version, uuid2.time_hi_and_version);
-       UUCMP(uuid1.clock_seq, uuid2.clock_seq);
-       return memcmp(uuid1.node, uuid2.node, 6);
-}
-
diff --git a/uuid/copy.c b/uuid/copy.c
deleted file mode 100644 (file)
index ead33aa..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * copy.c --- copy UUIDs
- *
- * Copyright (C) 1996, 1997 Theodore Ts'o.
- *
- * %Begin-Header%
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, and the entire permission notice in its entirety,
- *    including the disclaimer of warranties.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote
- *    products derived from this software without specific prior
- *    written permission.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
- * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
- * DAMAGE.
- * %End-Header%
- */
-
-#include "uuidP.h"
-
-void uuid_copy(uuid_t dst, const uuid_t src)
-{
-       unsigned char           *cp1;
-       const unsigned char     *cp2;
-       int                     i;
-
-       for (i=0, cp1 = dst, cp2 = src; i < 16; i++)
-               *cp1++ = *cp2++;
-}
diff --git a/uuid/gen_uuid.c b/uuid/gen_uuid.c
deleted file mode 100644 (file)
index 48a7f4a..0000000
+++ /dev/null
@@ -1,672 +0,0 @@
-/*
- * gen_uuid.c --- generate a DCE-compatible uuid
- *
- * Copyright (C) 1996, 1997, 1998, 1999 Theodore Ts'o.
- *
- * %Begin-Header%
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, and the entire permission notice in its entirety,
- *    including the disclaimer of warranties.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote
- *    products derived from this software without specific prior
- *    written permission.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
- * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
- * DAMAGE.
- * %End-Header%
- */
-
-/*
- * Force inclusion of SVID stuff since we need it if we're compiling in
- * gcc-wall wall mode
- */
-#define _SVID_SOURCE
-
-#ifdef _WIN32
-#define _WIN32_WINNT 0x0500
-#include <windows.h>
-#define UUID MYUUID
-#endif
-#include <stdio.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-#include <string.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <sys/types.h>
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-#include <sys/wait.h>
-#include <sys/stat.h>
-#ifdef HAVE_SYS_FILE_H
-#include <sys/file.h>
-#endif
-#ifdef HAVE_SYS_IOCTL_H
-#include <sys/ioctl.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_SYS_UN_H
-#include <sys/un.h>
-#endif
-#ifdef HAVE_SYS_SOCKIO_H
-#include <sys/sockio.h>
-#endif
-#ifdef HAVE_NET_IF_H
-#include <net/if.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_NET_IF_DL_H
-#include <net/if_dl.h>
-#endif
-#if defined(__linux__) && defined(HAVE_SYS_SYSCALL_H)
-#include <sys/syscall.h>
-#endif
-#ifdef HAVE_SYS_RESOURCE_H
-#include <sys/resource.h>
-#endif
-
-#include "uuidP.h"
-#include "uuidd.h"
-
-#ifdef HAVE_SRANDOM
-#define srand(x)       srandom(x)
-#define rand()                 random()
-#endif
-
-#ifdef TLS
-#define THREAD_LOCAL static TLS
-#else
-#define THREAD_LOCAL static
-#endif
-
-#if defined(__linux__) && defined(__NR_gettid) && defined(HAVE_JRAND48)
-#define DO_JRAND_MIX
-THREAD_LOCAL unsigned short jrand_seed[3];
-#endif
-
-#ifdef _WIN32
-static void gettimeofday (struct timeval *tv, void *dummy)
-{
-       FILETIME        ftime;
-       uint64_t        n;
-
-       GetSystemTimeAsFileTime (&ftime);
-       n = (((uint64_t) ftime.dwHighDateTime << 32)
-            + (uint64_t) ftime.dwLowDateTime);
-       if (n) {
-               n /= 10;
-               n -= ((369 * 365 + 89) * (uint64_t) 86400) * 1000000;
-       }
-
-       tv->tv_sec = n / 1000000;
-       tv->tv_usec = n % 1000000;
-}
-
-static int getuid (void)
-{
-       return 1;
-}
-#endif
-
-static int get_random_fd(void)
-{
-       struct timeval  tv;
-       static int      fd = -2;
-       int             i;
-
-       if (fd == -2) {
-               gettimeofday(&tv, 0);
-#ifndef _WIN32
-               fd = open("/dev/urandom", O_RDONLY);
-               if (fd == -1)
-                       fd = open("/dev/random", O_RDONLY | O_NONBLOCK);
-               if (fd >= 0) {
-                       i = fcntl(fd, F_GETFD);
-                       if (i >= 0)
-                               fcntl(fd, F_SETFD, i | FD_CLOEXEC);
-               }
-#endif
-               srand((getpid() << 16) ^ getuid() ^ tv.tv_sec ^ tv.tv_usec);
-#ifdef DO_JRAND_MIX
-               jrand_seed[0] = getpid() ^ (tv.tv_sec & 0xFFFF);
-               jrand_seed[1] = getppid() ^ (tv.tv_usec & 0xFFFF);
-               jrand_seed[2] = (tv.tv_sec ^ tv.tv_usec) >> 16;
-#endif
-       }
-       /* Crank the random number generator a few times */
-       gettimeofday(&tv, 0);
-       for (i = (tv.tv_sec ^ tv.tv_usec) & 0x1F; i > 0; i--)
-               rand();
-       return fd;
-}
-
-
-/*
- * Generate a series of random bytes.  Use /dev/urandom if possible,
- * and if not, use srandom/random.
- */
-static void get_random_bytes(void *buf, int nbytes)
-{
-       int i, n = nbytes, fd = get_random_fd();
-       int lose_counter = 0;
-       unsigned char *cp = (unsigned char *) buf;
-#ifdef DO_JRAND_MIX
-       unsigned short tmp_seed[3];
-#endif
-
-       if (fd >= 0) {
-               while (n > 0) {
-                       i = read(fd, cp, n);
-                       if (i <= 0) {
-                               if (lose_counter++ > 16)
-                                       break;
-                               continue;
-                       }
-                       n -= i;
-                       cp += i;
-                       lose_counter = 0;
-               }
-       }
-
-       /*
-        * We do this all the time, but this is the only source of
-        * randomness if /dev/random/urandom is out to lunch.
-        */
-       for (cp = buf, i = 0; i < nbytes; i++)
-               *cp++ ^= (rand() >> 7) & 0xFF;
-#ifdef DO_JRAND_MIX
-       memcpy(tmp_seed, jrand_seed, sizeof(tmp_seed));
-       jrand_seed[2] = jrand_seed[2] ^ syscall(__NR_gettid);
-       for (cp = buf, i = 0; i < nbytes; i++)
-               *cp++ ^= (jrand48(tmp_seed) >> 7) & 0xFF;
-       memcpy(jrand_seed, tmp_seed,
-              sizeof(jrand_seed)-sizeof(unsigned short));
-#endif
-
-       return;
-}
-
-/*
- * Get the ethernet hardware address, if we can find it...
- *
- * XXX for a windows version, probably should use GetAdaptersInfo:
- * http://www.codeguru.com/cpp/i-n/network/networkinformation/article.php/c5451
- * commenting out get_node_id just to get gen_uuid to compile under windows
- * is not the right way to go!
- */
-static int get_node_id(unsigned char *node_id)
-{
-#ifdef HAVE_NET_IF_H
-       int             sd;
-       struct ifreq    ifr, *ifrp;
-       struct ifconf   ifc;
-       char buf[1024];
-       int             n, i;
-       unsigned char   *a;
-#ifdef HAVE_NET_IF_DL_H
-       struct sockaddr_dl *sdlp;
-#endif
-
-/*
- * BSD 4.4 defines the size of an ifreq to be
- * max(sizeof(ifreq), sizeof(ifreq.ifr_name)+ifreq.ifr_addr.sa_len
- * However, under earlier systems, sa_len isn't present, so the size is
- * just sizeof(struct ifreq)
- */
-#ifdef HAVE_SA_LEN
-#ifndef max
-#define max(a,b) ((a) > (b) ? (a) : (b))
-#endif
-#define ifreq_size(i) max(sizeof(struct ifreq),\
-     sizeof((i).ifr_name)+(i).ifr_addr.sa_len)
-#else
-#define ifreq_size(i) sizeof(struct ifreq)
-#endif /* HAVE_SA_LEN*/
-
-       sd = socket(AF_INET, SOCK_DGRAM, IPPROTO_IP);
-       if (sd < 0) {
-               return -1;
-       }
-       memset(buf, 0, sizeof(buf));
-       ifc.ifc_len = sizeof(buf);
-       ifc.ifc_buf = buf;
-       if (ioctl (sd, SIOCGIFCONF, (char *)&ifc) < 0) {
-               close(sd);
-               return -1;
-       }
-       n = ifc.ifc_len;
-       for (i = 0; i < n; i+= ifreq_size(*ifrp) ) {
-               ifrp = (struct ifreq *)((char *) ifc.ifc_buf+i);
-               strncpy(ifr.ifr_name, ifrp->ifr_name, IFNAMSIZ);
-#ifdef SIOCGIFHWADDR
-               if (ioctl(sd, SIOCGIFHWADDR, &ifr) < 0)
-                       continue;
-               a = (unsigned char *) &ifr.ifr_hwaddr.sa_data;
-#else
-#ifdef SIOCGENADDR
-               if (ioctl(sd, SIOCGENADDR, &ifr) < 0)
-                       continue;
-               a = (unsigned char *) ifr.ifr_enaddr;
-#else
-#ifdef HAVE_NET_IF_DL_H
-               sdlp = (struct sockaddr_dl *) &ifrp->ifr_addr;
-               if ((sdlp->sdl_family != AF_LINK) || (sdlp->sdl_alen != 6))
-                       continue;
-               a = (unsigned char *) &sdlp->sdl_data[sdlp->sdl_nlen];
-#else
-               /*
-                * XXX we don't have a way of getting the hardware
-                * address
-                */
-               close(sd);
-               return 0;
-#endif /* HAVE_NET_IF_DL_H */
-#endif /* SIOCGENADDR */
-#endif /* SIOCGIFHWADDR */
-               if (!a[0] && !a[1] && !a[2] && !a[3] && !a[4] && !a[5])
-                       continue;
-               if (node_id) {
-                       memcpy(node_id, a, 6);
-                       close(sd);
-                       return 1;
-               }
-       }
-       close(sd);
-#endif
-       return 0;
-}
-
-/* Assume that the gettimeofday() has microsecond granularity */
-#define MAX_ADJUSTMENT 10
-
-static int get_clock(uint32_t *clock_high, uint32_t *clock_low,
-                    uint16_t *ret_clock_seq, int *num)
-{
-       THREAD_LOCAL int                adjustment = 0;
-       THREAD_LOCAL struct timeval     last = {0, 0};
-       THREAD_LOCAL int                state_fd = -2;
-       THREAD_LOCAL FILE               *state_f;
-       THREAD_LOCAL uint16_t           clock_seq;
-       struct timeval                  tv;
-       struct flock                    fl;
-       uint64_t                        clock_reg;
-       mode_t                          save_umask;
-       int                             len;
-
-       if (state_fd == -2) {
-               save_umask = umask(0);
-               state_fd = open("/var/lib/libuuid/clock.txt",
-                               O_RDWR|O_CREAT, 0660);
-               (void) umask(save_umask);
-               state_f = fdopen(state_fd, "r+");
-               if (!state_f) {
-                       close(state_fd);
-                       state_fd = -1;
-               }
-       }
-       fl.l_type = F_WRLCK;
-       fl.l_whence = SEEK_SET;
-       fl.l_start = 0;
-       fl.l_len = 0;
-       fl.l_pid = 0;
-       if (state_fd >= 0) {
-               rewind(state_f);
-               while (fcntl(state_fd, F_SETLKW, &fl) < 0) {
-                       if ((errno == EAGAIN) || (errno == EINTR))
-                               continue;
-                       fclose(state_f);
-                       close(state_fd);
-                       state_fd = -1;
-                       break;
-               }
-       }
-       if (state_fd >= 0) {
-               unsigned int cl;
-               unsigned long tv1, tv2;
-               int a;
-
-               if (fscanf(state_f, "clock: %04x tv: %lu %lu adj: %d\n",
-                          &cl, &tv1, &tv2, &a) == 4) {
-                       clock_seq = cl & 0x3FFF;
-                       last.tv_sec = tv1;
-                       last.tv_usec = tv2;
-                       adjustment = a;
-               }
-       }
-
-       if ((last.tv_sec == 0) && (last.tv_usec == 0)) {
-               get_random_bytes(&clock_seq, sizeof(clock_seq));
-               clock_seq &= 0x3FFF;
-               gettimeofday(&last, 0);
-               last.tv_sec--;
-       }
-
-try_again:
-       gettimeofday(&tv, 0);
-       if ((tv.tv_sec < last.tv_sec) ||
-           ((tv.tv_sec == last.tv_sec) &&
-            (tv.tv_usec < last.tv_usec))) {
-               clock_seq = (clock_seq+1) & 0x3FFF;
-               adjustment = 0;
-               last = tv;
-       } else if ((tv.tv_sec == last.tv_sec) &&
-           (tv.tv_usec == last.tv_usec)) {
-               if (adjustment >= MAX_ADJUSTMENT)
-                       goto try_again;
-               adjustment++;
-       } else {
-               adjustment = 0;
-               last = tv;
-       }
-
-       clock_reg = tv.tv_usec*10 + adjustment;
-       clock_reg += ((uint64_t) tv.tv_sec)*10000000;
-       clock_reg += (((uint64_t) 0x01B21DD2) << 32) + 0x13814000;
-
-       if (num && (*num > 1)) {
-               adjustment += *num - 1;
-               last.tv_usec += adjustment / 10;
-               adjustment = adjustment % 10;
-               last.tv_sec += last.tv_usec / 1000000;
-               last.tv_usec = last.tv_usec % 1000000;
-       }
-
-       if (state_fd > 0) {
-               rewind(state_f);
-               len = fprintf(state_f, 
-                             "clock: %04x tv: %016lu %08lu adj: %08d\n",
-                             clock_seq, last.tv_sec, last.tv_usec, adjustment);
-               fflush(state_f);
-               if (ftruncate(state_fd, len) < 0) {
-                       fprintf(state_f, "                   \n");
-                       fflush(state_f);
-               }
-               rewind(state_f);
-               fl.l_type = F_UNLCK;
-               fcntl(state_fd, F_SETLK, &fl);
-       }
-
-       *clock_high = clock_reg >> 32;
-       *clock_low = clock_reg;
-       *ret_clock_seq = clock_seq;
-       return 0;
-}
-
-#if defined(USE_UUIDD) && defined(HAVE_SYS_UN_H)
-static ssize_t read_all(int fd, char *buf, size_t count)
-{
-       ssize_t ret;
-       ssize_t c = 0;
-       int tries = 0;
-
-       memset(buf, 0, count);
-       while (count > 0) {
-               ret = read(fd, buf, count);
-               if (ret <= 0) {
-                       if ((errno == EAGAIN || errno == EINTR || ret == 0) &&
-                           (tries++ < 5))
-                               continue;
-                       return c ? c : -1;
-               }
-               if (ret > 0)
-                       tries = 0;
-               count -= ret;
-               buf += ret;
-               c += ret;
-       }
-       return c;
-}
-
-/*
- * Close all file descriptors
- */
-#define HAVE_GETDTABLESIZE 1
-static void close_all_fds(void)
-{
-       int i, max;
-
-#if defined(HAVE_SYSCONF) && defined(_SC_OPEN_MAX)
-       max = sysconf(_SC_OPEN_MAX);
-#elif defined(HAVE_GETDTABLESIZE)
-       max = getdtablesize();
-#elif defined(HAVE_GETRLIMIT) && defined(RLIMIT_NOFILE)
-       struct rlimit rl;
-
-       getrlimit(RLIMIT_NOFILE, &rl);
-       max = rl.rlim_cur;
-#else
-       max = OPEN_MAX;
-#endif
-
-       for (i=0; i < max; i++) {
-               close(i);
-               if (i <= 2)
-                       open("/dev/null", O_RDWR);
-       }
-}
-#endif
-
-/*
- * Try using the uuidd daemon to generate the UUID
- *
- * Returns 0 on success, non-zero on failure.
- */
-static int get_uuid_via_daemon(int op, uuid_t out, int *num)
-{
-#if defined(USE_UUIDD) && defined(HAVE_SYS_UN_H)
-       char op_buf[64];
-       int op_len;
-       int s;
-       ssize_t ret;
-       int32_t reply_len = 0, expected = 16;
-       struct sockaddr_un srv_addr;
-       struct stat st;
-       pid_t pid;
-       static const char *uuidd_path = UUIDD_PATH;
-       static int access_ret = -2;
-       static int start_attempts = 0;
-
-       if ((s = socket(AF_UNIX, SOCK_STREAM, 0)) < 0)
-               return -1;
-
-       srv_addr.sun_family = AF_UNIX;
-       strcpy(srv_addr.sun_path, UUIDD_SOCKET_PATH);
-
-       if (connect(s, (const struct sockaddr *) &srv_addr,
-                   sizeof(struct sockaddr_un)) < 0) {
-               if (access_ret == -2)
-                       access_ret = access(uuidd_path, X_OK);
-               if (access_ret == 0)
-                       access_ret = stat(uuidd_path, &st);
-               if (access_ret == 0 && (st.st_mode & (S_ISUID | S_ISGID)) == 0)
-                       access_ret = access(UUIDD_DIR, W_OK);
-               if (access_ret == 0 && start_attempts++ < 5) {
-                       if ((pid = fork()) == 0) {
-                               close_all_fds();
-                               execl(uuidd_path, "uuidd", "-qT", "300",
-                                     (char *) NULL);
-                               exit(1);
-                       }
-                       (void) waitpid(pid, 0, 0);
-                       if (connect(s, (const struct sockaddr *) &srv_addr,
-                                   sizeof(struct sockaddr_un)) < 0)
-                               goto fail;
-               } else
-                       goto fail;
-       }
-       op_buf[0] = op;
-       op_len = 1;
-       if (op == UUIDD_OP_BULK_TIME_UUID) {
-               memcpy(op_buf+1, num, sizeof(*num));
-               op_len += sizeof(*num);
-               expected += sizeof(*num);
-       }
-
-       ret = write(s, op_buf, op_len);
-       if (ret < 1)
-               goto fail;
-
-       ret = read_all(s, (char *) &reply_len, sizeof(reply_len));
-       if (ret < 0)
-               goto fail;
-
-       if (reply_len != expected)
-               goto fail;
-
-       ret = read_all(s, op_buf, reply_len);
-
-       if (op == UUIDD_OP_BULK_TIME_UUID)
-               memcpy(op_buf+16, num, sizeof(int));
-
-       memcpy(out, op_buf, 16);
-
-       close(s);
-       return ((ret == expected) ? 0 : -1);
-
-fail:
-       close(s);
-#endif
-       return -1;
-}
-
-void uuid__generate_time(uuid_t out, int *num)
-{
-       static unsigned char node_id[6];
-       static int has_init = 0;
-       struct uuid uu;
-       uint32_t        clock_mid;
-
-       if (!has_init) {
-               if (get_node_id(node_id) <= 0) {
-                       get_random_bytes(node_id, 6);
-                       /*
-                        * Set multicast bit, to prevent conflicts
-                        * with IEEE 802 addresses obtained from
-                        * network cards
-                        */
-                       node_id[0] |= 0x01;
-               }
-               has_init = 1;
-       }
-       get_clock(&clock_mid, &uu.time_low, &uu.clock_seq, num);
-       uu.clock_seq |= 0x8000;
-       uu.time_mid = (uint16_t) clock_mid;
-       uu.time_hi_and_version = ((clock_mid >> 16) & 0x0FFF) | 0x1000;
-       memcpy(uu.node, node_id, 6);
-       uuid_pack(&uu, out);
-}
-
-void uuid_generate_time(uuid_t out)
-{
-#ifdef TLS
-       THREAD_LOCAL int                num = 0;
-       THREAD_LOCAL struct uuid        uu;
-       THREAD_LOCAL time_t             last_time = 0;
-       time_t                          now;
-
-       if (num > 0) {
-               now = time(0);
-               if (now > last_time+1)
-                       num = 0;
-       }
-       if (num <= 0) {
-               num = 1000;
-               if (get_uuid_via_daemon(UUIDD_OP_BULK_TIME_UUID,
-                                       out, &num) == 0) {
-                       last_time = time(0);
-                       uuid_unpack(out, &uu);
-                       num--;
-                       return;
-               }
-               num = 0;
-       }
-       if (num > 0) {
-               uu.time_low++;
-               if (uu.time_low == 0) {
-                       uu.time_mid++;
-                       if (uu.time_mid == 0)
-                               uu.time_hi_and_version++;
-               }
-               num--;
-               uuid_pack(&uu, out);
-               return;
-       }
-#else
-       if (get_uuid_via_daemon(UUIDD_OP_TIME_UUID, out, 0) == 0)
-               return;
-#endif
-
-       uuid__generate_time(out, 0);
-}
-
-
-void uuid__generate_random(uuid_t out, int *num)
-{
-       uuid_t  buf;
-       struct uuid uu;
-       int i, n;
-
-       if (!num || !*num)
-               n = 1;
-       else
-               n = *num;
-
-       for (i = 0; i < n; i++) {
-               get_random_bytes(buf, sizeof(buf));
-               uuid_unpack(buf, &uu);
-
-               uu.clock_seq = (uu.clock_seq & 0x3FFF) | 0x8000;
-               uu.time_hi_and_version = (uu.time_hi_and_version & 0x0FFF)
-                       | 0x4000;
-               uuid_pack(&uu, out);
-               out += sizeof(uuid_t);
-       }
-}
-
-void uuid_generate_random(uuid_t out)
-{
-       int     num = 1;
-       /* No real reason to use the daemon for random uuid's -- yet */
-
-       uuid__generate_random(out, &num);
-}
-
-
-/*
- * This is the generic front-end to uuid_generate_random and
- * uuid_generate_time.  It uses uuid_generate_random only if
- * /dev/urandom is available, since otherwise we won't have
- * high-quality randomness.
- */
-void uuid_generate(uuid_t out)
-{
-       if (get_random_fd() >= 0)
-               uuid_generate_random(out);
-       else
-               uuid_generate_time(out);
-}
diff --git a/uuid/isnull.c b/uuid/isnull.c
deleted file mode 100644 (file)
index 931e7e7..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * isnull.c --- Check whether or not the UUID is null
- *
- * Copyright (C) 1996, 1997 Theodore Ts'o.
- *
- * %Begin-Header%
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, and the entire permission notice in its entirety,
- *    including the disclaimer of warranties.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote
- *    products derived from this software without specific prior
- *    written permission.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
- * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
- * DAMAGE.
- * %End-Header%
- */
-
-#include "uuidP.h"
-
-/* Returns 1 if the uuid is the NULL uuid */
-int uuid_is_null(const uuid_t uu)
-{
-       const unsigned char     *cp;
-       int                     i;
-
-       for (i=0, cp = uu; i < 16; i++)
-               if (*cp++)
-                       return 0;
-       return 1;
-}
-
diff --git a/uuid/pack.c b/uuid/pack.c
deleted file mode 100644 (file)
index 097516d..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Internal routine for packing UUID's
- *
- * Copyright (C) 1996, 1997 Theodore Ts'o.
- *
- * %Begin-Header%
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, and the entire permission notice in its entirety,
- *    including the disclaimer of warranties.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote
- *    products derived from this software without specific prior
- *    written permission.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
- * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
- * DAMAGE.
- * %End-Header%
- */
-
-#include <string.h>
-#include "uuidP.h"
-
-void uuid_pack(const struct uuid *uu, uuid_t ptr)
-{
-       uint32_t        tmp;
-       unsigned char   *out = ptr;
-
-       tmp = uu->time_low;
-       out[3] = (unsigned char) tmp;
-       tmp >>= 8;
-       out[2] = (unsigned char) tmp;
-       tmp >>= 8;
-       out[1] = (unsigned char) tmp;
-       tmp >>= 8;
-       out[0] = (unsigned char) tmp;
-
-       tmp = uu->time_mid;
-       out[5] = (unsigned char) tmp;
-       tmp >>= 8;
-       out[4] = (unsigned char) tmp;
-
-       tmp = uu->time_hi_and_version;
-       out[7] = (unsigned char) tmp;
-       tmp >>= 8;
-       out[6] = (unsigned char) tmp;
-
-       tmp = uu->clock_seq;
-       out[9] = (unsigned char) tmp;
-       tmp >>= 8;
-       out[8] = (unsigned char) tmp;
-
-       memcpy(out+10, uu->node, 6);
-}
-
diff --git a/uuid/parse.c b/uuid/parse.c
deleted file mode 100644 (file)
index 074383e..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * parse.c --- UUID parsing
- *
- * Copyright (C) 1996, 1997 Theodore Ts'o.
- *
- * %Begin-Header%
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, and the entire permission notice in its entirety,
- *    including the disclaimer of warranties.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote
- *    products derived from this software without specific prior
- *    written permission.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
- * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
- * DAMAGE.
- * %End-Header%
- */
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <ctype.h>
-#include <string.h>
-
-#include "uuidP.h"
-
-int uuid_parse(const char *in, uuid_t uu)
-{
-       struct uuid     uuid;
-       int             i;
-       const char      *cp;
-       char            buf[3];
-
-       if (strlen(in) != 36)
-               return -1;
-       for (i=0, cp = in; i <= 36; i++,cp++) {
-               if ((i == 8) || (i == 13) || (i == 18) ||
-                   (i == 23)) {
-                       if (*cp == '-')
-                               continue;
-                       else
-                               return -1;
-               }
-               if (i== 36)
-                       if (*cp == 0)
-                               continue;
-               if (!isxdigit(*cp))
-                       return -1;
-       }
-       uuid.time_low = strtoul(in, NULL, 16);
-       uuid.time_mid = strtoul(in+9, NULL, 16);
-       uuid.time_hi_and_version = strtoul(in+14, NULL, 16);
-       uuid.clock_seq = strtoul(in+19, NULL, 16);
-       cp = in+24;
-       buf[2] = 0;
-       for (i=0; i < 6; i++) {
-               buf[0] = *cp++;
-               buf[1] = *cp++;
-               uuid.node[i] = strtoul(buf, NULL, 16);
-       }
-
-       uuid_pack(&uuid, uu);
-       return 0;
-}
diff --git a/uuid/unpack.c b/uuid/unpack.c
deleted file mode 100644 (file)
index beaaff3..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Internal routine for unpacking UUID
- *
- * Copyright (C) 1996, 1997 Theodore Ts'o.
- *
- * %Begin-Header%
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, and the entire permission notice in its entirety,
- *    including the disclaimer of warranties.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote
- *    products derived from this software without specific prior
- *    written permission.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
- * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
- * DAMAGE.
- * %End-Header%
- */
-
-#include <string.h>
-#include "uuidP.h"
-
-void uuid_unpack(const uuid_t in, struct uuid *uu)
-{
-       const uint8_t   *ptr = in;
-       uint32_t                tmp;
-
-       tmp = *ptr++;
-       tmp = (tmp << 8) | *ptr++;
-       tmp = (tmp << 8) | *ptr++;
-       tmp = (tmp << 8) | *ptr++;
-       uu->time_low = tmp;
-
-       tmp = *ptr++;
-       tmp = (tmp << 8) | *ptr++;
-       uu->time_mid = tmp;
-
-       tmp = *ptr++;
-       tmp = (tmp << 8) | *ptr++;
-       uu->time_hi_and_version = tmp;
-
-       tmp = *ptr++;
-       tmp = (tmp << 8) | *ptr++;
-       uu->clock_seq = tmp;
-
-       memcpy(uu->node, ptr, 6);
-}
-
diff --git a/uuid/unparse.c b/uuid/unparse.c
deleted file mode 100644 (file)
index a95bbb0..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * unparse.c -- convert a UUID to string
- *
- * Copyright (C) 1996, 1997 Theodore Ts'o.
- *
- * %Begin-Header%
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, and the entire permission notice in its entirety,
- *    including the disclaimer of warranties.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote
- *    products derived from this software without specific prior
- *    written permission.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
- * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
- * DAMAGE.
- * %End-Header%
- */
-
-#include <stdio.h>
-
-#include "uuidP.h"
-
-static const char *fmt_lower =
-       "%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x";
-
-static const char *fmt_upper =
-       "%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X";
-
-#ifdef UUID_UNPARSE_DEFAULT_UPPER
-#define FMT_DEFAULT fmt_upper
-#else
-#define FMT_DEFAULT fmt_lower
-#endif
-
-static void uuid_unparse_x(const uuid_t uu, char *out, const char *fmt)
-{
-       struct uuid uuid;
-
-       uuid_unpack(uu, &uuid);
-       sprintf(out, fmt,
-               uuid.time_low, uuid.time_mid, uuid.time_hi_and_version,
-               uuid.clock_seq >> 8, uuid.clock_seq & 0xFF,
-               uuid.node[0], uuid.node[1], uuid.node[2],
-               uuid.node[3], uuid.node[4], uuid.node[5]);
-}
-
-void uuid_unparse_lower(const uuid_t uu, char *out)
-{
-       uuid_unparse_x(uu, out, fmt_lower);
-}
-
-void uuid_unparse_upper(const uuid_t uu, char *out)
-{
-       uuid_unparse_x(uu, out, fmt_upper);
-}
-
-void uuid_unparse(const uuid_t uu, char *out)
-{
-       uuid_unparse_x(uu, out, FMT_DEFAULT);
-}
diff --git a/uuid/uuid.h b/uuid/uuid.h
deleted file mode 100644 (file)
index ca846da..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Public include file for the UUID library
- *
- * Copyright (C) 1996, 1997, 1998 Theodore Ts'o.
- *
- * %Begin-Header%
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, and the entire permission notice in its entirety,
- *    including the disclaimer of warranties.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote
- *    products derived from this software without specific prior
- *    written permission.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
- * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
- * DAMAGE.
- * %End-Header%
- */
-
-#ifndef _UUID_UUID_H
-#define _UUID_UUID_H
-
-#include <sys/types.h>
-#ifndef _WIN32
-#include <sys/time.h>
-#endif
-#include <time.h>
-
-typedef unsigned char uuid_t[16];
-
-/* UUID Variant definitions */
-#define UUID_VARIANT_NCS       0
-#define UUID_VARIANT_DCE       1
-#define UUID_VARIANT_MICROSOFT 2
-#define UUID_VARIANT_OTHER     3
-
-/* UUID Type definitions */
-#define UUID_TYPE_DCE_TIME   1
-#define UUID_TYPE_DCE_RANDOM 4
-
-/* Allow UUID constants to be defined */
-#ifdef __GNUC__
-#define UUID_DEFINE(name,u0,u1,u2,u3,u4,u5,u6,u7,u8,u9,u10,u11,u12,u13,u14,u15) \
-       static const uuid_t name __attribute__ ((unused)) = {u0,u1,u2,u3,u4,u5,u6,u7,u8,u9,u10,u11,u12,u13,u14,u15}
-#else
-#define UUID_DEFINE(name,u0,u1,u2,u3,u4,u5,u6,u7,u8,u9,u10,u11,u12,u13,u14,u15) \
-       static const uuid_t name = {u0,u1,u2,u3,u4,u5,u6,u7,u8,u9,u10,u11,u12,u13,u14,u15}
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* clear.c */
-void uuid_clear(uuid_t uu);
-
-/* compare.c */
-int uuid_compare(const uuid_t uu1, const uuid_t uu2);
-
-/* copy.c */
-void uuid_copy(uuid_t dst, const uuid_t src);
-
-/* gen_uuid.c */
-void uuid_generate(uuid_t out);
-void uuid_generate_random(uuid_t out);
-void uuid_generate_time(uuid_t out);
-
-/* isnull.c */
-int uuid_is_null(const uuid_t uu);
-
-/* parse.c */
-int uuid_parse(const char *in, uuid_t uu);
-
-/* unparse.c */
-void uuid_unparse(const uuid_t uu, char *out);
-void uuid_unparse_lower(const uuid_t uu, char *out);
-void uuid_unparse_upper(const uuid_t uu, char *out);
-
-/* uuid_time.c */
-time_t uuid_time(const uuid_t uu, struct timeval *ret_tv);
-int uuid_type(const uuid_t uu);
-int uuid_variant(const uuid_t uu);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _UUID_UUID_H */
diff --git a/uuid/uuidP.h b/uuid/uuidP.h
deleted file mode 100644 (file)
index 86d86c5..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * uuid.h -- private header file for uuids
- *
- * Copyright (C) 1996, 1997 Theodore Ts'o.
- *
- * %Begin-Header%
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, and the entire permission notice in its entirety,
- *    including the disclaimer of warranties.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote
- *    products derived from this software without specific prior
- *    written permission.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
- * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
- * DAMAGE.
- * %End-Header%
- */
-
-#ifdef HAVE_INTTYPES_H
-#include <inttypes.h>
-#else
-#include <uuid/uuid_types.h>
-#endif
-#include <sys/types.h>
-
-#include <uuid/uuid.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <unistd.h>
-
-/*
- * Offset between 15-Oct-1582 and 1-Jan-70
- */
-#define TIME_OFFSET_HIGH 0x01B21DD2
-#define TIME_OFFSET_LOW  0x13814000
-
-struct uuid {
-       uint32_t        time_low;
-       uint16_t        time_mid;
-       uint16_t        time_hi_and_version;
-       uint16_t        clock_seq;
-       uint8_t node[6];
-};
-
-
-/*
- * prototypes
- */
-void uuid_pack(const struct uuid *uu, uuid_t ptr);
-void uuid_unpack(const uuid_t in, struct uuid *uu);
diff --git a/uuid/uuid_time.c b/uuid/uuid_time.c
deleted file mode 100644 (file)
index f25f5c9..0000000
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * uuid_time.c --- Interpret the time field from a uuid.  This program
- *     violates the UUID abstraction barrier by reaching into the guts
- *     of a UUID and interpreting it.
- *
- * Copyright (C) 1998, 1999 Theodore Ts'o.
- *
- * %Begin-Header%
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, and the entire permission notice in its entirety,
- *    including the disclaimer of warranties.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote
- *    products derived from this software without specific prior
- *    written permission.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
- * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
- * DAMAGE.
- * %End-Header%
- */
-
-#ifdef _WIN32
-#define _WIN32_WINNT 0x0500
-#include <windows.h>
-#define UUID MYUUID
-#endif
-
-#include <stdio.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#include <stdlib.h>
-#include <sys/types.h>
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-#include <time.h>
-
-#include "uuidP.h"
-
-time_t uuid_time(const uuid_t uu, struct timeval *ret_tv)
-{
-       struct timeval          tv;
-       struct uuid             uuid;
-       uint32_t                high;
-       uint64_t                clock_reg;
-
-       uuid_unpack(uu, &uuid);
-
-       high = uuid.time_mid | ((uuid.time_hi_and_version & 0xFFF) << 16);
-       clock_reg = uuid.time_low | ((uint64_t) high << 32);
-
-       clock_reg -= (((uint64_t) 0x01B21DD2) << 32) + 0x13814000;
-       tv.tv_sec = clock_reg / 10000000;
-       tv.tv_usec = (clock_reg % 10000000) / 10;
-
-       if (ret_tv)
-               *ret_tv = tv;
-
-       return tv.tv_sec;
-}
-
-int uuid_type(const uuid_t uu)
-{
-       struct uuid             uuid;
-
-       uuid_unpack(uu, &uuid);
-       return ((uuid.time_hi_and_version >> 12) & 0xF);
-}
-
-int uuid_variant(const uuid_t uu)
-{
-       struct uuid             uuid;
-       int                     var;
-
-       uuid_unpack(uu, &uuid);
-       var = uuid.clock_seq;
-
-       if ((var & 0x8000) == 0)
-               return UUID_VARIANT_NCS;
-       if ((var & 0x4000) == 0)
-               return UUID_VARIANT_DCE;
-       if ((var & 0x2000) == 0)
-               return UUID_VARIANT_MICROSOFT;
-       return UUID_VARIANT_OTHER;
-}
-
-#ifdef DEBUG
-static const char *variant_string(int variant)
-{
-       switch (variant) {
-       case UUID_VARIANT_NCS:
-               return "NCS";
-       case UUID_VARIANT_DCE:
-               return "DCE";
-       case UUID_VARIANT_MICROSOFT:
-               return "Microsoft";
-       default:
-               return "Other";
-       }
-}
-
-
-int
-main(int argc, char **argv)
-{
-       uuid_t          buf;
-       time_t          time_reg;
-       struct timeval  tv;
-       int             type, variant;
-
-       if (argc != 2) {
-               fprintf(stderr, "Usage: %s uuid\n", argv[0]);
-               exit(1);
-       }
-       if (uuid_parse(argv[1], buf)) {
-               fprintf(stderr, "Invalid UUID: %s\n", argv[1]);
-               exit(1);
-       }
-       variant = uuid_variant(buf);
-       type = uuid_type(buf);
-       time_reg = uuid_time(buf, &tv);
-
-       printf("UUID variant is %d (%s)\n", variant, variant_string(variant));
-       if (variant != UUID_VARIANT_DCE) {
-               printf("Warning: This program only knows how to interpret "
-                      "DCE UUIDs.\n\tThe rest of the output is likely "
-                      "to be incorrect!!\n");
-       }
-       printf("UUID type is %d", type);
-       switch (type) {
-       case 1:
-               printf(" (time based)\n");
-               break;
-       case 2:
-               printf(" (DCE)\n");
-               break;
-       case 3:
-               printf(" (name-based)\n");
-               break;
-       case 4:
-               printf(" (random)\n");
-               break;
-       default:
-               printf("\n");
-       }
-       if (type != 1) {
-               printf("Warning: not a time-based UUID, so UUID time "
-                      "decoding will likely not work!\n");
-       }
-       printf("UUID time is: (%ld, %ld): %s\n", tv.tv_sec, tv.tv_usec,
-              ctime(&time_reg));
-
-       return 0;
-}
-#endif
diff --git a/uuid/uuid_types.h b/uuid/uuid_types.h
deleted file mode 100644 (file)
index 934c72a..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-/* 
- * If linux/types.h is already been included, assume it has defined
- * everything we need.  (cross fingers)  Other header files may have 
- * also defined the types that we need.
- */
-#if (!defined(_STDINT_H) && !defined(_UUID_STDINT_H))
-#define _UUID_STDINT_H
-#include <sys/types.h>
-
-typedef unsigned char uint8_t;
-typedef signed char int8_t;
-
-#if (4 == 8)
-typedef unsigned int   uint64_t;
-#elif (4 == 8)
-typedef unsigned long  uint64_t;
-#elif (8 == 8)
-typedef unsigned long long     uint64_t;
-#endif
-
-#if (4 == 2)
-typedef        int             int16_t;
-typedef        unsigned int    uint16_t;
-#elif (2 == 2)
-typedef        short           int16_t;
-typedef        unsigned short  uint16_t;
-#else
-  ?==error: undefined 16 bit type
-#endif
-
-#if (4 == 4)
-typedef        unsigned int    uint32_t;
-#elif (4 == 4)
-typedef        unsigned long   uint32_t;
-#elif (2 == 4)
-typedef        unsigned short  uint32_t;
-#else
- ?== error: undefined 32 bit type
-#endif
-
-#endif
diff --git a/uuid/uuidd.h b/uuid/uuidd.h
deleted file mode 100644 (file)
index c71f4b7..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Definitions used by the uuidd daemon
- *
- * Copyright (C) 2007 Theodore Ts'o.
- *
- * %Begin-Header%
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, and the entire permission notice in its entirety,
- *    including the disclaimer of warranties.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote
- *    products derived from this software without specific prior
- *    written permission.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
- * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
- * DAMAGE.
- * %End-Header%
- */
-
-#ifndef _UUID_UUIDD_H
-#define _UUID_UUIDD_H
-
-#define UUIDD_DIR              "/var/lib/libuuid"
-#define UUIDD_SOCKET_PATH      UUIDD_DIR "/request"
-#define UUIDD_PIDFILE_PATH     UUIDD_DIR "/uuidd.pid"
-#define UUIDD_PATH             "/usr/sbin/uuidd"
-
-#define UUIDD_OP_GETPID                        0
-#define UUIDD_OP_GET_MAXOP             1
-#define UUIDD_OP_TIME_UUID             2
-#define UUIDD_OP_RANDOM_UUID           3
-#define UUIDD_OP_BULK_TIME_UUID                4
-#define UUIDD_OP_BULK_RANDOM_UUID      5
-#define UUIDD_MAX_OP                   UUIDD_OP_BULK_RANDOM_UUID
-
-extern void uuid__generate_time(uuid_t out, int *num);
-extern void uuid__generate_random(uuid_t out, int *num);
-
-#endif /* _UUID_UUID_H */