2013年5月28日火曜日

一太郎や花子のヘルプを見ようとするとATOKのインストールを求められる問題とその解決法

一太郎や花子のヘルプを見ようとすると、毎回ATOKのインストールを求められる問題が発生していた。

現在の最新バージョン「一太郎 玄」「花子2013」でもそうだし、実は以前のバージョンから発生していた。

「マニュアル」「トラブルQ&A」「新機能の紹介」 などは問題なく見られるのに、ヘルプでだけこの現象が発生した。

 面倒なので、今まではヘルプを見るのをあきらめていたが、今回突っ込んで調べてみた。そしてようやくその原因を突き止めた。

 原因は
スタートメニューのルートに『JustSystems ツール&ユーティリティ』というフォルダが存在しない
と言うことだった。逆に言えば、それがあればこの問題は発生しない。

Justsystemの製品をインストールすると、スタートメニューのルート、正確には

  c:\ProgramData\Microsoft\Windows\スタートメニュー\プログラム
 (Windows7の場合)

の位置に、アプリケーション別にフォルダと作る。
ATOKとか一太郎とか。その中に「JustSystems ツール&ユーティリティ」というのも作られる。

私は、同じ会社のアプリケーションは1つにまとめたい主義なので、Justsystemというフォルダを作って、それらをその下に移動していた。

ところが、一太郎や花子のヘルプは、ルートに「JustSystems ツール&ユーティリティ」フォルダがあることを調べているらしく、ない場合、ATOKのインストールをしてそれを復活させようとするのだ。


このフォルダの中にあるのは「JS使用者情報変更ツール」という物へのショートカットだけだが、それは削除してもかまわない。要は、フォルダのみをルートに残しておく必要があるというわけだ。

なお、「JustSystems ツール&ユーティリティ」フォルダに隠し属性を付けておけば、スタートメニュー上は表示されなくなる(ただし、Windowsの再起動が必要)。

・・・

このように、スタートメニュー中のフォルダまたはファイルの存在を検知しているソフトなんて他には見たことがない。Justsystemだけの理不尽というか、極めて無意味なくせに有害な仕様であると言える。次のバージョンでは是非ともやめていただきたい。

ちなみに、同社の製品では

 三四郎2009、ホームページビルダー16、Shuriken2012

が同様であり、

 花子フォトレタッチ
  一発!OCR Pro6
 翻訳ブレイン3

では問題なかった。OEM製品および同社製でも古い物は大丈夫という感じ。
ということは、同社製のヘルプ表示プログラムの問題だろう。

・・・

本当はJustsystemに直接報告もしたいのだが、いかんせん同社のサイトには問題を報告する窓口がない。少なくとも普通に見つけられる場所には存在しない。

電話受付はあるが、こちらから高い電話料金をかけてまで問題報告をしてやる義理はない。


オンラインの問い合わせ口があると、いろいろと送られてきて嫌だ、というのは理解できんでもないが、.それなりの価格の物を大々的に売っているのだから、やはりホームページ上にオンラインの問い合わせ口は持つべきだ。

サポートという面においては同社の姿勢は、全く感心しない。
ここまでサポートが手抜きな会社は、大手中小含めて他に知らない。

たとえば、いくらバグが多くても、Appleは報告窓口があるだけ良心的だ。
自社でまかなえない部分は、フォーラムを開設してユーザー同士で情報交換するのも一手だ。これもAppleはやっている。

その点も、是非とも改善していただきたい。

・・・と、直接言ってやりたい。

2013年5月25日土曜日

UIWebViewの特異的レンダリングについて

UIWebViewはHTMLをレンダリングしてくれるが、どうも他のブラウザとは結果が異なる部分が存在する。それもHTML5とか新しい部分ではなく、極めて簡単と思われる部分で。
気がついたのは以下の部分。

(1)<pre>中の<table>内の<br>の挙動

<pre>
<table>
<tr><td>メッセージ<br>
改行</td></tr>
</table>
</pre>

と記述した場合、UIWebViewは

メッセージ

改行

となり、Chrome/Firefox/Safariでは

メッセージ
改行

となり、<br>改行の挙動が異なる。

この違いがレンダリングエンジンの違いから来るならまだ理解できるのだが、同じWebKitのはずのSafariとUIWebViewが異なるのがわけのわからんところ。UIWebViewはWebKitではないのか?

そもそも<pre>内に<table>を記述するのが文法違反だという話もあるが、現実に存在する以上、合わせて欲しい気はする。

(2)オーディオファイルのaiffが再生できない
(3)<audio>〜</audio>の部分に改行が入ってしまう
このため、<audio>定義は表示上影響の少ない部分にまとめておく必要がある。

2013年5月20日月曜日

Xcode 4.6.2のバグ

Xcode4.6.2は比較的安定しているバージョンだと思ってたけど、やっぱりバグが有った。

・C Flagsの設定で-Dオプションをつけた場合、3つ目以降が無視される
たとえば、-DDEBUG -DIOS -TESTとした場合、DEBUGとIOSはdefineされるが、TESTは定義されない。

コンパイル結果がどうにもおかしいので調べたらこれだった。

これは勘違いだった。
PROJECTではなくTARGETで設定するのが正解か。
おかしいなぁ、今までPROJECT側でいけてたと思ったんだけど。


・シミュレーター環境で、2回に1回しかRUNできないCouldn't register アプリケーション名 with the bootstrap server. Error: unknown error code.
This generally means that another instance of this process was already running or is hung in the debugger.
と出て起動できない。実際にはUIApplicationMain()呼び出し時にsignal SIGABRTを発生して止まる。
実機では発生しない。まったくもって意味不明。

→4.6.3では修正された。

・[UITextField.layer setAffineTransform]の結果がおかしい
UITextFieldをUIViewにaddSubviewする。このとき、UIView.layerにsetAffineTransformで変形をかけてあったとしても、UITextFiledでそれが無視される。ならばとUITextFiled.layerにも同じ設定すると、多くは良くなるが、なぜかy座標だけおかしくなる。
なので、frameで表示位置の再設定が必要になる。
言葉で書くとわかりにくいけど、プログラムで実行するとすぐ解る。X-BASIC for iOS V2.1でのinputのバグはこれが原因。



あと、前から直ってないのがこれ
・Open Separate Assitant Editorした場合、第2画面以降で単語補完がすぐ消えてしまう


-Dが効かないのは、たとえば.pchの中で#defineすれば回避できるけど、面倒。
Appleの作るものにバグがなかった試しはない。
新機能部分にバグがあるならまだしも、エンバグが多いのが困ったものだ。