見出し画像

日本語入力メソッド(配列)は外部仕様である

ほぼ下記記事の焼き直し。

外部仕様と内部仕様

システム開発の工程的には外部設計・内部設計と呼び、その設計によって定められた仕様を外部仕様・内部仕様と呼ぶ、ってことでいいですか。ここではその意味で使いますよ。

要するに、ユーザーに対して提供される機能・操作体系・インターフェイスが外部仕様に属し、
それを実現するためのソフトウェアの作り方が内部仕様に属する、
という理解。

日本語入力メソッドとはなにか

Shiftキー押しながら右人差し指ホームキー押したら「の」が出る、とかそういうことの総体が日本語入力メソッドの定義であるべきだ。

メビウス式は、普通ならアルファベットキーがあるところにバックスペースエンターを置く都合上、英字配列も定義に含んでいるが、普通のかな入力はそうではない。右人差し指ホームが「J」でなくても一向に構わない。

もっというと、親指にシフトのためのキーがあり、シフトキー押しながら右人差し指ホームを押したら「の」が出るという定義であれば、その親指のキーがShiftじゃなくてかなキーとかでも全然構わない。操作が同じだからだ。

日本語入力メソッドとは「操作体系」であり、そこでOSに送信されるキーコードがどうだとか、実装レイヤーがどこだとか、そういうのは全部ユーザーの操作に関係ない。
だから、内部仕様が違おうが、操作体系=外部仕様が同じメソッドは同じ名前で呼ばれるべきなのだ。

DOOMは何に入っててもDOOMとして遊べる、DOOMとして遊べるのがDOOMであるというのと同じだ。

日本語入力メソッドはどうやって実装してもいい

例えば富士通親指シフトは、本来のプラットフォーム以外にも、様々に再現され、移植されてきた。
近年では薙刀式も、ユーザーの手によって様々なプラットフォームに移植され、各OSで利用できるようになっている。

外部仕様に定められた操作体系を再現できるなら、その方法はなんであっても構わない。
導入しやすいほうがいいとかは当然だが、どんなプラットフォームにどんな方法で再現されようと、外部仕様が同じなら同じメソッドだ。

新配列とは「何」か

新配列とは、標準配列(qwerty/qwertyローマ字/JISかな)への批判によって生み出された代替配列であり、文字入力の

  • ルール

  • 操作体系

  • ユーザー体験

である。
ソフトウェア(またはハードウェア)的に何であるかはどーーーーでもよろしい。

なので、新手の新配列を見るときには、

  • これはどういう操作体系なのか

  • その操作体系を再現するには何が必要なのか

という二点に分けて見てやっていただきたい。

いいなと思ったら応援しよう!

ピックアップされています

自作論理配列

  • 29本

コメント

コメントするには、 ログイン または 会員登録 をお願いします。
日本語入力メソッド(配列)は外部仕様である|ラクダエン
word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word

mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1