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