あと何兆年待てば、「NICOLA配列規格書」の「規格要件」を真面目に満たした、NICOLA(親指シフト)エミュレータが出るのかしら……。

(過去:「シフト先行交差方式」と「タイムシフト交差方式」と「同期連続シフト方式」と「同期非連続シフト方式」のために、それぞれのアクセシビリティが必要なのかも。 - 雑記/えもじならべあそび)
(過去:「アクセシビリティ適応性を付加した」連続シフト系配列用の共用ロジックである「タイムシフト+プレフィックスシフト」を用いて、「アクセシビリティ対応のかえでライティあすか」を表現してみるテスト。 - 雑記/えもじならべあそび)
(過去:今日の「仮名漢字変換システム用同時打けん型入力法 X 9xxx-200x」は【一本指でも親指シフト!】。 - 雑記/えもじならべあそび)


 さて、問題です。
 「NICOLA」の配列定義は、いくつあるのでしょうか?
 こたえは……思いっきり端折ると、すくなくとも「J型、F型、A型、無印(O型?)」の4つがあります。
 この関係性は、以下の通り。

  • NICOLA配列規格書に掲げられた、「無印(オリジナル)」が、NICOLAの定める唯一の規格
  • PC向けキーボード用の実装例として、「日 本 工 業 規 格(提案) JIS(提案) 仮名漢字変換親指シフト型けん盤配列 X 6xxx-199x」という文書が作られた……が、これはNICOLAにとっての「規格」ではない。
    • 提案のひとつとして、「J型(JISキーボード近似型)」がある。
    • 提案のひとつとして、「F型(富士通キーボード近似型)」がある。
    • 提案のひとつとして、「A型(ASCIIキーボード近似型)」がある。


 ……親指ひゅんQで「NICOLA(J型)」ってゆー定義があったりするのは、「NICOLA(無印)とは別物だから、ってゆー意味がある」のかも?
 そういえば、NICOLAにとっては「濁音化は親指の、半濁音化は親指および小指の、それぞれシフトキーによる修飾で指定するもの」だから、濁点・半濁点のキー位置なんて、どーでもいい……のかも。
 #NICOLAアクセシビリティ指針では「あと付け濁点&半濁点キー」方式ではなく、裏面かなをもひっくるめた「先押し濁点&半濁点シフト」方式を提案してるし。


 ただ、「無印(O型?)」をきちんと守ってるエミュレータって、そういえば実際にあったのかしら……。
 NICOLA配列規格書の意図を真面目に汲み取って

  • プレフィックスシフト対応」な定義を標準添付してる。
  • B10キーを「ぃ/ぉ/゛」にしてる。

ってゆー実装をやってるものが、あるのかどうか。


 あと、NICOLA配列規格書における同時打鍵ロジックってゆーのは、「規格」ではなくて「参考」で提示されている……ってゆーのは、規格表としてうまいやり方だな、と思う。
 親指ひゅんQ方式・やまぶき方式・繭姫/姫踊子草方式・繭/em1keypc方式など、いろんなのがある……けど、規格表では実装ロジックについて拘束してないから、どれを使っても「(ロジックが違うことを理由に)NICOLA配列規格書に違反してるといわれる恐れはない」と言える、と。


 そして面白いことに、【規格書に掲げた要件】と、【現状での実装】にズレがある……と。

3.規格の要件
 制定にあたっては欧米の歴史に学び、また、日本語の特性も考慮して、以下の6つの要件を満たすことを目標とした。
(1)効率的な入力のタッチ打法が容易であること
 現在の4段型キーボードにおいて、効率的な入力を目指すならば、文字キーは指の移動量の少ない範囲にまとめるべきである。NICOLA配列では日本語の入力を英文タッチ打法と同様に文字キーを3段に配置して入力操作を容易ならしめた。
(2)自然な日本語入力ができること
 自然な日本語入力とは、一つの文字で表記される音が一回の打鍵操作で入力できることである。ひとつのかな文字には濁音や半濁音も含まれる。
 日本語の文章に常用される記号類で、特に使用頻度の高いものや、その呼称が一般的に確立されていないために仮名漢字変換での発生に適していないもの、及び数字を配置する場所としてタッチ打法の範囲外である鍵盤の最上段(4段目)を開放できること。
(3)身体的な負担が少ないこと
 キーボードを日常的に操作する場合、その身体的な負担は軽い方が望ましいだけではなく、一般に力の入りにくい小指の多用は避けるべきである。
(4)アクセシビリティに配慮していること
 日本語入力鍵盤は全ての国民に利用され得るものでなければならず、従ってアクセシビリティに配慮した使用の製品実現を許容する規格でなければならない。
(5)国際規格と矛盾しないこと
 現代の日本語の文章には欧米の文字や記号が部分的にせよ含まれているので、日本語入力の鍵盤といえども欧文入力にも利用できなければならない。
 そのためにはキーの全体的な配置と個数が国際規格の欧文配列をあるがままに受けいれる適合性を備えている必要がある。
(6)実績に裏付けられていること
 日本語入力鍵盤は人々が生涯を通じて日常的に使用するものであることを考えるなら、その規格化に当たっては理論的・実験的裏付けのみならず工業製品としての長期にわたる大規模な実用実績等にも考慮して妥当性を検証すべきである。


(from http://nicola.sunicom.co.jp/spec/kikaku.htm#02 )

 ここには2つのポイントがある。
 ひとつめは、「同時打鍵の挙動が、同時非連続シフトであるべき!」とは、「どこにも【規定していない】」ということ。
 そしてもうひとつは、アクセシビリティに配慮しなければならない!」って、規格の【要件4番目】に明記してある書いてあること(配慮した製品実現の許容、という意味では弱い表現だけれど……)。


 一つ目については、まえに

でも書いたけど、もともと同期【非連続】シフトが実装された理由は、単純に

シフトキーは1回の打鍵だけ有効とし、押え続けを無効とした。こうしないと、親指を離すタイミングが遅れ、誤打鍵が生じることが多い。
(from http://www.ykanda.jp/oasgif/oya-1.jpghttp://www.ykanda.jp/oasgif/oya-2.jpg )

という、シンプルな問題を解決するためのもの……なので、この問題に対する解として適切である限り、他の解を使ったとしても「NICOLA配列規格書に対する規格違反にはならない」わけです*1
 タイムシフト方式か、ほかの「(シフト残り対策が施されたタイプの)同期連続シフト方式」をサポートするエミュレータの場合、規格表の実装例で書かれているような「英字入力時には、かな入力時のための同時打鍵機能を無効としなければならない」とかいう問題すら起きなくて、「同期連続シフト方式のまま、英字入力してもオッケー」なのだから、わざわざ(特許縛り的に小難しく作られたロジックを使うよりも)よほど手っ取り早いような気がする。
 実装「例」に従う必要はなくて、要は「規格表と、規格表の裏にある意図」を、きちんと汲み取れるロジックを使ってやれば、それで規格には合致してる……ということだし。


 2つ目については、「NICOLAをオマケでサポート」してるエミュなら従う必要がなくても、「主としてNICOLAのために」作られたエミュだったら、採用しなきゃまずいんじゃないの?という気はする……だって、「規格の要件」に載ってるんだぜ?無視するのはナンセンスだろ、と。
 そして、それを実現できる状態にあるのが、なぜか「繭姫/姫踊子草」とか、「繭/em1keypc」とか、そーゆー「NICOLAをオマケでサポートするスタンスのものしかない」っていは、さすがにどうかと。
 「日 本 工 業 規 格(提案) JIS(提案) 仮名漢字変換親指シフト型けん盤配列 X 6xxx-199x」は、あくまでも「提案」であって「規格」じゃないから、「【提案】ではむしされたはなしだから、もー【規格】が望んでいても無視してオッケーでしょ(笑)」ってゆーのは、ちょっと違うんじゃないかなぁ……と思う。


 少しは新JISかな(JIS X6004かな)の態度を見習って欲しいと思うし、「NICOLA配列規格書」の「規格要件」を無視するのも終わりにして欲しい。
 親指シフトが「健常者かつタッチタイパーにしか使えない、了見の狭い世界だ」とか思われたりするのは、個人的にはとても不愉快です。
 でも、こんなとこにイラつくのッて、どうせ私しかいないんだろうなぁ……とか思ってしまって、なんというか無気力になってしまうorz。

*1:これが違反になる、ってゆーなら、2つ目の「アクセシビリティ向上策」を実現できないエミュレータは、全て規格違反になっちゃいますよ……。