日本語入力で矢印（←↓↑→）を簡単に入力する方法・・・は、どこから？

# Google 日本語入力で矢印をだす方法

ちょっと前に話題になりましたが、こんな入力ショートカットがあります。

| 入力 | 文字 |
|:-:|:-:|
|z/|・|
|z.|…|
|z,|‥|
|zh|←|
|zj|↓|
|zk|↑|
|zl|→|
|z-|〜|
|z[|『|
|z]|』|

https://togetter.com/li/1586364

とか、

https://togetter.com/li/1568087

で、話題になっていました。
古くは

https://togetter.com/li/67982

でも取り上げられていました。
どうも、Google 日本語入力のリリース（2010年）からの機能のようです。

参考：hidehikoabe committed on Mar 7, 2012

https://github.com/google/mozc/blob/0d1fb62e9e7bd941ea7646386f4516493da37e50/src/data/preedit/qwerty_mobile-hiragana.tsv

参考：Yasuhiro Matsuda committed on May 10, 2010

https://github.com/google/mozc/blob/0fdb7a7b04bdbbc640058e1856b278e668a69b1e/src/data/preedit/romanji-hiragana.tsv



# Mac での日本語入力では？

やはり、矢印入力は「z」＋「hjkl」で可能です。

| 入力 | 文字 |
|:-:|:-:|
|zh|←|
|zj|↓|
|zk|↑|
|zl|→|

# その起源は？

Mac そのもののソースではないのですが、[apple のサイト](https://opensource.apple.com/source/emacs/emacs-92/emacs/leim/quail/japanese.el)に japanese.el というファイルがあって、その中に
```
    ("zh" "←")
    ("zj" "↓")
    ("zk" "↑")
    ("zl" "→")
```
という記述があります。

# 元々は emacs という unix のエディタのようです。

MIT の emacs のソースの中に [japanese.el](http://web.mit.edu/Emacs/source/emacs/leim/quail/japanese.el) があります。
ここを見ると
```
;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
;;   Free Software Foundation, Inc.
;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
;;   2006, 2007, 2008, 2009
;;   National Institute of Advanced Industrial Science and Technology (AIST)
;;   Registration Number H14PRO021
```
となり、大元が AIST で、1997年発祥のようです。

# さらに遡ると・・・

[Mule for Win32（多国語対応エディタ for win32）](https://www.vector.co.jp/soft/dl/win95/writing/se021927.html)というのがあって、その中の \lisp\its\hira.el に
```
(its-defrule   "zh"   "←")
(its-defrule   "zj"   "↓")
(its-defrule   "zk"   "↑")
(its-defrule   "zl"   "→")
```
があります。そこには、こう書かれています。
```
;; Basic Roma-to-Kana Translation Table for Egg
;; Coded by S.Tomura, Electrotechnical Lab. (tomura@etl.go.jp)

;; This file is part of Egg on Nemacs (Japanese Environment)

;; Egg is distributed in the forms of patches to GNU
;; Emacs under the terms of the GNU EMACS GENERAL PUBLIC
;; LICENSE which is distributed along with GNU Emacs by the
;; Free Software Foundation.

;; Egg 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 EMACS GENERAL PUBLIC LICENSE for
;; more details.

;; You should have received a copy of the GNU EMACS GENERAL
;; PUBLIC LICENSE along with Nemacs; see the file COPYING.
;; If not, write to the Free Software Foundation, 675 Mass
;; Ave, Cambridge, MA 02139, USA.

;; 90.3.2   modified for Nemacs Ver.3.3.1
;;	by jiro@math.keio.ac.jp (TANAKA Jiro)
;;     proposal of keybinding for JIS symbols
;; 92.3.23  modified for Mule Ver.0.9.1 by K.Handa <handa@etl.go.jp>
;;	defrule -> its-defrule, define-its-mode -> its-define-mode
;; 92.7.6   modified for Mule Ver.0.9.5 by K.Handa <handa@etl.go.jp>
;;	New rules added.
```

# 大元は、Nemacs 3.3.1 らしいです。

その Nemacs 3.3 ですが・・・
```
From: handa@etl.go.jp (Kenichi Handa)
Newsgroups: fj.editor.emacs
Subject: Re: Wanted: gnus 3.13 beta tester
Message-ID: <HANDA.90Feb23213410@etlhit.etl.go.jp>
Date: 23 Feb 90 12:34:10 GMT
　　：（略）
－－　けんちゃん＠ＥＴＬ
      handa@etl.go.jp

PS. ところで、３／３に出すのは Nemacs 3.3 だという誤解が広がっ
ているようですが、今回は bug fix が中心なので Nemacs 3.2.4
にしようと思っていたのでした。でも、ま、いっかな、3.3 にしちゃ
おうかな。ひなまつりだしな。（何の関係もないけど）:-)
```
[という話](https://open-news.com/oldnews/fj-1/editor/emacs/2035)が、直前に出ていました。
[その前にでた提案](https://open-news.com/oldnews/fj-1/editor/emacs/2031)が
```
From: jiro@math.keio.ac.jp (TANAKA Jiro)
Newsgroups: fj.editor.emacs
Subject: egg binding (Re: Nemacs Mar. 3rd)
Message-ID: <JIRO.90Feb23162914@cabbage.math.keio.ac.jp>
Date: 23 Feb 90 07:29:14 GMT
　　：（略）
(defrule   "zh"   "←")
(defrule   "zj"   "↓")
(defrule   "zk"   "↑")
(defrule   "zl"   "→")
```
さらに[根っこ](https://open-news.com/oldnews/fj-1/kanakan/wnn/154)となるのが、
```
From: jiro@math.keio.JUNET (TANAKA Jiro)
Newsgroups: fj.kanakan.wnn
Subject: Re: How to type Cyrillic alphabets in EGG (was Re: HARU)
Message-ID: <JIRO.89Sep16155019@cabbage.math.keio.JUNET>
Date: 16 Sep 89 06:50:19 GMT
　　：（略）
(defrule   "zh"   "←")
(defrule   "zj"   "↓")
(defrule   "zk"   "↑")
(defrule   "zl"   "→")
```
です。
そこには、ちゃんと
```
(defrule   "z/"   "・")
(defrule   "z."   "…")
(defrule   "z,"   "‥")
(defrule   "z-"   "～")
(defrule   "z["   "『")
(defrule   "z]"   "』")
```
という記述が！

# 34年の時を経てもなお、使われ続けているショートカットなのでした。
[#あれ実は私なんです](https://twitter.com/search?q=%23あれ実は私なんです)

# おまけ

なぜ、HJKL かというと、[ADM-3A](https://ja.wikipedia.org/wiki/ADM-3A)の HJKL キーに矢印が書かれていて、それを使っていた[ビル・ジョイ](https://ja.wikipedia.org/wiki/%E3%83%93%E3%83%AB%E3%83%BB%E3%82%B8%E3%83%A7%E3%82%A4)が、[vi](https://ja.wikipedia.org/wiki/Vi) という UNIX 用のエディタを作ったからです（1977年？）。