2012年1月14日

DoxygenでISO-8859のコード変換失敗に対応するには

欧米のソースコードはシングルバイトコード(ISO-8859)がよく使用されますが、ASCIIコードで無いコード、 つまり\x80~\xFFのシングルバイトコードが含まれている場合があります。
その多くはコメント部で使用されます。例えば人名やCopyrightの©記号などです。

これらの文字コードを含むソースに日本語のコメントを追加すると、全体で文字コードの不一致が起こります。
そのため、Doxygenでドキュメント生成しようとするとコード変換に失敗します。

・ISO-8859の特殊文字(\x80~\xFF)を検出する方法 
サクラエディタUNICODE版のgrepを使用します。
正規表現を使用し、検索条件を[\x{dc80}-\x{dcff}]とします。

・対処法
コメント部で使用されていた場合、単純に削除するかスペースなどで置き換えます。
文字列中で使用されていた場合、内容を変える訳にはいかないのでバックスラッシュ(¥or\)によるコード表記に置き換えます。

・大量にある場合
スクリプトを書かざるを得ないでしょう。
日本語のコメントを付加する前であれば簡単なスクリプトで済みます。
(\x80~\xFFの文字コードをコード表記に変えるだけ)

2012年1月2日

HomeCompass::Update Ver.1.0.7

Ver.1.0.7版を公開しました。


ネットワークによる現在位置の測位

設定画面で切替ができます。
 

天候が悪く、GPSの電波が拾えない場合に使用して下さい。
GPSより精度は悪いですが、大まかな位置は把握できます。
また、ネットワークによる測位は通信料金が発生する場合があります。

地図上では、 ネットワークによる測位の場合に現在位置が赤く表示されます。


・Googleマップの共有機能との連携

Googleマップで検索した場所の情報を、ホームコンパスへ送り込む機能です。
例えば、Googleマップのマイプレイス(お気に入り)を
ホームコンパスで登録したいとき、少しだけ入力の手間が省けます。

マイプレイスを選択し、「この場所を共有」→「ホームコンパス」と選択すると
ホームコンパスが起動し自動的に検索を実行します。

ただし、ホームコンパスで検索できない場所では連携が上手くいかなかったり、
全く別の場所を表示してしまう場合があります。