pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/inputmethod uim-mozc: Update to 2.26.4282.100



details:   https://anonhg.NetBSD.org/pkgsrc/rev/e953210ad448
branches:  trunk
changeset: 449457:e953210ad448
user:      ryoon <ryoon%pkgsrc.org@localhost>
date:      Tue Mar 30 17:04:48 2021 +0000

description:
uim-mozc: Update to 2.26.4282.100

* Follow mozc update for uim.

diffstat:

 inputmethod/mozc-server/distinfo               |     3 +-
 inputmethod/mozc-server/patches/patch-uim-mozc |  2974 ++++++++++++++++++++++++
 inputmethod/uim-mozc/Makefile                  |    11 +-
 3 files changed, 2980 insertions(+), 8 deletions(-)

diffs (truncated from 3025 to 300 lines):

diff -r 1fa3a3921c51 -r e953210ad448 inputmethod/mozc-server/distinfo
--- a/inputmethod/mozc-server/distinfo  Tue Mar 30 17:02:11 2021 +0000
+++ b/inputmethod/mozc-server/distinfo  Tue Mar 30 17:04:48 2021 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.25 2021/02/27 19:13:26 ryoon Exp $
+$NetBSD: distinfo,v 1.26 2021/03/30 17:04:48 ryoon Exp $
 
 SHA1 (mozc-2.26.4282.100.tar.xz) = aacec607aec52145ba66c993f9c02ae2d1a5948c
 RMD160 (mozc-2.26.4282.100.tar.xz) = b2f9f6fc129811b25640d4ae5582ab324b6bf2a4
@@ -45,5 +45,6 @@
 SHA1 (patch-session_session__test.cc) = 7396e2f4931257d8a33087b1bed5418a038fefa1
 SHA1 (patch-third__party_abseil-cpp_absl_base_config.h) = e996fad886e0763c7be7b79735819e668159fd82
 SHA1 (patch-third__party_protobuf_post__process__dist.sh) = 8adc79d5d7eed3cbf406ebcfbd5832b7a050ced6
+SHA1 (patch-uim-mozc) = 0000583d8f3f44ef2281888c7cfdb968c17ec798
 SHA1 (patch-unix_ibus_ibus.gyp) = aa2077cf3c379bf9ce33e97abe478540346782ad
 SHA1 (patch-unix_ibus_path__util.cc) = a6aa368d9ce8926e200602fdc370c13e35d5a8cf
diff -r 1fa3a3921c51 -r e953210ad448 inputmethod/mozc-server/patches/patch-uim-mozc
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/inputmethod/mozc-server/patches/patch-uim-mozc    Tue Mar 30 17:04:48 2021 +0000
@@ -0,0 +1,2974 @@
+$NetBSD: patch-uim-mozc,v 1.1 2021/03/30 17:04:48 ryoon Exp $
+
+* From Debian sid.
+
+From 0758147463701aa40bc622c9b93c177f2cc5b3e3 Mon Sep 17 00:00:00 2001
+From: Nobuhiro Iwamatsu <iwamatsu%debian.org@localhost>
+Date: Tue, 3 Apr 2018 08:27:47 +0900
+Subject: [PATCH ] Update uim-mozc to
+ c979f127acaeb7b35d3344e8b1e40848e1a68d54
+
+Description: Support uim framewor
+Origin: macuim project: https://github.com/e-kato/macuim.git c979f127acaeb7b35d3344e8b1e40848e1a68d54
+Forwarded: http://code.google.com/p/mozc/issues/detail?id=13
+Author: uim Project http://code.google.com/p/uim/
+Last-Update: 2020-12-28
+
+* Fix mozc::InitMozc
+* Use Utf8SubString instead of SubString
+
+Signed-off-by: Nobuhiro Iwamatsu <iwamatsu%debian.org@localhost>
+---
+ src/unix/uim/key_translator.cc       |  441 ++++++++++
+ src/unix/uim/key_translator.h        |  111 +++
+ src/unix/uim/mozc.cc                 | 1219 ++++++++++++++++++++++++++
+ src/unix/uim/scm/mozc-custom.scm     |  396 +++++++++
+ src/unix/uim/scm/mozc-key-custom.scm |   74 ++
+ src/unix/uim/scm/mozc.scm            |  566 ++++++++++++
+ src/unix/uim/uim.gyp                 |   85 ++
+ 7 files changed, 2892 insertions(+)
+ create mode 100644 src/unix/uim/key_translator.cc
+ create mode 100644 src/unix/uim/key_translator.h
+ create mode 100644 src/unix/uim/mozc.cc
+ create mode 100644 src/unix/uim/scm/mozc-custom.scm
+ create mode 100644 src/unix/uim/scm/mozc-key-custom.scm
+ create mode 100644 src/unix/uim/scm/mozc.scm
+ create mode 100644 src/unix/uim/uim.gyp
+
+diff --git a/src/unix/uim/key_translator.cc b/src/unix/uim/key_translator.cc
+new file mode 100644
+index 00000000..b1c9be85
+--- /dev/null
++++ unix/uim/key_translator.cc
+@@ -0,0 +1,441 @@
++// Copyright 2010, Google Inc.
++// Copyright (c) 2010-2012 uim Project http://code.google.com/p/uim/
++// 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 authors 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.
++
++#include "unix/uim/key_translator.h"
++
++#include <uim.h>
++
++#include "base/logging.h"
++
++namespace {
++
++const struct SpecialKeyMap {
++  unsigned int from;
++  mozc::commands::KeyEvent::SpecialKey to;
++} special_key_map[] = {
++  {0x20, mozc::commands::KeyEvent::SPACE},
++  {UKey_Return, mozc::commands::KeyEvent::ENTER},
++  {UKey_Left, mozc::commands::KeyEvent::LEFT},
++  {UKey_Right, mozc::commands::KeyEvent::RIGHT},
++  {UKey_Up, mozc::commands::KeyEvent::UP},
++  {UKey_Down, mozc::commands::KeyEvent::DOWN},
++  {UKey_Escape, mozc::commands::KeyEvent::ESCAPE},
++  {UKey_Delete, mozc::commands::KeyEvent::DEL},
++  {UKey_Backspace, mozc::commands::KeyEvent::BACKSPACE},
++  {UKey_Insert, mozc::commands::KeyEvent::INSERT},
++  {UKey_Henkan, mozc::commands::KeyEvent::HENKAN},
++  {UKey_Muhenkan, mozc::commands::KeyEvent::MUHENKAN},
++  {UKey_Hiragana, mozc::commands::KeyEvent::KANA},
++  {UKey_Katakana, mozc::commands::KeyEvent::KANA},
++  {UKey_Eisu_toggle, mozc::commands::KeyEvent::EISU},
++  {UKey_Home, mozc::commands::KeyEvent::HOME},
++  {UKey_End, mozc::commands::KeyEvent::END},
++  {UKey_Tab, mozc::commands::KeyEvent::TAB},
++  {UKey_F1, mozc::commands::KeyEvent::F1},
++  {UKey_F2, mozc::commands::KeyEvent::F2},
++  {UKey_F3, mozc::commands::KeyEvent::F3},
++  {UKey_F4, mozc::commands::KeyEvent::F4},
++  {UKey_F5, mozc::commands::KeyEvent::F5},
++  {UKey_F6, mozc::commands::KeyEvent::F6},
++  {UKey_F7, mozc::commands::KeyEvent::F7},
++  {UKey_F8, mozc::commands::KeyEvent::F8},
++  {UKey_F9, mozc::commands::KeyEvent::F9},
++  {UKey_F10, mozc::commands::KeyEvent::F10},
++  {UKey_F11, mozc::commands::KeyEvent::F11},
++  {UKey_F12, mozc::commands::KeyEvent::F12},
++  {UKey_F13, mozc::commands::KeyEvent::F13},
++  {UKey_F14, mozc::commands::KeyEvent::F14},
++  {UKey_F15, mozc::commands::KeyEvent::F15},
++  {UKey_F16, mozc::commands::KeyEvent::F16},
++  {UKey_F17, mozc::commands::KeyEvent::F17},
++  {UKey_F18, mozc::commands::KeyEvent::F18},
++  {UKey_F19, mozc::commands::KeyEvent::F19},
++  {UKey_F20, mozc::commands::KeyEvent::F20},
++  {UKey_F21, mozc::commands::KeyEvent::F21},
++  {UKey_F22, mozc::commands::KeyEvent::F22},
++  {UKey_F23, mozc::commands::KeyEvent::F23},
++  {UKey_F24, mozc::commands::KeyEvent::F24},
++  {UKey_Prior, mozc::commands::KeyEvent::PAGE_UP},
++  {UKey_Next, mozc::commands::KeyEvent::PAGE_DOWN},
++};
++
++const struct ModifierKeyMap {
++  unsigned int from;
++  mozc::commands::KeyEvent::ModifierKey to;
++} modifier_key_map[] = {
++  {UKey_Shift, mozc::commands::KeyEvent::SHIFT},
++  {UKey_Control, mozc::commands::KeyEvent::CTRL},
++  {UKey_Alt, mozc::commands::KeyEvent::ALT},
++};
++
++const struct ModifierMaskMap {
++  unsigned int from;
++  mozc::commands::KeyEvent::ModifierKey to;
++} modifier_mask_map[] = {
++  {UMod_Shift, mozc::commands::KeyEvent::SHIFT},
++  {UMod_Control, mozc::commands::KeyEvent::CTRL},
++  {UMod_Alt, mozc::commands::KeyEvent::ALT},
++};
++
++// TODO:Add kana_map_dv to support Dvoraklayout.
++const struct KanaMap {
++  unsigned int code;
++  const char *no_shift;
++  const char *shift;
++} kana_map_jp[] = {
++  { '1' , "\xe3\x81\xac", "\xe3\x81\xac" },  // "ぬ", "ぬ"
++  { '!' , "\xe3\x81\xac", "\xe3\x81\xac" },  // "ぬ", "ぬ"
++  { '2' , "\xe3\x81\xb5", "\xe3\x81\xb5" },  // "ふ", "ふ"
++  { '\"', "\xe3\x81\xb5", "\xe3\x81\xb5" },  // "ふ", "ふ"
++  { '3' , "\xe3\x81\x82", "\xe3\x81\x81" },  // "あ", "ぁ"
++  { '#' , "\xe3\x81\x81", "\xe3\x81\x81" },  // "ぁ", "ぁ"
++  { '4' , "\xe3\x81\x86", "\xe3\x81\x85" },  // "う", "ぅ"
++  { '$' , "\xe3\x81\x85", "\xe3\x81\x85" },  // "ぅ", "ぅ"
++  { '5' , "\xe3\x81\x88", "\xe3\x81\x87" },  // "え", "ぇ"
++  { '%' , "\xe3\x81\x87", "\xe3\x81\x87" },  // "ぇ", "ぇ"
++  { '6' , "\xe3\x81\x8a", "\xe3\x81\x89" },  // "お", "ぉ"
++  { '&' , "\xe3\x81\x89", "\xe3\x81\x89" },  // "ぉ", "ぉ"
++  { '7' , "\xe3\x82\x84", "\xe3\x82\x83" },  // "や", "ゃ"
++  { '\'', "\xe3\x82\x83", "\xe3\x82\x83" },  // "ゃ", "ゃ"
++  { '8' , "\xe3\x82\x86", "\xe3\x82\x85" },  // "ゆ", "ゅ"
++  { '(' , "\xe3\x82\x85", "\xe3\x82\x85" },  // "ゅ", "ゅ"
++  { '9' , "\xe3\x82\x88", "\xe3\x82\x87" },  // "よ", "ょ"
++  { ')' , "\xe3\x82\x87", "\xe3\x82\x87" },  // "ょ", "ょ"
++  { '0' , "\xe3\x82\x8f", "\xe3\x82\x92" },  // "わ", "を"
++  { '-' , "\xe3\x81\xbb", "\xe3\x81\xbb" },  // "ほ", "ほ"
++  { '=' , "\xe3\x81\xbb", "\xe3\x81\xbb" },  // "ほ", "ほ"
++  { '^' , "\xe3\x81\xb8", "\xe3\x81\xb8" },  // "へ", "へ"
++  { '~' , "\xe3\x82\x92", "\xe3\x82\x92" },  // "を", "を"
++  { '|' , "\xe3\x83\xbc", "\xe3\x83\xbc" },  // "ー", "ー"
++  { 'q' , "\xe3\x81\x9f", "\xe3\x81\x9f" },  // "た", "た"
++  { 'Q' , "\xe3\x81\x9f", "\xe3\x81\x9f" },  // "た", "た"
++  { 'w' , "\xe3\x81\xa6", "\xe3\x81\xa6" },  // "て", "て"
++  { 'W' , "\xe3\x81\xa6", "\xe3\x81\xa6" },  // "て", "て"
++  { 'e' , "\xe3\x81\x84", "\xe3\x81\x83" },  // "い", "ぃ"
++  { 'E' , "\xe3\x81\x83", "\xe3\x81\x83" },  // "ぃ", "ぃ"
++  { 'r' , "\xe3\x81\x99", "\xe3\x81\x99" },  // "す", "す"
++  { 'R' , "\xe3\x81\x99", "\xe3\x81\x99" },  // "す", "す"
++  { 't' , "\xe3\x81\x8b", "\xe3\x81\x8b" },  // "か", "か"
++  { 'T' , "\xe3\x81\x8b", "\xe3\x81\x8b" },  // "か", "か"
++  { 'y' , "\xe3\x82\x93", "\xe3\x82\x93" },  // "ん", "ん"
++  { 'Y' , "\xe3\x82\x93", "\xe3\x82\x93" },  // "ん", "ん"
++  { 'u' , "\xe3\x81\xaa", "\xe3\x81\xaa" },  // "な", "な"
++  { 'U' , "\xe3\x81\xaa", "\xe3\x81\xaa" },  // "な", "な"
++  { 'i' , "\xe3\x81\xab", "\xe3\x81\xab" },  // "に", "に"
++  { 'I' , "\xe3\x81\xab", "\xe3\x81\xab" },  // "に", "に"
++  { 'o' , "\xe3\x82\x89", "\xe3\x82\x89" },  // "ら", "ら"
++  { 'O' , "\xe3\x82\x89", "\xe3\x82\x89" },  // "ら", "ら"
++  { 'p' , "\xe3\x81\x9b", "\xe3\x81\x9b" },  // "せ", "せ"
++  { 'P' , "\xe3\x81\x9b", "\xe3\x81\x9b" },  // "せ", "せ"
++  { '@' , "\xe3\x82\x9b", "\xe3\x82\x9b" },  // "゛", "゛"
++  { '`' , "\xe3\x82\x9b", "\xe3\x82\x9b" },  // "゛", "゛"
++  { '[' , "\xe3\x82\x9c", "\xe3\x80\x8c" },  // "゜", "「"
++  { '{' , "\xe3\x82\x9c", "\xe3\x80\x8c" },  // "゜", "「"
++  { 'a' , "\xe3\x81\xa1", "\xe3\x81\xa1" },  // "ち", "ち"
++  { 'A' , "\xe3\x81\xa1", "\xe3\x81\xa1" },  // "ち", "ち"
++  { 's' , "\xe3\x81\xa8", "\xe3\x81\xa8" },  // "と", "と"
++  { 'S' , "\xe3\x81\xa8", "\xe3\x81\xa8" },  // "と", "と"
++  { 'd' , "\xe3\x81\x97", "\xe3\x81\x97" },  // "し", "し"
++  { 'D' , "\xe3\x81\x97", "\xe3\x81\x97" },  // "し", "し"
++  { 'f' , "\xe3\x81\xaf", "\xe3\x81\xaf" },  // "は", "は"
++  { 'F' , "\xe3\x81\xaf", "\xe3\x81\xaf" },  // "は", "は"
++  { 'g' , "\xe3\x81\x8d", "\xe3\x81\x8d" },  // "き", "き"
++  { 'G' , "\xe3\x81\x8d", "\xe3\x81\x8d" },  // "き", "き"
++  { 'h' , "\xe3\x81\x8f", "\xe3\x81\x8f" },  // "く", "く"
++  { 'H' , "\xe3\x81\x8f", "\xe3\x81\x8f" },  // "く", "く"
++  { 'j' , "\xe3\x81\xbe", "\xe3\x81\xbe" },  // "ま", "ま"
++  { 'J' , "\xe3\x81\xbe", "\xe3\x81\xbe" },  // "ま", "ま"
++  { 'k' , "\xe3\x81\xae", "\xe3\x81\xae" },  // "の", "の"
++  { 'K' , "\xe3\x81\xae", "\xe3\x81\xae" },  // "の", "の"
++  { 'l' , "\xe3\x82\x8a", "\xe3\x82\x8a" },  // "り", "り"
++  { 'L' , "\xe3\x82\x8a", "\xe3\x82\x8a" },  // "り", "り"
++  { ';' , "\xe3\x82\x8c", "\xe3\x82\x8c" },  // "れ", "れ"
++  { '+' , "\xe3\x82\x8c", "\xe3\x82\x8c" },  // "れ", "れ"
++  { ':' , "\xe3\x81\x91", "\xe3\x81\x91" },  // "け", "け"
++  { '*' , "\xe3\x81\x91", "\xe3\x81\x91" },  // "け", "け"
++  { ']' , "\xe3\x82\x80", "\xe3\x80\x8d" },  // "む", "」"
++  { '}' , "\xe3\x80\x8d", "\xe3\x80\x8d" },  // "」", "」"
++  { 'z' , "\xe3\x81\xa4", "\xe3\x81\xa3" },  // "つ", "っ"
++  { 'Z' , "\xe3\x81\xa3", "\xe3\x81\xa3" },  // "っ", "っ"
++  { 'x' , "\xe3\x81\x95", "\xe3\x81\x95" },  // "さ", "さ"
++  { 'X' , "\xe3\x81\x95", "\xe3\x81\x95" },  // "さ", "さ"
++  { 'c' , "\xe3\x81\x9d", "\xe3\x81\x9d" },  // "そ", "そ"
++  { 'C' , "\xe3\x81\x9d", "\xe3\x81\x9d" },  // "そ", "そ"
++  { 'v' , "\xe3\x81\xb2", "\xe3\x81\xb2" },  // "ひ", "ひ"
++  { 'V' , "\xe3\x81\xb2", "\xe3\x81\xb2" },  // "ひ", "ひ"
++  { 'b' , "\xe3\x81\x93", "\xe3\x81\x93" },  // "こ", "こ"
++  { 'B' , "\xe3\x81\x93", "\xe3\x81\x93" },  // "こ", "こ"
++  { 'n' , "\xe3\x81\xbf", "\xe3\x81\xbf" },  // "み", "み"
++  { 'N' , "\xe3\x81\xbf", "\xe3\x81\xbf" },  // "み", "み"
++  { 'm' , "\xe3\x82\x82", "\xe3\x82\x82" },  // "も", "も"
++  { 'M' , "\xe3\x82\x82", "\xe3\x82\x82" },  // "も", "も"
++  { ',' , "\xe3\x81\xad", "\xe3\x80\x81" },  // "ね", "、"
++  { '<' , "\xe3\x80\x81", "\xe3\x80\x81" },  // "、", "、"
++  { '.' , "\xe3\x82\x8b", "\xe3\x80\x82" },  // "る", "。"
++  { '>' , "\xe3\x80\x82", "\xe3\x80\x82" },  // "。", "。"
++  { '/' , "\xe3\x82\x81", "\xe3\x83\xbb" },  // "め", "・"
++  { '?' , "\xe3\x83\xbb", "\xe3\x83\xbb" },  // "・", "・"
++  { '_' , "\xe3\x82\x8d", "\xe3\x82\x8d" },  // "ろ", "ろ"
++  // uim distinguishes backslash key and yen key
++  { '\\', "\xe3\x82\x8d", "\xe3\x82\x8d" },  // "ろ", "ろ"
++  { UKey_Yen, "\xe3\x83\xbc", "\xe3\x83\xbc" }, // "ー", "ー"
++}, kana_map_us[] = {
++  { '`' , "\xe3\x82\x8d", "\xe3\x82\x8d" },  // "ろ", "ろ"
++  { '~' , "\xe3\x82\x8d", "\xe3\x82\x8d" },  // "ろ", "ろ"
++  { '1' , "\xe3\x81\xac", "\xe3\x81\xac" },  // "ぬ", "ぬ"
++  { '!' , "\xe3\x81\xac", "\xe3\x81\xac" },  // "ぬ", "ぬ"
++  { '2' , "\xe3\x81\xb5", "\xe3\x81\xb5" },  // "ふ", "ふ"
++  { '@' , "\xe3\x81\xb5", "\xe3\x81\xb5" },  // "ふ", "ふ"
++  { '3' , "\xe3\x81\x82", "\xe3\x81\x81" },  // "あ", "ぁ"
++  { '#' , "\xe3\x81\x81", "\xe3\x81\x81" },  // "ぁ", "ぁ"
++  { '4' , "\xe3\x81\x86", "\xe3\x81\x85" },  // "う", "ぅ"
++  { '$' , "\xe3\x81\x85", "\xe3\x81\x85" },  // "ぅ", "ぅ"
++  { '5' , "\xe3\x81\x88", "\xe3\x81\x87" },  // "え", "ぇ"
++  { '%' , "\xe3\x81\x87", "\xe3\x81\x87" },  // "ぇ", "ぇ"
++  { '6' , "\xe3\x81\x8a", "\xe3\x81\x89" },  // "お", "ぉ"
++  { '^' , "\xe3\x81\x89", "\xe3\x81\x89" },  // "ぉ", "ぉ"
++  { '7' , "\xe3\x82\x84", "\xe3\x82\x83" },  // "や", "ゃ"
++  { '&' , "\xe3\x82\x83", "\xe3\x82\x83" },  // "ゃ", "ゃ"
++  { '8' , "\xe3\x82\x86", "\xe3\x82\x85" },  // "ゆ", "ゅ"
++  { '*' , "\xe3\x82\x85", "\xe3\x82\x85" },  // "ゅ", "ゅ"
++  { '9' , "\xe3\x82\x88", "\xe3\x82\x87" },  // "よ", "ょ"
++  { '(' , "\xe3\x82\x87", "\xe3\x82\x87" },  // "ょ", "ょ"
++  { '0' , "\xe3\x82\x8f", "\xe3\x82\x92" },  // "わ", "を"
++  { ')' , "\xe3\x82\x92", "\xe3\x82\x92" },  // "を", "を"
++  { '-' , "\xe3\x81\xbb", "\xe3\x83\xbc" },  // "ほ", "ー"
++  { '_' , "\xe3\x83\xbc", "\xe3\x83\xbc" },  // "ー", "ー"
++  { '=' , "\xe3\x81\xb8", "\xe3\x81\xb8" },  // "へ", "へ"
++  { '+' , "\xe3\x81\xb8", "\xe3\x81\xb8" },  // "へ", "へ"
++  { 'q' , "\xe3\x81\x9f", "\xe3\x81\x9f" },  // "た", "た"
++  { 'Q' , "\xe3\x81\x9f", "\xe3\x81\x9f" },  // "た", "た"


Home | Main Index | Thread Index | Old Index