1 /* 2 * SPDX-FileCopyrightText: 2004-2005 Takuro Ashie 3 * SPDX-FileCopyrightText: 2012-2017 CSSlayer <wengxt@gmail.com> 4 * 5 * SPDX-License-Identifier: GPL-2.0-or-later 6 * 7 */ 8 9 #include "default_tables.h" 10 #include <fcitx-utils/key.h> 11 12 /* from Suikyo */ 13 ConvRule fcitx_anthy_romaji_typing_rule[] = { 14 {"-", "ー", ""}, 15 #if 0 16 {"[", "「", ""}, 17 {"]", "」", ""}, 18 #endif 19 {"a", "あ", ""}, 20 {"i", "い", ""}, 21 {"u", "う", ""}, 22 {"e", "え", ""}, 23 {"o", "お", ""}, 24 {"xa", "ぁ", ""}, 25 {"xi", "ぃ", ""}, 26 {"xu", "ぅ", ""}, 27 {"xe", "ぇ", ""}, 28 {"xo", "ぉ", ""}, 29 {"la", "ぁ", ""}, 30 {"li", "ぃ", ""}, 31 {"lu", "ぅ", ""}, 32 {"le", "ぇ", ""}, 33 {"lo", "ぉ", ""}, 34 {"wi", "うぃ", ""}, 35 {"we", "うぇ", ""}, 36 {"wha", "うぁ", ""}, 37 {"whi", "うぃ", ""}, 38 {"whe", "うぇ", ""}, 39 {"who", "うぉ", ""}, 40 #if 0 41 {"va", "う゛ぁ", ""}, 42 {"vi", "う゛ぃ", ""}, 43 {"vu", "う゛", ""}, 44 {"ve", "う゛ぇ", ""}, 45 {"vo", "う゛ぉ", ""}, 46 #else 47 {"va", "ヴぁ", ""}, 48 {"vi", "ヴぃ", ""}, 49 {"vu", "ヴ", ""}, 50 {"ve", "ヴぇ", ""}, 51 {"vo", "ヴぉ", ""}, 52 #endif 53 {"ka", "か", ""}, 54 {"ki", "き", ""}, 55 {"ku", "く", ""}, 56 {"ke", "け", ""}, 57 {"ko", "こ", ""}, 58 {"ga", "が", ""}, 59 {"gi", "ぎ", ""}, 60 {"gu", "ぐ", ""}, 61 {"ge", "げ", ""}, 62 {"go", "ご", ""}, 63 {"kya", "きゃ", ""}, 64 {"kyi", "きぃ", ""}, 65 {"kyu", "きゅ", ""}, 66 {"kye", "きぇ", ""}, 67 {"kyo", "きょ", ""}, 68 {"gya", "ぎゃ", ""}, 69 {"gyi", "ぎぃ", ""}, 70 {"gyu", "ぎゅ", ""}, 71 {"gye", "ぎぇ", ""}, 72 {"gyo", "ぎょ", ""}, 73 {"sa", "さ", ""}, 74 {"si", "し", ""}, 75 {"su", "す", ""}, 76 {"se", "せ", ""}, 77 {"so", "そ", ""}, 78 {"za", "ざ", ""}, 79 {"zi", "じ", ""}, 80 {"zu", "ず", ""}, 81 {"ze", "ぜ", ""}, 82 {"zo", "ぞ", ""}, 83 {"sya", "しゃ", ""}, 84 {"syi", "しぃ", ""}, 85 {"syu", "しゅ", ""}, 86 {"sye", "しぇ", ""}, 87 {"syo", "しょ", ""}, 88 {"sha", "しゃ", ""}, 89 {"shi", "し", ""}, 90 {"shu", "しゅ", ""}, 91 {"she", "しぇ", ""}, 92 {"sho", "しょ", ""}, 93 {"zya", "じゃ", ""}, 94 {"zyi", "じぃ", ""}, 95 {"zyu", "じゅ", ""}, 96 {"zye", "じぇ", ""}, 97 {"zyo", "じょ", ""}, 98 {"ja", "じゃ", ""}, 99 {"jya", "じゃ", ""}, 100 {"ji", "じ", ""}, 101 {"jyi", "じぃ", ""}, 102 {"ju", "じゅ", ""}, 103 {"jyu", "じゅ", ""}, 104 {"je", "じぇ", ""}, 105 {"jye", "じぇ", ""}, 106 {"jo", "じょ", ""}, 107 {"jyo", "じょ", ""}, 108 {"ta", "た", ""}, 109 {"ti", "ち", ""}, 110 {"tu", "つ", ""}, 111 {"tsu", "つ", ""}, 112 {"te", "て", ""}, 113 {"to", "と", ""}, 114 {"da", "だ", ""}, 115 {"di", "ぢ", ""}, 116 {"du", "づ", ""}, 117 {"de", "で", ""}, 118 {"do", "ど", ""}, 119 {"xtu", "っ", ""}, 120 {"xtsu", "っ", ""}, 121 {"ltu", "っ", ""}, 122 {"ltsu", "っ", ""}, 123 {"tya", "ちゃ", ""}, 124 {"tyi", "ちぃ", ""}, 125 {"tyu", "ちゅ", ""}, 126 {"tye", "ちぇ", ""}, 127 {"tyo", "ちょ", ""}, 128 {"cha", "ちゃ", ""}, 129 {"chi", "ち", ""}, 130 {"chu", "ちゅ", ""}, 131 {"che", "ちぇ", ""}, 132 {"cho", "ちょ", ""}, 133 {"dya", "ぢゃ", ""}, 134 {"dyi", "ぢぃ", ""}, 135 {"dyu", "ぢゅ", ""}, 136 {"dye", "ぢぇ", ""}, 137 {"dyo", "ぢょ", ""}, 138 {"tha", "てゃ", ""}, 139 {"thi", "てぃ", ""}, 140 {"thu", "てゅ", ""}, 141 {"the", "てぇ", ""}, 142 {"tho", "てょ", ""}, 143 {"dha", "でゃ", ""}, 144 {"dhi", "でぃ", ""}, 145 {"dhu", "でゅ", ""}, 146 {"dhe", "でぇ", ""}, 147 {"dho", "でょ", ""}, 148 {"na", "な", ""}, 149 {"ni", "に", ""}, 150 {"nu", "ぬ", ""}, 151 {"ne", "ね", ""}, 152 {"no", "の", ""}, 153 {"nya", "にゃ", ""}, 154 {"nyi", "にぃ", ""}, 155 {"nyu", "にゅ", ""}, 156 {"nye", "にぇ", ""}, 157 {"nyo", "にょ", ""}, 158 {"ha", "は", ""}, 159 {"hi", "ひ", ""}, 160 {"hu", "ふ", ""}, 161 {"fu", "ふ", ""}, 162 {"he", "へ", ""}, 163 {"ho", "ほ", ""}, 164 {"ba", "ば", ""}, 165 {"bi", "び", ""}, 166 {"bu", "ぶ", ""}, 167 {"be", "べ", ""}, 168 {"bo", "ぼ", ""}, 169 {"pa", "ぱ", ""}, 170 {"pi", "ぴ", ""}, 171 {"pu", "ぷ", ""}, 172 {"pe", "ぺ", ""}, 173 {"po", "ぽ", ""}, 174 {"hya", "ひゃ", ""}, 175 {"hyi", "ひぃ", ""}, 176 {"hyu", "ひゅ", ""}, 177 {"hye", "ひぇ", ""}, 178 {"hyo", "ひょ", ""}, 179 {"bya", "びゃ", ""}, 180 {"byi", "びぃ", ""}, 181 {"byu", "びゅ", ""}, 182 {"bye", "びぇ", ""}, 183 {"byo", "びょ", ""}, 184 {"pya", "ぴゃ", ""}, 185 {"pyi", "ぴぃ", ""}, 186 {"pyu", "ぴゅ", ""}, 187 {"pye", "ぴぇ", ""}, 188 {"pyo", "ぴょ", ""}, 189 {"fa", "ふぁ", ""}, 190 {"fi", "ふぃ", ""}, 191 {"fu", "ふ", ""}, 192 {"fe", "ふぇ", ""}, 193 {"fo", "ふぉ", ""}, 194 {"ma", "ま", ""}, 195 {"mi", "み", ""}, 196 {"mu", "む", ""}, 197 {"me", "め", ""}, 198 {"mo", "も", ""}, 199 {"mya", "みゃ", ""}, 200 {"myi", "みぃ", ""}, 201 {"myu", "みゅ", ""}, 202 {"mye", "みぇ", ""}, 203 {"myo", "みょ", ""}, 204 {"lya", "ゃ", ""}, 205 {"xya", "ゃ", ""}, 206 {"ya", "や", ""}, 207 {"lyu", "ゅ", ""}, 208 {"xyu", "ゅ", ""}, 209 {"yu", "ゆ", ""}, 210 {"lyo", "ょ", ""}, 211 {"xyo", "ょ", ""}, 212 {"yo", "よ", ""}, 213 {"ra", "ら", ""}, 214 {"ri", "り", ""}, 215 {"ru", "る", ""}, 216 {"re", "れ", ""}, 217 {"ro", "ろ", ""}, 218 {"rya", "りゃ", ""}, 219 {"ryi", "りぃ", ""}, 220 {"ryu", "りゅ", ""}, 221 {"rye", "りぇ", ""}, 222 {"ryo", "りょ", ""}, 223 {"xwa", "ゎ", ""}, 224 {"wa", "わ", ""}, 225 {"wo", "を", ""}, 226 {"n'", "ん", ""}, 227 {"nn", "ん", ""}, 228 {"n", "ん", ""}, 229 {"wyi", "ゐ", ""}, 230 {"wye", "ゑ", ""}, 231 #if 0 /* emulate dead key */ 232 {"\\.", "・", ""}, 233 {";r", "→", ""}, 234 {";l", "←", ""}, 235 {";u", "↑", ""}, 236 {";d", "↓", ""}, 237 {";p", "〒", ""}, 238 {";e", "€", ""}, 239 {";t", "™", ""}, 240 {";s", "®", ""}, 241 {";c", "©", ""}, 242 #endif 243 {nullptr, nullptr, nullptr}, 244 }; 245 246 ConvRule fcitx_anthy_romaji_double_consonant_rule[] = { 247 {"vv", "っ", "v"}, {"xx", "っ", "x"}, {"kk", "っ", "k"}, 248 {"gg", "っ", "g"}, {"ss", "っ", "s"}, {"zz", "っ", "z"}, 249 {"jj", "っ", "j"}, {"tt", "っ", "t"}, {"dd", "っ", "d"}, 250 {"hh", "っ", "h"}, {"ff", "っ", "f"}, {"bb", "っ", "b"}, 251 {"pp", "っ", "p"}, {"mm", "っ", "m"}, {"yy", "っ", "y"}, 252 {"rr", "っ", "r"}, {"ww", "っ", "w"}, {"cc", "っ", "c"}, 253 {nullptr, nullptr, nullptr}, 254 }; 255 256 ConvRule fcitx_anthy_half_symbol_rule[] = { 257 {",", ",", ""}, {".", ".", ""}, {"!", "!", ""}, 258 {"\"", "\"", ""}, {"#", "#", ""}, {"$", "$", ""}, 259 {"%", "%", ""}, {"&", "&", ""}, {"'", "'", ""}, 260 {"(", "(", ""}, {")", ")", ""}, {"~", "~", ""}, 261 {"-", "-", ""}, {"=", "=", ""}, {"^", "^", ""}, 262 {"\\", "\\", ""}, {"|", "|", ""}, {"`", "`", ""}, 263 {"@", "@", ""}, {"{", "{", ""}, {"[", "[", ""}, 264 {"+", "+", ""}, {";", ";", ""}, {"*", "*", ""}, 265 {":", ":", ""}, {"}", "}", ""}, {"]", "]", ""}, 266 {"<", "<", ""}, {">", ">", ""}, {"?", "?", ""}, 267 {"/", "/", ""}, {"_", "_", ""}, {nullptr, nullptr, nullptr}, 268 }; 269 270 ConvRule fcitx_anthy_wide_symbol_rule[] = { 271 {",", "、", ""}, {".", "。", ""}, {"!", "!", ""}, 272 {"\"", "”", ""}, {"#", "#", ""}, {"$", "$", ""}, 273 {"%", "%", ""}, {"&", "&", ""}, {"'", "’", ""}, 274 {"(", "(", ""}, {")", ")", ""}, {"~", "〜", ""}, 275 {"-", "ー", ""}, {"=", "=", ""}, {"^", "^", ""}, 276 {"\\", "\", ""}, {"|", "|", ""}, {"`", "‘", ""}, 277 {"@", "@", ""}, {"{", "{", ""}, {"[", "「", ""}, 278 {"+", "+", ""}, {";", ";", ""}, {"*", "*", ""}, 279 {":", ":", ""}, {"}", "}", ""}, {"]", "」", ""}, 280 {"<", "<", ""}, {">", ">", ""}, {"?", "?", ""}, 281 {"/", "/", ""}, {"_", "_", ""}, {nullptr, nullptr, nullptr}, 282 }; 283 284 ConvRule fcitx_anthy_half_number_rule[] = { 285 {"1", "1", ""}, 286 {"2", "2", ""}, 287 {"3", "3", ""}, 288 {"4", "4", ""}, 289 {"5", "5", ""}, 290 {"6", "6", ""}, 291 {"7", "7", ""}, 292 {"8", "8", ""}, 293 {"9", "9", ""}, 294 {"0", "0", ""}, 295 {nullptr, nullptr, nullptr}, 296 }; 297 298 ConvRule fcitx_anthy_wide_number_rule[] = { 299 {"1", "1", ""}, 300 {"2", "2", ""}, 301 {"3", "3", ""}, 302 {"4", "4", ""}, 303 {"5", "5", ""}, 304 {"6", "6", ""}, 305 {"7", "7", ""}, 306 {"8", "8", ""}, 307 {"9", "9", ""}, 308 {"0", "0", ""}, 309 {nullptr, nullptr, nullptr}, 310 }; 311 312 ConvRule fcitx_anthy_kana_typing_rule[] = { 313 // no modifiers keys 314 {"1", "ぬ", ""}, 315 {"2", "", "ふ"}, 316 {"3", "あ", ""}, 317 {"4", "う", ""}, 318 {"5", "え", ""}, 319 {"6", "お", ""}, 320 {"7", "や", ""}, 321 {"8", "ゆ", ""}, 322 {"9", "よ", ""}, 323 {"0", "わ", ""}, 324 {"-", "", "ほ"}, 325 {"^", "", "へ"}, 326 327 {"q", "", "た"}, 328 {"w", "", "て"}, 329 {"e", "い", ""}, 330 {"r", "", "す"}, 331 {"t", "", "か"}, 332 {"y", "ん", ""}, 333 {"u", "な", ""}, 334 {"i", "に", ""}, 335 {"o", "ら", ""}, 336 {"p", "", "せ"}, 337 {"@", "゛", ""}, 338 {"[", "゜", ""}, 339 340 {"a", "", "ち"}, 341 {"s", "", "と"}, 342 {"d", "", "し"}, 343 {"f", "", "は"}, 344 {"g", "", "き"}, 345 {"h", "", "く"}, 346 {"j", "ま", ""}, 347 {"k", "の", ""}, 348 {"l", "り", ""}, 349 {";", "れ", ""}, 350 {":", "", "け"}, 351 {"]", "む", ""}, 352 353 {"z", "", "つ"}, 354 {"x", "", "さ"}, 355 {"c", "", "そ"}, 356 {"v", "", "ひ"}, 357 {"b", "", "こ"}, 358 {"n", "み", ""}, 359 {"m", "も", ""}, 360 {",", "ね", ""}, 361 {".", "る", ""}, 362 {"/", "め", ""}, 363 {"\\", "ー", ""}, 364 365 // shift modifiered keys 366 {"!", "ぬ", ""}, 367 {"\"", "", "ふ"}, 368 {"#", "ぁ", ""}, 369 {"$", "ぅ", ""}, 370 {"%", "ぇ", ""}, 371 {"&", "ぉ", ""}, 372 {"'", "ゃ", ""}, 373 {"(", "ゅ", ""}, 374 {")", "ょ", ""}, 375 {"~", "を", ""}, 376 {"=", "", "ほ"}, 377 {"|", "ー", ""}, 378 379 {"Q", "", "た"}, 380 {"W", "", "て"}, 381 {"E", "ぃ", ""}, 382 {"R", "", "す"}, 383 {"T", "ヵ", ""}, 384 {"Y", "ん", ""}, 385 {"U", "な", ""}, 386 {"I", "に", ""}, 387 {"O", "ら", ""}, 388 {"P", "", "せ"}, 389 {"`", "゛", ""}, 390 #if 0 391 {"{", "「", ""}, 392 #endif 393 394 {"A", "", "ち"}, 395 {"S", "", "と"}, 396 {"D", "", "し"}, 397 {"F", "ゎ", ""}, 398 {"G", "", "き"}, 399 {"H", "", "く"}, 400 {"J", "ま", ""}, 401 {"K", "の", ""}, 402 {"L", "り", ""}, 403 {"+", "れ", ""}, 404 {"*", "ヶ", ""}, 405 #if 0 406 {"}", "」", ""}, 407 #endif 408 409 {"Z", "っ", ""}, 410 {"X", "", "さ"}, 411 {"C", "", "そ"}, 412 {"V", "", "ゐ"}, 413 {"B", "", "こ"}, 414 {"M", "も", ""}, 415 {"N", "み", ""}, 416 #if 0 417 {"?", "・", ""}, 418 #endif 419 {"_", "ろ", ""}, 420 {nullptr, nullptr, nullptr}, 421 }; 422 423 ConvRule fcitx_anthy_kana_voiced_consonant_rule[] = { 424 {"か@", "が", ""}, {"き@", "ぎ", ""}, {"く@", "ぐ", ""}, 425 {"け@", "げ", ""}, {"こ@", "ご", ""}, {"さ@", "ざ", ""}, 426 {"し@", "じ", ""}, {"す@", "ず", ""}, {"せ@", "ぜ", ""}, 427 {"そ@", "ぞ", ""}, {"た@", "だ", ""}, {"ち@", "ぢ", ""}, 428 {"つ@", "づ", ""}, {"て@", "で", ""}, {"と@", "ど", ""}, 429 {"は@", "ば", ""}, {"ひ@", "び", ""}, {"ふ@", "ぶ", ""}, 430 {"へ@", "べ", ""}, {"ほ@", "ぼ", ""}, {"か`", "が", ""}, 431 {"き`", "ぎ", ""}, {"く`", "ぐ", ""}, {"け`", "げ", ""}, 432 {"こ`", "ご", ""}, {"さ`", "ざ", ""}, {"し`", "じ", ""}, 433 {"す`", "ず", ""}, {"せ`", "ぜ", ""}, {"そ`", "ぞ", ""}, 434 {"た`", "だ", ""}, {"ち`", "ぢ", ""}, {"つ`", "づ", ""}, 435 {"て`", "で", ""}, {"と`", "ど", ""}, {"は`", "ば", ""}, 436 {"ひ`", "び", ""}, {"ふ`", "ぶ", ""}, {"へ`", "べ", ""}, 437 {"ほ`", "ぼ", ""}, {"は[", "ぱ", ""}, {"ひ[", "ぴ", ""}, 438 {"ふ[", "ぷ", ""}, {"へ[", "ぺ", ""}, {"ほ[", "ぽ", ""}, 439 {nullptr, nullptr, nullptr}, 440 }; 441 442 ConvRule fcitx_anthy_romaji_ja_period_rule[] = { 443 {".", "。", ""}, 444 {nullptr, nullptr, nullptr}, 445 }; 446 447 ConvRule fcitx_anthy_romaji_ja_comma_rule[] = { 448 {",", "、", ""}, 449 {nullptr, nullptr, nullptr}, 450 }; 451 452 ConvRule fcitx_anthy_romaji_wide_period_rule[] = { 453 {".", ".", ""}, 454 {nullptr, nullptr, nullptr}, 455 }; 456 457 ConvRule fcitx_anthy_romaji_wide_comma_rule[] = { 458 {",", ",", ""}, 459 {nullptr, nullptr, nullptr}, 460 }; 461 462 ConvRule fcitx_anthy_romaji_half_period_rule[] = { 463 {".", ".", ""}, 464 {nullptr, nullptr, nullptr}, 465 }; 466 467 ConvRule fcitx_anthy_romaji_half_comma_rule[] = { 468 {",", ",", ""}, 469 {nullptr, nullptr, nullptr}, 470 }; 471 472 ConvRule fcitx_anthy_kana_ja_period_rule[] = { 473 {">", "。", ""}, 474 {nullptr, nullptr, nullptr}, 475 }; 476 477 ConvRule fcitx_anthy_kana_ja_comma_rule[] = { 478 {"<", "、", ""}, 479 {nullptr, nullptr, nullptr}, 480 }; 481 482 ConvRule fcitx_anthy_kana_wide_period_rule[] = { 483 {">", ".", ""}, 484 {nullptr, nullptr, nullptr}, 485 }; 486 487 ConvRule fcitx_anthy_kana_wide_comma_rule[] = { 488 {"<", ",", ""}, 489 {nullptr, nullptr, nullptr}, 490 }; 491 492 ConvRule fcitx_anthy_kana_half_period_rule[] = { 493 {">", ".", ""}, 494 {nullptr, nullptr, nullptr}, 495 }; 496 497 ConvRule fcitx_anthy_kana_half_comma_rule[] = { 498 {"<", ",", ""}, 499 {nullptr, nullptr, nullptr}, 500 }; 501 502 ConvRule fcitx_anthy_romaji_ja_bracket_rule[] = { 503 {"[", "「", ""}, 504 {"]", "」", ""}, 505 {nullptr, nullptr, nullptr}, 506 }; 507 508 ConvRule fcitx_anthy_romaji_wide_bracket_rule[] = { 509 {"[", "[", ""}, 510 {"]", "]", ""}, 511 {nullptr, nullptr, nullptr}, 512 }; 513 514 ConvRule fcitx_anthy_kana_ja_bracket_rule[] = { 515 {"{", "「", ""}, 516 {"}", "」", ""}, 517 {nullptr, nullptr, nullptr}, 518 }; 519 520 ConvRule fcitx_anthy_kana_wide_bracket_rule[] = { 521 {"{", "[", ""}, 522 {"}", "]", ""}, 523 {nullptr, nullptr, nullptr}, 524 }; 525 526 ConvRule fcitx_anthy_romaji_ja_slash_rule[] = { 527 {"/", "・", ""}, 528 {nullptr, nullptr, nullptr}, 529 }; 530 531 ConvRule fcitx_anthy_romaji_wide_slash_rule[] = { 532 {"/", "/", ""}, 533 {nullptr, nullptr, nullptr}, 534 }; 535 536 ConvRule fcitx_anthy_kana_ja_slash_rule[] = { 537 {"?", "・", ""}, 538 {nullptr, nullptr, nullptr}, 539 }; 540 541 ConvRule fcitx_anthy_kana_wide_slash_rule[] = { 542 {"?", "/", ""}, 543 {nullptr, nullptr, nullptr}, 544 }; 545 546 HiraganaKatakanaRule fcitx_anthy_hiragana_katakana_table[] = { 547 {"あ", "ア", "ア"}, 548 {"い", "イ", "イ"}, 549 {"う", "ウ", "ウ"}, 550 {"え", "エ", "エ"}, 551 {"お", "オ", "オ"}, 552 {"か", "カ", "カ"}, 553 {"き", "キ", "キ"}, 554 {"く", "ク", "ク"}, 555 {"け", "ケ", "ケ"}, 556 {"こ", "コ", "コ"}, 557 {"が", "ガ", "ガ"}, 558 {"ぎ", "ギ", "ギ"}, 559 {"ぐ", "グ", "グ"}, 560 {"げ", "ゲ", "ゲ"}, 561 {"ご", "ゴ", "ゴ"}, 562 {"さ", "サ", "サ"}, 563 {"し", "シ", "シ"}, 564 {"す", "ス", "ス"}, 565 {"せ", "セ", "セ"}, 566 {"そ", "ソ", "ソ"}, 567 {"ざ", "ザ", "ザ"}, 568 {"じ", "ジ", "ジ"}, 569 {"ず", "ズ", "ズ"}, 570 {"ぜ", "ゼ", "ゼ"}, 571 {"ぞ", "ゾ", "ゾ"}, 572 {"た", "タ", "タ"}, 573 {"ち", "チ", "チ"}, 574 {"つ", "ツ", "ツ"}, 575 {"て", "テ", "テ"}, 576 {"と", "ト", "ト"}, 577 {"だ", "ダ", "ダ"}, 578 {"ぢ", "ヂ", "ヂ"}, 579 {"づ", "ヅ", "ヅ"}, 580 {"で", "デ", "デ"}, 581 {"ど", "ド", "ド"}, 582 {"な", "ナ", "ナ"}, 583 {"に", "ニ", "ニ"}, 584 {"ぬ", "ヌ", "ヌ"}, 585 {"ね", "ネ", "ネ"}, 586 {"の", "ノ", "ノ"}, 587 {"は", "ハ", "ハ"}, 588 {"ひ", "ヒ", "ヒ"}, 589 {"ふ", "フ", "フ"}, 590 {"へ", "ヘ", "ヘ"}, 591 {"ほ", "ホ", "ホ"}, 592 {"ば", "バ", "バ"}, 593 {"び", "ビ", "ビ"}, 594 {"ぶ", "ブ", "ブ"}, 595 {"べ", "ベ", "ベ"}, 596 {"ぼ", "ボ", "ボ"}, 597 {"ぱ", "パ", "パ"}, 598 {"ぴ", "ピ", "ピ"}, 599 {"ぷ", "プ", "プ"}, 600 {"ぺ", "ペ", "ペ"}, 601 {"ぽ", "ポ", "ポ"}, 602 {"ま", "マ", "マ"}, 603 {"み", "ミ", "ミ"}, 604 {"む", "ム", "ム"}, 605 {"め", "メ", "メ"}, 606 {"も", "モ", "モ"}, 607 {"や", "ヤ", "ヤ"}, 608 {"ゆ", "ユ", "ユ"}, 609 {"よ", "ヨ", "ヨ"}, 610 {"ら", "ラ", "ラ"}, 611 {"り", "リ", "リ"}, 612 {"る", "ル", "ル"}, 613 {"れ", "レ", "レ"}, 614 {"ろ", "ロ", "ロ"}, 615 616 {"わ", "ワ", "ワ"}, 617 {"を", "ヲ", "ヲ"}, 618 {"ん", "ン", "ン"}, 619 620 {"ぁ", "ァ", "ァ"}, 621 {"ぃ", "ィ", "ィ"}, 622 {"ぅ", "ゥ", "ゥ"}, 623 {"ぇ", "ェ", "ェ"}, 624 {"ぉ", "ォ", "ォ"}, 625 626 {"っ", "ッ", "ッ"}, 627 628 {"ゃ", "ャ", "ャ"}, 629 {"ゅ", "ュ", "ュ"}, 630 {"ょ", "ョ", "ョ"}, 631 632 {"ヵ", "ヵ", "カ"}, 633 {"ヶ", "ヶ", "ケ"}, 634 635 {"ゎ", "ヮ", "ワ"}, 636 {"ゐ", "ヰ", "ィ"}, 637 {"ゑ", "ヱ", "ェ"}, 638 639 #if 1 640 //{"う゛" "ヴ" "ヴ"}, 641 {"ヴ", "ヴ", "ヴ"}, 642 #endif 643 644 #if 1 645 {"ー", "ー", "ー"}, 646 {"、", "、", "、"}, 647 {"。", "。", "。"}, 648 {"!", "!", "!"}, 649 {"”", "”", "\""}, 650 {"#", "#", "#"}, 651 {"$", "$", "$"}, 652 {"%", "%", "%"}, 653 {"&", "&", "&"}, 654 {"’", "’", "'"}, 655 {"(", "(", "("}, 656 {")", ")", ")"}, 657 {"〜", "〜", "~"}, 658 {"=", "=", "="}, 659 {"^", "^", "^"}, 660 {"\", "\", "\\"}, 661 {"|", "|", "|"}, 662 {"‘", "‘", "`"}, 663 {"@", "@", "@"}, 664 {"{", "{", "{"}, 665 {"「", "「", "「"}, 666 {"+", "+", "+"}, 667 {";", ";", ";"}, 668 {"*", "*", "*"}, 669 {":", ":", ":"}, 670 {"}", "}", "}"}, 671 {"」", "」", "」"}, 672 {"<", "<", "<"}, 673 {">", ">", ">"}, 674 {"?", "?", "?"}, 675 {"/", "/", "/"}, 676 {"_", "_", "_"}, 677 #endif 678 {nullptr, nullptr, nullptr}, 679 }; 680 681 WideRule fcitx_anthy_wide_table[] = { 682 {"a", "a"}, {"b", "b"}, {"c", "c"}, {"d", "d"}, {"e", "e"}, 683 {"f", "f"}, {"g", "g"}, {"h", "h"}, {"i", "i"}, {"j", "j"}, 684 {"k", "k"}, {"l", "l"}, {"m", "m"}, {"n", "n"}, {"o", "o"}, 685 {"p", "p"}, {"q", "q"}, {"r", "r"}, {"s", "s"}, {"t", "t"}, 686 {"u", "u"}, {"v", "v"}, {"w", "w"}, {"x", "x"}, {"y", "y"}, 687 {"z", "z"}, {"A", "A"}, {"B", "B"}, {"C", "C"}, {"D", "D"}, 688 {"E", "E"}, {"F", "F"}, {"G", "G"}, {"H", "H"}, {"I", "I"}, 689 {"J", "J"}, {"K", "K"}, {"L", "L"}, {"M", "M"}, {"N", "N"}, 690 {"O", "O"}, {"P", "P"}, {"Q", "Q"}, {"R", "R"}, {"S", "S"}, 691 {"T", "T"}, {"U", "U"}, {"V", "V"}, {"W", "W"}, {"X", "X"}, 692 {"Y", "Y"}, {"Z", "Z"}, {"1", "1"}, {"2", "2"}, {"3", "3"}, 693 {"4", "4"}, {"5", "5"}, {"6", "6"}, {"7", "7"}, {"8", "8"}, 694 {"9", "9"}, {"0", "0"}, {"-", "−"}, {",", ","}, {".", "."}, 695 {"!", "!"}, {"\"", "”"}, {"#", "#"}, {"$", "$"}, {"%", "%"}, 696 {"&", "&"}, {"'", "’"}, {"(", "("}, {")", ")"}, {"~", "〜"}, 697 {"=", "="}, {"^", "^"}, {"\\", "\"}, {"|", "|"}, {"`", "‘"}, 698 {"@", "@"}, {"{", "{"}, {"[", "["}, {"+", "+"}, {";", ";"}, 699 {":", ":"}, {"}", "}"}, {"]", "]"}, {"<", "<"}, {">", ">"}, 700 {"?", "?"}, {"/", "/"}, {"_", "_"}, {"*", "*"}, {nullptr, nullptr}, 701 }; 702 703 VoicedConsonantRule fcitx_anthy_voiced_consonant_table[] = { 704 {"か", "が", ""}, {"き", "ぎ", ""}, {"く", "ぐ", ""}, 705 {"け", "げ", ""}, {"こ", "ご", ""}, {"さ", "ざ", ""}, 706 {"し", "じ", ""}, {"す", "ず", ""}, {"せ", "ぜ", ""}, 707 {"そ", "ぞ", ""}, {"た", "だ", ""}, {"ち", "ぢ", ""}, 708 {"つ", "づ", ""}, {"て", "で", ""}, {"と", "ど", ""}, 709 {"は", "ば", "ぱ"}, {"ひ", "び", "ぴ"}, {"ふ", "ぶ", "ぷ"}, 710 {"へ", "べ", "ぺ"}, {"ほ", "ぼ", "ぽ"}, {nullptr, nullptr, nullptr}, 711 }; 712 713 KeyCodeToCharRule fcitx_anthy_keypad_table[] = { 714 {FcitxKey_KP_Equal, "="}, {FcitxKey_KP_Multiply, "*"}, 715 {FcitxKey_KP_Add, "+"}, {FcitxKey_KP_Separator, ","}, 716 {FcitxKey_KP_Subtract, "-"}, {FcitxKey_KP_Decimal, "."}, 717 {FcitxKey_KP_Divide, "/"}, {FcitxKey_KP_0, "0"}, 718 {FcitxKey_KP_1, "1"}, {FcitxKey_KP_2, "2"}, 719 {FcitxKey_KP_3, "3"}, {FcitxKey_KP_4, "4"}, 720 {FcitxKey_KP_5, "5"}, {FcitxKey_KP_6, "6"}, 721 {FcitxKey_KP_7, "7"}, {FcitxKey_KP_8, "8"}, 722 {FcitxKey_KP_9, "9"}, {0, nullptr}}; 723 724 KeyCodeToCharRule fcitx_anthy_kana_table[] = { 725 {FcitxKey_kana_fullstop, "。"}, 726 {FcitxKey_kana_openingbracket, "「"}, 727 {FcitxKey_kana_closingbracket, "」"}, 728 {FcitxKey_kana_comma, "、"}, 729 {FcitxKey_kana_conjunctive, "・"}, 730 {FcitxKey_kana_middledot, "・"}, 731 {FcitxKey_kana_WO, "を"}, 732 {FcitxKey_kana_a, "ぁ"}, 733 {FcitxKey_kana_i, "ぃ"}, 734 {FcitxKey_kana_u, "ぅ"}, 735 {FcitxKey_kana_e, "ぇ"}, 736 {FcitxKey_kana_o, "ぉ"}, 737 {FcitxKey_kana_ya, "ゃ"}, 738 {FcitxKey_kana_yu, "ゅ"}, 739 {FcitxKey_kana_yo, "ょ"}, 740 {FcitxKey_kana_tsu, "っ"}, 741 {FcitxKey_kana_tu, "っ"}, 742 {FcitxKey_prolongedsound, "ー"}, 743 {FcitxKey_kana_A, "あ"}, 744 {FcitxKey_kana_I, "い"}, 745 {FcitxKey_kana_U, "う"}, 746 {FcitxKey_kana_E, "え"}, 747 {FcitxKey_kana_O, "お"}, 748 {FcitxKey_kana_O, "お"}, 749 {FcitxKey_kana_KA, "か"}, 750 {FcitxKey_kana_KI, "き"}, 751 {FcitxKey_kana_KU, "く"}, 752 {FcitxKey_kana_KE, "け"}, 753 {FcitxKey_kana_KO, "こ"}, 754 {FcitxKey_kana_SA, "さ"}, 755 {FcitxKey_kana_SHI, "し"}, 756 {FcitxKey_kana_SU, "す"}, 757 {FcitxKey_kana_SE, "せ"}, 758 {FcitxKey_kana_SO, "そ"}, 759 {FcitxKey_kana_TA, "た"}, 760 {FcitxKey_kana_CHI, "ち"}, 761 {FcitxKey_kana_TI, "ち"}, 762 {FcitxKey_kana_TSU, "つ"}, 763 {FcitxKey_kana_TU, "つ"}, 764 {FcitxKey_kana_TE, "て"}, 765 {FcitxKey_kana_TO, "と"}, 766 {FcitxKey_kana_NA, "な"}, 767 {FcitxKey_kana_NI, "に"}, 768 {FcitxKey_kana_NU, "ぬ"}, 769 {FcitxKey_kana_NE, "ね"}, 770 {FcitxKey_kana_NO, "の"}, 771 {FcitxKey_kana_HA, "は"}, 772 {FcitxKey_kana_HI, "ひ"}, 773 {FcitxKey_kana_FU, "ふ"}, 774 {FcitxKey_kana_HU, "ふ"}, 775 {FcitxKey_kana_HE, "へ"}, 776 {FcitxKey_kana_HO, "ほ"}, 777 {FcitxKey_kana_MA, "ま"}, 778 {FcitxKey_kana_MI, "み"}, 779 {FcitxKey_kana_MU, "む"}, 780 {FcitxKey_kana_ME, "め"}, 781 {FcitxKey_kana_MO, "も"}, 782 {FcitxKey_kana_YA, "や"}, 783 {FcitxKey_kana_YU, "ゆ"}, 784 {FcitxKey_kana_YO, "よ"}, 785 {FcitxKey_kana_RA, "ら"}, 786 {FcitxKey_kana_RI, "り"}, 787 {FcitxKey_kana_RU, "る"}, 788 {FcitxKey_kana_RE, "れ"}, 789 {FcitxKey_kana_RO, "ろ"}, 790 {FcitxKey_kana_WA, "わ"}, 791 {FcitxKey_kana_N, "ん"}, 792 {FcitxKey_voicedsound, "゛"}, 793 {FcitxKey_semivoicedsound, "゜"}, 794 {0, nullptr}}; 795 796 NicolaRule fcitx_anthy_nicola_table[] = { 797 // no modifiered keys 798 {"1", "1", "?", "!"}, 799 {"2", "2", "/", "゛"}, 800 {"3", "3", "〜", "#"}, 801 {"4", "4", "「", "$"}, 802 {"5", "5", "」", "%"}, 803 {"6", "6", "&", "["}, 804 {"7", "7", "’", "]"}, 805 {"8", "8", "(", "("}, 806 {"9", "9", ")", ")"}, 807 {"0", "0", "〜", "『"}, 808 {"-", "−", "=", "』"}, 809 {"^", "^", "", ""}, 810 {"\\", "¥", "", ""}, 811 812 {"q", "。", "ぁ", "ゐ"}, 813 {"w", "か", "え", "が"}, 814 {"e", "た", "り", "だ"}, 815 {"r", "こ", "ゃ", "ご"}, 816 {"t", "さ", "れ", "ざ"}, 817 {"y", "ら", "ぱ", "よ"}, 818 {"u", "ち", "ぢ", "に"}, 819 {"i", "く", "ぐ", "る"}, 820 {"o", "つ", "づ", "ま"}, 821 {"p", ",", "ぴ", "ぇ"}, 822 {"@", "、", "", ""}, 823 {"[", "゛", "゜", "゜"}, 824 825 {"a", "う", "を", "ヴ"}, 826 {"s", "し", "あ", "じ"}, 827 {"d", "て", "な", "で"}, 828 {"f", "け", "ゅ", "げ"}, 829 {"g", "せ", "も", "ぜ"}, 830 {"h", "は", "ば", "み"}, 831 {"j", "と", "ど", "お"}, 832 {"k", "き", "ぎ", "の"}, 833 {"l", "い", "ぽ", "ょ"}, 834 {";", "ん", "", "っ"}, 835 {":", "", "", ""}, 836 {"]", "", "", ""}, 837 838 {"z", ".", "ぅ", "ゑ"}, 839 {"x", "ひ", "ー", "び"}, 840 {"c", "す", "ろ", "ず"}, 841 {"v", "ふ", "や", "ぶ"}, 842 {"b", "へ", "ぃ", "べ"}, 843 {"n", "め", "ぷ", "ぬ"}, 844 {"m", "そ", "ぞ", "ゆ"}, 845 {",", "ね", "ぺ", "む"}, 846 {".", "ほ", "ぼ", "わ"}, 847 {"/", "・", "ゎ", "ぉ"}, 848 849 // normal shift modifiered keys 850 {"!", "!", "", ""}, 851 {"\"", "”", "", ""}, 852 {"#", "#", "", ""}, 853 {"$", "$", "", ""}, 854 {"%", "%", "", ""}, 855 {"&", "&", "", ""}, 856 {"'", "’", "", ""}, 857 {"(", "(", "", ""}, 858 {")", ")", "", ""}, 859 {"~", "〜", "", ""}, 860 {"=", "=", "", ""}, 861 {"|", "|", "", ""}, 862 863 {"`", "‘", "", ""}, 864 {"{", "{", "", ""}, 865 866 {"+", "+", "", ""}, 867 {"*", "*", "", ""}, 868 {"}", "}", "", ""}, 869 870 {"<", "<", "", ""}, 871 {">", ">", "", ""}, 872 {"?", "?", "", ""}, 873 {"_", "_", "", ""}, 874 875 {"Q", "。", "ぁ", "ゐ"}, 876 {"W", "が", "え", "が"}, 877 {"E", "だ", "り", "だ"}, 878 {"R", "ご", "ゃ", "ご"}, 879 {"T", "ざ", "れ", "ざ"}, 880 {"Y", "ぱ", "ぱ", "よ"}, 881 {"U", "ぢ", "ぢ", "に"}, 882 {"I", "ぐ", "ぐ", "る"}, 883 {"O", "づ", "づ", "ま"}, 884 {"P", "ぴ", "ぴ", "ぇ"}, 885 {"`", "、", "", ""}, 886 {"{", "゛", "゜", "゜"}, 887 888 {"A", "ヴ", "を", "ヴ"}, 889 {"S", "じ", "あ", "じ"}, 890 {"D", "で", "な", "で"}, 891 {"F", "げ", "ゅ", "げ"}, 892 {"G", "ぜ", "も", "ぜ"}, 893 {"H", "ば", "ば", "み"}, 894 {"J", "ど", "ど", "お"}, 895 {"K", "ぎ", "ぎ", "の"}, 896 {"L", "ぽ", "ぽ", "ょ"}, 897 {"+", "ん", "", "っ"}, 898 {"*", "", "", ""}, 899 {"}", "", "", ""}, 900 901 {"Z", ".", "ぅ", "ゑ"}, 902 {"X", "び", "ー", "び"}, 903 {"C", "ず", "ろ", "ず"}, 904 {"V", "ぶ", "や", "ぶ"}, 905 {"B", "べ", "ぃ", "べ"}, 906 {"N", "ぷ", "ぷ", "ぬ"}, 907 {"M", "ぞ", "ぞ", "ゆ"}, 908 {"<", "ぺ", "ぺ", "む"}, 909 {">", "ぽ", "ぼ", "わ"}, 910 {"?", "・", "ゎ", "ぉ"}, 911 912 {nullptr, nullptr, nullptr, nullptr}, 913 }; 914