Google日本語入力の取るに足らない問題点

「かなプラス」と名付けたローマ字入力の新しい方式を開発中である。ようやっと完成度が上がってきて公開しても良いかな? と思うのだが、一度公開すれば新しいアイデアや変更したい点を思いついても安易に変更するのはユーザーに迷惑になる。

だから、暫く自分で使ってもうこれ以上変えようがないと思える迄テストしたい気持ちとなるべく早く公開して宣伝してたくさんの人に使って欲しい気持ちが同居する。

システムに問題があってもそれを回避して使う

「かなプラス」はGoogle日本語入力のローマ字定義ファイルである。Google日本語入力に問題があれば影響を受けるが、問題点を指摘して直してもらう事は期待しない。私が気付いた問題点は特殊な使い方をしている為であろう。これ迄誰も気付かなかっただろうし、その問題点は通常の使い方では何も問題は無さそうだから、指摘しても直して貰えるはずもない。

例えば、小書きの「ゕ、ゖ」をカタカナに変換させようとしても対応するカタカナ「ヵ、ヶ」になってくれないとか。それは、私がローマ字変換で「ゕ、ゖ」を出せるようにしたから問題点が見つかったのであって、通常のローマ字変換では「ヵ、ヶ」しか出せないのだから何ら問題にならない。

だから、当初は「ゕ、ゖ」だけを定義して「ヵ、ヶ」はカタカナ変換で出してもらうように考えていたけど、どちらもローマ字変換で出せるようにして問題点を回避した。

「ひらがなに変換」機能の話

そして、最近見つけたのが、「ひらがなに変換」という機能が、実は「元に戻す」だったという事。それは、JIS X 0213 で定義された「か」行鼻濁音を実装しようとして見つけた。

JIS X 0213 では、「か゚、き゚、く゚、け゚、こ゚」と「カ゚、キ゚、ク゚、ケ゚、コ゚」の両方が定義されている。しかし、JIS X 0213 で新たに定義されたアイヌ語用の小書きカタカナともどもカタカナ拡張という形をとろうとしていたので、当初はカタカナの方だけローマ字変換で出せるようにして、ひらがなの方は「ひらがなに変換」を使えば良いやと考えていた。

しかし、「カ゚、キ゚、ク゚、ケ゚、コ゚」を「ひらがなに変換」としても何も変わらない。ところが、「半角カタカナに変換」してから「ひらがなに変換」とすると、「カ゚、キ゚、ク゚、ケ゚、コ゚」が「カ゚、キ゚、ク゚、ケ゚、コ゚」に変換された。つまり、ローマ字変換の定義では ひらがなの定義 しか想定されてはいないから「元に戻す」動作に「ひらがなに変換」という名称を与えても何も問題ないらしい。

この問題も結局はひらがなの方だけを定義して、カタカナの方は「カタカナに変換」で出してもらうように実装した。

スペースの定義

その他にも色々と変わった定義を試みた。スペースを入力キーにしたいとか、スペースを出したいとか。これを試したら、そもそもスペースはローマ字変換の入力の対象外らしかった。
スペースをローマ字変換の入力キーに定義して何らかのコードを出力させようとしても変換されずにスペースがそのまま出力されてしまう。
一般に変換キーにはスペースが割り当てられているからこれも問題にはならないようだ。

では、スペースではないキーにスペースを定義したらどうなるのか。これにも問題があって、半角スペースを定義しても全角スペースに変換されてしまう。ただ、半角スペースの代わりに nbsp (no break space) を定義すれば、見かけだけは半角スペースに出来ることは発見した。

スペースを入力してスペースがそのまま出力される、これは通常の使い方では何も問題ないのだが、ラテン文字モードというものを作って アルファベット → かな の変換が働かないようにした時、スペースがそのまま出力されることで そのラテン文字モードが終了してしまいスペースの次に入力するアルファベットは かな に変換されてしまうのだ。

素直に IME をオフすればわざわざスペースの定義など要らないのだが、そうするとアクセント記号を含んだ文字( é とか)の文をローマ字変換を使って出せなくなる。

この問題はスペースの定義を諦めて、単語レベル迄ならローマ字変換でラテン文字、ギリシア文字、キリル文字などが出せるようにして、文章を書きたいのなら IME をオフして言語キーボードを使うように使い分ける事で解決した。

バウハウス展

今日は11月22日。語呂合わせで良い夫婦の日という事らしいので、近所の美術館でやっているバウハウス展に夫婦で行ってみた。

バウハウスとは

ドイツで1919年に設立された工芸と建築の学校で、活動期間はわずか14年間ではあったが現代に至るまでその分野において大きな影響を与えた。そういう訳で、設立から100周年を迎えるにあたって日本各地でも記念のイベントが行われている。

私もバウハウスの名前は以前から知っていて興味があったのだ。

展示会場

いつもの美術展とは違って観客は男性の方が多い。入場券が紙の造形作品になるように作られていて面白い。


そして、自由に触れるコーナーもあって、文字デザインに挑戦してみた。


これ、どうですか。

スポーツクラブに入会する

昨日、某スポーツクラブに入会した。デイ会員という種類の会員で、午後6時半まで施設が使える。デイ会員だと土日祝は使えません、というスポーツクラブが多い中で、入会した所はそういう制限がない。

入会するまで

スポーツクラブに入会するのは生まれて初めてだが、スイミングスクールには社会人になって暫くしてから独身の間ずっと通っていた。そして、水泳選手のレベルからは程遠いけれど、それなりに早く泳げる人にはなった。

引っ越したこともあり、結婚後は止めていたが、息子が小学生になってスイミングスクールに行かせる事になって、私もまたそのスイミングスクールに行く事にした。子供達は中学生になる前に止めてしまったが、その後も私だけ続けていた。しかし、そのスイミングスクールが自転車で行くには遠すぎる場所に移転した折に私も泳ぐのを止めてしまった。

それから十年あまり、家族にお腹まわりの浮き輪とからかわれるようになっていたのだが、最近また隣の市のプールで泳ぐようになった。社会人になった娘が泳ぎたいと言うようになったので誘い合って週に一度通うようにしたのだ。

そのプールは1回800円で利用できて回数券だと11回で8,000円だ。続くかどうか分からない段階では実に手軽に始められる。半年も経つと、毎日一万歩歩いても変わらなかったお腹まわりが明らかにスリムになってきた。

ところが、娘がそのプールは混んでいるし変な男の人がいるのでもう行きたくないと言い出したので、それならスポーツクラブに行ったらどうかと娘に言った。そこで、娘は取り敢えず一番近所にあるスポーツクラブを体験しに行ったら、フロントの対応が酷かったしスイミングのレッスンで泳げるコースが少なかったし風呂は寒かったとの報告を受けた。

実は、私もそのスポーツクラブに期待していた。隣の市のプールは今年の4月から指定管理者が変更となってから設備の管理が不十分になっていたようで、夏の終り頃になるとシャワールームの戸や壁にカビが目立つようになっていたからだ。

スポーツクラブを探す

スポーツクラブは近所にあるのが手軽に利用できて一番良いと信じていたのだが、娘の報告を聞いてスポーツクラブの良し悪しをネットで調べることにした。

まず、通えそうなスポーツクラブをリストアップ、それぞれについての評判を探る。一般的傾向としてやはり月会費の高い方が施設やスタッフのレベルが高いようだ。しかし、同じブランドでも店によって施設もスタッフも良し悪しが異なるらしい。

私としてはプールとシャワールームが清潔で混雑していないのが理想で、ジムやスタジオプログラムについては重視しない…程なくして気になるスポーツクラブが見つかった。

体験できるか聞いてみて、そのスポーツクラブを訪れたのがこの前の日曜日の午後。時間帯から混んでいるかもと思っていたが、プールはコース当たり2・3人。シャワールームにカビは見当たらず、プールの透明度も上々。

プールサイドにはスチームサウナと大きなジャグジーバスがあり、更にその外には屋外ジャグジーバスとプール(4月中旬頃から10月中旬頃迄利用可能)もある。そして、その先にはマリーナに停泊しているヨットのマストが…。なんとリッチな気分。

今迄、会員になったらマメに通わないと損した気分になるのが嫌で隣の市のプールに通っていたのだが、そのスポーツクラブには月4回で6,000円(税別)という会員種別がある。そうすると、デイ会員なら月6回通えば元が取れるなどと考える。これでそこの会員になりたくない理由がなくなった。

スポーツクラブへ自転車で

体験に行った時は車で行ってみた。駐車は4時間迄無料。

しかし、昨日はサイクリングに最適の天気、これは自転車で行くしかないでしょ。マンションの玄関前からスポーツクラブの玄関前まで川沿いと海沿いの歩行者専用道を通って13分で到着。ジムの自転車を漕ぐより遥かに気持ちいいー。これからは雨の日以外は夏でも冬でも自転車で通おうと思う。

Windowsの各国語キーボードの使い難さ

毎月一度以上の投稿を目指していたのに、先月は投稿し忘れた。投稿するネタが何もないわけではないが、最近はMSKLCというマイクロソフトが無料で提供しているツールでキーボードの開発に夢中で、つい忘れていた。

MSKLCとは

MicroSoft Keyboard Layout Creator の頭文字を取って名付けたソフトで、マイクロソフトのホームページから無料でダウンロード出来る。
MSKLC でググれば、一番上にマイクロソフトのMSKLC ver.1.4 のダウンロードページが出てきた。(投稿日)
キーボードと言えば、キーを押した時に キートップに刻印されている字が入力されるのが当たり前だと思っている人もいるかもしれないが、ユニコードの文字の範囲で自分の好きなように定義した マイキーボードを作る事も出来る。その為のツールがMSKLCなのだ。

マイクロソフトがWindows10で提供している各国語のキーボードもやはりそのMSKLCによって作られているはずである。

Windowsキー+Space によってMSKLCを使って作ったマイキーボードに切り替えた後の最初の1文字目の入力がデッドキーに割り当てた文字だった場合に、その文字が入力出来なかったが、その同じ問題点が Windows10の各国語キーボードでも存在する事を発見した時、そう確信した。

その社内ツールを全世界のWindowsユーザーの為にマイクロソフトが好意で提供してくれているのである。

そのMSKLCでキー定義した結果は、そのツールのメニューの中から “Build DDL and Setup Package” を選ぶとWindowsにインストール出来るパッケージが出来る。そのパッケージの中の setup.exe というファイルをダブルクリックしてPCにインストール後、PCを再起動させれば自分でキーを定義したキーボードが使えるようになる。

また定義自体は拡張子を .klc とするテキストファイルにも保存できる。

赤の他人にも使って貰う

自分の作ったキー定義を赤の他人にも使って貰うには、この .klc の拡張子のテキストファイルを公開することで実現できる。

知らない人が公開しているパッケージだと、どんなウイルスが含まれているかも知れないから簡単には試して貰えない。しかし、.klc のテキストファイルなら安心して試して貰えるはずである。その .klc ファイルをMSKLCに読み込ませれば、使う人のPCでパッケージをビルドできるのだ。

何故キーボードを自分で定義するのか

私は元エンジニアなので、キーボードはASCII文字(ユニコードの 0020 から 007F まで)が全て打てる “USキーボード” が基本だと思っている。しかし、各国語のキーボードではアクセント記号の付いたアルファベットを入力する必要性で入力出来ないASCII文字があったり、或いは “USキーボード” のキー配列とは違う位置にキーが定義されている。

だから、色んな言語を扱う度に違う言語のキーボードに切り替えて使うとなると、各国語のキー定義をそれぞれ覚える必要がある。

Windowsで定義している “US International” というキーボードなら欧米の主要言語をキーボード切り替えなしで入力可能なのだが、肝心のASCIIの部分で、( '  `  " ~ ^ ) の5つの記号がデッドキーになっていて、これも使い難い。

一方、Mac には ABC-Extended という、ASCIIの部分は全く変更無しに多言語が打てる上に記号の入力も可能なキーボードが存在して評価が高い。なぜ、ASCII部分には全く変更がないのかと言うと、その他の文字や記号は Optionキー というものを押しながら入力するようになっているからだ。

同様の仕組みはWindowsにもあって、AltGr というキーを押しながら入力するというやり方だ。PCの元祖 IBM によれば、AltGr とは、Alternate Graphic の略号とのこと。キーボード上には AltGr と刻印されたキーは存在しないが、右側Altキー がそれである。左側Altキー も Ctrlキー を同時に押すことで AltGr の役目をする。

そこで、Macの ABC-Extended と同じ考えで、ASCIIの部分は全く変更無しに多言語が打てるキーボードだが、キーの定義はMacとは異なるものを作ることにした。

入力すべき文字・記号の範囲を考えた時、HTML4.0の文字実体参照で定義されている文字・記号というのが客観的に必要性の高いものだと考え、その全てを入力可能なようにしたかったが ABC-Extended では実現されてないからだ。それに、文字をどのキーに割り当てるのかについても成程と思えるものが少なかった。私はそれよりはもっと上手く割り当てる。

各国語キーボードの使い難さ

各国語のキーボードのキー配列が異なるとしても、その言語に最適化する為に必要とあれば納得出来る話なのだが、実はそうでもない。

例えば、ドイツ語の引用符は „ABC“ のように書くのだが、ドイツ語キーボードではこの引用符は打てないし、フランス語キーボードも フランス語の引用符 «ABC» だけでなくフランス語に必要な合字 æ やœ さえ打てない。じゃあ、一体どうして入力しているのか検索で調べて見ると、キーボード自体の機能には頼らず 独語版や仏語版の MS Word の機能を使えば良いらしいとの話があった。

ドイツ語キーボードでもフランス語キーボードでも AltGr で定義していないキーは沢山あって、それらの言語に必要な文字・記号を定義することは幾らでも出来たはず。つまり、マイクロソフトは本気で各国語キーボードを作っているとは思えないのだ。

もしかしてマイクロソフトの戦略として各国語キーボードの機能はわざと低くしておいて Word の売上を増やそうとしているのかも知れない。

MSKLCの機能を最大限に活用する

MSKLCでは、一つのキーに対して
  1. そのまま
  2. Shift を押しながら
  3. AltGr を押しながら
  4. Shift + AltGr を押しながら
  5. Cntl を押しながら
  6. Shift + Cntl を押しながら
  7. CapsLock 状態で そのまま
  8. CapsLock 状態で Shift を押しながら
の 8通りの定義が可能になっているが、マイクロソフトは 5. と 6. についてはアプリで Cntlキーを押しながら使うショートカットキーと被る恐れから非推奨としている。

残った 6通りの定義の内、1. – 4. については一つのキーに4文字までの文字列を定義出来る。7. と 8. については 1文字しか定義出来ない。

更に、デッドキーという仕組みもある。そのデッドキーの次に押すキーとその時に出る文字(1文字のみ)のセットを定義することで、一つのデッドキーに沢山の文字が定義出来るようになっている。但し、(Altキーの)デッドキーの次に押すキーとして定義できるのはアルファベットとスペースキーに限られ、数字や記号のキーは定義できない。また、Shiftの有無は区別される。つまり、一つのデッドキーには最大で54通りの定義が出来る。
Altキーでないキーをデッドキーとする場合には数字や記号のキーを定義することも出来る。しかし、ASCIIの部分には手を付けない方針だから、使えるとすれば Shift + Space キーの場合しかない。しかし、この場合にはGoogle日本語入力のキーボードとして使う場合に上手く動作しない。そこで、デッドキーの次のキーとして数字や記号のキーは定義しないことにした。
MSKLCの画面では CapsLock 状態を使う 7. と 8. でもデッドキーが定義出来るのだが、動作しない。

ところで、CapsLock 状態を利用する 7. と 8. は、この 7. と 8. で定義してある文字を続けて使うような場合でないと使いずらい。

そこで、CapsLock 状態にした時の動作として ⓐ 上付き、下付きの数字モード、ⓑ 発音記号モード、ⓒ ロシア語モード という 3つの活用方法を考えた。

カスタマイズできる

各国語キーボードでは、ASCII文字以外の各国語に必要な文字をなるべく 1. そのまま と 2.  Shift を押しながら に割り当てている。そこに収まらなくても、せいぜい 3. の AltGr を押しながら までの割当で、4. の Shift + AltGr を押しながら という使い方は殆ど利用されていない。

これは2つのキー( Shift と AltGr )を押しながら更に別のキーを押さなければならないのが大変だからだろう。

そして、デッドキーに定義した文字についても キーを2回押す必要があるから使用頻度の低い文字・記号にしか使われていない。

しかし、1. そのまま や 2. Shift を押しながら については us キーボードの定義を変えない方針だし、CapsLock状態を利用出来る文字は限られている。

だから、文字実体参照全体という沢山の文字を定義するにはどうしても AltGr とデッドキーは使う必要がある。しかし、そうすると各国語のキーボードに比べて使い勝手がよろしくない。と、悩んでいた時に Spaceキー を使う方法が閃いた。

usキーボードの中に一つだけ冗長なキーがある。Shift + Space である。Shift を押しても Space が出力されるだけ。勿論、Space の前後が Shiftキーを押す必要のある文字だった時は Shiftキーを押したままで入力出来るという利点もあるが、この限られた利点はあきらめ、これをデッドキーに転用すれば、AltGrキーを押さずとも新たに56種類の文字が入力出来るのだ。

しかし、新たに定義出来るキーが増えたのは良いが、どういうキーをこの新たな領域に配置するのがよいのか、その基準が明確でないと使う側も大変だ。

色々考えた挙げ句、この Shift + Space デッドキーに定義する文字は使う人の自由にしようと考えた。必要な文字は全て他所で定義しておく。どんな文字が手近に必要なのかは使う人によって異なる。だから、この領域には使う人が自分で良く使うお気に入りの文字を集めるのだ。

Shift+Spaceを活用する3種類のキーボード例

自由にとは言っても、私なりに目的別に3種類の例を考えてみた。まずは、一般的なものとして、スペイン語、イタリア語、ドイツ語、フランス語、などが書きやすいようにしたもの。アクセント記号のついた大文字の出現頻度は少ないので小文字だけを集めている。


次の例は中国語の発音記号であるピンインが書きやすいようにしてみたもの。最初の例となるべく同じにして、必要な文字だけ入れ替えてある。


3つ目の例は、シフトしない場合は最初の例と同じだが、シフト側はスペイン語とドイツ語が書きやすいようにアクセント記号のついた大文字を配置してある。


詳しい話はこのプロジェクトが完成したら、また投稿する。

再びWMF圧力鍋のハンドル修理

以前、ロック機構が動かなくなって修理した件を投稿したけど、今度は別件で修理した。

それは、圧力インジケータが上昇中に引っかかり、まだ圧力が大して上がってないように見えていて突然安全装置が働いて蒸気が噴出するトラブルを何回も起こしたからだ。

前回の修理の際は、製造段階でグリースの塗りが足らなかったのが原因で、「設計は悪くない」と報告したが、今回は明らかに設計がヘボいのが原因だ。

問題箇所の説明

写真のように、圧力インジケータの下部からは2本のアームが出ていて、このアームが黒い部品を挟んでいる。これは、圧力インジケータの上部に描いた WMF のマークの方向が一定になるよう、この圧力インジケータが回転しないようにする為に付けたように思える。
それは、モデルチェンジする前のハンドルには圧力インジケータの上部に WMF のマークが描かれてなく、圧力インジケータにもこのようなアームは付いてなかったからそう思った。その黒い部品の青いアームと接する部分を観察すると、角の部分に段差がある。
その段差の部分に青いアームが丁度嵌るような位置関係になっている。これでは、圧力インジケータの向きが真っ直ぐで無ければ上昇中にどちらかのアームが黒い部品に引っかかって、正しい圧力の表示が出来なくなるのも当たり前だ。

部品を削って問題点を無くす

この部品は単に見栄えの為だけに存在しているようなものだし、力が掛かる事も無さそうなので、部品を削って問題点を無くす事にした。カッターナイフとヤスリでアームが引っ掛からないように改造。
青いアームの上部内側の角も念の為にカッターナイフで削っておく。
これでもう大丈夫だろう。しかし、MWFのエンジニアは一体何を考えて設計していたのか。こんな形状では引っかかりそうな事ぐらいすぐ分かるはずなのになぁ。

忠誠の誓い

昨日のNHK夜7時のニュースで、来日したエスパー米国国防長官を歓迎して米国国歌を演奏しているシーンが放映されてた。エスパー国防長官の隣には岩屋防衛大臣が並んで立っていてその演奏を聴いていた。共に右手を左胸に当てて…

米国国歌を聴く姿勢とは

世界選手権で米国の選手が優勝して表彰式で米国国歌が演奏される時、その米国の選手は右手を左胸に当てて自国の国歌を歌う。或いは、米国大リーグの試合に先立ち米国国歌が演奏される時、観客も皆立ち上がり右手を左胸に当てて国歌の演奏を歌う。

そんな光景を何度も目にしていると、米国国歌を聴く時はそのような姿勢を取るべきものかと思うし、自分もそうすると ちょっとカッコイイような気もする。しかし…

この姿勢は、忠誠の誓い(Pledge of Allegiance)というアメリカ合衆国への忠誠心の宣言の時に求められているのと同じ姿勢なのだ。即ち、この姿勢で米国国歌を聴くということは「私はアメリカ合衆国に忠誠を誓います」と言っているのと同じ事になる。

失言相当もの

これが、一個人が周りの状況に引き込まれて真似をするだけなら大した事ではないが、日本国の防衛大臣が公式の場でやってしまうとなると問題だろう。

「アメリカ合衆国に忠誠を誓います」となると、日本と米国の国益が対立した時、私は自衛隊を米国の為に動かして日本を攻撃します…と口には出さずとも言ったのと同じになるのだ。

この光景を見た米国民はきっとニヤニヤした事だろう。

私は今日の新聞にこの事についての批判記事が当然載っているものと思っていたが、我が家の日経新聞をはじめ、どのマスコミにも何の言及も無かった。野党も日頃から大臣のちょっとした失言でも大げさに問題視するのに、これはどうでも良いらしい。

英語の教育よりも大切

ドイツでナチス式敬礼をすれば犯罪であるらしい。言葉だけではく、世界には色んな社会規範があり、その意味を知った上で自分がどのように行動すべきかを考える事がグローバル社会を生きる上で重要だと思う。

只々アメリカ人の発音に少しでも近づけるべく貴重な時間を費やさせるような今の英語教育政策は止めて、本当のグローバル教育をして欲しい。

アコースティックギターの曲

ウクレレは未だに上達しないが月2回のカルチャースクールでのレッスンは続けている。その関係で YouTube のウクレレ演奏を聴くようになったのがキッカケで、アコースティックギターの演奏も聴くようになった。

ブルートゥースのイヤホン

その為に買ったのがブルートゥースのイヤホン。以前は標準のブルートゥースは音が悪いとのことで高規格の信号に変換出来る特別なコーデックを導入する必要があるらしかったが、今では標準コーデックのデータレートも増えたので、そのままでもかなり良い音が出る。

更に、最新のチップセットを使えば消費電力も小さくて、2千円台で買った今使っているイヤホンでも連続使用時間は20時間もある。1日中使っても全然平気だ。

しかも、ワイヤレスだから洗い物をしながらでも、トイレに入っても(ぎりぎり)聴くことが出来る。

Daria Semikina の演奏

そうやって YouTube 上の色んなアコースティックギターの演奏を聴いている。松井祐貴、仲内拓磨、Sungha Jung(チョン・ソンハ)、とお気に入りのギタリストが増えて来たが、色々聴いて、私はしっとりとした曲が好きだと分かった。

最近は Daria Semikina の演奏が一番気に入っている。彼女の演奏も選曲も私の嗜好にぴったりなのだ。そして、その演奏曲に 岸部眞明、中川イサト、押尾コータロー、Satoshi Gogo、GIN 等々 日本人ギタリストの作品が多く取り入れられていることに気づく。

ギター曲も世界に誇れる日本文化の一つ

しっとりとした情感たっぷりのギター曲は、どうも日本人の得意分野らしいのだ。このところアニメが世界に誇れる日本文化としてマスコミに取り上げられているけど、ギター曲の事は自分がアコースティックギターの曲を好きになるまで知らなかった。