From 7690a3f789122bcd3c71d1eeb5bf4f310d657af7 Mon Sep 17 00:00:00 2001 From: Kim Kibum Date: Sun, 29 Apr 2012 17:01:24 +0900 Subject: [PATCH] upload tizen1.0 source --- CMakeLists.txt | 8 +- collation.c | 1743 ----------------------------------------- convert.c | 239 ------ debian/changelog | 4 +- debian/rules | 4 +- include/collation.h | 52 -- include/convert.h | 58 -- include/db-util.h | 2 - include/util-func.h | 13 +- packaging/libslp-db-util.spec | 32 +- util_func.c | 13 +- 11 files changed, 39 insertions(+), 2129 deletions(-) delete mode 100755 collation.c delete mode 100755 convert.c delete mode 100755 include/collation.h delete mode 100755 include/convert.h diff --git a/CMakeLists.txt b/CMakeLists.txt index f79f5e4..a081bc2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,7 +8,7 @@ SET(INCLUDEDIR "\${prefix}/include/db-util") SET(VERSION_MAJOR 0) SET(VERSION "${VERSION_MAJOR}.1.0") -SET(SRCS collation.c convert.c util_func.c) +SET(SRCS util_func.c) INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include) @@ -23,7 +23,6 @@ FOREACH(flag ${pkgs_CFLAGS}) ENDFOREACH(flag) SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -ldl -g") -#SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -finstrument-functions") SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}") @@ -31,7 +30,7 @@ ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"") ADD_DEFINITIONS("-DFACTORYFS=\"$ENV{FACTORYFS}\"") ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS}) -TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} -lpthread -ldl) +TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} -ldl) SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${VERSION_MAJOR}) SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${VERSION}) @@ -39,9 +38,6 @@ CONFIGURE_FILE(db-util.pc.in db-util.pc @ONLY) INSTALL(TARGETS ${PROJECT_NAME} DESTINATION lib COMPONENT RuntimeLibraries) INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/db-util.pc DESTINATION lib/pkgconfig) -INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/db-util-common.h DESTINATION include/db-util) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/db-util.h DESTINATION include/db-util) -INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/collation.h DESTINATION include/db-util) -INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/convert.h DESTINATION include/db-util) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/util-func.h DESTINATION include/db-util) diff --git a/collation.c b/collation.c deleted file mode 100755 index 29062e4..0000000 --- a/collation.c +++ /dev/null @@ -1,1743 +0,0 @@ -/* - * libslp-db-util - * - * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. - * - * Contact: Hakjoo Ko - * - * 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 -#include -#include -#include -#include "collation.h" -#include "string.h" -#include "stdlib.h" - -typedef unsigned short DB_UINT16; -typedef unsigned int DB_UINT32; -typedef unsigned short DB_WCHAR; - -#define WSC_UNICODE_TO_ALPHA_ORDER_COUNT 491+59 -#define WSC_CAP_TO_SMALL_OFFSET 0x0020 - -/* It represents the alphabetical order of unicode. */ -/* Note : A collation table should be ascending order by unicode! */ -typedef struct { - DB_UINT16 wchCode; - DB_UINT32 uAlphabeticalOrder; - -} UnicodeToAlphaOrder; - -/* Alpha order for unicode characters */ - -/* - CAP = Capital letter - SMA = Small letter - - LIG = Ligature - AFR = African - - DIA = Diaresis - STR = Stroke - BAR = Bar - CED = Cedilla - ACU = Acute - GRA = Grave - CIR = Circumflex - RIN = Ring above - TIL = Tilde - MAC = Macron - BRE = Breve - DOU = Double Acute - OGO = Ogonek - DOM = Dot middle - DOA = Dot above - DOL = Dotless - CAR = Caron - HOR = Horn - ACL = Accented Ligature - APO = Preceded by apostrophe - -*/ - -enum { - /* Null value : Added by SYKim (2005-07-18) */ - ALP_ORDER_NULL = 0x0000, - /* CJK Unified ideographs */ - ALP_ORDER_CJK_UNIFIED = 0x0001, - /* CJK Symbols and Punctuations */ - ALP_ORDER_CJK_SYMBOLS = 0x0010, - /* Thai characters */ - ALP_ORDER_THAI_CHARS = 0x0100, - /* digits */ - ALP_ORDER_DIGIT_ZERO = 0x1200, - ALP_ORDER_DIGIT_ONE = 0x1201, - ALP_ORDER_DIGIT_TWO = 0x1202, - ALP_ORDER_DIGIT_THREE = 0x1203, - ALP_ORDER_DIGIT_FOUR = 0x1204, - ALP_ORDER_DIGIT_FIVE = 0x1205, - ALP_ORDER_DIGIT_SIX = 0x1206, - ALP_ORDER_DIGIT_SEVEN = 0x1207, - ALP_ORDER_DIGIT_EIGHT = 0x1208, - ALP_ORDER_DIGIT_NINE = 0x1209, - - /* Cyrillic characters */ - ALP_ORDER_CYRILLIC_CAP_A = 0xF300, - ALP_ORDER_CYRILLIC_SMA_A = 0xF301, - ALP_ORDER_CYRILLIC_CAP_BE = 0xF302, - ALP_ORDER_CYRILLIC_SMA_BE = 0xF303, - ALP_ORDER_CYRILLIC_CAP_VE = 0xF304, - ALP_ORDER_CYRILLIC_SMA_VE = 0xF305, - ALP_ORDER_CYRILLIC_CAP_GHE = 0xF306, - ALP_ORDER_CYRILLIC_SMA_GHE = 0xF307, - ALP_ORDER_CYRILLIC_CAP_DE = 0xF308, - ALP_ORDER_CYRILLIC_SMA_DE = 0xF309, - ALP_ORDER_CYRILLIC_CAP_IE = 0xF30A, - ALP_ORDER_CYRILLIC_SMA_IE = 0xF30B, - ALP_ORDER_CYRILLIC_CAP_ZHE = 0xF30C, - ALP_ORDER_CYRILLIC_SMA_ZHE = 0xF30D, - ALP_ORDER_CYRILLIC_CAP_ZE = 0xF30E, - ALP_ORDER_CYRILLIC_SMA_ZE = 0xF30F, - ALP_ORDER_CYRILLIC_CAP_I = 0xF310, - ALP_ORDER_CYRILLIC_SMA_I = 0xF311, - ALP_ORDER_CYRILLIC_CAP_SHORT_I = 0xF312, - ALP_ORDER_CYRILLIC_SMA_SHORT_I = 0xF313, - ALP_ORDER_CYRILLIC_CAP_KA = 0xF314, - ALP_ORDER_CYRILLIC_SMA_KA = 0xF315, - ALP_ORDER_CYRILLIC_CAP_EL = 0xF316, - ALP_ORDER_CYRILLIC_SMA_EL = 0xF317, - ALP_ORDER_CYRILLIC_CAP_EM = 0xF318, - ALP_ORDER_CYRILLIC_SMA_EM = 0xF319, - ALP_ORDER_CYRILLIC_CAP_EN = 0xF31A, - ALP_ORDER_CYRILLIC_SMA_EN = 0xF31B, - ALP_ORDER_CYRILLIC_CAP_O = 0xF31C, - ALP_ORDER_CYRILLIC_SMA_O = 0xF31D, - ALP_ORDER_CYRILLIC_CAP_PE = 0xF31E, - ALP_ORDER_CYRILLIC_SMA_PE = 0xF31F, - ALP_ORDER_CYRILLIC_CAP_ER = 0xF320, - ALP_ORDER_CYRILLIC_SMA_ER = 0xF321, - ALP_ORDER_CYRILLIC_CAP_ES = 0xF322, - ALP_ORDER_CYRILLIC_SMA_ES = 0xF323, - ALP_ORDER_CYRILLIC_CAP_TE = 0xF324, - ALP_ORDER_CYRILLIC_SMA_TE = 0xF325, - ALP_ORDER_CYRILLIC_CAP_U = 0xF326, - ALP_ORDER_CYRILLIC_SMA_U = 0xF327, - ALP_ORDER_CYRILLIC_CAP_EF = 0xF328, - ALP_ORDER_CYRILLIC_SMA_EF = 0xF329, - ALP_ORDER_CYRILLIC_CAP_HA = 0xF32A, - ALP_ORDER_CYRILLIC_SMA_HA = 0xF32B, - ALP_ORDER_CYRILLIC_CAP_TSE = 0xF32C, - ALP_ORDER_CYRILLIC_SMA_TSE = 0xF32D, - ALP_ORDER_CYRILLIC_CAP_CHE = 0xF32E, - ALP_ORDER_CYRILLIC_SMA_CHE = 0xF32F, - ALP_ORDER_CYRILLIC_CAP_SHA = 0xF330, - ALP_ORDER_CYRILLIC_SMA_SHA = 0xF331, - ALP_ORDER_CYRILLIC_CAP_SHCHA = 0xF332, - ALP_ORDER_CYRILLIC_SMA_SHCHA = 0xF333, - ALP_ORDER_CYRILLIC_CAP_HARD_SIGN = 0xF334, - ALP_ORDER_CYRILLIC_SMA_HARD_SIGN = 0xF335, - ALP_ORDER_CYRILLIC_CAP_YERU = 0xF336, - ALP_ORDER_CYRILLIC_SMA_YERU = 0xF337, - ALP_ORDER_CYRILLIC_CAP_SOFT_SIGN = 0xF338, - ALP_ORDER_CYRILLIC_SMA_SOFT_SIGN = 0xF339, - ALP_ORDER_CYRILLIC_CAP_E = 0xF33A, - ALP_ORDER_CYRILLIC_SMA_E = 0xF33B, - ALP_ORDER_CYRILLIC_CAP_YU = 0xF33C, - ALP_ORDER_CYRILLIC_SMA_YU = 0xF33D, - ALP_ORDER_CYRILLIC_CAP_YA = 0xF33E, - ALP_ORDER_CYRILLIC_SMA_YA = 0xF33F, - - /* Greek characters */ - ALP_ORDER_GREEK_CAP_ALPHA = 0x2400, - ALP_ORDER_GREEK_SMA_ALPHA = 0x2401, - ALP_ORDER_GREEK_CAP_BETA = 0x2402, - ALP_ORDER_GREEK_SMA_BETA = 0x2403, - ALP_ORDER_GREEK_CAP_GAMMA = 0x4404, - ALP_ORDER_GREEK_SMA_GAMMA = 0x4405, - ALP_ORDER_GREEK_CAP_DELTA = 0x3406, - ALP_ORDER_GREEK_SMA_DELTA = 0x3407, - ALP_ORDER_GREEK_CAP_EPSILON = 0x3408, - ALP_ORDER_GREEK_SMA_EPSILON = 0x3409, - ALP_ORDER_GREEK_CAP_ZETA = 0x940A, - ALP_ORDER_GREEK_SMA_ZETA = 0x940B, - ALP_ORDER_GREEK_CAP_ETA = 0x440C, - ALP_ORDER_GREEK_SMA_ETA = 0x440D, - ALP_ORDER_GREEK_CAP_THETA = 0x740E, - ALP_ORDER_GREEK_SMA_THETA = 0x740F, - ALP_ORDER_GREEK_CAP_IOTA = 0x4410, - ALP_ORDER_GREEK_SMA_IOTA = 0x4411, - ALP_ORDER_GREEK_CAP_KAPPA = 0x5412, - ALP_ORDER_GREEK_SMA_KAPPA = 0x5413, - ALP_ORDER_GREEK_CAP_LAMDA = 0x5414, - ALP_ORDER_GREEK_SMA_LAMDA = 0x5415, - ALP_ORDER_GREEK_CAP_MU = 0x6416, - ALP_ORDER_GREEK_SMA_MU = 0x6417, - ALP_ORDER_GREEK_CAP_NU = 0x6418, - ALP_ORDER_GREEK_SMA_NU = 0x6419, - ALP_ORDER_GREEK_CAP_XI = 0x941A, - ALP_ORDER_GREEK_SMA_XI = 0x941B, - ALP_ORDER_GREEK_CAP_OMICRON = 0x641C, - ALP_ORDER_GREEK_SMA_OMICRON = 0x641D, - ALP_ORDER_GREEK_CAP_PI = 0x741E, - ALP_ORDER_GREEK_SMA_PI = 0x741F, - ALP_ORDER_GREEK_CAP_RHO = 0x7420, - ALP_ORDER_GREEK_SMA_RHO = 0x7421, - ALP_ORDER_GREEK_CAP_SIGMA = 0x7422, - ALP_ORDER_GREEK_SMA_SIGMA = 0x7423, - ALP_ORDER_GREEK_CAP_TAU = 0x8424, - ALP_ORDER_GREEK_SMA_TAU = 0x8425, - ALP_ORDER_GREEK_CAP_UPSILON = 0x9426, - ALP_ORDER_GREEK_SMA_UPSILON = 0x9427, - ALP_ORDER_GREEK_CAP_PHI = 0x3428, - ALP_ORDER_GREEK_SMA_PHI = 0x3429, - ALP_ORDER_GREEK_CAP_CHI = 0x942A, - ALP_ORDER_GREEK_SMA_CHI = 0x942B, - ALP_ORDER_GREEK_CAP_PSI = 0x942C, - ALP_ORDER_GREEK_SMA_PSI = 0x942D, - ALP_ORDER_GREEK_CAP_OMEGA = 0x942E, - ALP_ORDER_GREEK_SMA_OMEGA = 0x942F, - - /* ISO-Latin characters */ - ALP_ORDER_ISOLAT_CAP_A = 0x2800, - ALP_ORDER_ISOLAT_SMA_A = 0x2801, - ALP_ORDER_ISOLAT_CAP_A_DIA = 0x2802, - ALP_ORDER_ISOLAT_SMA_A_DIA = 0x2802, - ALP_ORDER_ISOLAT_CAP_A_ACU = 0x2804, - ALP_ORDER_ISOLAT_SMA_A_ACU = 0x2804, - ALP_ORDER_ISOLAT_CAP_A_GRA = 0x2806, - ALP_ORDER_ISOLAT_SMA_A_GRA = 0x2806, - ALP_ORDER_ISOLAT_CAP_A_CIR = 0x2808, - ALP_ORDER_ISOLAT_SMA_A_CIR = 0x2808, - ALP_ORDER_ISOLAT_CAP_A_RIN = 0x280A, - ALP_ORDER_ISOLAT_SMA_A_RIN = 0x280A, - ALP_ORDER_ISOLAT_CAP_A_TIL = 0x280C, - ALP_ORDER_ISOLAT_SMA_A_TIL = 0x280C, - ALP_ORDER_ISOLAT_CAP_A_MAC = 0x280E, - ALP_ORDER_ISOLAT_SMA_A_MAC = 0x280E, - ALP_ORDER_ISOLAT_CAP_A_BRE = 0x2810, - ALP_ORDER_ISOLAT_SMA_A_BRE = 0x2810, - ALP_ORDER_ISOLAT_CAP_A_OGO = 0x2812, - ALP_ORDER_ISOLAT_SMA_A_OGO = 0x2812, - ALP_ORDER_ISOLAT_CAP_A_CAR = 0x2814, - ALP_ORDER_ISOLAT_SMA_A_CAR = 0x2814, - ALP_ORDER_ISOLAT_CAP_A_DIA_MAC = 0x2816, - ALP_ORDER_ISOLAT_SMA_A_DIA_MAC = 0x2816, - ALP_ORDER_ISOLAT_CAP_A_RIN_ACU = 0x2818, - ALP_ORDER_ISOLAT_SMA_A_RIN_ACU = 0x2818, - ALP_ORDER_ISOLAT_CAP_A_DOA_MAC = 0x281A, - ALP_ORDER_ISOLAT_SMA_A_DOA_MAC = 0x281A, - - ALP_ORDER_ISOLAT_CAP_LIG_AE = 0x281C, - ALP_ORDER_ISOLAT_SMA_LIG_AE = 0x281C, - ALP_ORDER_ISOLAT_CAP_LIG_AE_ACU = 0x281E, - ALP_ORDER_ISOLAT_SMA_LIG_AE_ACU = 0x281E, - ALP_ORDER_ISOLAT_CAP_LIG_AE_MAC = 0x2820, - ALP_ORDER_ISOLAT_SMA_LIG_AE_MAC = 0x2820, - - ALP_ORDER_ISOLAT_CAP_B = 0x2822, - ALP_ORDER_ISOLAT_SMA_B = 0x2823, - ALP_ORDER_ISOLAT_SMA_B_STR = 0x2822, - - ALP_ORDER_ISOLAT_CAP_C = 0x2825, - ALP_ORDER_ISOLAT_SMA_C = 0x2826, - ALP_ORDER_ISOLAT_CAP_C_CED = 0x2827, - ALP_ORDER_ISOLAT_SMA_C_CED = 0x2828, - ALP_ORDER_ISOLAT_CAP_C_ACU = 0x2829, - ALP_ORDER_ISOLAT_SMA_C_ACU = 0x2829, - ALP_ORDER_ISOLAT_CAP_C_CIR = 0x282B, - ALP_ORDER_ISOLAT_SMA_C_CIR = 0x282B, - ALP_ORDER_ISOLAT_CAP_C_DOA = 0x282D, - ALP_ORDER_ISOLAT_SMA_C_DOA = 0x282D, - ALP_ORDER_ISOLAT_CAP_C_CAR = 0x282F, - ALP_ORDER_ISOLAT_SMA_C_CAR = 0x282F, - - ALP_ORDER_ISOLAT_CAP_D = 0x3831, - ALP_ORDER_ISOLAT_SMA_D = 0x3832, - ALP_ORDER_ISOLAT_CAP_D_STR = 0x3833, - ALP_ORDER_ISOLAT_SMA_D_STR = 0x3833, - ALP_ORDER_ISOLAT_CAP_D_CAR = 0x3835, - ALP_ORDER_ISOLAT_SMA_D_CAR = 0x3835, - ALP_ORDER_ISOLAT_CAP_AFR_D = 0x3835, - - ALP_ORDER_ISOLAT_CAP_LIG_DZ = 0x3838, - ALP_ORDER_ISOLAT_CAP_D_SMA_Z = 0x3838, - ALP_ORDER_ISOLAT_SMA_LIG_DZ = 0x3838, - ALP_ORDER_ISOLAT_CAP_LIG_DZ_CAR = 0x383B, - ALP_ORDER_ISOLAT_CAP_D_SMA_Z_CAR = 0x383B, - ALP_ORDER_ISOLAT_SMA_LIG_DZ_CAR = 0x383B, - - ALP_ORDER_ISOLAT_CAP_E = 0x383E, - ALP_ORDER_ISOLAT_SMA_E = 0x383F, - ALP_ORDER_ISOLAT_CAP_E_DIA = 0x3840, - ALP_ORDER_ISOLAT_SMA_E_DIA = 0x3840, - ALP_ORDER_ISOLAT_CAP_E_ACU = 0x3842, - ALP_ORDER_ISOLAT_SMA_E_ACU = 0x3842, - ALP_ORDER_ISOLAT_CAP_E_GRA = 0x3844, - ALP_ORDER_ISOLAT_SMA_E_GRA = 0x3844, - ALP_ORDER_ISOLAT_CAP_E_CIR = 0x3846, - ALP_ORDER_ISOLAT_SMA_E_CIR = 0x3846, - ALP_ORDER_ISOLAT_CAP_E_MAC = 0x3848, - ALP_ORDER_ISOLAT_SMA_E_MAC = 0x3848, - ALP_ORDER_ISOLAT_CAP_E_BRE = 0x384A, - ALP_ORDER_ISOLAT_SMA_E_BRE = 0x384A, - ALP_ORDER_ISOLAT_CAP_E_OGO = 0x384C, - ALP_ORDER_ISOLAT_SMA_E_OGO = 0x384C, - ALP_ORDER_ISOLAT_CAP_E_DOA = 0x384E, - ALP_ORDER_ISOLAT_SMA_E_DOA = 0x384F, - ALP_ORDER_ISOLAT_CAP_E_CAR = 0x3850, - ALP_ORDER_ISOLAT_SMA_E_CAR = 0x3850, - - ALP_ORDER_ISOLAT_CAP_F = 0x3852, - ALP_ORDER_ISOLAT_SMA_F = 0x3853, - - ALP_ORDER_ISOLAT_CAP_G = 0x4854, - ALP_ORDER_ISOLAT_SMA_G = 0x4855, - ALP_ORDER_ISOLAT_CAP_G_STR = 0x4856, - ALP_ORDER_ISOLAT_SMA_G_STR = 0x4856, - ALP_ORDER_ISOLAT_CAP_G_CED = 0x4858, - ALP_ORDER_ISOLAT_SMA_G_CED = 0x4858, - ALP_ORDER_ISOLAT_CAP_G_ACU = 0x485A, - ALP_ORDER_ISOLAT_SMA_G_ACU = 0x485A, - ALP_ORDER_ISOLAT_CAP_G_CIR = 0x485C, - ALP_ORDER_ISOLAT_SMA_G_CIR = 0x485C, - ALP_ORDER_ISOLAT_CAP_G_BRE = 0x485E, - ALP_ORDER_ISOLAT_SMA_G_BRE = 0x485E, - ALP_ORDER_ISOLAT_CAP_G_DOA = 0x4860, - ALP_ORDER_ISOLAT_SMA_G_DOA = 0x4860, - ALP_ORDER_ISOLAT_CAP_G_CAR = 0x4862, - ALP_ORDER_ISOLAT_SMA_G_CAR = 0x4862, - - ALP_ORDER_ISOLAT_CAP_H = 0x4864, - ALP_ORDER_ISOLAT_SMA_H = 0x4865, - ALP_ORDER_ISOLAT_CAP_H_STR = 0x4866, - ALP_ORDER_ISOLAT_SMA_H_STR = 0x4866, - ALP_ORDER_ISOLAT_CAP_H_CIR = 0x4868, - ALP_ORDER_ISOLAT_SMA_H_CIR = 0x4868, - - ALP_ORDER_ISOLAT_CAP_I = 0x486A, - ALP_ORDER_ISOLAT_SMA_I = 0x486B, - ALP_ORDER_ISOLAT_CAP_I_DIA = 0x486C, - ALP_ORDER_ISOLAT_SMA_I_DIA = 0x486C, - ALP_ORDER_ISOLAT_CAP_I_STR = 0x486E, - ALP_ORDER_ISOLAT_CAP_I_ACU = 0x486F, - ALP_ORDER_ISOLAT_SMA_I_ACU = 0x4870, - ALP_ORDER_ISOLAT_CAP_I_GRA = 0x4870, - ALP_ORDER_ISOLAT_SMA_I_GRA = 0x4872, - ALP_ORDER_ISOLAT_CAP_I_CIR = 0x4873, - ALP_ORDER_ISOLAT_SMA_I_CIR = 0x4873, - ALP_ORDER_ISOLAT_CAP_I_TIL = 0x4875, - ALP_ORDER_ISOLAT_SMA_I_TIL = 0x4875, - ALP_ORDER_ISOLAT_CAP_I_MAC = 0x4877, - ALP_ORDER_ISOLAT_SMA_I_MAC = 0x4877, - ALP_ORDER_ISOLAT_CAP_I_BRE = 0x4879, - ALP_ORDER_ISOLAT_SMA_I_BRE = 0x4879, - ALP_ORDER_ISOLAT_CAP_I_OGO = 0x487B, - ALP_ORDER_ISOLAT_SMA_I_OGO = 0x487B, - ALP_ORDER_ISOLAT_CAP_I_DOA = 0x487D, - ALP_ORDER_ISOLAT_SMA_I_DOL = 0x487E, - ALP_ORDER_ISOLAT_CAP_I_CAR = 0x487F, - ALP_ORDER_ISOLAT_SMA_I_CAR = 0x487F, - - ALP_ORDER_ISOLAT_CAP_LIG_IJ = 0x4881, - ALP_ORDER_ISOLAT_SMA_LIG_IJ = 0x4881, - - ALP_ORDER_ISOLAT_CAP_J = 0x5883, - ALP_ORDER_ISOLAT_SMA_J = 0x5884, - ALP_ORDER_ISOLAT_CAP_J_CED = 0x5885, - ALP_ORDER_ISOLAT_SMA_J_CED = 0x5885, - ALP_ORDER_ISOLAT_CAP_J_CIR = 0x5887, - ALP_ORDER_ISOLAT_SMA_J_CIR = 0x5887, - ALP_ORDER_ISOLAT_SMA_J_CAR = 0x5889, - - ALP_ORDER_ISOLAT_CAP_K = 0x588A, - ALP_ORDER_ISOLAT_SMA_K = 0x588B, - ALP_ORDER_ISOLAT_CAP_K_CAR = 0x588C, - ALP_ORDER_ISOLAT_SMA_K_CAR = 0x588C, - - ALP_ORDER_ISOLAT_CAP_L = 0x588E, - ALP_ORDER_ISOLAT_SMA_L = 0x588F, - ALP_ORDER_ISOLAT_CAP_L_STR = 0x5890, - ALP_ORDER_ISOLAT_SMA_L_STR = 0x5890, - ALP_ORDER_ISOLAT_SMA_L_BAR = 0x5892, - ALP_ORDER_ISOLAT_CAP_L_CED = 0x5893, - ALP_ORDER_ISOLAT_SMA_L_CED = 0x5893, - ALP_ORDER_ISOLAT_CAP_L_ACU = 0x5895, - ALP_ORDER_ISOLAT_SMA_L_ACU = 0x5895, - ALP_ORDER_ISOLAT_CAP_L_DOM = 0x5897, - ALP_ORDER_ISOLAT_SMA_L_DOM = 0x5897, - ALP_ORDER_ISOLAT_CAP_L_CAR = 0x5899, - ALP_ORDER_ISOLAT_SMA_L_CAR = 0x5899, - - ALP_ORDER_ISOLAT_CAP_LIG_LJ = 0x589B, - ALP_ORDER_ISOLAT_CAP_L_SMA_J = 0x589B, - ALP_ORDER_ISOLAT_SMA_LIG_LJ = 0x589B, - - ALP_ORDER_ISOLAT_CAP_M = 0x689E, - ALP_ORDER_ISOLAT_SMA_M = 0x689F, - - ALP_ORDER_ISOLAT_CAP_N = 0x68A0, - ALP_ORDER_ISOLAT_SMA_N = 0x68A1, - ALP_ORDER_ISOLAT_CAP_N_CED = 0x68A2, - ALP_ORDER_ISOLAT_SMA_N_CED = 0x68A2, - ALP_ORDER_ISOLAT_CAP_N_ACU = 0x68A4, - ALP_ORDER_ISOLAT_SMA_N_ACU = 0x68A4, - ALP_ORDER_ISOLAT_CAP_N_TIL = 0x68A6, - ALP_ORDER_ISOLAT_SMA_N_TIL = 0x68A6, - ALP_ORDER_ISOLAT_CAP_N_CAR = 0x68A8, - ALP_ORDER_ISOLAT_SMA_N_CAR = 0x68A8, - ALP_ORDER_ISOLAT_SMA_N_APO = 0x68AA, - - ALP_ORDER_ISOLAT_CAP_LIG_NJ = 0x68AB, - ALP_ORDER_ISOLAT_CAP_N_SMA_J = 0x68AB, - ALP_ORDER_ISOLAT_SMA_LIG_NJ = 0x68AB, - - ALP_ORDER_ISOLAT_CAP_O = 0x68AE, - ALP_ORDER_ISOLAT_SMA_O = 0x68AF, - ALP_ORDER_ISOLAT_CAP_O_DIA = 0x68B0, - ALP_ORDER_ISOLAT_SMA_O_DIA = 0x68B0, - ALP_ORDER_ISOLAT_CAP_O_STR = 0x68B2, - ALP_ORDER_ISOLAT_SMA_O_STR = 0x68B2, - ALP_ORDER_ISOLAT_CAP_O_ACU = 0x68B4, - ALP_ORDER_ISOLAT_SMA_O_ACU = 0x68B4, - ALP_ORDER_ISOLAT_CAP_O_GRA = 0x68B6, - ALP_ORDER_ISOLAT_SMA_O_GRA = 0x68B6, - ALP_ORDER_ISOLAT_CAP_O_CIR = 0x68B8, - ALP_ORDER_ISOLAT_SMA_O_CIR = 0x68B8, - ALP_ORDER_ISOLAT_CAP_O_TIL = 0x68BA, - ALP_ORDER_ISOLAT_SMA_O_TIL = 0x68BA, - ALP_ORDER_ISOLAT_CAP_O_MAC = 0x68BC, - ALP_ORDER_ISOLAT_SMA_O_MAC = 0x68BC, - ALP_ORDER_ISOLAT_CAP_O_BRE = 0x68BE, - ALP_ORDER_ISOLAT_SMA_O_BRE = 0x68BE, - ALP_ORDER_ISOLAT_CAP_O_DOU = 0x68C0, - ALP_ORDER_ISOLAT_SMA_O_DOU = 0x68C0, - ALP_ORDER_ISOLAT_CAP_O_OGO = 0x68C2, - ALP_ORDER_ISOLAT_SMA_O_OGO = 0x68C2, - ALP_ORDER_ISOLAT_CAP_O_CAR = 0x68C4, - ALP_ORDER_ISOLAT_SMA_O_CAR = 0x68C4, - ALP_ORDER_ISOLAT_CAP_O_HOR = 0x68C6, - ALP_ORDER_ISOLAT_SMA_O_HOR = 0x68C6, - ALP_ORDER_ISOLAT_CAP_O_STR_ACU = 0x68C8, - ALP_ORDER_ISOLAT_SMA_O_STR_ACU = 0x68C8, - ALP_ORDER_ISOLAT_CAP_O_OGO_MAC = 0x68CA, - ALP_ORDER_ISOLAT_SMA_O_OGO_MAC = 0x68CA, - - ALP_ORDER_ISOLAT_CAP_LIG_OE = 0x68CC, - ALP_ORDER_ISOLAT_SMA_LIG_OE = 0x68CC, - - ALP_ORDER_ISOLAT_CAP_P = 0x78CE, - ALP_ORDER_ISOLAT_SMA_P = 0x78CF, - - ALP_ORDER_ISOLAT_CAP_Q = 0x78D0, - ALP_ORDER_ISOLAT_SMA_Q = 0x78D1, - - ALP_ORDER_ISOLAT_CAP_R = 0x78D2, - ALP_ORDER_ISOLAT_SMA_R = 0x78D3, - ALP_ORDER_ISOLAT_CAP_R_CED = 0x78D4, - ALP_ORDER_ISOLAT_SMA_R_CED = 0x78D4, - ALP_ORDER_ISOLAT_CAP_R_ACU = 0x78D6, - ALP_ORDER_ISOLAT_SMA_R_ACU = 0x78D6, - ALP_ORDER_ISOLAT_CAP_R_CAR = 0x78D8, - ALP_ORDER_ISOLAT_SMA_R_CAR = 0x78D8, - - ALP_ORDER_ISOLAT_CAP_S = 0x78DA, - ALP_ORDER_ISOLAT_SMA_S = 0x78DB, - ALP_ORDER_ISOLAT_CAP_S_CED = 0x78DC, - ALP_ORDER_ISOLAT_SMA_S_CED = 0x78DC, - ALP_ORDER_ISOLAT_CAP_S_ACU = 0x78DE, - ALP_ORDER_ISOLAT_SMA_S_ACU = 0x78DF, - ALP_ORDER_ISOLAT_CAP_S_CIR = 0x78E0, - ALP_ORDER_ISOLAT_SMA_S_CIR = 0x78E0, - ALP_ORDER_ISOLAT_CAP_S_CAR = 0x78E2, - ALP_ORDER_ISOLAT_SMA_S_CAR = 0x78E2, - ALP_ORDER_ISOLAT_SMA_SHARP_S = 0x78E4, - ALP_ORDER_ISOLAT_SMA_LONG_S = 0x78E5, - - ALP_ORDER_ISOLAT_CAP_T = 0x88E6, - ALP_ORDER_ISOLAT_SMA_T = 0x88E7, - ALP_ORDER_ISOLAT_CAP_T_STR = 0x88E8, - ALP_ORDER_ISOLAT_SMA_T_STR = 0x88E8, - ALP_ORDER_ISOLAT_CAP_T_CED = 0x88EA, - ALP_ORDER_ISOLAT_SMA_T_CED = 0x88EA, - ALP_ORDER_ISOLAT_CAP_T_CAR = 0x88EC, - ALP_ORDER_ISOLAT_SMA_T_CAR = 0x88EC, - - ALP_ORDER_ISOLAT_CAP_U = 0x88EE, - ALP_ORDER_ISOLAT_SMA_U = 0x88EF, - ALP_ORDER_ISOLAT_CAP_U_DIA = 0x88F0, - ALP_ORDER_ISOLAT_SMA_U_DIA = 0x88F0, - ALP_ORDER_ISOLAT_CAP_U_ACU = 0x88F2, - ALP_ORDER_ISOLAT_SMA_U_ACU = 0x88F2, - ALP_ORDER_ISOLAT_CAP_U_GRA = 0x88F4, - ALP_ORDER_ISOLAT_SMA_U_GRA = 0x88F4, - ALP_ORDER_ISOLAT_CAP_U_CIR = 0x88F6, - ALP_ORDER_ISOLAT_SMA_U_CIR = 0x88F6, - ALP_ORDER_ISOLAT_CAP_U_RIN = 0x88F8, - ALP_ORDER_ISOLAT_SMA_U_RIN = 0x88F8, - ALP_ORDER_ISOLAT_CAP_U_TIL = 0x88FA, - ALP_ORDER_ISOLAT_SMA_U_TIL = 0x88FA, - ALP_ORDER_ISOLAT_CAP_U_MAC = 0x88FC, - ALP_ORDER_ISOLAT_SMA_U_MAC = 0x88FC, - ALP_ORDER_ISOLAT_CAP_U_BRE = 0x88FE, - ALP_ORDER_ISOLAT_SMA_U_BRE = 0x88FE, - ALP_ORDER_ISOLAT_CAP_U_DOU = 0x8900, - ALP_ORDER_ISOLAT_SMA_U_DOU = 0x8900, - ALP_ORDER_ISOLAT_CAP_U_OGO = 0x8902, - ALP_ORDER_ISOLAT_SMA_U_OGO = 0x8902, - ALP_ORDER_ISOLAT_CAP_U_CAR = 0x8904, - ALP_ORDER_ISOLAT_SMA_U_CAR = 0x8904, - ALP_ORDER_ISOLAT_CAP_U_HOR = 0x8906, - ALP_ORDER_ISOLAT_SMA_U_HOR = 0x8906, - ALP_ORDER_ISOLAT_CAP_U_DIA_ACU = 0x8908, - ALP_ORDER_ISOLAT_SMA_U_DIA_ACU = 0x8908, - ALP_ORDER_ISOLAT_CAP_U_DIA_GRA = 0x890A, - ALP_ORDER_ISOLAT_SMA_U_DIA_GRA = 0x890A, - ALP_ORDER_ISOLAT_CAP_U_DIA_MAC = 0x890C, - ALP_ORDER_ISOLAT_SMA_U_DIA_MAC = 0x890C, - ALP_ORDER_ISOLAT_CAP_U_DIA_CAR = 0x890E, - ALP_ORDER_ISOLAT_SMA_U_DIA_CAR = 0x890E, - - ALP_ORDER_ISOLAT_CAP_V = 0x8910, - ALP_ORDER_ISOLAT_SMA_V = 0x8911, - - ALP_ORDER_ISOLAT_CAP_W = 0x9912, - ALP_ORDER_ISOLAT_SMA_W = 0x9913, - ALP_ORDER_ISOLAT_CAP_W_CIR = 0x9914, - ALP_ORDER_ISOLAT_SMA_W_CIR = 0x9914, - - ALP_ORDER_ISOLAT_CAP_X = 0x9916, - ALP_ORDER_ISOLAT_SMA_X = 0x9917, - - ALP_ORDER_ISOLAT_CAP_Y = 0x9918, - ALP_ORDER_ISOLAT_SMA_Y = 0x9919, - ALP_ORDER_ISOLAT_CAP_Y_DIA = 0x991A, - ALP_ORDER_ISOLAT_SMA_Y_DIA = 0x991A, - ALP_ORDER_ISOLAT_CAP_Y_ACU = 0x991C, - ALP_ORDER_ISOLAT_SMA_Y_ACU = 0x991C, - ALP_ORDER_ISOLAT_CAP_Y_CIR = 0x991E, - ALP_ORDER_ISOLAT_SMA_Y_CIR = 0x991E, - - ALP_ORDER_ISOLAT_CAP_Z = 0x9920, - ALP_ORDER_ISOLAT_SMA_Z = 0x9921, - ALP_ORDER_ISOLAT_CAP_Z_STR = 0x9922, - ALP_ORDER_ISOLAT_SMA_Z_STR = 0x9922, - ALP_ORDER_ISOLAT_CAP_Z_ACU = 0x9924, - ALP_ORDER_ISOLAT_SMA_Z_ACU = 0x9924, - ALP_ORDER_ISOLAT_CAP_Z_DOA = 0x9926, - ALP_ORDER_ISOLAT_SMA_Z_DOA = 0x9926, - ALP_ORDER_ISOLAT_CAP_Z_CAR = 0x9928, - ALP_ORDER_ISOLAT_SMA_Z_CAR = 0x9929, - - /* Symbols and punctation */ - ALP_ORDER_SYMB_COMMERCIAL_AT = 0x1E00, - ALP_ORDER_SYMB_POUND_SIGN = 0x1E01, - ALP_ORDER_SYMB_DOLLAR_SIGN = 0x1E02, - ALP_ORDER_SYMB_CENT_SIGN = 0xFE03, - ALP_ORDER_SYMB_YEN_SIGN = 0x1E04, - ALP_ORDER_SYMB_SPACE = 0x1E05, - ALP_ORDER_SYMB_NO_BREAK_SPACE = 0xFE06, - ALP_ORDER_SYMB_LOW_LINE = 0xFE07, - ALP_ORDER_SYMB_EXCLAMATION_MARK = 0x0E08, - ALP_ORDER_SYMB_QUOTATION_MARK = 0x0E09, - ALP_ORDER_SYMB_NUMBER_SIGN = 0x1E0A, - ALP_ORDER_SYMB_CURRENCY_SIGN = 0x1E0B, - ALP_ORDER_SYMB_PERCENT_SIGN = 0x0E0C, - ALP_ORDER_SYMB_AMPERSAND = 0x1E0D, - ALP_ORDER_SYMB_APOSTROPHE = 0x0E0E, - ALP_ORDER_SYMB_LEFT_PARENTHESIS = 0x1E0F, - ALP_ORDER_SYMB_RIGHT_PARENTHESIS = 0x1E10, - ALP_ORDER_SYMB_LEFT_SQUARE_BRACKET = 0xFE11, - ALP_ORDER_SYMB_RIGHT_SQUARE_BRACKET = 0xFE12, - ALP_ORDER_SYMB_LEFT_CURLY_BRACKET = 0xFE13, - ALP_ORDER_SYMB_RIGHT_CURLY_BRACKET = 0xFE14, - ALP_ORDER_SYMB_LEFT_POINTING_DBL_ANGLE_QUOTE_MARK = 0xFE15, - ALP_ORDER_SYMB_RIGHT_POINTING_DBL_ANGLE_QUOTE_MARK = 0xFE16, - ALP_ORDER_SYMB_ASTERISK = 0x0E17, - ALP_ORDER_SYMB_PLUS_SIGN = 0x0E18, - ALP_ORDER_SYMB_PLUS_MINUS_SIGN = 0xFE19, - ALP_ORDER_SYMB_COMMA = 0x0E1A, - ALP_ORDER_SYMB_HYPHEN_MINUS = 0x0E1B, - ALP_ORDER_SYMB_FULL_STOP = 0x0E1C, - ALP_ORDER_SYMB_MULTIPLICATION_SIGN = 0xFE1D, - ALP_ORDER_SYMB_DIVISION_SIGN = 0xFE1E, - ALP_ORDER_SYMB_VERTICAL_LINE = 0xFE1F, - ALP_ORDER_SYMB_BROKEN_BAR = 0xFE20, - ALP_ORDER_SYMB_SOLIDUS = 0x0E21, - ALP_ORDER_SYMB_REVERSED_SOLIDUS = 0xFE22, - ALP_ORDER_SYMB_COLON = 0x0E23, - ALP_ORDER_SYMB_SEMICOLON = 0xF0E4, - ALP_ORDER_SYMB_LESS_THAN_SIGN = 0x1E25, - ALP_ORDER_SYMB_EQUALS_SIGN = 0x1E26, - ALP_ORDER_SYMB_GREATER_THAN_SIGN = 0x1E27, - ALP_ORDER_SYMB_QUESTION_MARK = 0x0E28, - ALP_ORDER_SYMB_INVERTED_EXCLAMATION_MARK = 0x0E29, - ALP_ORDER_SYMB_SECTION_SIGN = 0x1E2A, - ALP_ORDER_SYMB_INVERTED_QUESTION_MARK = 0x0E2B, - ALP_ORDER_SYMB_COPYRIGHT_SIGN = 0xFE2C, - ALP_ORDER_SYMB_REGISTERED_SIGN = 0xFE2D, - ALP_ORDER_SYMB_VULGAR_FRACTION_ONE_QUARTER = 0xFE2E, - ALP_ORDER_SYMB_VULGAR_FRACTION_ONE_HALF = 0xFE2F, - ALP_ORDER_SYMB_VULGAR_FRACTION_THREE_QUARTER = 0xFE30, - ALP_ORDER_SYMB_SUPERSCRIPT_ONE = 0xFE31, - ALP_ORDER_SYMB_SUPERSCRIPT_TWO = 0xFE32, - ALP_ORDER_SYMB_SUPERSCRIPT_THREE = 0xFE33, - ALP_ORDER_SYMB_DEGREE_SIGN = 0xFE34, - ALP_ORDER_SYMB_MICRO_SIGN = 0xFE35, - ALP_ORDER_SYMB_NOT_SIGN = 0xFE36, - ALP_ORDER_SYMB_SOFT_HYPHEN = 0xFE37, - ALP_ORDER_SYMB_MASCULINE_ORDINAL_INDICATOR = 0xFE38, - ALP_ORDER_SYMB_FEMININE_ORDINAL_INDICATOR = 0xFE39, - ALP_ORDER_SYMB_DIARESIS = 0xFE3A, - ALP_ORDER_SYMB_CEDILLA = 0xFE3B, - ALP_ORDER_SYMB_ACUTE_ACCENT = 0xFE3C, - ALP_ORDER_SYMB_GRAVE_ACCENT = 0xFE3D, - ALP_ORDER_SYMB_CIRCUMFLEX_ACCENT = 0xFE3E, - ALP_ORDER_SYMB_TILDE = 0xFE3F, - ALP_ORDER_SYMB_MACRON = 0xFE40, - ALP_ORDER_SYMB_MIDDLE_DOT = 0xFE41, - - ALP_ORDER_HALFWIDTH_KATAKANA_MIDDLE_DOT = 0xFF65, - ALP_ORDER_HALFWIDTH_KATAKANA_SMALL_A = 0xFF67, - ALP_ORDER_HALFWIDTH_KATAKANA_SMALL_I = 0xFF68, - ALP_ORDER_HALFWIDTH_KATAKANA_SMALL_U = 0xFF69, - ALP_ORDER_HALFWIDTH_KATAKANA_SMALL_E = 0xFF6A, - ALP_ORDER_HALFWIDTH_KATAKANA_SMALL_O = 0xFF6B, - ALP_ORDER_HALFWIDTH_KATAKANA_SMALL_YA = 0xFF6C, - ALP_ORDER_HALFWIDTH_KATAKANA_SMALL_YU = 0xFF6D, - ALP_ORDER_HALFWIDTH_KATAKANA_SMALL_YO = 0xFF6E, - ALP_ORDER_HALFWIDTH_KATAKANA_SMALL_TU = 0xFF6F, - ALP_ORDER_HALFWIDTH_KATAKANA_HIRAGANA_SOUND_MARK = 0xFF70, - ALP_ORDER_HALFWIDTH_KATAKANA_A = 0xFF71, - ALP_ORDER_HALFWIDTH_KATAKANA_I = 0xFF72, - ALP_ORDER_HALFWIDTH_KATAKANA_U = 0xFF73, - ALP_ORDER_HALFWIDTH_KATAKANA_E = 0xFF74, - ALP_ORDER_HALFWIDTH_KATAKANA_O = 0xFF75, - ALP_ORDER_HALFWIDTH_KATAKANA_KA = 0xFF76, - ALP_ORDER_HALFWIDTH_KATAKANA_KI = 0xFF77, - ALP_ORDER_HALFWIDTH_KATAKANA_KU = 0xFF78, - ALP_ORDER_HALFWIDTH_KATAKANA_KE = 0xFF79, - ALP_ORDER_HALFWIDTH_KATAKANA_KO = 0xFF7A, - ALP_ORDER_HALFWIDTH_KATAKANA_SA = 0xFF7B, - ALP_ORDER_HALFWIDTH_KATAKANA_SI = 0xFF7C, - ALP_ORDER_HALFWIDTH_KATAKANA_SU = 0XFF7D, - ALP_ORDER_HALFWIDTH_KATAKANA_SE = 0xFF7E, - ALP_ORDER_HALFWIDTH_KATAKANA_SO = 0xFF7F, - ALP_ORDER_HALFWIDTH_KATAKANA_TA = 0XFF80, - ALP_ORDER_HALFWIDTH_KATAKANA_TI = 0xFF81, - ALP_ORDER_HALFWIDTH_KATAKANA_TU = 0xFF82, - ALP_ORDER_HALFWIDTH_KATAKANA_TE = 0xFF83, - ALP_ORDER_HALFWIDTH_KATAKANA_TO = 0xFF84, - ALP_ORDER_HALFWIDTH_KATAKANA_NA = 0xFF85, - ALP_ORDER_HALFWIDTH_KATAKANA_NI = 0xFF86, - ALP_ORDER_HALFWIDTH_KATAKANA_NU = 0xFF87, - ALP_ORDER_HALFWIDTH_KATAKANA_NE = 0xFF88, - ALP_ORDER_HALFWIDTH_KATAKANA_NO = 0xFF89, - ALP_ORDER_HALFWIDTH_KATAKANA_HA = 0xFF8A, - ALP_ORDER_HALFWIDTH_KATAKANA_HI = 0xFF8B, - ALP_ORDER_HALFWIDTH_KATAKANA_HU = 0xFF8C, - ALP_ORDER_HALFWIDTH_KATAKANA_HE = 0xFF8D, - ALP_ORDER_HALFWIDTH_KATAKANA_HO = 0xFF8E, - ALP_ORDER_HALFWIDTH_KATAKANA_MA = 0xFF8F, - ALP_ORDER_HALFWIDTH_KATAKANA_MI = 0xFF90, - ALP_ORDER_HALFWIDTH_KATAKANA_MU = 0xFF91, - ALP_ORDER_HALFWIDTH_KATAKANA_ME = 0xFF92, - ALP_ORDER_HALFWIDTH_KATAKANA_MO = 0xFF93, - ALP_ORDER_HALFWIDTH_KATAKANA_YA = 0xFF94, - ALP_ORDER_HALFWIDTH_KATAKANA_YU = 0xFF95, - ALP_ORDER_HALFWIDTH_KATAKANA_YO = 0xFF96, - ALP_ORDER_HALFWIDTH_KATAKANA_RA = 0xFF97, - ALP_ORDER_HALFWIDTH_KATAKANA_RI = 0xFF98, - ALP_ORDER_HALFWIDTH_KATAKANA_RU = 0xFF99, - ALP_ORDER_HALFWIDTH_KATAKANA_RE = 0xFF9A, - ALP_ORDER_HALFWIDTH_KATAKANA_RO = 0xFF9B, - ALP_ORDER_HALFWIDTH_KATAKANA_WA = 0xFF9C, - ALP_ORDER_HALFWIDTH_KATAKANA_WO = 0xFF9D, - ALP_ORDER_HALFWIDTH_KATAKANA_N = 0xFF9E, - ALP_ORDER_HALFWIDTH_KATAKANA_VOICED_SOUND_MARK = 0xFF9F, - ALP_ORDER_HALFWIDTH_KATAKANA_SEMI_VOICED_SOUND_MARK = 0xFFA0, - - /* Control characters */ - ALP_ORDER_CTRL_LINE_FEED = 0xFFFB, - ALP_ORDER_CTRL_CARRIAGE_RETURN = 0xFFFC, - ALP_ORDER_CTRL_DEVICE_CONTROL_1 = 0xFFFD, - ALP_ORDER_CTRL_ESCAPE = 0xFFFE, - - ALP_ORDER_UNDEFINED_WEIGHT = 0xFFFF -}; - -const UnicodeToAlphaOrder - garUnicodeToAlphaOrderTable[WSC_UNICODE_TO_ALPHA_ORDER_COUNT] = { - {0x0000, ALP_ORDER_NULL}, - {0x000A, ALP_ORDER_CTRL_LINE_FEED}, - {0x000D, ALP_ORDER_CTRL_CARRIAGE_RETURN}, - {0x0011, ALP_ORDER_CTRL_DEVICE_CONTROL_1}, - {0x001B, ALP_ORDER_CTRL_ESCAPE}, - {0x0020, ALP_ORDER_SYMB_SPACE}, - {0x0021, ALP_ORDER_SYMB_EXCLAMATION_MARK}, - {0x0022, ALP_ORDER_SYMB_QUOTATION_MARK}, - {0x0023, ALP_ORDER_SYMB_NUMBER_SIGN}, - {0x0024, ALP_ORDER_SYMB_DOLLAR_SIGN}, - {0x0025, ALP_ORDER_SYMB_PERCENT_SIGN}, - {0x0026, ALP_ORDER_SYMB_AMPERSAND}, - {0x0027, ALP_ORDER_SYMB_APOSTROPHE}, - {0x0028, ALP_ORDER_SYMB_LEFT_PARENTHESIS}, - {0x0029, ALP_ORDER_SYMB_RIGHT_PARENTHESIS}, - {0x002A, ALP_ORDER_SYMB_ASTERISK}, - {0x002B, ALP_ORDER_SYMB_PLUS_SIGN}, - {0x002C, ALP_ORDER_SYMB_COMMA}, - {0x002D, ALP_ORDER_SYMB_HYPHEN_MINUS}, - {0x002E, ALP_ORDER_SYMB_FULL_STOP}, - {0x002F, ALP_ORDER_SYMB_SOLIDUS}, - {0x0030, ALP_ORDER_DIGIT_ZERO}, - {0x0031, ALP_ORDER_DIGIT_ONE}, - {0x0032, ALP_ORDER_DIGIT_TWO}, - {0x0033, ALP_ORDER_DIGIT_THREE}, - {0x0034, ALP_ORDER_DIGIT_FOUR}, - {0x0035, ALP_ORDER_DIGIT_FIVE}, - {0x0036, ALP_ORDER_DIGIT_SIX}, - {0x0037, ALP_ORDER_DIGIT_SEVEN}, - {0x0038, ALP_ORDER_DIGIT_EIGHT}, - {0x0039, ALP_ORDER_DIGIT_NINE}, - {0x003A, ALP_ORDER_SYMB_COLON}, - {0x003B, ALP_ORDER_SYMB_SEMICOLON}, - {0x003C, ALP_ORDER_SYMB_LESS_THAN_SIGN}, - {0x003D, ALP_ORDER_SYMB_EQUALS_SIGN}, - {0x003E, ALP_ORDER_SYMB_GREATER_THAN_SIGN}, - {0x003F, ALP_ORDER_SYMB_QUESTION_MARK}, - {0x0040, ALP_ORDER_SYMB_COMMERCIAL_AT}, - {0x0041, ALP_ORDER_ISOLAT_CAP_A}, - {0x0042, ALP_ORDER_ISOLAT_CAP_B}, - {0x0043, ALP_ORDER_ISOLAT_CAP_C}, - {0x0044, ALP_ORDER_ISOLAT_CAP_D}, - {0x0045, ALP_ORDER_ISOLAT_CAP_E}, - {0x0046, ALP_ORDER_ISOLAT_CAP_F}, - {0x0047, ALP_ORDER_ISOLAT_CAP_G}, - {0x0048, ALP_ORDER_ISOLAT_CAP_H}, - {0x0049, ALP_ORDER_ISOLAT_CAP_I}, - {0x004A, ALP_ORDER_ISOLAT_CAP_J}, - {0x004B, ALP_ORDER_ISOLAT_CAP_K}, - {0x004C, ALP_ORDER_ISOLAT_CAP_L}, - {0x004D, ALP_ORDER_ISOLAT_CAP_M}, - {0x004E, ALP_ORDER_ISOLAT_CAP_N}, - {0x004F, ALP_ORDER_ISOLAT_CAP_O}, - {0x0050, ALP_ORDER_ISOLAT_CAP_P}, - {0x0051, ALP_ORDER_ISOLAT_CAP_Q}, - {0x0052, ALP_ORDER_ISOLAT_CAP_R}, - {0x0053, ALP_ORDER_ISOLAT_CAP_S}, - {0x0054, ALP_ORDER_ISOLAT_CAP_T}, - {0x0055, ALP_ORDER_ISOLAT_CAP_U}, - {0x0056, ALP_ORDER_ISOLAT_CAP_V}, - {0x0057, ALP_ORDER_ISOLAT_CAP_W}, - {0x0058, ALP_ORDER_ISOLAT_CAP_X}, - {0x0059, ALP_ORDER_ISOLAT_CAP_Y}, - {0x005A, ALP_ORDER_ISOLAT_CAP_Z}, - {0x005B, ALP_ORDER_SYMB_LEFT_SQUARE_BRACKET}, - {0x005C, ALP_ORDER_SYMB_REVERSED_SOLIDUS}, - {0x005D, ALP_ORDER_SYMB_RIGHT_SQUARE_BRACKET}, - {0x005E, ALP_ORDER_SYMB_CIRCUMFLEX_ACCENT}, - {0x005F, ALP_ORDER_SYMB_LOW_LINE}, - {0x0060, ALP_ORDER_SYMB_GRAVE_ACCENT}, - {0x0061, ALP_ORDER_ISOLAT_SMA_A}, - {0x0062, ALP_ORDER_ISOLAT_SMA_B}, - {0x0063, ALP_ORDER_ISOLAT_SMA_C}, - {0x0064, ALP_ORDER_ISOLAT_SMA_D}, - {0x0065, ALP_ORDER_ISOLAT_SMA_E}, - {0x0066, ALP_ORDER_ISOLAT_SMA_F}, - {0x0067, ALP_ORDER_ISOLAT_SMA_G}, - {0x0068, ALP_ORDER_ISOLAT_SMA_H}, - {0x0069, ALP_ORDER_ISOLAT_SMA_I}, - {0x006A, ALP_ORDER_ISOLAT_SMA_J}, - {0x006B, ALP_ORDER_ISOLAT_SMA_K}, - {0x006C, ALP_ORDER_ISOLAT_SMA_L}, - {0x006D, ALP_ORDER_ISOLAT_SMA_M}, - {0x006E, ALP_ORDER_ISOLAT_SMA_N}, - {0x006F, ALP_ORDER_ISOLAT_SMA_O}, - {0x0070, ALP_ORDER_ISOLAT_SMA_P}, - {0x0071, ALP_ORDER_ISOLAT_SMA_Q}, - {0x0072, ALP_ORDER_ISOLAT_SMA_R}, - {0x0073, ALP_ORDER_ISOLAT_SMA_S}, - {0x0074, ALP_ORDER_ISOLAT_SMA_T}, - {0x0075, ALP_ORDER_ISOLAT_SMA_U}, - {0x0076, ALP_ORDER_ISOLAT_SMA_V}, - {0x0077, ALP_ORDER_ISOLAT_SMA_W}, - {0x0078, ALP_ORDER_ISOLAT_SMA_X}, - {0x0079, ALP_ORDER_ISOLAT_SMA_Y}, - {0x007A, ALP_ORDER_ISOLAT_SMA_Z}, - {0x007B, ALP_ORDER_SYMB_LEFT_CURLY_BRACKET}, - {0x007C, ALP_ORDER_SYMB_VERTICAL_LINE}, - {0x007D, ALP_ORDER_SYMB_RIGHT_CURLY_BRACKET}, - {0x007E, ALP_ORDER_SYMB_TILDE}, - {0x00A0, ALP_ORDER_SYMB_NO_BREAK_SPACE}, - {0x00A1, ALP_ORDER_SYMB_INVERTED_EXCLAMATION_MARK}, - {0x00A2, ALP_ORDER_SYMB_CENT_SIGN}, - {0x00A3, ALP_ORDER_SYMB_POUND_SIGN}, - {0x00A4, ALP_ORDER_SYMB_CURRENCY_SIGN}, - {0x00A5, ALP_ORDER_SYMB_YEN_SIGN}, - {0x00A6, ALP_ORDER_SYMB_BROKEN_BAR}, - {0x00A7, ALP_ORDER_SYMB_SECTION_SIGN}, - {0x00A8, ALP_ORDER_SYMB_DIARESIS}, - {0x00A9, ALP_ORDER_SYMB_COPYRIGHT_SIGN}, - {0x00AA, ALP_ORDER_SYMB_FEMININE_ORDINAL_INDICATOR}, - {0x00AB, ALP_ORDER_SYMB_LEFT_POINTING_DBL_ANGLE_QUOTE_MARK}, - {0x00AC, ALP_ORDER_SYMB_NOT_SIGN}, - {0x00AD, ALP_ORDER_SYMB_SOFT_HYPHEN}, - {0x00AE, ALP_ORDER_SYMB_REGISTERED_SIGN}, - {0x00AF, ALP_ORDER_SYMB_MACRON}, - {0x00B0, ALP_ORDER_SYMB_DEGREE_SIGN}, - {0x00B1, ALP_ORDER_SYMB_PLUS_MINUS_SIGN}, - {0x00B2, ALP_ORDER_SYMB_SUPERSCRIPT_TWO}, - {0x00B3, ALP_ORDER_SYMB_SUPERSCRIPT_THREE}, - {0x00B4, ALP_ORDER_SYMB_ACUTE_ACCENT}, - {0x00B6, ALP_ORDER_SYMB_MICRO_SIGN}, - {0x00B7, ALP_ORDER_SYMB_MIDDLE_DOT}, - {0x00B8, ALP_ORDER_SYMB_CEDILLA}, - {0x00B9, ALP_ORDER_SYMB_SUPERSCRIPT_ONE}, - {0x00BA, ALP_ORDER_SYMB_MASCULINE_ORDINAL_INDICATOR}, - {0x00BB, ALP_ORDER_SYMB_RIGHT_POINTING_DBL_ANGLE_QUOTE_MARK}, - {0x00BC, ALP_ORDER_SYMB_VULGAR_FRACTION_ONE_QUARTER}, - {0x00BD, ALP_ORDER_SYMB_VULGAR_FRACTION_ONE_HALF}, - {0x00BE, ALP_ORDER_SYMB_VULGAR_FRACTION_THREE_QUARTER}, - {0x00BF, ALP_ORDER_SYMB_INVERTED_QUESTION_MARK}, - {0x00C0, ALP_ORDER_ISOLAT_CAP_A_GRA}, - {0x00C1, ALP_ORDER_ISOLAT_CAP_A_ACU}, - {0x00C2, ALP_ORDER_ISOLAT_CAP_A_CIR}, - {0x00C3, ALP_ORDER_ISOLAT_CAP_A_TIL}, - {0x00C4, ALP_ORDER_ISOLAT_CAP_A_DIA}, - {0x00C5, ALP_ORDER_ISOLAT_CAP_A_RIN}, - {0x00C6, ALP_ORDER_ISOLAT_CAP_LIG_AE}, - {0x00C7, ALP_ORDER_ISOLAT_CAP_C_CED}, - {0x00C8, ALP_ORDER_ISOLAT_CAP_E_GRA}, - {0x00C9, ALP_ORDER_ISOLAT_CAP_E_ACU}, - {0x00CA, ALP_ORDER_ISOLAT_CAP_E_CIR}, - {0x00CB, ALP_ORDER_ISOLAT_CAP_E_DIA}, - {0x00CC, ALP_ORDER_ISOLAT_CAP_I_GRA}, - {0x00CD, ALP_ORDER_ISOLAT_CAP_I_ACU}, - {0x00CE, ALP_ORDER_ISOLAT_CAP_I_CIR}, - {0x00CF, ALP_ORDER_ISOLAT_CAP_I_DIA}, - {0x00D1, ALP_ORDER_ISOLAT_CAP_N_TIL}, - {0x00D2, ALP_ORDER_ISOLAT_CAP_O_GRA}, - {0x00D3, ALP_ORDER_ISOLAT_CAP_O_ACU}, - {0x00D4, ALP_ORDER_ISOLAT_CAP_O_CIR}, - {0x00D5, ALP_ORDER_ISOLAT_CAP_O_TIL}, - {0x00D6, ALP_ORDER_ISOLAT_CAP_O_DIA}, - {0x00D7, ALP_ORDER_SYMB_MULTIPLICATION_SIGN}, - {0x00D8, ALP_ORDER_ISOLAT_CAP_O_STR}, - {0x00D9, ALP_ORDER_ISOLAT_CAP_U_GRA}, - {0x00DA, ALP_ORDER_ISOLAT_CAP_U_ACU}, - {0x00DB, ALP_ORDER_ISOLAT_CAP_U_CIR}, - {0x00DC, ALP_ORDER_ISOLAT_CAP_U_DIA}, - {0x00DD, ALP_ORDER_ISOLAT_CAP_Y_ACU}, - {0x00DF, ALP_ORDER_ISOLAT_SMA_SHARP_S}, - {0x00E0, ALP_ORDER_ISOLAT_SMA_A_GRA}, - {0x00E1, ALP_ORDER_ISOLAT_SMA_A_ACU}, - {0x00E2, ALP_ORDER_ISOLAT_SMA_A_CIR}, - {0x00E3, ALP_ORDER_ISOLAT_SMA_A_TIL}, - {0x00E4, ALP_ORDER_ISOLAT_SMA_A_DIA}, - {0x00E5, ALP_ORDER_ISOLAT_SMA_A_RIN}, - {0x00E6, ALP_ORDER_ISOLAT_SMA_LIG_AE}, - {0x00E7, ALP_ORDER_ISOLAT_SMA_C_CED}, - {0x00E8, ALP_ORDER_ISOLAT_SMA_E_GRA}, - {0x00E9, ALP_ORDER_ISOLAT_SMA_E_ACU}, - {0x00EA, ALP_ORDER_ISOLAT_SMA_E_CIR}, - {0x00EB, ALP_ORDER_ISOLAT_SMA_E_DIA}, - {0x00EC, ALP_ORDER_ISOLAT_SMA_I_GRA}, - {0x00ED, ALP_ORDER_ISOLAT_SMA_I_ACU}, - {0x00EE, ALP_ORDER_ISOLAT_SMA_I_CIR}, - {0x00EF, ALP_ORDER_ISOLAT_SMA_I_DIA}, - {0x00F1, ALP_ORDER_ISOLAT_SMA_N_TIL}, - {0x00F2, ALP_ORDER_ISOLAT_SMA_O_GRA}, - {0x00F3, ALP_ORDER_ISOLAT_SMA_O_ACU}, - {0x00F4, ALP_ORDER_ISOLAT_SMA_O_CIR}, - {0x00F5, ALP_ORDER_ISOLAT_SMA_O_TIL}, - {0x00F6, ALP_ORDER_ISOLAT_SMA_O_DIA}, - {0x00F7, ALP_ORDER_SYMB_DIVISION_SIGN}, - {0x00F8, ALP_ORDER_ISOLAT_SMA_O_STR}, - {0x00F9, ALP_ORDER_ISOLAT_SMA_U_GRA}, - {0x00FA, ALP_ORDER_ISOLAT_SMA_U_ACU}, - {0x00FB, ALP_ORDER_ISOLAT_SMA_U_CIR}, - {0x00FC, ALP_ORDER_ISOLAT_SMA_U_DIA}, - {0x00FD, ALP_ORDER_ISOLAT_SMA_Y_ACU}, - {0x00FF, ALP_ORDER_ISOLAT_SMA_Y_DIA}, - {0x0100, ALP_ORDER_ISOLAT_CAP_A_MAC}, - {0x0101, ALP_ORDER_ISOLAT_SMA_A_MAC}, - {0x0102, ALP_ORDER_ISOLAT_CAP_A_BRE}, - {0x0103, ALP_ORDER_ISOLAT_SMA_A_BRE}, - {0x0104, ALP_ORDER_ISOLAT_CAP_A_OGO}, - {0x0105, ALP_ORDER_ISOLAT_SMA_A_OGO}, - {0x0106, ALP_ORDER_ISOLAT_CAP_C_ACU}, - {0x0107, ALP_ORDER_ISOLAT_SMA_C_ACU}, - {0x0108, ALP_ORDER_ISOLAT_CAP_C_CIR}, - {0x0109, ALP_ORDER_ISOLAT_SMA_C_CIR}, - {0x010A, ALP_ORDER_ISOLAT_CAP_C_DOA}, - {0x010B, ALP_ORDER_ISOLAT_SMA_C_DOA}, - {0x010C, ALP_ORDER_ISOLAT_CAP_C_CAR}, - {0x010D, ALP_ORDER_ISOLAT_SMA_C_CAR}, - {0x010E, ALP_ORDER_ISOLAT_CAP_D_CAR}, - {0x010F, ALP_ORDER_ISOLAT_SMA_D_CAR}, - {0x0110, ALP_ORDER_ISOLAT_CAP_D_STR}, - {0x0111, ALP_ORDER_ISOLAT_SMA_D_STR}, - {0x0112, ALP_ORDER_ISOLAT_CAP_E_MAC}, - {0x0113, ALP_ORDER_ISOLAT_SMA_E_MAC}, - {0x0114, ALP_ORDER_ISOLAT_CAP_E_BRE}, - {0x0115, ALP_ORDER_ISOLAT_SMA_E_BRE}, - {0x0116, ALP_ORDER_ISOLAT_CAP_E_DOA}, - {0x0117, ALP_ORDER_ISOLAT_SMA_E_DOA}, - {0x0118, ALP_ORDER_ISOLAT_CAP_E_OGO}, - {0x0119, ALP_ORDER_ISOLAT_SMA_E_OGO}, - {0x011A, ALP_ORDER_ISOLAT_CAP_E_CAR}, - {0x011B, ALP_ORDER_ISOLAT_SMA_E_CAR}, - {0x011C, ALP_ORDER_ISOLAT_CAP_G_CIR}, - {0x011D, ALP_ORDER_ISOLAT_SMA_G_CIR}, - {0x011E, ALP_ORDER_ISOLAT_CAP_G_BRE}, - {0x011F, ALP_ORDER_ISOLAT_SMA_G_BRE}, - {0x0120, ALP_ORDER_ISOLAT_CAP_G_DOA}, - {0x0121, ALP_ORDER_ISOLAT_SMA_G_DOA}, - {0x0122, ALP_ORDER_ISOLAT_CAP_G_CED}, - {0x0123, ALP_ORDER_ISOLAT_SMA_G_CED}, - {0x0124, ALP_ORDER_ISOLAT_CAP_H_CIR}, - {0x0125, ALP_ORDER_ISOLAT_SMA_H_CIR}, - {0x0126, ALP_ORDER_ISOLAT_CAP_H_STR}, - {0x0127, ALP_ORDER_ISOLAT_SMA_H_STR}, - {0x0128, ALP_ORDER_ISOLAT_CAP_I_TIL}, - {0x0129, ALP_ORDER_ISOLAT_SMA_I_TIL}, - {0x012A, ALP_ORDER_ISOLAT_CAP_I_MAC}, - {0x012B, ALP_ORDER_ISOLAT_SMA_I_MAC}, - {0x012C, ALP_ORDER_ISOLAT_CAP_I_BRE}, - {0x012D, ALP_ORDER_ISOLAT_SMA_I_BRE}, - {0x012E, ALP_ORDER_ISOLAT_CAP_I_OGO}, - {0x012F, ALP_ORDER_ISOLAT_SMA_I_OGO}, - {0x0130, ALP_ORDER_ISOLAT_CAP_I_DOA}, - {0x0131, ALP_ORDER_ISOLAT_SMA_I_DOL}, - {0x0132, ALP_ORDER_ISOLAT_CAP_LIG_IJ}, - {0x0133, ALP_ORDER_ISOLAT_SMA_LIG_IJ}, - {0x0134, ALP_ORDER_ISOLAT_CAP_J_CIR}, - {0x0135, ALP_ORDER_ISOLAT_SMA_J_CIR}, - {0x0136, ALP_ORDER_ISOLAT_CAP_J_CED}, - {0x0137, ALP_ORDER_ISOLAT_SMA_J_CED}, - {0x0139, ALP_ORDER_ISOLAT_CAP_L_ACU}, - {0x013A, ALP_ORDER_ISOLAT_SMA_L_ACU}, - {0x013B, ALP_ORDER_ISOLAT_CAP_L_CED}, - {0x013C, ALP_ORDER_ISOLAT_SMA_L_CED}, - {0x013D, ALP_ORDER_ISOLAT_CAP_L_CAR}, - {0x013E, ALP_ORDER_ISOLAT_SMA_L_CAR}, - {0x013F, ALP_ORDER_ISOLAT_CAP_L_DOM}, - {0x0140, ALP_ORDER_ISOLAT_SMA_L_DOM}, - {0x0141, ALP_ORDER_ISOLAT_CAP_L_STR}, - {0x0142, ALP_ORDER_ISOLAT_SMA_L_STR}, - {0x0143, ALP_ORDER_ISOLAT_CAP_N_ACU}, - {0x0144, ALP_ORDER_ISOLAT_SMA_N_ACU}, - {0x0145, ALP_ORDER_ISOLAT_CAP_N_CED}, - {0x0146, ALP_ORDER_ISOLAT_SMA_N_CED}, - {0x0147, ALP_ORDER_ISOLAT_CAP_N_CAR}, - {0x0148, ALP_ORDER_ISOLAT_SMA_N_CAR}, - {0x0149, ALP_ORDER_ISOLAT_SMA_N_APO}, - {0x014C, ALP_ORDER_ISOLAT_CAP_O_MAC}, - {0x014D, ALP_ORDER_ISOLAT_SMA_O_MAC}, - {0x014E, ALP_ORDER_ISOLAT_CAP_O_BRE}, - {0x014F, ALP_ORDER_ISOLAT_SMA_O_BRE}, - {0x0150, ALP_ORDER_ISOLAT_CAP_O_DOU}, - {0x0151, ALP_ORDER_ISOLAT_SMA_O_DOU}, - {0x0152, ALP_ORDER_ISOLAT_CAP_LIG_OE}, - {0x0153, ALP_ORDER_ISOLAT_SMA_LIG_OE}, - {0x0154, ALP_ORDER_ISOLAT_CAP_R_ACU}, - {0x0155, ALP_ORDER_ISOLAT_SMA_R_ACU}, - {0x0156, ALP_ORDER_ISOLAT_CAP_R_CED}, - {0x0157, ALP_ORDER_ISOLAT_SMA_R_CED}, - {0x0158, ALP_ORDER_ISOLAT_CAP_R_CAR}, - {0x0159, ALP_ORDER_ISOLAT_SMA_R_CAR}, - {0x015A, ALP_ORDER_ISOLAT_CAP_S_ACU}, - {0x015B, ALP_ORDER_ISOLAT_SMA_S_ACU}, - {0x015C, ALP_ORDER_ISOLAT_CAP_S_CIR}, - {0x015D, ALP_ORDER_ISOLAT_SMA_S_CIR}, - {0x015E, ALP_ORDER_ISOLAT_CAP_S_CED}, - {0x015F, ALP_ORDER_ISOLAT_SMA_S_CED}, - {0x0160, ALP_ORDER_ISOLAT_CAP_S_CAR}, - {0x0161, ALP_ORDER_ISOLAT_SMA_S_CAR}, - {0x0162, ALP_ORDER_ISOLAT_CAP_T_CED}, - {0x0163, ALP_ORDER_ISOLAT_SMA_T_CED}, - {0x0164, ALP_ORDER_ISOLAT_CAP_T_CAR}, - {0x0165, ALP_ORDER_ISOLAT_SMA_T_CAR}, - {0x0166, ALP_ORDER_ISOLAT_CAP_T_STR}, - {0x0167, ALP_ORDER_ISOLAT_SMA_T_STR}, - {0x0168, ALP_ORDER_ISOLAT_CAP_U_TIL}, - {0x0169, ALP_ORDER_ISOLAT_SMA_U_TIL}, - {0x016A, ALP_ORDER_ISOLAT_CAP_U_MAC}, - {0x016B, ALP_ORDER_ISOLAT_SMA_U_MAC}, - {0x016C, ALP_ORDER_ISOLAT_CAP_U_BRE}, - {0x016D, ALP_ORDER_ISOLAT_SMA_U_BRE}, - {0x016E, ALP_ORDER_ISOLAT_CAP_U_RIN}, - {0x016F, ALP_ORDER_ISOLAT_SMA_U_RIN}, - {0x0170, ALP_ORDER_ISOLAT_CAP_U_DOU}, - {0x0171, ALP_ORDER_ISOLAT_SMA_U_DOU}, - {0x0172, ALP_ORDER_ISOLAT_CAP_U_OGO}, - {0x0173, ALP_ORDER_ISOLAT_SMA_U_OGO}, - {0x0174, ALP_ORDER_ISOLAT_CAP_W_CIR}, - {0x0175, ALP_ORDER_ISOLAT_SMA_W_CIR}, - {0x0176, ALP_ORDER_ISOLAT_CAP_Y_CIR}, - {0x0177, ALP_ORDER_ISOLAT_SMA_Y_CIR}, - {0x0178, ALP_ORDER_ISOLAT_CAP_Y_DIA}, - {0x0179, ALP_ORDER_ISOLAT_CAP_Z_ACU}, - {0x017A, ALP_ORDER_ISOLAT_SMA_Z_ACU}, - {0x017B, ALP_ORDER_ISOLAT_CAP_Z_DOA}, - {0x017C, ALP_ORDER_ISOLAT_SMA_Z_DOA}, - {0x017D, ALP_ORDER_ISOLAT_CAP_Z_CAR}, - {0x017E, ALP_ORDER_ISOLAT_SMA_Z_CAR}, - {0x017F, ALP_ORDER_ISOLAT_SMA_LONG_S}, - {0x0180, ALP_ORDER_ISOLAT_SMA_B_STR}, - {0x0189, ALP_ORDER_ISOLAT_CAP_AFR_D}, - {0x0197, ALP_ORDER_ISOLAT_CAP_I_STR}, - {0x019A, ALP_ORDER_ISOLAT_SMA_L_BAR}, - {0x01A0, ALP_ORDER_ISOLAT_CAP_O_HOR}, - {0x01A1, ALP_ORDER_ISOLAT_SMA_O_HOR}, - {0x01AF, ALP_ORDER_ISOLAT_CAP_U_HOR}, - {0x01B0, ALP_ORDER_ISOLAT_SMA_U_HOR}, - {0x01B5, ALP_ORDER_ISOLAT_CAP_Z_STR}, - {0x01B6, ALP_ORDER_ISOLAT_SMA_Z_STR}, - {0x01C4, ALP_ORDER_ISOLAT_CAP_LIG_DZ_CAR}, - {0x01C5, ALP_ORDER_ISOLAT_CAP_D_SMA_Z_CAR}, - {0x01C6, ALP_ORDER_ISOLAT_SMA_LIG_DZ_CAR}, - {0x01C7, ALP_ORDER_ISOLAT_CAP_LIG_LJ}, - {0x01C8, ALP_ORDER_ISOLAT_CAP_L_SMA_J}, - {0x01C9, ALP_ORDER_ISOLAT_SMA_LIG_LJ}, - {0x01CA, ALP_ORDER_ISOLAT_CAP_LIG_NJ}, - {0x01CB, ALP_ORDER_ISOLAT_CAP_N_SMA_J}, - {0x01CC, ALP_ORDER_ISOLAT_SMA_LIG_NJ}, - {0x01CD, ALP_ORDER_ISOLAT_CAP_A_CAR}, - {0x01CE, ALP_ORDER_ISOLAT_SMA_A_CAR}, - {0x01CF, ALP_ORDER_ISOLAT_CAP_I_CAR}, - {0x01D0, ALP_ORDER_ISOLAT_SMA_I_CAR}, - {0x01D1, ALP_ORDER_ISOLAT_CAP_O_CAR}, - {0x01D2, ALP_ORDER_ISOLAT_SMA_O_CAR}, - {0x01D3, ALP_ORDER_ISOLAT_CAP_U_CAR}, - {0x01D4, ALP_ORDER_ISOLAT_SMA_U_CAR}, - {0x01D5, ALP_ORDER_ISOLAT_CAP_U_DIA_MAC}, - {0x01D6, ALP_ORDER_ISOLAT_SMA_U_DIA_MAC}, - {0x01D7, ALP_ORDER_ISOLAT_CAP_U_DIA_ACU}, - {0x01D8, ALP_ORDER_ISOLAT_SMA_U_DIA_ACU}, - {0x01D9, ALP_ORDER_ISOLAT_CAP_U_DIA_CAR}, - {0x01DA, ALP_ORDER_ISOLAT_SMA_U_DIA_CAR}, - {0x01DB, ALP_ORDER_ISOLAT_CAP_U_DIA_GRA}, - {0x01DC, ALP_ORDER_ISOLAT_SMA_U_DIA_GRA}, - {0x01DE, ALP_ORDER_ISOLAT_CAP_A_DIA_MAC}, - {0x01DF, ALP_ORDER_ISOLAT_SMA_A_DIA_MAC}, - {0x01E0, ALP_ORDER_ISOLAT_CAP_A_DOA_MAC}, - {0x01E1, ALP_ORDER_ISOLAT_SMA_A_DOA_MAC}, - {0x01E2, ALP_ORDER_ISOLAT_CAP_LIG_AE_MAC}, - {0x01E3, ALP_ORDER_ISOLAT_SMA_LIG_AE_MAC}, - {0x01E4, ALP_ORDER_ISOLAT_CAP_G_STR}, - {0x01E5, ALP_ORDER_ISOLAT_SMA_G_STR}, - {0x01E6, ALP_ORDER_ISOLAT_CAP_G_CAR}, - {0x01E7, ALP_ORDER_ISOLAT_SMA_G_CAR}, - {0x01E8, ALP_ORDER_ISOLAT_CAP_K_CAR}, - {0x01E9, ALP_ORDER_ISOLAT_SMA_K_CAR}, - {0x01EA, ALP_ORDER_ISOLAT_CAP_O_OGO}, - {0x01EB, ALP_ORDER_ISOLAT_SMA_O_OGO}, - {0x01EC, ALP_ORDER_ISOLAT_CAP_O_OGO_MAC}, - {0x01ED, ALP_ORDER_ISOLAT_SMA_O_OGO_MAC}, - {0x01F0, ALP_ORDER_ISOLAT_SMA_J_CAR}, - {0x01F1, ALP_ORDER_ISOLAT_CAP_LIG_DZ}, - {0x01F2, ALP_ORDER_ISOLAT_CAP_D_SMA_Z}, - {0x01F3, ALP_ORDER_ISOLAT_SMA_LIG_DZ}, - {0x01F4, ALP_ORDER_ISOLAT_CAP_G_ACU}, - {0x01F5, ALP_ORDER_ISOLAT_SMA_G_ACU}, - {0x01FA, ALP_ORDER_ISOLAT_CAP_A_RIN_ACU}, - {0x01FB, ALP_ORDER_ISOLAT_SMA_A_RIN_ACU}, - {0x01FC, ALP_ORDER_ISOLAT_CAP_LIG_AE_ACU}, - {0x01FD, ALP_ORDER_ISOLAT_SMA_LIG_AE_ACU}, - {0x01FE, ALP_ORDER_ISOLAT_CAP_O_STR_ACU}, - {0x01FF, ALP_ORDER_ISOLAT_SMA_O_STR_ACU}, - {0x0391, ALP_ORDER_GREEK_CAP_ALPHA}, - {0x0392, ALP_ORDER_GREEK_CAP_BETA}, - {0x0393, ALP_ORDER_GREEK_CAP_GAMMA}, - {0x0394, ALP_ORDER_GREEK_CAP_DELTA}, - {0x0395, ALP_ORDER_GREEK_CAP_EPSILON}, - {0x0396, ALP_ORDER_GREEK_CAP_ZETA}, - {0x0397, ALP_ORDER_GREEK_CAP_ETA}, - {0x0398, ALP_ORDER_GREEK_CAP_THETA}, - {0x0399, ALP_ORDER_GREEK_CAP_IOTA}, - {0x039A, ALP_ORDER_GREEK_CAP_KAPPA}, - {0x039B, ALP_ORDER_GREEK_CAP_LAMDA}, - {0x039C, ALP_ORDER_GREEK_CAP_MU}, - {0x039D, ALP_ORDER_GREEK_CAP_NU}, - {0x039E, ALP_ORDER_GREEK_CAP_XI}, - {0x039F, ALP_ORDER_GREEK_CAP_OMICRON}, - {0x03A0, ALP_ORDER_GREEK_CAP_PI}, - {0x03A1, ALP_ORDER_GREEK_CAP_RHO}, - {0x03A3, ALP_ORDER_GREEK_CAP_SIGMA}, - {0x03A4, ALP_ORDER_GREEK_CAP_TAU}, - {0x03A5, ALP_ORDER_GREEK_CAP_UPSILON}, - {0x03A6, ALP_ORDER_GREEK_CAP_PHI}, - {0x03A7, ALP_ORDER_GREEK_CAP_CHI}, - {0x03A8, ALP_ORDER_GREEK_CAP_PSI}, - {0x03A9, ALP_ORDER_GREEK_CAP_OMEGA}, - {0x03B1, ALP_ORDER_GREEK_SMA_ALPHA}, - {0x03B2, ALP_ORDER_GREEK_SMA_BETA}, - {0x03B3, ALP_ORDER_GREEK_SMA_GAMMA}, - {0x03B4, ALP_ORDER_GREEK_SMA_DELTA}, - {0x03B5, ALP_ORDER_GREEK_SMA_EPSILON}, - {0x03B6, ALP_ORDER_GREEK_SMA_ZETA}, - {0x03B7, ALP_ORDER_GREEK_SMA_ETA}, - {0x03B8, ALP_ORDER_GREEK_SMA_THETA}, - {0x03B9, ALP_ORDER_GREEK_SMA_IOTA}, - {0x03BA, ALP_ORDER_GREEK_SMA_KAPPA}, - {0x03BB, ALP_ORDER_GREEK_SMA_LAMDA}, - {0x03BC, ALP_ORDER_GREEK_SMA_MU}, - {0x03BD, ALP_ORDER_GREEK_SMA_NU}, - {0x03BE, ALP_ORDER_GREEK_SMA_XI}, - {0x03BF, ALP_ORDER_GREEK_SMA_OMICRON}, - {0x03C0, ALP_ORDER_GREEK_SMA_PI}, - {0x03C1, ALP_ORDER_GREEK_SMA_RHO}, - {0x03C3, ALP_ORDER_GREEK_SMA_SIGMA}, - {0x03C4, ALP_ORDER_GREEK_SMA_TAU}, - {0x03C5, ALP_ORDER_GREEK_SMA_UPSILON}, - {0x03C6, ALP_ORDER_GREEK_SMA_PHI}, - {0x03C7, ALP_ORDER_GREEK_SMA_CHI}, - {0x03C8, ALP_ORDER_GREEK_SMA_PSI}, - {0x03C9, ALP_ORDER_GREEK_SMA_OMEGA}, - {0x0410, ALP_ORDER_CYRILLIC_CAP_A}, - {0x0411, ALP_ORDER_CYRILLIC_CAP_BE}, - {0x0412, ALP_ORDER_CYRILLIC_CAP_VE}, - {0x0413, ALP_ORDER_CYRILLIC_CAP_GHE}, - {0x0414, ALP_ORDER_CYRILLIC_CAP_DE}, - {0x0415, ALP_ORDER_CYRILLIC_CAP_IE}, - {0x0416, ALP_ORDER_CYRILLIC_CAP_ZHE}, - {0x0417, ALP_ORDER_CYRILLIC_CAP_ZE}, - {0x0418, ALP_ORDER_CYRILLIC_CAP_I}, - {0x0419, ALP_ORDER_CYRILLIC_CAP_SHORT_I}, - {0x041A, ALP_ORDER_CYRILLIC_CAP_KA}, - {0x041B, ALP_ORDER_CYRILLIC_CAP_EL}, - {0x041C, ALP_ORDER_CYRILLIC_CAP_EM}, - {0x041D, ALP_ORDER_CYRILLIC_CAP_EN}, - {0x041E, ALP_ORDER_CYRILLIC_CAP_O}, - {0x041F, ALP_ORDER_CYRILLIC_CAP_PE}, - {0x0420, ALP_ORDER_CYRILLIC_CAP_ER}, - {0x0421, ALP_ORDER_CYRILLIC_CAP_ES}, - {0x0422, ALP_ORDER_CYRILLIC_CAP_TE}, - {0x0423, ALP_ORDER_CYRILLIC_CAP_U}, - {0x0424, ALP_ORDER_CYRILLIC_CAP_EF}, - {0x0425, ALP_ORDER_CYRILLIC_CAP_HA}, - {0x0426, ALP_ORDER_CYRILLIC_CAP_TSE}, - {0x0427, ALP_ORDER_CYRILLIC_CAP_CHE}, - {0x0428, ALP_ORDER_CYRILLIC_CAP_SHA}, - {0x0429, ALP_ORDER_CYRILLIC_CAP_SHCHA}, - {0x042A, ALP_ORDER_CYRILLIC_CAP_HARD_SIGN}, - {0x042B, ALP_ORDER_CYRILLIC_CAP_YERU}, - {0x042C, ALP_ORDER_CYRILLIC_CAP_SOFT_SIGN}, - {0x042D, ALP_ORDER_CYRILLIC_CAP_E}, - {0x042E, ALP_ORDER_CYRILLIC_CAP_YU}, - {0x042F, ALP_ORDER_CYRILLIC_CAP_YA}, - {0x0430, ALP_ORDER_CYRILLIC_SMA_A}, - {0x0431, ALP_ORDER_CYRILLIC_SMA_BE}, - {0x0432, ALP_ORDER_CYRILLIC_SMA_VE}, - {0x0433, ALP_ORDER_CYRILLIC_SMA_GHE}, - {0x0434, ALP_ORDER_CYRILLIC_SMA_DE}, - {0x0435, ALP_ORDER_CYRILLIC_SMA_IE}, - {0x0436, ALP_ORDER_CYRILLIC_SMA_ZHE}, - {0x0437, ALP_ORDER_CYRILLIC_SMA_ZE}, - {0x0438, ALP_ORDER_CYRILLIC_SMA_I}, - {0x0439, ALP_ORDER_CYRILLIC_SMA_SHORT_I}, - {0x043A, ALP_ORDER_CYRILLIC_SMA_KA}, - {0x043B, ALP_ORDER_CYRILLIC_SMA_EL}, - {0x043C, ALP_ORDER_CYRILLIC_SMA_EM}, - {0x043D, ALP_ORDER_CYRILLIC_SMA_EN}, - {0x043E, ALP_ORDER_CYRILLIC_SMA_O}, - {0x043F, ALP_ORDER_CYRILLIC_SMA_PE}, - {0x0440, ALP_ORDER_CYRILLIC_SMA_ER}, - {0x0441, ALP_ORDER_CYRILLIC_SMA_ES}, - {0x0442, ALP_ORDER_CYRILLIC_SMA_TE}, - {0x0443, ALP_ORDER_CYRILLIC_SMA_U}, - {0x0444, ALP_ORDER_CYRILLIC_SMA_EF}, - {0x0445, ALP_ORDER_CYRILLIC_SMA_HA}, - {0x0446, ALP_ORDER_CYRILLIC_SMA_TSE}, - {0x0447, ALP_ORDER_CYRILLIC_SMA_CHE}, - {0x0448, ALP_ORDER_CYRILLIC_SMA_SHA}, - {0x0449, ALP_ORDER_CYRILLIC_SMA_SHCHA}, - {0x044A, ALP_ORDER_CYRILLIC_SMA_HARD_SIGN}, - {0x044B, ALP_ORDER_CYRILLIC_SMA_YERU}, - {0x044C, ALP_ORDER_CYRILLIC_SMA_SOFT_SIGN}, - {0x044D, ALP_ORDER_CYRILLIC_SMA_E}, - {0x044E, ALP_ORDER_CYRILLIC_SMA_YU}, - {0x044F, ALP_ORDER_CYRILLIC_SMA_YA}, - - {0xFF65, ALP_ORDER_HALFWIDTH_KATAKANA_MIDDLE_DOT}, - {0xFF66, ALP_ORDER_HALFWIDTH_KATAKANA_WO}, - {0xFF67, ALP_ORDER_HALFWIDTH_KATAKANA_SMALL_A}, - {0xFF68, ALP_ORDER_HALFWIDTH_KATAKANA_SMALL_I}, - {0xFF69, ALP_ORDER_HALFWIDTH_KATAKANA_SMALL_U}, - {0xFF6A, ALP_ORDER_HALFWIDTH_KATAKANA_SMALL_E}, - {0xFF6B, ALP_ORDER_HALFWIDTH_KATAKANA_SMALL_O}, - {0xFF6C, ALP_ORDER_HALFWIDTH_KATAKANA_SMALL_YA}, - {0xFF6D, ALP_ORDER_HALFWIDTH_KATAKANA_SMALL_YU}, - {0xFF6E, ALP_ORDER_HALFWIDTH_KATAKANA_SMALL_YO}, - {0xFF6F, ALP_ORDER_HALFWIDTH_KATAKANA_SMALL_TU}, - {0xFF70, ALP_ORDER_HALFWIDTH_KATAKANA_HIRAGANA_SOUND_MARK}, - {0xFF71, ALP_ORDER_HALFWIDTH_KATAKANA_A}, - {0xFF72, ALP_ORDER_HALFWIDTH_KATAKANA_I}, - {0xFF73, ALP_ORDER_HALFWIDTH_KATAKANA_U}, - {0xFF74, ALP_ORDER_HALFWIDTH_KATAKANA_E}, - {0xFF75, ALP_ORDER_HALFWIDTH_KATAKANA_O}, - {0xFF76, ALP_ORDER_HALFWIDTH_KATAKANA_KA}, - {0xFF77, ALP_ORDER_HALFWIDTH_KATAKANA_KI}, - {0xFF78, ALP_ORDER_HALFWIDTH_KATAKANA_KU}, - {0xFF79, ALP_ORDER_HALFWIDTH_KATAKANA_KE}, - {0xFF7A, ALP_ORDER_HALFWIDTH_KATAKANA_KO}, - {0xFF7B, ALP_ORDER_HALFWIDTH_KATAKANA_SA}, - {0xFF7C, ALP_ORDER_HALFWIDTH_KATAKANA_SI}, - {0xFF7D, ALP_ORDER_HALFWIDTH_KATAKANA_SU}, - {0xFF7E, ALP_ORDER_HALFWIDTH_KATAKANA_SE}, - {0xFF7F, ALP_ORDER_HALFWIDTH_KATAKANA_SO}, - {0xFF80, ALP_ORDER_HALFWIDTH_KATAKANA_TA}, - {0xFF81, ALP_ORDER_HALFWIDTH_KATAKANA_TI}, - {0xFF82, ALP_ORDER_HALFWIDTH_KATAKANA_TU}, - {0xFF83, ALP_ORDER_HALFWIDTH_KATAKANA_TE}, - {0xFF84, ALP_ORDER_HALFWIDTH_KATAKANA_TO}, - {0xFF85, ALP_ORDER_HALFWIDTH_KATAKANA_NA}, - {0xFF86, ALP_ORDER_HALFWIDTH_KATAKANA_NI}, - {0xFF87, ALP_ORDER_HALFWIDTH_KATAKANA_NU}, - {0xFF88, ALP_ORDER_HALFWIDTH_KATAKANA_NE}, - {0xFF89, ALP_ORDER_HALFWIDTH_KATAKANA_NO}, - {0xFF8A, ALP_ORDER_HALFWIDTH_KATAKANA_HA}, - {0xFF8B, ALP_ORDER_HALFWIDTH_KATAKANA_HI}, - {0xFF8C, ALP_ORDER_HALFWIDTH_KATAKANA_HU}, - {0xFF8D, ALP_ORDER_HALFWIDTH_KATAKANA_HE}, - {0xFF8E, ALP_ORDER_HALFWIDTH_KATAKANA_HO}, - {0xFF8F, ALP_ORDER_HALFWIDTH_KATAKANA_MA}, - {0xFF90, ALP_ORDER_HALFWIDTH_KATAKANA_MI}, - {0xFF91, ALP_ORDER_HALFWIDTH_KATAKANA_MU}, - {0xFF92, ALP_ORDER_HALFWIDTH_KATAKANA_ME}, - {0xFF93, ALP_ORDER_HALFWIDTH_KATAKANA_MO}, - {0xFF94, ALP_ORDER_HALFWIDTH_KATAKANA_YA}, - {0xFF95, ALP_ORDER_HALFWIDTH_KATAKANA_YU}, - {0xFF96, ALP_ORDER_HALFWIDTH_KATAKANA_YO}, - {0xFF97, ALP_ORDER_HALFWIDTH_KATAKANA_RA}, - {0xFF98, ALP_ORDER_HALFWIDTH_KATAKANA_RI}, - {0xFF99, ALP_ORDER_HALFWIDTH_KATAKANA_RU}, - {0xFF9A, ALP_ORDER_HALFWIDTH_KATAKANA_RE}, - {0xFF9B, ALP_ORDER_HALFWIDTH_KATAKANA_RO}, - {0xFF9C, ALP_ORDER_HALFWIDTH_KATAKANA_WA}, - {0xFF9D, ALP_ORDER_HALFWIDTH_KATAKANA_N}, - {0xFF9E, ALP_ORDER_HALFWIDTH_KATAKANA_VOICED_SOUND_MARK}, - {0xFF9F, ALP_ORDER_HALFWIDTH_KATAKANA_SEMI_VOICED_SOUND_MARK} -}; - -static UnicodeToAlphaOrder *gpUnicodeToAlphaOrderTable = - (UnicodeToAlphaOrder *)garUnicodeToAlphaOrderTable; -static DB_UINT16 gLineCntInUniToAlpahOrderTable = - WSC_UNICODE_TO_ALPHA_ORDER_COUNT; - -int sc_strcmp_user1(const char *str1, const char *str2); -int sc_strcmp_user2(const char *str1, const char *str2); -int sc_strcmp_user3(const char *str1, const char *str2); - -int sc_strncmp_user1(const char *s1, const char *s2, int n); -int sc_strncmp_user2(const char *s1, const char *s2, int n); -int sc_strncmp_user3(const char *s1, const char *s2, int n); - -char *sc_strstr_user1(const char *haystack, const char *needle); -char *sc_strstr_user2(const char *haystack, const char *needle); -char *sc_strstr_user3(const char *haystack, const char *needle); - -char *sc_strchr_user1(const char *string, const char *pEnd, int ch); -char *sc_strchr_user2(const char *string, const char *pEnd, int ch); -char *sc_strchr_user3(const char *string, const char *pEnd, int ch); - -int AcWStrCaseCollate(const DB_UINT16 *ws1, const DB_UINT16 *ws2); -int AcWStrnCaseCollate(const DB_UINT16 *ws1, const DB_UINT16 *ws2, - size_t count); -DB_UINT16 *AcWcsCasestr(const DB_UINT16 *s1, const DB_UINT16 *s2); -size_t AcWcslen(const wchar_t *s); -DB_UINT16 AcWCharlwr(DB_UINT16 wchCode); - -/*! \breif compare the string pointed to by s1 to the string pointed to by s2 - ************************************ - * \param str1(in) : - * \param str2(in) : - ************************************ - * \return - ************************************ - * \note ³»ºÎ ¾Ë°í¸®Áò - * - 20061206 ÇÔ¼ö »ý¼º - * - TODO : - * Æ÷Æýà »ç¿ëÀÚ°¡ ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù - *****************************************************************************/ -/* UNICODE¿¡ ´ëÇؼ­ Case InsensitiveÇÏ°Ô µ¿ÀÛ */ -/* sc_strdcmp(str1, str2);¿Í µ¿ÀÏÇÑ µ¿ÀÛ */ -int sc_strcmp_user1(const char *str1, const char *str2) -{ - return AcWStrCaseCollate((const DB_UINT16 *)str1, - (const DB_UINT16 *)str2); -} - -int sc_strcmp_user2(const char *str1, const char *str2) -{ - return AcWStrCaseCollate((const DB_UINT16 *)str1, - (const DB_UINT16 *)str2); -} - -int sc_strcmp_user3(const char *str1, const char *str2) -{ - return 1; -} - -/*****************************************************************************/ -/* sc_strncmp_user1 */ - -/*! \breif compare the string pointed to by s1 to the string pointed to by s2 - * in n- bytes - ************************************ - * \param s1(in) : - * \param s2(in) : - * \param n(in) : - ************************************ - * \return - ************************************ - * \note ³»ºÎ ¾Ë°í¸®Áò - * - 20061206 ÇÔ¼ö »ý¼º - * - TODO : - * Æ÷Æýà »ç¿ëÀÚ°¡ ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù - *****************************************************************************/ -/* UNICODE¿¡ ´ëÇؼ­ Case InsensitiveÇÏ°Ô µ¿ÀÛ */ -/* sc_strndcmp(s1, s2, n)¿Í µ¿ÀÏÇÑ µ¿ÀÛ */ -int sc_strncmp_user1(const char *s1, const char *s2, int n) -{ - return AcWStrnCaseCollate((const DB_UINT16 *)s1, (const DB_UINT16 *)s2, - n); -} - -int sc_strncmp_user2(const char *s1, const char *s2, int n) -{ - return AcWStrnCaseCollate((const DB_UINT16 *)s1, (const DB_UINT16 *)s2, - n); -} - -int sc_strncmp_user3(const char *s1, const char *s2, int n) -{ - return 1; -} - -/*****************************************************************************/ -/*! sc_strchr_user1 */ -/*! \breif locate the first occurrence of ch in the string - ************************************ - * \param string(in): - * \param pEnd(in) : - * \param ch(in) : - ************************************ - * \return - ************************************ - * \note ³»ºÎ ¾Ë°í¸®Áò - * like operation¿¡¼­ »ç¿ëµÊ - * - 20061206 ÇÔ¼ö »ý¼º - * - TODO : - * Æ÷Æýà »ç¿ëÀÚ°¡ ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù - **********************************************************************/ -/* UNICODE¿¡ ´ëÇؼ­ Case InsensitiveÇÏ°Ô µ¿ÀÛ */ -char *sc_strchr_user1(const char *string, const char *pEnd, int ch) -{ - DB_UINT16 *wstr1; - DB_UINT16 *tmp_wstr; - wint_t wstr2 = towupper((DB_UINT16)pEnd); - int string_len; - DB_WCHAR *ptr; - - if (wstr2 == (DB_UINT16)'\0') - return NULL; - - string_len = wcslen((wchar_t *) string); - - wstr1 = (DB_UINT16 *)malloc(sizeof(DB_UINT16)*(string_len + 1)); - if (!wstr1) - return NULL; - - memset(wstr1, 0x00, sizeof(DB_UINT16)*(string_len + 1)); - - ptr = (DB_WCHAR *) string; - tmp_wstr = wstr1; - for (; *ptr; ++ptr, ++tmp_wstr) - *tmp_wstr = (DB_UINT16)*ptr; - tmp_wstr = wstr1; - - for (; *tmp_wstr; tmp_wstr++, string++) { - if (towupper(*tmp_wstr) == wstr2) { - free(wstr1); - - return (char *)string; - } - } - - free(wstr1); - - return NULL; -} - -char *sc_strchr_user2(const char *string, const char *pEnd, int ch) -{ - return NULL; -} - -char *sc_strchr_user3(const char *string, const char *pEnd, int ch) -{ - return NULL; -} - -/* End of JINKI_COLLATION */ - -char *sc_strstr_user1(const char *haystack, const char *needle) -{ - return (char *)AcWcsCasestr((DB_UINT16 *)haystack, (DB_UINT16 *)needle); -} - -char *sc_strstr_user2(const char *haystack, const char *needle) -{ - return NULL; -} - -char *sc_strstr_user3(const char *haystack, const char *needle) -{ - return NULL; -} - -/* AcWStrColl.c AcWStrColl.c AcWStrColl.c AcWStrColl.c - AcWStrColl.c AcWStrColl.c AcWStrColl.c AcWStrColl.c */ - -int -__CmpUnicodeToAlphaOrder(const UnicodeToAlphaOrder *pEle1, - const UnicodeToAlphaOrder *pEle2) -{ - return ((pEle1->wchCode) - (pEle2->wchCode)); -} - -DB_UINT16 __GetAlphabeticalCaseOrderByUnicode(DB_UINT16 wchCode) -{ - UnicodeToAlphaOrder key = { 0 }; - UnicodeToAlphaOrder *pFindElement = NULL; - - if ((wchCode >= 0x0041 && wchCode <= 0x005A) - || (wchCode >= 0x00C0 && wchCode <= 0x00D6) || (wchCode >= 0x00D8 - && wchCode <= - 0x00DD) - || (wchCode >= 0x0391 && wchCode <= 0x03A9) || (wchCode >= 0x0410 - && wchCode <= - 0x042F)) { - wchCode = wchCode + WSC_CAP_TO_SMALL_OFFSET; - } - - key.wchCode = wchCode; - - pFindElement = - bsearch(&key, gpUnicodeToAlphaOrderTable, - gLineCntInUniToAlpahOrderTable, sizeof(UnicodeToAlphaOrder), - (int (*)(const void *, const void *)) - __CmpUnicodeToAlphaOrder); - - if (pFindElement != NULL) - return pFindElement->uAlphabeticalOrder; - - return ALP_ORDER_UNDEFINED_WEIGHT; -} - -/** - * @purpose : This function compares two strings in alphabetical order without - Case-Sensitive. A collation table that is set by - SetUnicodeToAlphaOrederTable is used to compare two strings - ( To Convert Lowcase ). If either char in compared two strings - has not a corresponding alphabetical oreder, comparison is done - by unicode order for these two characters. - * @param : ws1[In] : Null-terminated strings to compare. - ws2[In]: Null-terminated strings to compare. - * @return : This function returns a value indicating the relationship of - string1 to string2, as follows. - Return Value Relationship of string1 to string2 - < 0 string1 less than string2 - 0 string1 identical to string2 - > 0 string1 greater than string2 - * @author: Jayoun Lee - */ - -int AcWStrCaseCollate(const DB_UINT16 *ws1, const DB_UINT16 *ws2) -{ - int ret = 0; - DB_UINT16 nCmp1, nCmp2; - - if (!((int)ws1 & 0x1) && !((int)ws2 & 0x1)) { - /* 2-byte aligned */ - - nCmp1 = __GetAlphabeticalCaseOrderByUnicode(*ws1); - nCmp2 = __GetAlphabeticalCaseOrderByUnicode(*ws2); - - /* SYKim : The one which is not defined in the table is ALWAYS - have larger number than the one which is defined in the table */ - if ((nCmp1 == ALP_ORDER_UNDEFINED_WEIGHT) - && (nCmp2 == ALP_ORDER_UNDEFINED_WEIGHT)) { - nCmp1 = *ws1; - nCmp2 = *ws2; - } else if ((nCmp1 == ALP_ORDER_UNDEFINED_WEIGHT) - && (nCmp2 != ALP_ORDER_UNDEFINED_WEIGHT)) { - nCmp1 = 1; - nCmp2 = 0; - } else if ((nCmp1 != ALP_ORDER_UNDEFINED_WEIGHT) - && (nCmp2 == ALP_ORDER_UNDEFINED_WEIGHT)) { - nCmp1 = 0; - nCmp2 = 1; - } - - while (((ret = (int)(nCmp1 - nCmp2)) == 0) && *ws2) { - - ++ws1; - ++ws2; - nCmp1 = __GetAlphabeticalCaseOrderByUnicode(*ws1); - nCmp2 = __GetAlphabeticalCaseOrderByUnicode(*ws2); - - if ((nCmp1 == ALP_ORDER_UNDEFINED_WEIGHT) - || (nCmp2 == ALP_ORDER_UNDEFINED_WEIGHT)) { - nCmp1 = *ws1; - nCmp2 = *ws2; - } - } - } else { - /* not-aligned, byte to byte approach - slow */ - char *pc1 = (char *)ws1; - char *pc2 = (char *)ws2; - - while (!ret && (*pc2 || *(pc2 + 1))) { - DB_UINT16 wc1 = - (*(pc1 + 1) << 8) + ((*pc1 >> 8) & 0xFF); - DB_UINT16 wc2 = - (*(pc2 + 1) << 8) + ((*pc2 >> 8) & 0xFF); - - nCmp1 = __GetAlphabeticalCaseOrderByUnicode(wc1); - nCmp2 = __GetAlphabeticalCaseOrderByUnicode(wc2); - - /*SYKim : The one which is not defined in the table is - ALWAYS have larger number than the one which is defined - in the table. */ - if ((nCmp1 == ALP_ORDER_UNDEFINED_WEIGHT) - && (nCmp2 == ALP_ORDER_UNDEFINED_WEIGHT)) { - nCmp1 = wc1; - nCmp2 = wc2; - } else if ((nCmp1 == ALP_ORDER_UNDEFINED_WEIGHT) - && (nCmp2 != ALP_ORDER_UNDEFINED_WEIGHT)) { - nCmp1 = 1; - nCmp2 = 0; - } else if ((nCmp1 != ALP_ORDER_UNDEFINED_WEIGHT) - && (nCmp2 == ALP_ORDER_UNDEFINED_WEIGHT)) { - nCmp1 = 0; - nCmp2 = 1; - } - - ret = nCmp1 - nCmp2; - - pc1 += 2; - pc2 += 2; - } - } - - return (ret); -} - - /* - * @purpose : This function compares two strings in alphabetical order without - Case-Sensitive. A collation table that is set by - SetUnicodeToAlphaOrederTable is used to compare two strings - ( To Convert Lowcase ). If either char in compared two strings - has not a corresponding alphabetical order, comparison is done - by unicode order for these two characters. - * @param : ws1[In] : Null-terminated strings to compare. - ws2[In]: Null-terminated strings to compare. - count[In]: the initial number of characters to compare - * @return : This function returns a value indicating the relationship of - string1 to string2, as follows. - Return Value Relationship of string1 to string2 - < 0 string1 less than string2 - 0 string1 identical to string2 - > 0 string1 greater than string2 - * @author: Jayoun Lee - */ - -int AcWStrnCaseCollate(const DB_UINT16 *ws1, const DB_UINT16 *ws2, size_t count) -{ - DB_UINT16 nCmp1, nCmp2; - - if (!count) - return 0; - - if (!((DB_UINT16)ws1 & 0x1) && !((DB_UINT16)ws2 & 0x1)) { - /* 2-byte aligned */ - nCmp1 = __GetAlphabeticalCaseOrderByUnicode(*ws1); - nCmp2 = __GetAlphabeticalCaseOrderByUnicode(*ws2); - - /* SYKim : The one which is not defined in the table is ALWAYS - have larger number than the one which is defined in the table. */ - if ((nCmp1 == ALP_ORDER_UNDEFINED_WEIGHT) - && (nCmp2 == ALP_ORDER_UNDEFINED_WEIGHT)) { - nCmp1 = *ws1; - nCmp2 = *ws2; - } else if ((nCmp1 == ALP_ORDER_UNDEFINED_WEIGHT) - && (nCmp2 != ALP_ORDER_UNDEFINED_WEIGHT)) { - nCmp1 = 1; - nCmp2 = 0; - } else if ((nCmp1 != ALP_ORDER_UNDEFINED_WEIGHT) - && (nCmp2 == ALP_ORDER_UNDEFINED_WEIGHT)) { - nCmp1 = 0; - nCmp2 = 1; - } - - while (--count && *ws1 && nCmp1 == nCmp2) { - ws1++; - ws2++; - - nCmp1 = __GetAlphabeticalCaseOrderByUnicode(*ws1); - nCmp2 = __GetAlphabeticalCaseOrderByUnicode(*ws2); - - /* SYKim : The one which is not defined in the table is - ALWAYS have larger number than the one which is - defined in the table. */ - if ((nCmp1 == ALP_ORDER_UNDEFINED_WEIGHT) - && (nCmp2 == ALP_ORDER_UNDEFINED_WEIGHT)) { - nCmp1 = *ws1; - nCmp2 = *ws2; - } else if ((nCmp1 == ALP_ORDER_UNDEFINED_WEIGHT) - && (nCmp2 != ALP_ORDER_UNDEFINED_WEIGHT)) { - nCmp1 = 1; - nCmp2 = 0; - } else if ((nCmp1 != ALP_ORDER_UNDEFINED_WEIGHT) - && (nCmp2 == ALP_ORDER_UNDEFINED_WEIGHT)) { - nCmp1 = 0; - nCmp2 = 1; - } - } - - return (int)(nCmp1 - nCmp2); - } else { - /* not-aligned, byte to byte approach - slow */ - char *pc1 = (char *)ws1; - char *pc2 = (char *)ws2; - - while (--count && (*pc1 || *pc1 + 1)) { - DB_UINT16 wc1 = - (*(pc1 + 1) << 8) + ((*pc1 >> 8) & 0xFF); - DB_UINT16 wc2 = - (*(pc2 + 1) << 8) + ((*pc2 >> 8) & 0xFF); - - nCmp1 = __GetAlphabeticalCaseOrderByUnicode(wc1); - nCmp2 = __GetAlphabeticalCaseOrderByUnicode(wc2); - - /* SYKim : The one which is not defined in the table is - ALWAYS have larger number than the one which is defined - in the table.*/ - - if ((nCmp1 == ALP_ORDER_UNDEFINED_WEIGHT) - && (nCmp2 == ALP_ORDER_UNDEFINED_WEIGHT)) { - nCmp1 = wc1; - nCmp2 = wc2; - } else if ((nCmp1 == ALP_ORDER_UNDEFINED_WEIGHT) - && (nCmp2 != ALP_ORDER_UNDEFINED_WEIGHT)) { - nCmp1 = 1; - nCmp2 = 0; - } else if ((nCmp1 != ALP_ORDER_UNDEFINED_WEIGHT) - && (nCmp2 == ALP_ORDER_UNDEFINED_WEIGHT)) { - nCmp1 = 0; - nCmp2 = 1; - } - if (nCmp1 != nCmp2) { - return ((int)nCmp1 - nCmp2); - } - pc1 += 2; - pc2 += 2; - } - return 0; - } -} - -DB_UINT16 *AcWcsCasestr(const DB_UINT16 *s1, const DB_UINT16 *s2) -{ - const DB_UINT16 *p; - const DB_UINT16 *q; - const DB_UINT16 *r; - - if (!*s2) { - /* LINTED interface specification */ - return (DB_UINT16 *)s1; - } - /*vodakk upgrade 2005.10.03 */ - if (AcWcslen((wchar_t *)s1) < AcWcslen((wchar_t *)s2)) - return NULL; - - p = s1; - q = s2; - while (*p) { - q = s2; - r = p; - while (*q) { - if (AcWCharlwr(*r) != AcWCharlwr(*q)) - break; - q++; - r++; - } - if (!*q) { - /* LINTED interface specification */ - return (DB_UINT16 *)p; - } - p++; - } - return NULL; -} - -size_t AcWcslen(const wchar_t *s) -{ - if (!((int)s & 0x1)) { - /* 2-byte aligned */ - wchar_t *temp = (wchar_t *)s; - - while (*temp++) { - /* DO NOTHING */ ; - } - - return ((size_t) (temp - s - 1)); - } else { - /* not-aligned, byte to byte approach - slow */ - unsigned char *temp = (unsigned char *)s; - - while (*temp || *(temp + 1)) { - temp += 2; - } - return ((size_t) (temp - (unsigned char *)s) / 2); - } -} - -DB_UINT16 AcWCharlwr(DB_UINT16 wchCode) -{ - if (wchCode >= 0x0041 && wchCode <= 0x005A) { - wchCode = wchCode + WSC_CAP_TO_SMALL_OFFSET; - } - return wchCode; -} - -int dbutil_collation(void *data, int l1, const void *s1, int l2, const void *s2) -{ - int i = 0, j; - char *str1; - char *str2; - str1 = (char *)calloc(1, l1 + 2); - str2 = (char *)calloc(1, l2 + 2); - memcpy(str1, s1, l1); - memcpy(str2, s2, l2); - i = AcWStrCaseCollate((const DB_UINT16 *)str1, (const DB_UINT16 *)str2); - free(str1); - free(str2); - return i; -} diff --git a/convert.c b/convert.c deleted file mode 100755 index 926a15b..0000000 --- a/convert.c +++ /dev/null @@ -1,239 +0,0 @@ -/* - * libslp-db-util - * - * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. - * - * Contact: Hakjoo Ko - * - * 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 "convert.h" - -/* For Convert UTF8 -> UCS2 */ -#define conversionOK (0) /* conversion successful */ -#define sourceoverbmp (-1) /* over bmp */ -#define sourceIllegal (-2) /* source sequence is illegal/malformed */ -#define targetExhausted (-3) /* insuff. room in target for conversion */ - -/* Some fundamental constants */ -#define UNI_REPLACEMENT_CHAR (DB_UINT32)0x0000FFFD -#define UNI_MAX_BMP (DB_UINT32)0x0000FFFF -#define UNI_MAX_UTF16 (DB_UINT32)0x0010FFFF -#define UNI_MAX_UTF32 (DB_UINT32)0x7FFFFFFF -#define UNI_MAX_LEGAL_UTF32 (DB_UINT32)0x0010FFFF - -#ifdef CONVERSION_PRECISION_CHECK -# define __GetUTF8ByteSize_Internal(c) \ - ((((c)>>4) == 0x0e) ? 3 : (!((c)&0x80)) ? 1 : \ - (((c)>>5) == 0x06) ? 2 : (((c)>>3) == 0x1e) ? 4 : \ - (((c)>>2) == 0x3e) ? 5 : (((c)>>6) == 0x02) ? 6 : 0) -#else -# define __GetUTF8ByteSize_Internal(c) ((!((c) & 0x80)) ? 1 : \ - (((c) >> 5) == 0x06) ? 2 : (((c) >> 4) == 0x0e) ? 3 : 0) -#endif /* #ifdef CONVERSION_PRECISION_CHECK */ - -#define MC_GETUTF8_BYTESEQUENCE_10XXXXXX(v) (((v) & 0xBF) | 0x80) -#define MC_GetUTF8ByteSize(c) (__GetUTF8ByteSize_Internal((DB_UINT8)(c))) - -int dbutil_utf8toucs2(DB_UINT8 *source, DB_UINT16 *dest, int *pdestsize) -{ - int i, nBytes, targetBufSize; - const DB_UINT8 *p = source; - DB_UINT32 u32; - - if (source == NULL) { - *pdestsize = 0; - return sourceoverbmp; - } - - if (!dest) { - targetBufSize = 1; - while (*p) { - nBytes = MC_GetUTF8ByteSize(*p); - - u32 = (DB_UINT32)*p; - switch (nBytes) { - case 1: - break; - case 2: /* 110xxxxx 10xxxxxx */ - u32 &= 0x1F; - break; - case 3: /* 1110xxxx 10xxxxxx 10xxxxxx */ - u32 &= 0x0F; - break; - default: /* over UNI_MAX_BMP */ - return sourceoverbmp; - } - - p++; - while (--nBytes > 0) { - u32 <<= 6; - u32 |= (*p & 0x3f); - p++; - } - -#ifdef CONVERSION_PRECISION_CHECK - if (MC_IsSurrogateArea(u32)) - return sourceIllegal; - else if (u32 <= UNI_MAX_BMP) - targetBufSize++; - else - return sourceoverbmp; -#else - if (u32 <= UNI_MAX_BMP) - targetBufSize++; - else - return sourceoverbmp; -#endif /* if (u32 <= UNI_MAX_BMP) */ -#if 0 - targetBufSize++; -#endif - } - - *pdestsize = targetBufSize; - return conversionOK; - } - /* conversion string */ - i = 0; - targetBufSize = *pdestsize; - - while (*p) { - nBytes = MC_GetUTF8ByteSize(*p); - u32 = *p; - switch (nBytes) { - case 1: - break; - case 2: /* 110xxxxx 10xxxxxx */ - u32 &= 0x1F; - break; - case 3: /* 1110xxxx 10xxxxxx 10xxxxxx */ - u32 &= 0x0F; - break; - default: - return sourceIllegal; - } - - p++; - while (--nBytes > 0) { - u32 <<= 6; - u32 |= (*p & 0x3f); - p++; - } - if (i >= targetBufSize) { - return targetExhausted; - } -#ifdef CONVERSION_PRECISION_CHECK - if (MC_IsSurrogateArea(u32)) - return sourceIllegal; - else if (u32 <= UNI_MAX_BMP) - dest[i++] = (DB_UINT16)u32; /* normal case */ - else - return sourceoverbmp; -#else - if (u32 <= UNI_MAX_BMP) - dest[i++] = (DB_UINT16)u32; /* normal case */ - else - return sourceoverbmp; -#endif /* #ifdef CONVERSION_PRECISION_CHECK */ - } - dest[i] = (DB_UINT16)0x00; - *pdestsize = i + 1; - return conversionOK; -} - -int dbutil_ucs2toutf8(DB_UINT16 *source, DB_UINT8 *dest, int *pdestsize) -{ - int i, targetBufSize; - DB_UINT16 *p = source; - DB_UINT32 u32; - int bytesToWrite = 0; - const DB_UINT8 szFirstByteMark[7] = { - 0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF8, 0xFC - }; - - if (source == NULL) { - *pdestsize = 0; - return sourceoverbmp; - } - - if (!dest) { - targetBufSize = 1; /* null */ - while (*p) { - u32 = (DB_UINT32)*p; -#ifdef CONVERSION_PRECISION_CHECK - if (MC_IsSurrogateArea(u32)) - return sourceIllegal; -#endif /* #ifdef CONVERSION_PRECISION_CHECK */ - - if (u32 < (DB_UINT32)0x80) - targetBufSize++; - else if (u32 < (DB_UINT32)0x800) - targetBufSize += 2; - else if (u32 < (DB_UINT32)0x10000) - targetBufSize += 3; - else /* over UNI_MAX_BMP */ - return sourceoverbmp; - - p++; - } - - *pdestsize = targetBufSize; - return conversionOK; - } - /* conversion string */ - i = 0; - targetBufSize = *pdestsize; - - while (*p) { - u32 = (DB_UINT32)*p++; -#ifdef CONVERSION_PRECISION_CHECK - if (MC_IsSurrogateArea(u32)) - return sourceIllegal; -#endif /* #ifdef CONVERSION_PRECISION_CHECK */ - - if (u32 < (DB_UINT32)0x80) - bytesToWrite = 1; - else if (u32 < (DB_UINT32)0x800) - bytesToWrite = 2; - else if (u32 < (DB_UINT32)0x10000) - bytesToWrite = 3; - else /* over UNI_MAX_BMP */ - return sourceoverbmp; - - i += bytesToWrite; - if (i >= targetBufSize) - return targetExhausted; - - switch (bytesToWrite) { /* note: everything falls through. */ - case 3: - dest[--i] = - (DB_UINT8)MC_GETUTF8_BYTESEQUENCE_10XXXXXX(u32); - u32 >>= 6; - case 2: - dest[--i] = - (DB_UINT8)MC_GETUTF8_BYTESEQUENCE_10XXXXXX(u32); - u32 >>= 6; - case 1: - dest[--i] = - (DB_UINT8)(u32 | szFirstByteMark[bytesToWrite]); - } - - i += bytesToWrite; - } - - dest[i] = (DB_UINT8)0x00; - *pdestsize = i + 1; - return conversionOK; -} diff --git a/debian/changelog b/debian/changelog index ec69756..67be653 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,7 +1,7 @@ -libslp-db-util (0.1.0-45) unstable; urgency=low +libslp-db-util (0.1.0-49) unstable; urgency=low * Initial Release. * Git: pkgs/l/libslp-db-util - * Tag: libslp-db-util_0.1.0-45 + * Tag: libslp-db-util_0.1.0-49 -- Hyungdeuk Kim Wed, 07 Dec 2011 14:40:37 +0900 diff --git a/debian/rules b/debian/rules index 444de5e..22396e1 100755 --- a/debian/rules +++ b/debian/rules @@ -89,8 +89,8 @@ binary-indep: build install binary-arch: build install dh_testdir dh_testroot - dh_installchangelogs - dh_installdocs +# dh_installchangelogs +# dh_installdocs dh_installexamples dh_install --sourcedir=debian/tmp # dh_installmenu diff --git a/include/collation.h b/include/collation.h deleted file mode 100755 index 0e8450a..0000000 --- a/include/collation.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * libslp-db-util - * - * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. - * - * Contact: Hakjoo Ko - * - * 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 __COLLATION_H__ -#define __COLLATION_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -/** -* @defgroup StorageFW Storage Framework -* In order to support applications using DB -*/ - -/** - * @defgroup DB_UTIL - * @ingroup StorageFW - * @{ - */ -EXPORT_API int dbutil_collation(void *data, int l1, const void *s1, - int l2, const void *s2); -/** -*@} -*/ - -#define COLLATION "Collation" - -#ifdef __cplusplus -} -#endif -#endif /* __COLLATION_H__ */ diff --git a/include/convert.h b/include/convert.h deleted file mode 100755 index 5384d63..0000000 --- a/include/convert.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * libslp-db-util - * - * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. - * - * Contact: Hakjoo Ko - * - * 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 __CONVERT_H__ -#define __CONVERT_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - - typedef unsigned char DB_UINT8; - typedef unsigned short DB_UINT16; - typedef unsigned int DB_UINT32; - typedef unsigned short DB_WCHAR; - -/** -* @defgroup StorageFW Storage Framework -* In order to support applications using DB -*/ - -/** - * @defgroup DB_UTIL - * @ingroup StorageFW - * @{ - */ -EXPORT_API int dbutil_utf8toucs2(DB_UINT8 *source, DB_UINT16 *dest, - int *pdestsize); -EXPORT_API int dbutil_ucs2toutf8(DB_UINT16 *source, DB_UINT8 *dest, - int *pdestsize); -/** -*@} -*/ - -#ifdef __cplusplus -} -#endif -#endif /* __CONVERT_H__ */ diff --git a/include/db-util.h b/include/db-util.h index 68fbd37..e300eed 100755 --- a/include/db-util.h +++ b/include/db-util.h @@ -26,8 +26,6 @@ extern "C" { #endif -#include "collation.h" -#include "convert.h" #include "util-func.h" #ifdef __cplusplus diff --git a/include/util-func.h b/include/util-func.h index 6ad6c39..8cf8d0d 100755 --- a/include/util-func.h +++ b/include/util-func.h @@ -26,7 +26,12 @@ extern "C" { #endif -#include +#include +#include + +#ifndef EXPORT_API +#define EXPORT_API __attribute__ ((visibility("default"))) +#endif #define DB_UTIL_REGISTER_HOOK_METHOD 0x00000001 #define DB_UTIL_LUCENE_INDEX 0x00000002 @@ -42,10 +47,10 @@ extern "C" { * @{ */ EXPORT_API int db_util_open(const char *pszFilePath, sqlite3 **ppDB, - int nOption); + int nOption); EXPORT_API int db_util_open_with_options(const char *pszFilePath, - sqlite3 **ppDB, int flags, - const char *zVfs); + sqlite3 **ppDB, int flags, + const char *zVfs); EXPORT_API int db_util_close(sqlite3 *ppDB); /** *@} diff --git a/packaging/libslp-db-util.spec b/packaging/libslp-db-util.spec index 36bb1ce..75039b2 100644 --- a/packaging/libslp-db-util.spec +++ b/packaging/libslp-db-util.spec @@ -1,22 +1,19 @@ - Name: libslp-db-util Summary: DB Utility Version: 0.1.0 -Release: 2.1 +Release: 49 Group: TO_BE/FILLED_IN -License: TO BE FILLED IN -Source0: libslp-db-util-%{version}.tar.bz2 +License: Apache License, Version 2.0 +Source0: libslp-db-util-%{version}.tar.gz Requires(post): /sbin/ldconfig Requires(postun): /sbin/ldconfig BuildRequires: cmake BuildRequires: pkgconfig(sqlite3) - +BuildRequires: pkgconfig(dlog) %description libslp-db-util-dev package - - %package devel Summary: Devel package for libslp-db-util (devel) Group: Development/Libraries @@ -24,44 +21,39 @@ Requires: %{name} = %{version}-%{release} Requires: pkgconfig(sqlite3) %description devel -heynoti API (devel) - %prep %setup -q -n %{name}-%{version} - %build cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} - make %{?jobs:-j%jobs} %install rm -rf %{buildroot} %make_install +if [ ! -d %{buildroot}/opt/dbspace ]; then + mkdir -p %{buildroot}/opt/dbspace +fi +%post +/sbin/ldconfig - -%post -p /sbin/ldconfig +chown :5000 /opt/dbspace +chmod 775 /opt/dbspace %postun -p /sbin/ldconfig - - - - %files %defattr(-,root,root,-) -%doc COPYING +/opt/dbspace %{_libdir}/libSLP-db-util.so.0 %{_libdir}/libSLP-db-util.so.0.1.0 - %files devel %defattr(-,root,root,-) -#%{_prefix}/bin/test_db %{_includedir}/db-util/*.h %{_libdir}/pkgconfig/db-util.pc %{_libdir}/libSLP-db-util.so diff --git a/util_func.c b/util_func.c index 2465cb3..48a0964 100755 --- a/util_func.c +++ b/util_func.c @@ -19,10 +19,11 @@ * */ -#include #include #include +#include "db-util-common.h" +#include "util-func.h" #include "db-util-debug.h" #define BUFSIZE 512 @@ -43,6 +44,11 @@ static int db_util_busyhandler(void *pData, int count) int db_util_open(const char *pszFilePath, sqlite3 **ppDB, int nOption) { char *pszErrorMsg = NULL; + + if((pszFilePath == NULL) || (ppDB == NULL)) { + DBUTIL_TRACE_WARNING("sqlite3 handle null error"); + return -1; + } /* Save DB Path & Option */ strncpy(_szDBPath, pszFilePath, strlen(pszFilePath)); @@ -80,6 +86,11 @@ int db_util_open_with_options(const char *pszFilePath, sqlite3 **ppDB, int flags, const char *zVfs) { char *pszErrorMsg = NULL; + + if((pszFilePath == NULL) || (ppDB == NULL)) { + DBUTIL_TRACE_WARNING("sqlite3 handle null error"); + return -1; + } /* Save DB Path & Option */ strncpy(_szDBPath, pszFilePath, strlen(pszFilePath)); -- 2.7.4