-option-output オプションを使用することで、出力する文字やキーを自由に置換できるようにした。このことを例を出して説明しよう。以下に示すのは、私が普段使用している直接入力用配列の単打とShift付きの設定について、以前の版の DvorakJ のものと最新版のものを順に並べたものだ。
[ 1|2|3|4|5|6|7|8|9|0|^v |{ESC}|{削除}| '|,|.|p|y|f|g|c|r|l|/ |^c | a|o|e|u|i|d|h|t|n|s|{改行}|^x | ;|q|j|k|x|b|m|w|v|z|\ | ] -shift[ {!}|@|{#}|$|%|{^}|{&}|*|<|>|{{}|{}}|+{削除}| " |(|) |P|Y|F |G |C|R|L|? |{+}| A |O|E |U|I|D |H |T|N|S|_ |~ | : |Q|J |K|X|B |M |W|V|Z|@@@| ]
-option-output[ C- | ^ S- | + @caret@ | {^} @exclamation_point@ | {!} @number_sign@ | {#} @open-brace@ | {{} @close-brace@ | {}} @vertical_bar@ | @@@ ] [ 1|2|3|4|5|6|7|8|9|0|C-v |{ESC}|{削除}| '|,|.|p|y|f|g|c|r|l|/ |C-c | a|o|e|u|i|d|h|t|n|s|{改行}|C-x | ;|q|j|k|x|b|m|w|v|z|\ | ] -shift[ @exclamation_point@|@|@number sign@|$|%|@caret@|&|*|<|>|@open-brace@ |@close-brace@|S-{削除}| " |(|) |P|Y|F |G|C|R|L|? |@plus_sign@ | A |O|E |U|I|D |H|T|N|S|_ |~ | : |Q|J |K|X|B |M|W|V|Z|@vertical_bar@| ]
両者を比較対照すると、-option-output であらかじめ設定した(すぐあとで説明する)置換規則にならい、キーボード配列を設定していることがわかる。たとえば、{ を出力するために従来記述していた {{} は、@close-brace@ と記述するようになった。なぜこのように設定できるのかを考えてみよう。-option-output 内の設定をざっと見れば、"@open-brace@ | {{}"という記述を発見できるだろう。これは、@open-brace@ という記述があれば {{} に置き換えよ、というものだ。縦棒の左側は置換される文字列で、その右側は置換する文字ということである。この簡単な置換規則を踏まえれば、上記の両者の設定の差異をすべて読み解くことができるだろう。
今回導入したこの機能を使用すれば、記述内容が判別しにくい文字やキー、そして何度も出てくるそれを簡潔に記述できるようになる。是非とも試してみて欲しい。