/* ----------------------------------------------------------------- */
/*           The Japanese TTS System "Open JTalk"                    */
/*           developed by HTS Working Group                          */
/*           http://open-jtalk.sourceforge.net/                      */
/* ----------------------------------------------------------------- */
/*                                                                   */
/*  Copyright (c) 2008-2016  Nagoya Institute of Technology          */
/*                           Department of Computer Science          */
/*                                                                   */
/* All rights reserved.                                              */
/*                                                                   */
/* Redistribution and use in source and binary forms, with or        */
/* without modification, are permitted provided that the following   */
/* conditions are met:                                               */
/*                                                                   */
/* - Redistributions of source code must retain the above copyright  */
/*   notice, this list of conditions and the following disclaimer.   */
/* - Redistributions in binary form must reproduce the above         */
/*   copyright notice, this list of conditions and the following     */
/*   disclaimer in the documentation and/or other materials provided */
/*   with the distribution.                                          */
/* - Neither the name of the HTS working group nor the names of its  */
/*   contributors may be used to endorse or promote products derived */
/*   from this software without specific prior written permission.   */
/*                                                                   */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND            */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,       */
/* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF          */
/* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE          */
/* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS */
/* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,          */
/* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED   */
/* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,     */
/* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON */
/* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,   */
/* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY    */
/* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE           */
/* POSSIBILITY OF SUCH DAMAGE.                                       */
/* ----------------------------------------------------------------- */

#ifndef TEXT2MECAB_RULE_H
#define TEXT2MECAB_RULE_H

#ifdef __cplusplus
#define TEXT2MECAB_RULE_H_START \
   extern "C"                   \
   {
#define TEXT2MECAB_RULE_H_END }
#else
#define TEXT2MECAB_RULE_H_START
#define TEXT2MECAB_RULE_H_END
#endif /* __CPLUSPLUS */

TEXT2MECAB_RULE_H_START;

static const char text2mecab_control_range[] = {
    0x00, 0x7F};

static const char text2mecab_kanji_range[] = {
    2,
    0xC0,
    0xDF,
    3,
    0xE0,
    0xEF,
    4,
    0xF0,
    0xF7,
};

static const char *text2mecab_conv_list[] = {
    " ", "\xe3\x80\x80",
    "!", "\xef\xbc\x81",
    "\"", "\xe2\x80\x9d",
    "#", "\xef\xbc\x83",
    "$", "\xef\xbc\x84",
    "%", "\xef\xbc\x85",
    "&", "\xef\xbc\x86",
    "'", "\xe2\x80\x99",
    "(", "\xef\xbc\x88",
    ")", "\xef\xbc\x89",
    "*", "\xef\xbc\x8a",
    "+", "\xef\xbc\x8b",
    ",", "\xef\xbc\x8c",
    "-", "\xe2\x88\x92",
    ".", "\xef\xbc\x8e",
    "/", "\xef\xbc\x8f",
    "0", "\xef\xbc\x90",
    "1", "\xef\xbc\x91",
    "2", "\xef\xbc\x92",
    "3", "\xef\xbc\x93",
    "4", "\xef\xbc\x94",
    "5", "\xef\xbc\x95",
    "6", "\xef\xbc\x96",
    "7", "\xef\xbc\x97",
    "8", "\xef\xbc\x98",
    "9", "\xef\xbc\x99",
    ":", "\xef\xbc\x9a",
    ";", "\xef\xbc\x9b",
    "<", "\xef\xbc\x9c",
    "=", "\xef\xbc\x9d",
    ">", "\xef\xbc\x9e",
    "?", "\xef\xbc\x9f",
    "@", "\xef\xbc\xa0",
    "A", "\xef\xbc\xa1",
    "B", "\xef\xbc\xa2",
    "C", "\xef\xbc\xa3",
    "D", "\xef\xbc\xa4",
    "E", "\xef\xbc\xa5",
    "F", "\xef\xbc\xa6",
    "G", "\xef\xbc\xa7",
    "H", "\xef\xbc\xa8",
    "I", "\xef\xbc\xa9",
    "J", "\xef\xbc\xaa",
    "K", "\xef\xbc\xab",
    "L", "\xef\xbc\xac",
    "M", "\xef\xbc\xad",
    "N", "\xef\xbc\xae",
    "O", "\xef\xbc\xaf",
    "P", "\xef\xbc\xb0",
    "Q", "\xef\xbc\xb1",
    "R", "\xef\xbc\xb2",
    "S", "\xef\xbc\xb3",
    "T", "\xef\xbc\xb4",
    "U", "\xef\xbc\xb5",
    "V", "\xef\xbc\xb6",
    "W", "\xef\xbc\xb7",
    "X", "\xef\xbc\xb8",
    "Y", "\xef\xbc\xb9",
    "Z", "\xef\xbc\xba",
    "[", "\xef\xbc\xbb",
    "\\", "\xef\xbf\xa5",
    "]", "\xef\xbc\xbd",
    "^", "\xef\xbc\xbe",
    "_", "\xef\xbc\xbf",
    "`", "\xe2\x80\x98",
    "a", "\xef\xbd\x81",
    "b", "\xef\xbd\x82",
    "c", "\xef\xbd\x83",
    "d", "\xef\xbd\x84",
    "e", "\xef\xbd\x85",
    "f", "\xef\xbd\x86",
    "g", "\xef\xbd\x87",
    "h", "\xef\xbd\x88",
    "i", "\xef\xbd\x89",
    "j", "\xef\xbd\x8a",
    "k", "\xef\xbd\x8b",
    "l", "\xef\xbd\x8c",
    "m", "\xef\xbd\x8d",
    "n", "\xef\xbd\x8e",
    "o", "\xef\xbd\x8f",
    "p", "\xef\xbd\x90",
    "q", "\xef\xbd\x91",
    "r", "\xef\xbd\x92",
    "s", "\xef\xbd\x93",
    "t", "\xef\xbd\x94",
    "u", "\xef\xbd\x95",
    "v", "\xef\xbd\x96",
    "w", "\xef\xbd\x97",
    "x", "\xef\xbd\x98",
    "y", "\xef\xbd\x99",
    "z", "\xef\xbd\x9a",
    "{", "\xef\xbd\x9b",
    "|", "\xef\xbd\x9c",
    "}", "\xef\xbd\x9d",
    "~", "\xe3\x80\x9c",
    "\xef\xbd\xb3\xef\xbe\x9e", "\xe3\x83\xb4",
    "\xef\xbd\xb6\xef\xbe\x9e", "\xe3\x82\xac",
    "\xef\xbd\xb7\xef\xbe\x9e", "\xe3\x82\xae",
    "\xef\xbd\xb8\xef\xbe\x9e", "\xe3\x82\xb0",
    "\xef\xbd\xb9\xef\xbe\x9e", "\xe3\x82\xb2",
    "\xef\xbd\xba\xef\xbe\x9e", "\xe3\x82\xb4",
    "\xef\xbd\xbb\xef\xbe\x9e", "\xe3\x82\xb6",
    "\xef\xbd\xbc\xef\xbe\x9e", "\xe3\x82\xb8",
    "\xef\xbd\xbd\xef\xbe\x9e", "\xe3\x82\xba",
    "\xef\xbd\xbe\xef\xbe\x9e", "\xe3\x82\xbc",
    "\xef\xbd\xbf\xef\xbe\x9e", "\xe3\x82\xbe",
    "\xef\xbe\x80\xef\xbe\x9e", "\xe3\x83\x80",
    "\xef\xbe\x81\xef\xbe\x9e", "\xe3\x83\x82",
    "\xef\xbe\x82\xef\xbe\x9e", "\xe3\x83\x85",
    "\xef\xbe\x83\xef\xbe\x9e", "\xe3\x83\x87",
    "\xef\xbe\x84\xef\xbe\x9e", "\xe3\x83\x89",
    "\xef\xbe\x8a\xef\xbe\x9e", "\xe3\x83\x90",
    "\xef\xbe\x8b\xef\xbe\x9e", "\xe3\x83\x93",
    "\xef\xbe\x8c\xef\xbe\x9e", "\xe3\x83\x96",
    "\xef\xbe\x8d\xef\xbe\x9e", "\xe3\x83\x99",
    "\xef\xbe\x8e\xef\xbe\x9e", "\xe3\x83\x9c",
    "\xef\xbe\x8a\xef\xbe\x9f", "\xe3\x83\x91",
    "\xef\xbe\x8b\xef\xbe\x9f", "\xe3\x83\x94",
    "\xef\xbe\x8c\xef\xbe\x9f", "\xe3\x83\x97",
    "\xef\xbe\x8d\xef\xbe\x9f", "\xe3\x83\x9a",
    "\xef\xbe\x8e\xef\xbe\x9f", "\xe3\x83\x9d",
    "\xef\xbd\xa1", "\xe3\x80\x82",
    "\xef\xbd\xa2", "\xe3\x80\x8c",
    "\xef\xbd\xa3", "\xe3\x80\x8d",
    "\xef\xbd\xa4", "\xe3\x80\x81",
    "\xef\xbd\xa5", "\xe3\x83\xbb",
    "\xef\xbd\xa6", "\xe3\x83\xb2",
    "\xef\xbd\xa7", "\xe3\x82\xa1",
    "\xef\xbd\xa8", "\xe3\x82\xa3",
    "\xef\xbd\xa9", "\xe3\x82\xa5",
    "\xef\xbd\xaa", "\xe3\x82\xa7",
    "\xef\xbd\xab", "\xe3\x82\xa9",
    "\xef\xbd\xac", "\xe3\x83\xa3",
    "\xef\xbd\xad", "\xe3\x83\xa5",
    "\xef\xbd\xae", "\xe3\x83\xa7",
    "\xef\xbd\xaf", "\xe3\x83\x83",
    "\xef\xbd\xb0", "\xe3\x83\xbc",
    "\xef\xbd\xb1", "\xe3\x82\xa2",
    "\xef\xbd\xb2", "\xe3\x82\xa4",
    "\xef\xbd\xb3", "\xe3\x82\xa6",
    "\xef\xbd\xb4", "\xe3\x82\xa8",
    "\xef\xbd\xb5", "\xe3\x82\xaa",
    "\xef\xbd\xb6", "\xe3\x82\xab",
    "\xef\xbd\xb7", "\xe3\x82\xad",
    "\xef\xbd\xb8", "\xe3\x82\xaf",
    "\xef\xbd\xb9", "\xe3\x82\xb1",
    "\xef\xbd\xba", "\xe3\x82\xb3",
    "\xef\xbd\xbb", "\xe3\x82\xb5",
    "\xef\xbd\xbc", "\xe3\x82\xb7",
    "\xef\xbd\xbd", "\xe3\x82\xb9",
    "\xef\xbd\xbe", "\xe3\x82\xbb",
    "\xef\xbd\xbf", "\xe3\x82\xbd",
    "\xef\xbe\x80", "\xe3\x82\xbf",
    "\xef\xbe\x81", "\xe3\x83\x81",
    "\xef\xbe\x82", "\xe3\x83\x84",
    "\xef\xbe\x83", "\xe3\x83\x86",
    "\xef\xbe\x84", "\xe3\x83\x88",
    "\xef\xbe\x85", "\xe3\x83\x8a",
    "\xef\xbe\x86", "\xe3\x83\x8b",
    "\xef\xbe\x87", "\xe3\x83\x8c",
    "\xef\xbe\x88", "\xe3\x83\x8d",
    "\xef\xbe\x89", "\xe3\x83\x8e",
    "\xef\xbe\x8a", "\xe3\x83\x8f",
    "\xef\xbe\x8b", "\xe3\x83\x92",
    "\xef\xbe\x8c", "\xe3\x83\x95",
    "\xef\xbe\x8d", "\xe3\x83\x98",
    "\xef\xbe\x8e", "\xe3\x83\x9b",
    "\xef\xbe\x8f", "\xe3\x83\x9e",
    "\xef\xbe\x90", "\xe3\x83\x9f",
    "\xef\xbe\x91", "\xe3\x83\xa0",
    "\xef\xbe\x92", "\xe3\x83\xa1",
    "\xef\xbe\x93", "\xe3\x83\xa2",
    "\xef\xbe\x94", "\xe3\x83\xa4",
    "\xef\xbe\x95", "\xe3\x83\xa6",
    "\xef\xbe\x96", "\xe3\x83\xa8",
    "\xef\xbe\x97", "\xe3\x83\xa9",
    "\xef\xbe\x98", "\xe3\x83\xaa",
    "\xef\xbe\x99", "\xe3\x83\xab",
    "\xef\xbe\x9a", "\xe3\x83\xac",
    "\xef\xbe\x9b", "\xe3\x83\xad",
    "\xef\xbe\x9c", "\xe3\x83\xaf",
    "\xef\xbe\x9d", "\xe3\x83\xb3",
    "\xef\xbe\x9e", "",
    "\xef\xbe\x9f", "",
    NULL, NULL};

TEXT2MECAB_RULE_H_END;

#endif /* !TEXT2MECAB_RULE_H */
