[Groonga-commit] groonga/groonga [master] Remove normalizers/mysql

Back to archive index

Kouhei Sutou null+****@clear*****
Thu Jan 24 15:56:26 JST 2013


Kouhei Sutou	2013-01-24 15:56:26 +0900 (Thu, 24 Jan 2013)

  New Revision: 23ced59fcc450289128eebe308c8697dabb9b8e2
  https://github.com/groonga/groonga/commit/23ced59fcc450289128eebe308c8697dabb9b8e2

  Log:
    Remove normalizers/mysql
    
    It has been moved to groonga/groonga-nomralizer-mysql.

  Removed files:
    LEGAL
    plugins/normalizers/CMakeLists.txt
    plugins/normalizers/Makefile.am
    plugins/normalizers/mysql.c
    plugins/normalizers/mysql_sources.am
    test/command/suite/normalizers/mysql/general_ci/plane00.expected
    test/command/suite/normalizers/mysql/general_ci/plane00.test
  Modified files:
    configure.ac
    plugins/CMakeLists.txt
    plugins/Makefile.am

  Deleted: LEGAL (+0 -6) 100644
===================================================================
--- LEGAL    2013-01-24 12:32:27 +0900 (0bc03e5)
+++ /dev/null
@@ -1,6 +0,0 @@
-Groonga is licensed under LGPLv2.1 only.
-
-Exceptions:
-
-* plugins/normalizers/mysql.c is licensed under LGPLv2 only. Because it
-  is based on MySQL's strings/ctype-utf8.c.

  Modified: configure.ac (+0 -4)
===================================================================
--- configure.ac    2013-01-24 12:32:27 +0900 (1ae6600)
+++ configure.ac    2013-01-24 15:56:26 +0900 (ef851fd)
@@ -224,7 +224,6 @@ AC_CONFIG_FILES([
   plugins/suggest/Makefile
   plugins/table/Makefile
   plugins/query_expanders/Makefile
-  plugins/normalizers/Makefile
   examples/Makefile
   examples/dictionary/Makefile
   examples/dictionary/edict/Makefile
@@ -1169,9 +1168,6 @@ AC_SUBST(tokenizers_pluginsdir)
 query_expanders_pluginsdir="\${pluginsdir}/query_expanders"
 AC_SUBST(query_expanders_pluginsdir)
 
-normalizers_pluginsdir="\${pluginsdir}/normalizers"
-AC_SUBST(normalizers_pluginsdir)
-
 suggest_pluginsdir="\${pluginsdir}/suggest"
 AC_SUBST(suggest_pluginsdir)
 

  Modified: plugins/CMakeLists.txt (+0 -1)
===================================================================
--- plugins/CMakeLists.txt    2013-01-24 12:32:27 +0900 (12883c7)
+++ plugins/CMakeLists.txt    2013-01-24 15:56:26 +0900 (9d94824)
@@ -17,4 +17,3 @@ add_subdirectory(suggest)
 add_subdirectory(tokenizers)
 add_subdirectory(table)
 add_subdirectory(query_expanders)
-add_subdirectory(normalizers)

  Modified: plugins/Makefile.am (+1 -2)
===================================================================
--- plugins/Makefile.am    2013-01-24 12:32:27 +0900 (c5a0e14)
+++ plugins/Makefile.am    2013-01-24 15:56:26 +0900 (fbe6f15)
@@ -2,8 +2,7 @@ SUBDIRS =					\
 	tokenizers				\
 	suggest					\
 	table					\
-	query_expanders				\
-	normalizers
+	query_expanders
 
 EXTRA_DIST =					\
 	CMakeLists.txt

  Deleted: plugins/normalizers/CMakeLists.txt (+0 -27) 100644
===================================================================
--- plugins/normalizers/CMakeLists.txt    2013-01-24 12:32:27 +0900 (9f85773)
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright(C) 2013 Brazil
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License version 2.1 as published by the Free Software Foundation.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-
-include_directories(
-  ${CMAKE_SOURCE_DIR}/lib
-  )
-
-set(NORMALIZERS_DIR "${GRN_PLUGINS_DIR}/normalizers")
-read_file_list(${CMAKE_CURRENT_SOURCE_DIR}/mysql_sources.am MYSQL_SOURCES)
-add_library(mysql_normalizer MODULE ${MYSQL_SOURCES})
-set_target_properties(mysql_normalizer PROPERTIES
-  PREFIX ""
-  OUTPUT_NAME "mysql")
-target_link_libraries(mysql_normalizer libgroonga)
-install(TARGETS mysql_normalizer DESTINATION "${NORMALIZERS_DIR}")

  Deleted: plugins/normalizers/Makefile.am (+0 -20) 100644
===================================================================
--- plugins/normalizers/Makefile.am    2013-01-24 12:32:27 +0900 (5dc7c12)
+++ /dev/null
@@ -1,20 +0,0 @@
-EXTRA_DIST =					\
-	CMakeLists.txt
-
-INCLUDES =			\
-	-I$(top_builddir)	\
-	-I$(top_srcdir)/include	\
-	-I$(top_srcdir)/lib
-
-AM_LDFLAGS =					\
-	-avoid-version				\
-	-module					\
-	-no-undefined
-
-LIBS =						\
-	$(top_builddir)/lib/libgroonga.la
-
-normalizers_plugins_LTLIBRARIES =
-normalizers_plugins_LTLIBRARIES += mysql.la
-
-include mysql_sources.am

  Deleted: plugins/normalizers/mysql.c (+0 -1699) 100644
===================================================================
--- plugins/normalizers/mysql.c    2013-01-24 12:32:27 +0900 (e3f737b)
+++ /dev/null
@@ -1,1699 +0,0 @@
-/* -*- c-basic-offset: 2 -*- */
-/*
-  Copyright(C) 2013 Brazil
-
-  This library is free software; you can redistribute it and/or
-  modify it under the terms of the GNU Library General Public
-  License as published by the Free Software Foundation; version 2
-  of the License.
-
-  This library is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-  Library General Public License for more details.
-
-  You should have received a copy of the GNU Library General Public
-  License along with this library; if not, write to the Free
-  Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
-  MA 02110-1301, USA
-
-  This file uses normalization table defined in
-  MySQL-5.5.29/strings/ctype-utf8.c. The following is the header of
-  the file:
-
-    Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Library General Public
-    License as published by the Free Software Foundation; version 2
-    of the License.
-
-    This library is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-    Library General Public License for more details.
-
-    You should have received a copy of the GNU Library General Public
-    License along with this library; if not, write to the Free
-    Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
-    MA 02110-1301, USA
-
-    UTF8 according RFC 2279
-    Written by Alexander Barkov <bar �� udm.net>
-*/
-
-#include <groonga/normalizer.h>
-#include <groonga/tokenizer.h>
-
-/* grn_enctostr() :< */
-#include <str.h>
-
-/* based on mysql-5.5.29/strings/ctype-utf8.c: start */
-static uint32_t plane00[] = {
-  0x0000,  0x0001,
-  0x0002,  0x0003,
-  0x0004,  0x0005,
-  0x0006,  0x0007,
-  0x0008,  0x0009,
-  0x000A,  0x000B,
-  0x000C,  0x000D,
-  0x000E,  0x000F,
-  0x0010,  0x0011,
-  0x0012,  0x0013,
-  0x0014,  0x0015,
-  0x0016,  0x0017,
-  0x0018,  0x0019,
-  0x001A,  0x001B,
-  0x001C,  0x001D,
-  0x001E,  0x001F,
-  0x0020,  0x0021,
-  0x0022,  0x0023,
-  0x0024,  0x0025,
-  0x0026,  0x0027,
-  0x0028,  0x0029,
-  0x002A,  0x002B,
-  0x002C,  0x002D,
-  0x002E,  0x002F,
-  0x0030,  0x0031,
-  0x0032,  0x0033,
-  0x0034,  0x0035,
-  0x0036,  0x0037,
-  0x0038,  0x0039,
-  0x003A,  0x003B,
-  0x003C,  0x003D,
-  0x003E,  0x003F,
-  0x0040,  0x0041,
-  0x0042,  0x0043,
-  0x0044,  0x0045,
-  0x0046,  0x0047,
-  0x0048,  0x0049,
-  0x004A,  0x004B,
-  0x004C,  0x004D,
-  0x004E,  0x004F,
-  0x0050,  0x0051,
-  0x0052,  0x0053,
-  0x0054,  0x0055,
-  0x0056,  0x0057,
-  0x0058,  0x0059,
-  0x005A,  0x005B,
-  0x005C,  0x005D,
-  0x005E,  0x005F,
-  0x0060,  0x0041,
-  0x0042,  0x0043,
-  0x0044,  0x0045,
-  0x0046,  0x0047,
-  0x0048,  0x0049,
-  0x004A,  0x004B,
-  0x004C,  0x004D,
-  0x004E,  0x004F,
-  0x0050,  0x0051,
-  0x0052,  0x0053,
-  0x0054,  0x0055,
-  0x0056,  0x0057,
-  0x0058,  0x0059,
-  0x005A,  0x007B,
-  0x007C,  0x007D,
-  0x007E,  0x007F,
-  0x0080,  0x0081,
-  0x0082,  0x0083,
-  0x0084,  0x0085,
-  0x0086,  0x0087,
-  0x0088,  0x0089,
-  0x008A,  0x008B,
-  0x008C,  0x008D,
-  0x008E,  0x008F,
-  0x0090,  0x0091,
-  0x0092,  0x0093,
-  0x0094,  0x0095,
-  0x0096,  0x0097,
-  0x0098,  0x0099,
-  0x009A,  0x009B,
-  0x009C,  0x009D,
-  0x009E,  0x009F,
-  0x00A0,  0x00A1,
-  0x00A2,  0x00A3,
-  0x00A4,  0x00A5,
-  0x00A6,  0x00A7,
-  0x00A8,  0x00A9,
-  0x00AA,  0x00AB,
-  0x00AC,  0x00AD,
-  0x00AE,  0x00AF,
-  0x00B0,  0x00B1,
-  0x00B2,  0x00B3,
-  0x00B4,  0x039C,
-  0x00B6,  0x00B7,
-  0x00B8,  0x00B9,
-  0x00BA,  0x00BB,
-  0x00BC,  0x00BD,
-  0x00BE,  0x00BF,
-  0x0041,  0x0041,
-  0x0041,  0x0041,
-  0x0041,  0x0041,
-  0x00C6,  0x0043,
-  0x0045,  0x0045,
-  0x0045,  0x0045,
-  0x0049,  0x0049,
-  0x0049,  0x0049,
-  0x00D0,  0x004E,
-  0x004F,  0x004F,
-  0x004F,  0x004F,
-  0x004F,  0x00D7,
-  0x00D8,  0x0055,
-  0x0055,  0x0055,
-  0x0055,  0x0059,
-  0x00DE,  0x0053,
-  0x0041,  0x0041,
-  0x0041,  0x0041,
-  0x0041,  0x0041,
-  0x00C6,  0x0043,
-  0x0045,  0x0045,
-  0x0045,  0x0045,
-  0x0049,  0x0049,
-  0x0049,  0x0049,
-  0x00D0,  0x004E,
-  0x004F,  0x004F,
-  0x004F,  0x004F,
-  0x004F,  0x00F7,
-  0x00D8,  0x0055,
-  0x0055,  0x0055,
-  0x0055,  0x0059,
-  0x00DE,  0x0059
-};
-
-static uint32_t plane01[] = {
-  0x0041,  0x0041,
-  0x0041,  0x0041,
-  0x0041,  0x0041,
-  0x0043,  0x0043,
-  0x0043,  0x0043,
-  0x0043,  0x0043,
-  0x0043,  0x0043,
-  0x0044,  0x0044,
-  0x0110,  0x0110,
-  0x0045,  0x0045,
-  0x0045,  0x0045,
-  0x0045,  0x0045,
-  0x0045,  0x0045,
-  0x0045,  0x0045,
-  0x0047,  0x0047,
-  0x0047,  0x0047,
-  0x0047,  0x0047,
-  0x0047,  0x0047,
-  0x0048,  0x0048,
-  0x0126,  0x0126,
-  0x0049,  0x0049,
-  0x0049,  0x0049,
-  0x0049,  0x0049,
-  0x0049,  0x0049,
-  0x0049,  0x0049,
-  0x0132,  0x0132,
-  0x004A,  0x004A,
-  0x004B,  0x004B,
-  0x0138,  0x004C,
-  0x004C,  0x004C,
-  0x004C,  0x004C,
-  0x004C,  0x013F,
-  0x013F,  0x0141,
-  0x0141,  0x004E,
-  0x004E,  0x004E,
-  0x004E,  0x004E,
-  0x004E,  0x0149,
-  0x014A,  0x014A,
-  0x004F,  0x004F,
-  0x004F,  0x004F,
-  0x004F,  0x004F,
-  0x0152,  0x0152,
-  0x0052,  0x0052,
-  0x0052,  0x0052,
-  0x0052,  0x0052,
-  0x0053,  0x0053,
-  0x0053,  0x0053,
-  0x0053,  0x0053,
-  0x0053,  0x0053,
-  0x0054,  0x0054,
-  0x0054,  0x0054,
-  0x0166,  0x0166,
-  0x0055,  0x0055,
-  0x0055,  0x0055,
-  0x0055,  0x0055,
-  0x0055,  0x0055,
-  0x0055,  0x0055,
-  0x0055,  0x0055,
-  0x0057,  0x0057,
-  0x0059,  0x0059,
-  0x0059,  0x005A,
-  0x005A,  0x005A,
-  0x005A,  0x005A,
-  0x005A,  0x0053,
-  0x0180,  0x0181,
-  0x0182,  0x0182,
-  0x0184,  0x0184,
-  0x0186,  0x0187,
-  0x0187,  0x0189,
-  0x018A,  0x018B,
-  0x018B,  0x018D,
-  0x018E,  0x018F,
-  0x0190,  0x0191,
-  0x0191,  0x0193,
-  0x0194,  0x01F6,
-  0x0196,  0x0197,
-  0x0198,  0x0198,
-  0x019A,  0x019B,
-  0x019C,  0x019D,
-  0x019E,  0x019F,
-  0x004F,  0x004F,
-  0x01A2,  0x01A2,
-  0x01A4,  0x01A4,
-  0x01A6,  0x01A7,
-  0x01A7,  0x01A9,
-  0x01AA,  0x01AB,
-  0x01AC,  0x01AC,
-  0x01AE,  0x0055,
-  0x0055,  0x01B1,
-  0x01B2,  0x01B3,
-  0x01B3,  0x01B5,
-  0x01B5,  0x01B7,
-  0x01B8,  0x01B8,
-  0x01BA,  0x01BB,
-  0x01BC,  0x01BC,
-  0x01BE,  0x01F7,
-  0x01C0,  0x01C1,
-  0x01C2,  0x01C3,
-  0x01C4,  0x01C4,
-  0x01C4,  0x01C7,
-  0x01C7,  0x01C7,
-  0x01CA,  0x01CA,
-  0x01CA,  0x0041,
-  0x0041,  0x0049,
-  0x0049,  0x004F,
-  0x004F,  0x0055,
-  0x0055,  0x0055,
-  0x0055,  0x0055,
-  0x0055,  0x0055,
-  0x0055,  0x0055,
-  0x0055,  0x018E,
-  0x0041,  0x0041,
-  0x0041,  0x0041,
-  0x00C6,  0x00C6,
-  0x01E4,  0x01E4,
-  0x0047,  0x0047,
-  0x004B,  0x004B,
-  0x004F,  0x004F,
-  0x004F,  0x004F,
-  0x01B7,  0x01B7,
-  0x004A,  0x01F1,
-  0x01F1,  0x01F1,
-  0x0047,  0x0047,
-  0x01F6,  0x01F7,
-  0x004E,  0x004E,
-  0x0041,  0x0041,
-  0x00C6,  0x00C6,
-  0x00D8,  0x00D8
-};
-
-static uint32_t plane02[] = {
-  0x0041,  0x0041,
-  0x0041,  0x0041,
-  0x0045,  0x0045,
-  0x0045,  0x0045,
-  0x0049,  0x0049,
-  0x0049,  0x0049,
-  0x004F,  0x004F,
-  0x004F,  0x004F,
-  0x0052,  0x0052,
-  0x0052,  0x0052,
-  0x0055,  0x0055,
-  0x0055,  0x0055,
-  0x0053,  0x0053,
-  0x0054,  0x0054,
-  0x021C,  0x021C,
-  0x0048,  0x0048,
-  0x0220,  0x0221,
-  0x0222,  0x0222,
-  0x0224,  0x0224,
-  0x0041,  0x0041,
-  0x0045,  0x0045,
-  0x004F,  0x004F,
-  0x004F,  0x004F,
-  0x004F,  0x004F,
-  0x004F,  0x004F,
-  0x0059,  0x0059,
-  0x0234,  0x0235,
-  0x0236,  0x0237,
-  0x0238,  0x0239,
-  0x023A,  0x023B,
-  0x023C,  0x023D,
-  0x023E,  0x023F,
-  0x0240,  0x0241,
-  0x0242,  0x0243,
-  0x0244,  0x0245,
-  0x0246,  0x0247,
-  0x0248,  0x0249,
-  0x024A,  0x024B,
-  0x024C,  0x024D,
-  0x024E,  0x024F,
-  0x0250,  0x0251,
-  0x0252,  0x0181,
-  0x0186,  0x0255,
-  0x0189,  0x018A,
-  0x0258,  0x018F,
-  0x025A,  0x0190,
-  0x025C,  0x025D,
-  0x025E,  0x025F,
-  0x0193,  0x0261,
-  0x0262,  0x0194,
-  0x0264,  0x0265,
-  0x0266,  0x0267,
-  0x0197,  0x0196,
-  0x026A,  0x026B,
-  0x026C,  0x026D,
-  0x026E,  0x019C,
-  0x0270,  0x0271,
-  0x019D,  0x0273,
-  0x0274,  0x019F,
-  0x0276,  0x0277,
-  0x0278,  0x0279,
-  0x027A,  0x027B,
-  0x027C,  0x027D,
-  0x027E,  0x027F,
-  0x01A6,  0x0281,
-  0x0282,  0x01A9,
-  0x0284,  0x0285,
-  0x0286,  0x0287,
-  0x01AE,  0x0289,
-  0x01B1,  0x01B2,
-  0x028C,  0x028D,
-  0x028E,  0x028F,
-  0x0290,  0x0291,
-  0x01B7,  0x0293,
-  0x0294,  0x0295,
-  0x0296,  0x0297,
-  0x0298,  0x0299,
-  0x029A,  0x029B,
-  0x029C,  0x029D,
-  0x029E,  0x029F,
-  0x02A0,  0x02A1,
-  0x02A2,  0x02A3,
-  0x02A4,  0x02A5,
-  0x02A6,  0x02A7,
-  0x02A8,  0x02A9,
-  0x02AA,  0x02AB,
-  0x02AC,  0x02AD,
-  0x02AE,  0x02AF,
-  0x02B0,  0x02B1,
-  0x02B2,  0x02B3,
-  0x02B4,  0x02B5,
-  0x02B6,  0x02B7,
-  0x02B8,  0x02B9,
-  0x02BA,  0x02BB,
-  0x02BC,  0x02BD,
-  0x02BE,  0x02BF,
-  0x02C0,  0x02C1,
-  0x02C2,  0x02C3,
-  0x02C4,  0x02C5,
-  0x02C6,  0x02C7,
-  0x02C8,  0x02C9,
-  0x02CA,  0x02CB,
-  0x02CC,  0x02CD,
-  0x02CE,  0x02CF,
-  0x02D0,  0x02D1,
-  0x02D2,  0x02D3,
-  0x02D4,  0x02D5,
-  0x02D6,  0x02D7,
-  0x02D8,  0x02D9,
-  0x02DA,  0x02DB,
-  0x02DC,  0x02DD,
-  0x02DE,  0x02DF,
-  0x02E0,  0x02E1,
-  0x02E2,  0x02E3,
-  0x02E4,  0x02E5,
-  0x02E6,  0x02E7,
-  0x02E8,  0x02E9,
-  0x02EA,  0x02EB,
-  0x02EC,  0x02ED,
-  0x02EE,  0x02EF,
-  0x02F0,  0x02F1,
-  0x02F2,  0x02F3,
-  0x02F4,  0x02F5,
-  0x02F6,  0x02F7,
-  0x02F8,  0x02F9,
-  0x02FA,  0x02FB,
-  0x02FC,  0x02FD,
-  0x02FE,  0x02FF
-};
-
-static uint32_t plane03[] = {
-  0x0300,  0x0301,
-  0x0302,  0x0303,
-  0x0304,  0x0305,
-  0x0306,  0x0307,
-  0x0308,  0x0309,
-  0x030A,  0x030B,
-  0x030C,  0x030D,
-  0x030E,  0x030F,
-  0x0310,  0x0311,
-  0x0312,  0x0313,
-  0x0314,  0x0315,
-  0x0316,  0x0317,
-  0x0318,  0x0319,
-  0x031A,  0x031B,
-  0x031C,  0x031D,
-  0x031E,  0x031F,
-  0x0320,  0x0321,
-  0x0322,  0x0323,
-  0x0324,  0x0325,
-  0x0326,  0x0327,
-  0x0328,  0x0329,
-  0x032A,  0x032B,
-  0x032C,  0x032D,
-  0x032E,  0x032F,
-  0x0330,  0x0331,
-  0x0332,  0x0333,
-  0x0334,  0x0335,
-  0x0336,  0x0337,
-  0x0338,  0x0339,
-  0x033A,  0x033B,
-  0x033C,  0x033D,
-  0x033E,  0x033F,
-  0x0340,  0x0341,
-  0x0342,  0x0343,
-  0x0344,  0x0399,
-  0x0346,  0x0347,
-  0x0348,  0x0349,
-  0x034A,  0x034B,
-  0x034C,  0x034D,
-  0x034E,  0x034F,
-  0x0350,  0x0351,
-  0x0352,  0x0353,
-  0x0354,  0x0355,
-  0x0356,  0x0357,
-  0x0358,  0x0359,
-  0x035A,  0x035B,
-  0x035C,  0x035D,
-  0x035E,  0x035F,
-  0x0360,  0x0361,
-  0x0362,  0x0363,
-  0x0364,  0x0365,
-  0x0366,  0x0367,
-  0x0368,  0x0369,
-  0x036A,  0x036B,
-  0x036C,  0x036D,
-  0x036E,  0x036F,
-  0x0370,  0x0371,
-  0x0372,  0x0373,
-  0x0374,  0x0375,
-  0x0376,  0x0377,
-  0x0378,  0x0379,
-  0x037A,  0x037B,
-  0x037C,  0x037D,
-  0x037E,  0x037F,
-  0x0380,  0x0381,
-  0x0382,  0x0383,
-  0x0384,  0x0385,
-  0x0391,  0x0387,
-  0x0395,  0x0397,
-  0x0399,  0x038B,
-  0x039F,  0x038D,
-  0x03A5,  0x03A9,
-  0x0399,  0x0391,
-  0x0392,  0x0393,
-  0x0394,  0x0395,
-  0x0396,  0x0397,
-  0x0398,  0x0399,
-  0x039A,  0x039B,
-  0x039C,  0x039D,
-  0x039E,  0x039F,
-  0x03A0,  0x03A1,
-  0x03A2,  0x03A3,
-  0x03A4,  0x03A5,
-  0x03A6,  0x03A7,
-  0x03A8,  0x03A9,
-  0x0399,  0x03A5,
-  0x0391,  0x0395,
-  0x0397,  0x0399,
-  0x03A5,  0x0391,
-  0x0392,  0x0393,
-  0x0394,  0x0395,
-  0x0396,  0x0397,
-  0x0398,  0x0399,
-  0x039A,  0x039B,
-  0x039C,  0x039D,
-  0x039E,  0x039F,
-  0x03A0,  0x03A1,
-  0x03A3,  0x03A3,
-  0x03A4,  0x03A5,
-  0x03A6,  0x03A7,
-  0x03A8,  0x03A9,
-  0x0399,  0x03A5,
-  0x039F,  0x03A5,
-  0x03A9,  0x03CF,
-  0x0392,  0x0398,
-  0x03D2,  0x03D2,
-  0x03D2,  0x03A6,
-  0x03A0,  0x03D7,
-  0x03D8,  0x03D9,
-  0x03DA,  0x03DA,
-  0x03DC,  0x03DC,
-  0x03DE,  0x03DE,
-  0x03E0,  0x03E0,
-  0x03E2,  0x03E2,
-  0x03E4,  0x03E4,
-  0x03E6,  0x03E6,
-  0x03E8,  0x03E8,
-  0x03EA,  0x03EA,
-  0x03EC,  0x03EC,
-  0x03EE,  0x03EE,
-  0x039A,  0x03A1,
-  0x03A3,  0x03F3,
-  0x03F4,  0x03F5,
-  0x03F6,  0x03F7,
-  0x03F8,  0x03F9,
-  0x03FA,  0x03FB,
-  0x03FC,  0x03FD,
-  0x03FE,  0x03FF
-};
-
-static uint32_t plane04[] = {
-  0x0415,  0x0415,
-  0x0402,  0x0413,
-  0x0404,  0x0405,
-  0x0406,  0x0406,
-  0x0408,  0x0409,
-  0x040A,  0x040B,
-  0x041A,  0x0418,
-  0x0423,  0x040F,
-  0x0410,  0x0411,
-  0x0412,  0x0413,
-  0x0414,  0x0415,
-  0x0416,  0x0417,
-  0x0418,  0x0419,
-  0x041A,  0x041B,
-  0x041C,  0x041D,
-  0x041E,  0x041F,
-  0x0420,  0x0421,
-  0x0422,  0x0423,
-  0x0424,  0x0425,
-  0x0426,  0x0427,
-  0x0428,  0x0429,
-  0x042A,  0x042B,
-  0x042C,  0x042D,
-  0x042E,  0x042F,
-  0x0410,  0x0411,
-  0x0412,  0x0413,
-  0x0414,  0x0415,
-  0x0416,  0x0417,
-  0x0418,  0x0419,
-  0x041A,  0x041B,
-  0x041C,  0x041D,
-  0x041E,  0x041F,
-  0x0420,  0x0421,
-  0x0422,  0x0423,
-  0x0424,  0x0425,
-  0x0426,  0x0427,
-  0x0428,  0x0429,
-  0x042A,  0x042B,
-  0x042C,  0x042D,
-  0x042E,  0x042F,
-  0x0415,  0x0415,
-  0x0402,  0x0413,
-  0x0404,  0x0405,
-  0x0406,  0x0406,
-  0x0408,  0x0409,
-  0x040A,  0x040B,
-  0x041A,  0x0418,
-  0x0423,  0x040F,
-  0x0460,  0x0460,
-  0x0462,  0x0462,
-  0x0464,  0x0464,
-  0x0466,  0x0466,
-  0x0468,  0x0468,
-  0x046A,  0x046A,
-  0x046C,  0x046C,
-  0x046E,  0x046E,
-  0x0470,  0x0470,
-  0x0472,  0x0472,
-  0x0474,  0x0474,
-  0x0474,  0x0474,
-  0x0478,  0x0478,
-  0x047A,  0x047A,
-  0x047C,  0x047C,
-  0x047E,  0x047E,
-  0x0480,  0x0480,
-  0x0482,  0x0483,
-  0x0484,  0x0485,
-  0x0486,  0x0487,
-  0x0488,  0x0489,
-  0x048A,  0x048B,
-  0x048C,  0x048C,
-  0x048E,  0x048E,
-  0x0490,  0x0490,
-  0x0492,  0x0492,
-  0x0494,  0x0494,
-  0x0496,  0x0496,
-  0x0498,  0x0498,
-  0x049A,  0x049A,
-  0x049C,  0x049C,
-  0x049E,  0x049E,
-  0x04A0,  0x04A0,
-  0x04A2,  0x04A2,
-  0x04A4,  0x04A4,
-  0x04A6,  0x04A6,
-  0x04A8,  0x04A8,
-  0x04AA,  0x04AA,
-  0x04AC,  0x04AC,
-  0x04AE,  0x04AE,
-  0x04B0,  0x04B0,
-  0x04B2,  0x04B2,
-  0x04B4,  0x04B4,
-  0x04B6,  0x04B6,
-  0x04B8,  0x04B8,
-  0x04BA,  0x04BA,
-  0x04BC,  0x04BC,
-  0x04BE,  0x04BE,
-  0x04C0,  0x0416,
-  0x0416,  0x04C3,
-  0x04C3,  0x04C5,
-  0x04C6,  0x04C7,
-  0x04C7,  0x04C9,
-  0x04CA,  0x04CB,
-  0x04CB,  0x04CD,
-  0x04CE,  0x04CF,
-  0x0410,  0x0410,
-  0x0410,  0x0410,
-  0x04D4,  0x04D4,
-  0x0415,  0x0415,
-  0x04D8,  0x04D8,
-  0x04D8,  0x04D8,
-  0x0416,  0x0416,
-  0x0417,  0x0417,
-  0x04E0,  0x04E0,
-  0x0418,  0x0418,
-  0x0418,  0x0418,
-  0x041E,  0x041E,
-  0x04E8,  0x04E8,
-  0x04E8,  0x04E8,
-  0x042D,  0x042D,
-  0x0423,  0x0423,
-  0x0423,  0x0423,
-  0x0423,  0x0423,
-  0x0427,  0x0427,
-  0x04F6,  0x04F7,
-  0x042B,  0x042B,
-  0x04FA,  0x04FB,
-  0x04FC,  0x04FD,
-  0x04FE,  0x04FF
-};
-
-static uint32_t plane05[] = {
-  0x0500,  0x0501,
-  0x0502,  0x0503,
-  0x0504,  0x0505,
-  0x0506,  0x0507,
-  0x0508,  0x0509,
-  0x050A,  0x050B,
-  0x050C,  0x050D,
-  0x050E,  0x050F,
-  0x0510,  0x0511,
-  0x0512,  0x0513,
-  0x0514,  0x0515,
-  0x0516,  0x0517,
-  0x0518,  0x0519,
-  0x051A,  0x051B,
-  0x051C,  0x051D,
-  0x051E,  0x051F,
-  0x0520,  0x0521,
-  0x0522,  0x0523,
-  0x0524,  0x0525,
-  0x0526,  0x0527,
-  0x0528,  0x0529,
-  0x052A,  0x052B,
-  0x052C,  0x052D,
-  0x052E,  0x052F,
-  0x0530,  0x0531,
-  0x0532,  0x0533,
-  0x0534,  0x0535,
-  0x0536,  0x0537,
-  0x0538,  0x0539,
-  0x053A,  0x053B,
-  0x053C,  0x053D,
-  0x053E,  0x053F,
-  0x0540,  0x0541,
-  0x0542,  0x0543,
-  0x0544,  0x0545,
-  0x0546,  0x0547,
-  0x0548,  0x0549,
-  0x054A,  0x054B,
-  0x054C,  0x054D,
-  0x054E,  0x054F,
-  0x0550,  0x0551,
-  0x0552,  0x0553,
-  0x0554,  0x0555,
-  0x0556,  0x0557,
-  0x0558,  0x0559,
-  0x055A,  0x055B,
-  0x055C,  0x055D,
-  0x055E,  0x055F,
-  0x0560,  0x0531,
-  0x0532,  0x0533,
-  0x0534,  0x0535,
-  0x0536,  0x0537,
-  0x0538,  0x0539,
-  0x053A,  0x053B,
-  0x053C,  0x053D,
-  0x053E,  0x053F,
-  0x0540,  0x0541,
-  0x0542,  0x0543,
-  0x0544,  0x0545,
-  0x0546,  0x0547,
-  0x0548,  0x0549,
-  0x054A,  0x054B,
-  0x054C,  0x054D,
-  0x054E,  0x054F,
-  0x0550,  0x0551,
-  0x0552,  0x0553,
-  0x0554,  0x0555,
-  0x0556,  0x0587,
-  0x0588,  0x0589,
-  0x058A,  0x058B,
-  0x058C,  0x058D,
-  0x058E,  0x058F,
-  0x0590,  0x0591,
-  0x0592,  0x0593,
-  0x0594,  0x0595,
-  0x0596,  0x0597,
-  0x0598,  0x0599,
-  0x059A,  0x059B,
-  0x059C,  0x059D,
-  0x059E,  0x059F,
-  0x05A0,  0x05A1,
-  0x05A2,  0x05A3,
-  0x05A4,  0x05A5,
-  0x05A6,  0x05A7,
-  0x05A8,  0x05A9,
-  0x05AA,  0x05AB,
-  0x05AC,  0x05AD,
-  0x05AE,  0x05AF,
-  0x05B0,  0x05B1,
-  0x05B2,  0x05B3,
-  0x05B4,  0x05B5,
-  0x05B6,  0x05B7,
-  0x05B8,  0x05B9,
-  0x05BA,  0x05BB,
-  0x05BC,  0x05BD,
-  0x05BE,  0x05BF,
-  0x05C0,  0x05C1,
-  0x05C2,  0x05C3,
-  0x05C4,  0x05C5,
-  0x05C6,  0x05C7,
-  0x05C8,  0x05C9,
-  0x05CA,  0x05CB,
-  0x05CC,  0x05CD,
-  0x05CE,  0x05CF,
-  0x05D0,  0x05D1,
-  0x05D2,  0x05D3,
-  0x05D4,  0x05D5,
-  0x05D6,  0x05D7,
-  0x05D8,  0x05D9,
-  0x05DA,  0x05DB,
-  0x05DC,  0x05DD,
-  0x05DE,  0x05DF,
-  0x05E0,  0x05E1,
-  0x05E2,  0x05E3,
-  0x05E4,  0x05E5,
-  0x05E6,  0x05E7,
-  0x05E8,  0x05E9,
-  0x05EA,  0x05EB,
-  0x05EC,  0x05ED,
-  0x05EE,  0x05EF,
-  0x05F0,  0x05F1,
-  0x05F2,  0x05F3,
-  0x05F4,  0x05F5,
-  0x05F6,  0x05F7,
-  0x05F8,  0x05F9,
-  0x05FA,  0x05FB,
-  0x05FC,  0x05FD,
-  0x05FE,  0x05FF
-};
-
-static uint32_t plane1E[] = {
-  0x0041,  0x0041,
-  0x0042,  0x0042,
-  0x0042,  0x0042,
-  0x0042,  0x0042,
-  0x0043,  0x0043,
-  0x0044,  0x0044,
-  0x0044,  0x0044,
-  0x0044,  0x0044,
-  0x0044,  0x0044,
-  0x0044,  0x0044,
-  0x0045,  0x0045,
-  0x0045,  0x0045,
-  0x0045,  0x0045,
-  0x0045,  0x0045,
-  0x0045,  0x0045,
-  0x0046,  0x0046,
-  0x0047,  0x0047,
-  0x0048,  0x0048,
-  0x0048,  0x0048,
-  0x0048,  0x0048,
-  0x0048,  0x0048,
-  0x0048,  0x0048,
-  0x0049,  0x0049,
-  0x0049,  0x0049,
-  0x004B,  0x004B,
-  0x004B,  0x004B,
-  0x004B,  0x004B,
-  0x004C,  0x004C,
-  0x004C,  0x004C,
-  0x004C,  0x004C,
-  0x004C,  0x004C,
-  0x004D,  0x004D,
-  0x004D,  0x004D,
-  0x004D,  0x004D,
-  0x004E,  0x004E,
-  0x004E,  0x004E,
-  0x004E,  0x004E,
-  0x004E,  0x004E,
-  0x004F,  0x004F,
-  0x004F,  0x004F,
-  0x004F,  0x004F,
-  0x004F,  0x004F,
-  0x0050,  0x0050,
-  0x0050,  0x0050,
-  0x0052,  0x0052,
-  0x0052,  0x0052,
-  0x0052,  0x0052,
-  0x0052,  0x0052,
-  0x0053,  0x0053,
-  0x0053,  0x0053,
-  0x0053,  0x0053,
-  0x0053,  0x0053,
-  0x0053,  0x0053,
-  0x0054,  0x0054,
-  0x0054,  0x0054,
-  0x0054,  0x0054,
-  0x0054,  0x0054,
-  0x0055,  0x0055,
-  0x0055,  0x0055,
-  0x0055,  0x0055,
-  0x0055,  0x0055,
-  0x0055,  0x0055,
-  0x0056,  0x0056,
-  0x0056,  0x0056,
-  0x0057,  0x0057,
-  0x0057,  0x0057,
-  0x0057,  0x0057,
-  0x0057,  0x0057,
-  0x0057,  0x0057,
-  0x0058,  0x0058,
-  0x0058,  0x0058,
-  0x0059,  0x0059,
-  0x005A,  0x005A,
-  0x005A,  0x005A,
-  0x005A,  0x005A,
-  0x0048,  0x0054,
-  0x0057,  0x0059,
-  0x1E9A,  0x0053,
-  0x1E9C,  0x1E9D,
-  0x1E9E,  0x1E9F,
-  0x0041,  0x0041,
-  0x0041,  0x0041,
-  0x0041,  0x0041,
-  0x0041,  0x0041,
-  0x0041,  0x0041,
-  0x0041,  0x0041,
-  0x0041,  0x0041,
-  0x0041,  0x0041,
-  0x0041,  0x0041,
-  0x0041,  0x0041,
-  0x0041,  0x0041,
-  0x0041,  0x0041,
-  0x0045,  0x0045,
-  0x0045,  0x0045,
-  0x0045,  0x0045,
-  0x0045,  0x0045,
-  0x0045,  0x0045,
-  0x0045,  0x0045,
-  0x0045,  0x0045,
-  0x0045,  0x0045,
-  0x0049,  0x0049,
-  0x0049,  0x0049,
-  0x004F,  0x004F,
-  0x004F,  0x004F,
-  0x004F,  0x004F,
-  0x004F,  0x004F,
-  0x004F,  0x004F,
-  0x004F,  0x004F,
-  0x004F,  0x004F,
-  0x004F,  0x004F,
-  0x004F,  0x004F,
-  0x004F,  0x004F,
-  0x004F,  0x004F,
-  0x004F,  0x004F,
-  0x0055,  0x0055,
-  0x0055,  0x0055,
-  0x0055,  0x0055,
-  0x0055,  0x0055,
-  0x0055,  0x0055,
-  0x0055,  0x0055,
-  0x0055,  0x0055,
-  0x0059,  0x0059,
-  0x0059,  0x0059,
-  0x0059,  0x0059,
-  0x0059,  0x0059,
-  0x1EFA,  0x1EFB,
-  0x1EFC,  0x1EFD,
-  0x1EFE,  0x1EFF
-};
-
-static uint32_t plane1F[] = {
-  0x0391,  0x0391,
-  0x0391,  0x0391,
-  0x0391,  0x0391,
-  0x0391,  0x0391,
-  0x0391,  0x0391,
-  0x0391,  0x0391,
-  0x0391,  0x0391,
-  0x0391,  0x0391,
-  0x0395,  0x0395,
-  0x0395,  0x0395,
-  0x0395,  0x0395,
-  0x1F16,  0x1F17,
-  0x0395,  0x0395,
-  0x0395,  0x0395,
-  0x0395,  0x0395,
-  0x1F1E,  0x1F1F,
-  0x0397,  0x0397,
-  0x0397,  0x0397,
-  0x0397,  0x0397,
-  0x0397,  0x0397,
-  0x0397,  0x0397,
-  0x0397,  0x0397,
-  0x0397,  0x0397,
-  0x0397,  0x0397,
-  0x0399,  0x0399,
-  0x0399,  0x0399,
-  0x0399,  0x0399,
-  0x0399,  0x0399,
-  0x0399,  0x0399,
-  0x0399,  0x0399,
-  0x0399,  0x0399,
-  0x0399,  0x0399,
-  0x039F,  0x039F,
-  0x039F,  0x039F,
-  0x039F,  0x039F,
-  0x1F46,  0x1F47,
-  0x039F,  0x039F,
-  0x039F,  0x039F,
-  0x039F,  0x039F,
-  0x1F4E,  0x1F4F,
-  0x03A5,  0x03A5,
-  0x03A5,  0x03A5,
-  0x03A5,  0x03A5,
-  0x03A5,  0x03A5,
-  0x1F58,  0x03A5,
-  0x1F5A,  0x03A5,
-  0x1F5C,  0x03A5,
-  0x1F5E,  0x03A5,
-  0x03A9,  0x03A9,
-  0x03A9,  0x03A9,
-  0x03A9,  0x03A9,
-  0x03A9,  0x03A9,
-  0x03A9,  0x03A9,
-  0x03A9,  0x03A9,
-  0x03A9,  0x03A9,
-  0x03A9,  0x03A9,
-  0x0391,  0x1FBB,
-  0x0395,  0x1FC9,
-  0x0397,  0x1FCB,
-  0x0399,  0x1FDB,
-  0x039F,  0x1FF9,
-  0x03A5,  0x1FEB,
-  0x03A9,  0x1FFB,
-  0x1F7E,  0x1F7F,
-  0x0391,  0x0391,
-  0x0391,  0x0391,
-  0x0391,  0x0391,
-  0x0391,  0x0391,
-  0x0391,  0x0391,
-  0x0391,  0x0391,
-  0x0391,  0x0391,
-  0x0391,  0x0391,
-  0x0397,  0x0397,
-  0x0397,  0x0397,
-  0x0397,  0x0397,
-  0x0397,  0x0397,
-  0x0397,  0x0397,
-  0x0397,  0x0397,
-  0x0397,  0x0397,
-  0x0397,  0x0397,
-  0x03A9,  0x03A9,
-  0x03A9,  0x03A9,
-  0x03A9,  0x03A9,
-  0x03A9,  0x03A9,
-  0x03A9,  0x03A9,
-  0x03A9,  0x03A9,
-  0x03A9,  0x03A9,
-  0x03A9,  0x03A9,
-  0x0391,  0x0391,
-  0x0391,  0x0391,
-  0x0391,  0x1FB5,
-  0x0391,  0x0391,
-  0x0391,  0x0391,
-  0x0391,  0x1FBB,
-  0x0391,  0x1FBD,
-  0x0399,  0x1FBF,
-  0x1FC0,  0x1FC1,
-  0x0397,  0x0397,
-  0x0397,  0x1FC5,
-  0x0397,  0x0397,
-  0x0395,  0x1FC9,
-  0x0397,  0x1FCB,
-  0x0397,  0x1FCD,
-  0x1FCE,  0x1FCF,
-  0x0399,  0x0399,
-  0x0399,  0x1FD3,
-  0x1FD4,  0x1FD5,
-  0x0399,  0x0399,
-  0x0399,  0x0399,
-  0x0399,  0x1FDB,
-  0x1FDC,  0x1FDD,
-  0x1FDE,  0x1FDF,
-  0x03A5,  0x03A5,
-  0x03A5,  0x1FE3,
-  0x03A1,  0x03A1,
-  0x03A5,  0x03A5,
-  0x03A5,  0x03A5,
-  0x03A5,  0x1FEB,
-  0x03A1,  0x1FED,
-  0x1FEE,  0x1FEF,
-  0x1FF0,  0x1FF1,
-  0x03A9,  0x03A9,
-  0x03A9,  0x1FF5,
-  0x03A9,  0x03A9,
-  0x039F,  0x1FF9,
-  0x03A9,  0x1FFB,
-  0x03A9,  0x1FFD,
-  0x1FFE,  0x1FFF
-};
-
-static uint32_t plane21[] = {
-  0x2100,  0x2101,
-  0x2102,  0x2103,
-  0x2104,  0x2105,
-  0x2106,  0x2107,
-  0x2108,  0x2109,
-  0x210A,  0x210B,
-  0x210C,  0x210D,
-  0x210E,  0x210F,
-  0x2110,  0x2111,
-  0x2112,  0x2113,
-  0x2114,  0x2115,
-  0x2116,  0x2117,
-  0x2118,  0x2119,
-  0x211A,  0x211B,
-  0x211C,  0x211D,
-  0x211E,  0x211F,
-  0x2120,  0x2121,
-  0x2122,  0x2123,
-  0x2124,  0x2125,
-  0x2126,  0x2127,
-  0x2128,  0x2129,
-  0x212A,  0x212B,
-  0x212C,  0x212D,
-  0x212E,  0x212F,
-  0x2130,  0x2131,
-  0x2132,  0x2133,
-  0x2134,  0x2135,
-  0x2136,  0x2137,
-  0x2138,  0x2139,
-  0x213A,  0x213B,
-  0x213C,  0x213D,
-  0x213E,  0x213F,
-  0x2140,  0x2141,
-  0x2142,  0x2143,
-  0x2144,  0x2145,
-  0x2146,  0x2147,
-  0x2148,  0x2149,
-  0x214A,  0x214B,
-  0x214C,  0x214D,
-  0x214E,  0x214F,
-  0x2150,  0x2151,
-  0x2152,  0x2153,
-  0x2154,  0x2155,
-  0x2156,  0x2157,
-  0x2158,  0x2159,
-  0x215A,  0x215B,
-  0x215C,  0x215D,
-  0x215E,  0x215F,
-  0x2160,  0x2161,
-  0x2162,  0x2163,
-  0x2164,  0x2165,
-  0x2166,  0x2167,
-  0x2168,  0x2169,
-  0x216A,  0x216B,
-  0x216C,  0x216D,
-  0x216E,  0x216F,
-  0x2160,  0x2161,
-  0x2162,  0x2163,
-  0x2164,  0x2165,
-  0x2166,  0x2167,
-  0x2168,  0x2169,
-  0x216A,  0x216B,
-  0x216C,  0x216D,
-  0x216E,  0x216F,
-  0x2180,  0x2181,
-  0x2182,  0x2183,
-  0x2184,  0x2185,
-  0x2186,  0x2187,
-  0x2188,  0x2189,
-  0x218A,  0x218B,
-  0x218C,  0x218D,
-  0x218E,  0x218F,
-  0x2190,  0x2191,
-  0x2192,  0x2193,
-  0x2194,  0x2195,
-  0x2196,  0x2197,
-  0x2198,  0x2199,
-  0x219A,  0x219B,
-  0x219C,  0x219D,
-  0x219E,  0x219F,
-  0x21A0,  0x21A1,
-  0x21A2,  0x21A3,
-  0x21A4,  0x21A5,
-  0x21A6,  0x21A7,
-  0x21A8,  0x21A9,
-  0x21AA,  0x21AB,
-  0x21AC,  0x21AD,
-  0x21AE,  0x21AF,
-  0x21B0,  0x21B1,
-  0x21B2,  0x21B3,
-  0x21B4,  0x21B5,
-  0x21B6,  0x21B7,
-  0x21B8,  0x21B9,
-  0x21BA,  0x21BB,
-  0x21BC,  0x21BD,
-  0x21BE,  0x21BF,
-  0x21C0,  0x21C1,
-  0x21C2,  0x21C3,
-  0x21C4,  0x21C5,
-  0x21C6,  0x21C7,
-  0x21C8,  0x21C9,
-  0x21CA,  0x21CB,
-  0x21CC,  0x21CD,
-  0x21CE,  0x21CF,
-  0x21D0,  0x21D1,
-  0x21D2,  0x21D3,
-  0x21D4,  0x21D5,
-  0x21D6,  0x21D7,
-  0x21D8,  0x21D9,
-  0x21DA,  0x21DB,
-  0x21DC,  0x21DD,
-  0x21DE,  0x21DF,
-  0x21E0,  0x21E1,
-  0x21E2,  0x21E3,
-  0x21E4,  0x21E5,
-  0x21E6,  0x21E7,
-  0x21E8,  0x21E9,
-  0x21EA,  0x21EB,
-  0x21EC,  0x21ED,
-  0x21EE,  0x21EF,
-  0x21F0,  0x21F1,
-  0x21F2,  0x21F3,
-  0x21F4,  0x21F5,
-  0x21F6,  0x21F7,
-  0x21F8,  0x21F9,
-  0x21FA,  0x21FB,
-  0x21FC,  0x21FD,
-  0x21FE,  0x21FF
-};
-
-static uint32_t plane24[] = {
-  0x2400,  0x2401,
-  0x2402,  0x2403,
-  0x2404,  0x2405,
-  0x2406,  0x2407,
-  0x2408,  0x2409,
-  0x240A,  0x240B,
-  0x240C,  0x240D,
-  0x240E,  0x240F,
-  0x2410,  0x2411,
-  0x2412,  0x2413,
-  0x2414,  0x2415,
-  0x2416,  0x2417,
-  0x2418,  0x2419,
-  0x241A,  0x241B,
-  0x241C,  0x241D,
-  0x241E,  0x241F,
-  0x2420,  0x2421,
-  0x2422,  0x2423,
-  0x2424,  0x2425,
-  0x2426,  0x2427,
-  0x2428,  0x2429,
-  0x242A,  0x242B,
-  0x242C,  0x242D,
-  0x242E,  0x242F,
-  0x2430,  0x2431,
-  0x2432,  0x2433,
-  0x2434,  0x2435,
-  0x2436,  0x2437,
-  0x2438,  0x2439,
-  0x243A,  0x243B,
-  0x243C,  0x243D,
-  0x243E,  0x243F,
-  0x2440,  0x2441,
-  0x2442,  0x2443,
-  0x2444,  0x2445,
-  0x2446,  0x2447,
-  0x2448,  0x2449,
-  0x244A,  0x244B,
-  0x244C,  0x244D,
-  0x244E,  0x244F,
-  0x2450,  0x2451,
-  0x2452,  0x2453,
-  0x2454,  0x2455,
-  0x2456,  0x2457,
-  0x2458,  0x2459,
-  0x245A,  0x245B,
-  0x245C,  0x245D,
-  0x245E,  0x245F,
-  0x2460,  0x2461,
-  0x2462,  0x2463,
-  0x2464,  0x2465,
-  0x2466,  0x2467,
-  0x2468,  0x2469,
-  0x246A,  0x246B,
-  0x246C,  0x246D,
-  0x246E,  0x246F,
-  0x2470,  0x2471,
-  0x2472,  0x2473,
-  0x2474,  0x2475,
-  0x2476,  0x2477,
-  0x2478,  0x2479,
-  0x247A,  0x247B,
-  0x247C,  0x247D,
-  0x247E,  0x247F,
-  0x2480,  0x2481,
-  0x2482,  0x2483,
-  0x2484,  0x2485,
-  0x2486,  0x2487,
-  0x2488,  0x2489,
-  0x248A,  0x248B,
-  0x248C,  0x248D,
-  0x248E,  0x248F,
-  0x2490,  0x2491,
-  0x2492,  0x2493,
-  0x2494,  0x2495,
-  0x2496,  0x2497,
-  0x2498,  0x2499,
-  0x249A,  0x249B,
-  0x249C,  0x249D,
-  0x249E,  0x249F,
-  0x24A0,  0x24A1,
-  0x24A2,  0x24A3,
-  0x24A4,  0x24A5,
-  0x24A6,  0x24A7,
-  0x24A8,  0x24A9,
-  0x24AA,  0x24AB,
-  0x24AC,  0x24AD,
-  0x24AE,  0x24AF,
-  0x24B0,  0x24B1,
-  0x24B2,  0x24B3,
-  0x24B4,  0x24B5,
-  0x24B6,  0x24B7,
-  0x24B8,  0x24B9,
-  0x24BA,  0x24BB,
-  0x24BC,  0x24BD,
-  0x24BE,  0x24BF,
-  0x24C0,  0x24C1,
-  0x24C2,  0x24C3,
-  0x24C4,  0x24C5,
-  0x24C6,  0x24C7,
-  0x24C8,  0x24C9,
-  0x24CA,  0x24CB,
-  0x24CC,  0x24CD,
-  0x24CE,  0x24CF,
-  0x24B6,  0x24B7,
-  0x24B8,  0x24B9,
-  0x24BA,  0x24BB,
-  0x24BC,  0x24BD,
-  0x24BE,  0x24BF,
-  0x24C0,  0x24C1,
-  0x24C2,  0x24C3,
-  0x24C4,  0x24C5,
-  0x24C6,  0x24C7,
-  0x24C8,  0x24C9,
-  0x24CA,  0x24CB,
-  0x24CC,  0x24CD,
-  0x24CE,  0x24CF,
-  0x24EA,  0x24EB,
-  0x24EC,  0x24ED,
-  0x24EE,  0x24EF,
-  0x24F0,  0x24F1,
-  0x24F2,  0x24F3,
-  0x24F4,  0x24F5,
-  0x24F6,  0x24F7,
-  0x24F8,  0x24F9,
-  0x24FA,  0x24FB,
-  0x24FC,  0x24FD,
-  0x24FE,  0x24FF
-};
-
-static uint32_t planeFF[] = {
-  0xFF00,  0xFF01,
-  0xFF02,  0xFF03,
-  0xFF04,  0xFF05,
-  0xFF06,  0xFF07,
-  0xFF08,  0xFF09,
-  0xFF0A,  0xFF0B,
-  0xFF0C,  0xFF0D,
-  0xFF0E,  0xFF0F,
-  0xFF10,  0xFF11,
-  0xFF12,  0xFF13,
-  0xFF14,  0xFF15,
-  0xFF16,  0xFF17,
-  0xFF18,  0xFF19,
-  0xFF1A,  0xFF1B,
-  0xFF1C,  0xFF1D,
-  0xFF1E,  0xFF1F,
-  0xFF20,  0xFF21,
-  0xFF22,  0xFF23,
-  0xFF24,  0xFF25,
-  0xFF26,  0xFF27,
-  0xFF28,  0xFF29,
-  0xFF2A,  0xFF2B,
-  0xFF2C,  0xFF2D,
-  0xFF2E,  0xFF2F,
-  0xFF30,  0xFF31,
-  0xFF32,  0xFF33,
-  0xFF34,  0xFF35,
-  0xFF36,  0xFF37,
-  0xFF38,  0xFF39,
-  0xFF3A,  0xFF3B,
-  0xFF3C,  0xFF3D,
-  0xFF3E,  0xFF3F,
-  0xFF40,  0xFF21,
-  0xFF22,  0xFF23,
-  0xFF24,  0xFF25,
-  0xFF26,  0xFF27,
-  0xFF28,  0xFF29,
-  0xFF2A,  0xFF2B,
-  0xFF2C,  0xFF2D,
-  0xFF2E,  0xFF2F,
-  0xFF30,  0xFF31,
-  0xFF32,  0xFF33,
-  0xFF34,  0xFF35,
-  0xFF36,  0xFF37,
-  0xFF38,  0xFF39,
-  0xFF3A,  0xFF5B,
-  0xFF5C,  0xFF5D,
-  0xFF5E,  0xFF5F,
-  0xFF60,  0xFF61,
-  0xFF62,  0xFF63,
-  0xFF64,  0xFF65,
-  0xFF66,  0xFF67,
-  0xFF68,  0xFF69,
-  0xFF6A,  0xFF6B,
-  0xFF6C,  0xFF6D,
-  0xFF6E,  0xFF6F,
-  0xFF70,  0xFF71,
-  0xFF72,  0xFF73,
-  0xFF74,  0xFF75,
-  0xFF76,  0xFF77,
-  0xFF78,  0xFF79,
-  0xFF7A,  0xFF7B,
-  0xFF7C,  0xFF7D,
-  0xFF7E,  0xFF7F,
-  0xFF80,  0xFF81,
-  0xFF82,  0xFF83,
-  0xFF84,  0xFF85,
-  0xFF86,  0xFF87,
-  0xFF88,  0xFF89,
-  0xFF8A,  0xFF8B,
-  0xFF8C,  0xFF8D,
-  0xFF8E,  0xFF8F,
-  0xFF90,  0xFF91,
-  0xFF92,  0xFF93,
-  0xFF94,  0xFF95,
-  0xFF96,  0xFF97,
-  0xFF98,  0xFF99,
-  0xFF9A,  0xFF9B,
-  0xFF9C,  0xFF9D,
-  0xFF9E,  0xFF9F,
-  0xFFA0,  0xFFA1,
-  0xFFA2,  0xFFA3,
-  0xFFA4,  0xFFA5,
-  0xFFA6,  0xFFA7,
-  0xFFA8,  0xFFA9,
-  0xFFAA,  0xFFAB,
-  0xFFAC,  0xFFAD,
-  0xFFAE,  0xFFAF,
-  0xFFB0,  0xFFB1,
-  0xFFB2,  0xFFB3,
-  0xFFB4,  0xFFB5,
-  0xFFB6,  0xFFB7,
-  0xFFB8,  0xFFB9,
-  0xFFBA,  0xFFBB,
-  0xFFBC,  0xFFBD,
-  0xFFBE,  0xFFBF,
-  0xFFC0,  0xFFC1,
-  0xFFC2,  0xFFC3,
-  0xFFC4,  0xFFC5,
-  0xFFC6,  0xFFC7,
-  0xFFC8,  0xFFC9,
-  0xFFCA,  0xFFCB,
-  0xFFCC,  0xFFCD,
-  0xFFCE,  0xFFCF,
-  0xFFD0,  0xFFD1,
-  0xFFD2,  0xFFD3,
-  0xFFD4,  0xFFD5,
-  0xFFD6,  0xFFD7,
-  0xFFD8,  0xFFD9,
-  0xFFDA,  0xFFDB,
-  0xFFDC,  0xFFDD,
-  0xFFDE,  0xFFDF,
-  0xFFE0,  0xFFE1,
-  0xFFE2,  0xFFE3,
-  0xFFE4,  0xFFE5,
-  0xFFE6,  0xFFE7,
-  0xFFE8,  0xFFE9,
-  0xFFEA,  0xFFEB,
-  0xFFEC,  0xFFED,
-  0xFFEE,  0xFFEF,
-  0xFFF0,  0xFFF1,
-  0xFFF2,  0xFFF3,
-  0xFFF4,  0xFFF5,
-  0xFFF6,  0xFFF7,
-  0xFFF8,  0xFFF9,
-  0xFFFA,  0xFFFB,
-  0xFFFC,  0xFFFD,
-  0xFFFE,  0xFFFF
-};
-
-static uint32_t *mysql_unicode_normalize_table[256] = {
- plane00, plane01, plane02, plane03, plane04, plane05,    NULL,    NULL,
-    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,
-    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,
-    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, plane1E, plane1F,
-    NULL, plane21,    NULL,    NULL, plane24,    NULL,    NULL,    NULL,
-    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,
-    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,
-    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,
-    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,
-    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,
-    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,
-    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,
-    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,
-    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,
-    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,
-    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,
-    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,
-    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,
-    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,
-    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,
-    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,
-    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,
-    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,
-    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,
-    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,
-    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,
-    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,
-    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,
-    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,
-    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,
-    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,
-    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, planeFF
-
-};
-/* based on mysql-5.5.29/strings/ctype-utf8.c: end */
-
-static inline unsigned int
-unichar_to_utf8(uint32_t unichar, char *output)
-{
-  unsigned int n_bytes;
-
-  if (unichar < 0x80) {
-    output[0] = unichar;
-    n_bytes = 1;
-  } else if (unichar < 0x0800) {
-    output[0] = ((unichar >> 6) & 0x1f) | 0xc0;
-    output[1] = (unichar & 0x3f) | 0x80;
-    n_bytes = 2;
-  } else if (unichar < 0x10000) {
-    output[0] = (unichar >> 12) | 0xe0;
-    output[1] = ((unichar >> 6) & 0x3f) | 0x80;
-    output[2] = (unichar & 0x3f) | 0x80;
-    n_bytes = 3;
-  } else if (unichar < 0x200000) {
-    output[0] = (unichar >> 18) | 0xf0;
-    output[1] = ((unichar >> 12) & 0x3f) | 0x80;
-    output[2] = ((unichar >> 6) & 0x3f) | 0x80;
-    output[3] = (unichar & 0x3f) | 0x80;
-    n_bytes = 4;
-  } else if (unichar < 0x4000000) {
-    output[0] = (unichar >> 24) | 0xf8;
-    output[1] = ((unichar >> 18) & 0x3f) | 0x80;
-    output[2] = ((unichar >> 12) & 0x3f) | 0x80;
-    output[3] = ((unichar >> 6) & 0x3f) | 0x80;
-    output[4] = (unichar & 0x3f) | 0x80;
-    n_bytes = 5;
-  } else {
-    output[0] = (unichar >> 30) | 0xfc;
-    output[1] = ((unichar >> 24) & 0x3f) | 0x80;
-    output[2] = ((unichar >> 18) & 0x3f) | 0x80;
-    output[3] = ((unichar >> 12) & 0x3f) | 0x80;
-    output[4] = ((unichar >> 6) & 0x3f) | 0x80;
-    output[5] = (unichar & 0x3f) | 0x80;
-    n_bytes = 6;
-  }
-
-  return n_bytes;
-}
-
-static void
-normalize(grn_ctx *ctx, grn_obj *string)
-{
-  const char *original, *rest;
-  unsigned int original_length_in_bytes, rest_length;
-  char *normalized;
-  unsigned int normalized_length_in_bytes = 0;
-  unsigned int normalized_n_characters = 0;
-  grn_encoding encoding;
-
-  encoding = grn_string_get_encoding(ctx, string);
-  grn_string_get_original(ctx, string, &original, &original_length_in_bytes);
-  normalized = GRN_PLUGIN_MALLOC(ctx, original_length_in_bytes + 1);
-  rest = original;
-  rest_length = original_length_in_bytes;
-  while (rest_length > 0) {
-    int character_length;
-    int plane;
-    uint32_t low_code;
-
-    character_length = grn_tokenizer_charlen(ctx, rest, rest_length, encoding);
-    if (character_length == 0) {
-      break;
-    }
-
-    switch (character_length) {
-    case 1 :
-      plane = 0x00;
-      low_code = rest[0] & 0x7f;
-      break;
-    case 2 :
-      plane = 0x00;
-      low_code = (rest[0] & 0x1f << 6) + (rest[1] & 0x3f);
-      break;
-    case 3 :
-      plane = rest[0] & 0x0f;
-      low_code =
-        ((rest[0] & 0x0f) << 12) +
-        ((rest[1] & 0x3f) << 6) +
-        (rest[2] & 0x3f);
-      break;
-    case 4 :
-      plane = ((rest[0] & 0x07) << 6) + (rest[1] & 0x3f);
-      low_code =
-        ((rest[0] & 0x07) << 15) +
-        ((rest[1] & 0x3f) << 12) +
-        ((rest[2] & 0x3f) << 6) +
-        (rest[3] & 0x3f);
-      if (plane > 0xff) {
-        plane = -1;
-      }
-      break;
-    default :
-      plane = -1;
-      low_code = 0x00;
-      break;
-    }
-
-    if (plane >= 0x00 && mysql_unicode_normalize_table[plane]) {
-      uint32_t normalized_code = mysql_unicode_normalize_table[plane][low_code];
-      unsigned int n_bytes;
-      n_bytes = unichar_to_utf8(normalized_code,
-                                normalized + normalized_length_in_bytes);
-      normalized_length_in_bytes += n_bytes;
-    } else {
-      int i;
-      for (i = 0; i < character_length; i++) {
-        normalized[normalized_length_in_bytes + i] = rest[i];
-      }
-      normalized_length_in_bytes += character_length;
-    }
-    normalized_n_characters++;
-    rest += character_length;
-    rest_length -= character_length;
-  }
-
-  if (rest_length == 0) {
-    grn_string_set_normalized(ctx,
-                              string,
-                              normalized,
-                              normalized_length_in_bytes,
-                              normalized_n_characters);
-  } else {
-    /* TODO: report error */
-    GRN_PLUGIN_FREE(ctx, normalized);
-  }
-}
-
-static grn_obj *
-mysql_general_ci_next(grn_ctx *ctx, int nargs, grn_obj **args,
-                      grn_user_data *user_data)
-{
-  grn_obj *string = args[0];
-  grn_encoding encoding;
-
-  encoding = grn_string_get_encoding(ctx, string);
-  if (encoding != GRN_ENC_UTF8) {
-    GRN_PLUGIN_ERROR(ctx,
-                     GRN_FUNCTION_NOT_IMPLEMENTED,
-                     "[normalizer][mysql-general-ci] "
-                     "UTF-8 encoding is only supported: %s",
-                     grn_enctostr(encoding));
-    return NULL;
-  }
-  normalize(ctx, string);
-  return NULL;
-}
-
-grn_rc
-GRN_PLUGIN_INIT(grn_ctx *ctx)
-{
-  return ctx->rc;
-}
-
-grn_rc
-GRN_PLUGIN_REGISTER(grn_ctx *ctx)
-{
-  grn_normalizer_register(ctx, "NormalizerMySQLGeneralCI", -1,
-                          NULL, mysql_general_ci_next, NULL);
-  return GRN_SUCCESS;
-}
-
-grn_rc
-GRN_PLUGIN_FIN(grn_ctx *ctx)
-{
-  return GRN_SUCCESS;
-}

  Deleted: plugins/normalizers/mysql_sources.am (+0 -2) 100644
===================================================================
--- plugins/normalizers/mysql_sources.am    2013-01-24 12:32:27 +0900 (0ccf3b9)
+++ /dev/null
@@ -1,2 +0,0 @@
-mysql_la_SOURCES =				\
-	mysql.c

  Deleted: test/command/suite/normalizers/mysql/general_ci/plane00.expected (+0 -4) 100644
===================================================================
--- test/command/suite/normalizers/mysql/general_ci/plane00.expected    2013-01-24 12:32:27 +0900 (5e595e0)
+++ /dev/null
@@ -1,4 +0,0 @@
-register normalizers/mysql
-[[0,0.0,0.0],true]
-normalize NormalizerMySQLGeneralCI "aBc"
-[[0,0.0,0.0],"ABC"]

  Deleted: test/command/suite/normalizers/mysql/general_ci/plane00.test (+0 -3) 100644
===================================================================
--- test/command/suite/normalizers/mysql/general_ci/plane00.test    2013-01-24 12:32:27 +0900 (29c92d2)
+++ /dev/null
@@ -1,3 +0,0 @@
-register normalizers/mysql
-
-normalize NormalizerMySQLGeneralCI "aBc"
-------------- next part --------------
HTML����������������������������...
Download 



More information about the Groonga-commit mailing list
Back to archive index