とぴやまのブログ(アーカイブ)

元はてなダイアリー

NEC製携帯電話でJPEG画像の位置情報を認識させるには

緯度経度情報を示すタグ GPSLatitude, GPSLatitudeRef, GPSLongitude, GPSLongitudeRef, GPSPosition のデータに加えて、測位系を示す GPSMapDatum に「WGS-84」を追加すればよい。

GPSロガー m-241 に付属するツール「HOLUX ezTour for Logger」を使って、カメラで撮ったJPEG画像に対して位置情報を付加した場合、GPSMapDatum がないので、exiftool.exe 等のような EXIF情報を編集できるツールを用いる。


exiftool.exe http://www.sno.phy.queensu.ca/~phil/exiftool/


例えばこの、GPS有の機種(N905iμ)でGPS情報を埋め込んだJPEG画像の EXIFGPS タグ、いわゆるジオタグは次の通りである。


GPS Version ID                  : 2.2.0.0
GPS Latitude Ref                : North
GPS Longitude Ref               : East
GPS Time Stamp                  : 15:09:43
GPS Map Datum                   : WGS-84
GPS Date Stamp                  : 2009:06:27
GPS Date/Time                   : 2009:06:27 15:09:43Z
GPS Latitude                    : 35 deg 41' 42.34" N
GPS Longitude                   : 139 deg 42' 5.11" E
GPS Position                    : 35 deg 41' 42.34" N, 139 deg 42' 5.11" E

一方で、GPS無の機種(N-07A)で撮った画像に対して m-241 付属ツールの「HOLUX ezTour for Logger」を使って位置情報を埋め込んだ場合のジオタグ


GPS Version ID                  : 0.0.2.2
GPS Latitude Ref                : North
GPS Longitude Ref               : East
GPS Altitude                    : 19.86494393 m
GPS Latitude                    : 35 deg 37' 17.45" N
GPS Longitude                   : 139 deg 46' 22.34" E
GPS Position                    : 35 deg 37' 17.45" N, 139 deg 46' 22.34" E

で、この EXIF 情報では認識しなかったが、

exiftool.exe -P -GPSMapDatum=WGS-84 <filename>

を実行して GPSMapDatum タグを追加することで認識するようになった。(このファイルには埋め込み済み)

Windowsで実行中のスレッドが動作している論理CPU番号を取得するには

下記URLの内容より。

https://www.cs.tcd.ie/Jeremy.Jones/GetCurrentProcessorNumberXP.htm
GetCurrentProcessorNumber XP


マルチプロセッサ環境の Windows アプリケーションにおいて、実行中のスレッドがどのCPUで動作しているかを判断するにはどうするか。

GetCurrentProcessorNumber という API があるが、Windows Vista, Windows Server 2003 以上でしか対応しておらず、Windows XP には対応していないので使用できない。


GetCurrentProcessorNumber Function (Windows) (※Windows Vista, Windows Server 2003 以上)

DWORD WINAPI GetCurrentProcessorNumber(void);

GetCurrentProcessorNumberEx Function (Windows) (※Windows 7, Windows Server 2008 R2 以上)

VOID GetCurrentProcessorNumberEx(__out  PPROCESSOR_NUMBER ProcNumber);


Windows XP で実現するために、これ以外の方法はないだろうか? ということで、分かったのが CPUID 命令。

EAX = 1 にして実行した時に EBX[31:24] に格納される値が、論理CPU番号になる。

DWORD GetCurrentProcessorNumberXP(void)
{
  _asm {mov eax, 1}
  _asm {cpuid}
  _asm {shr ebx, 24}
  _asm {mov eax, ebx}
}

但しこの CPUID 命令自体も Pentium 4 以降でしか対応していないので、CPU 種別の判別処理が必要になる。これにはどう対応すればいいのだろうか? 同じく EAX = 1 の CPUID 命令 での EBX[7:0] ブランド ID 値だろうか? これも昔の CPU では対応していない場合もある。泥沼だ……。

参照:
CPUID (命令) - 通信用語の基礎知識
インテル プロセッサの識別とCPUID命令 (※PDFファイル直リン注意!)
CPUID Modifications for AMD Processors (※AMD CPU の場合)

WZ MAIL 5.0 の送受信時に異常終了するのは何故だ

エディタとメーラーを別のソフトに乗り換えようとあれこれ試してみたものの、結局未だに WZ EDITOR 5.0 と WZ MAIL 5.0 を使用し続けている。加えて、全文検索ソフトは「サーチクロス」だ。まさに VillageCenter 信奉者だ。
次期バージョンの 6.0 が「マクロ仕様一新」という形で完全に未来を絶たれてしまった、現状で問題なく動作し続ける以上、使い続けることにした。

さて、手前の環境で WZ MAIL の送受信処理中に異常終了することが多くなったように感じる。PC を Core 2 Duoデュアルコア CPU に変えてから、つまり、送受信時のマルチスレッド処理に問題があるのではないかと、調査もせずに根拠もない勝手な想像だが、様子見のために WZ MAIL がCPUコア1つでのみ動作する設定を行うマクロを作成してみた。

これを適用すると、子プロセスの MAIL EDITOR までCPU固定設定を引き継いでしまうので、本当ならば送受信時にのみ動作CPU固定設定を行うべきだが、とりあえず保留。

http://www15.ocn.ne.jp/~topiyama/ の 「WZ MAIL拡張 topiyama版」に置く。


2009/06/16 追記:送受信終了のトリガーは、ウィンドウフック関数で message が WM_MBSREND の時で良いようだが、開始時のトリガーが不明。IDMコマンドで見た場合は、一括巡回などダイアログを挟む処理でキャンセルしてもその判定が出来ない。

オタク成金

アフタヌーン新書 005 オタク成金

アフタヌーン新書 005 オタク成金

個人的には、あかほりさとると言えば文化放送で放送していたラジオ。自身の名前がついた冠番組。よく聞いていた。文化放送で終了してからは聞いてませんでした。ゴメンナサイ。
ラジオ大阪で放送している番組はネットラジオ音泉でも聞けるようなので久しぶりに聞いてみよう。

 今って、あかほりさとるといえばこういうキャラだろう、こういう物語だろう、というふうに思われているところがある。だから、”あかほりさとる”の名前では、これからはあんまりやらない。今後はあかほりさとるという名前が邪魔だから、いくつかペンネームを使ってやろうかなと。
 つまりデビューから23年かけて、初心にかえることにしたんだよ。この本が出る頃が、その始まりだろうな。(P.98-99)

90年代当時、「あかほりさとる」という名前には外道な「あかほり作品」だけでなく、「シュラトを作った人」という意味もあって、ほかの作風だってできる人という認識があった。それも今は昔らしい。

しかし、名義を変えてでも売ろうとしている。あかほりさとるはまだまだ死んではいなかった。

朝日新聞のラテ欄が地デジ番号順に変更

今週から変更され、左から NHK(1)、教育(3)、日本テレビ(4)、テレビ朝日(5)、TBS(6)、テレビ東京(7)、フジテレビ(8) という配置になった。つまり、テレビ朝日が中央に配置されるようになったのだ。

既に地デジ化しているのでリモコンのボタン番号にも慣れたし、そのEPG番組表でも、デジタル番号順には見慣れているはずなのだが、実際に新聞紙面での感覚はまた別段。一番右がテレビ東京ではなくなった、ということにこれほど違和感を感じるとは。

ATOK 2009 で同音語用例・電子辞典検索の表示順序が変更されて使いにくいでござるの巻

ATOK は、変換候補の語句に対して専用の電子辞典を使ってその語句の意味を表示させることができる。辞典以外にも、同音語用例や連想変換時の解説があるときは、それが表示できる。変換候補を選択する際の指針になるのでとても便利な機能だ。

しかしこの機能、今までは表示切り替え順序が常に最初からで固定だったのに、ATOK 2009 では最後に表示した辞典が最初に表示されるようになった。

問い合わせたら、仕様変更とのこと。な、なんだってー!

最初に表示される辞典が状況によって変わってしまい、私にとっては使いにくくなってしまった。設定で前の動作に変えられるようにして欲しい。

何より、2008 で電子辞典の切り替えを End キーでできるように変更したときは、「ATOK 2007 互換のキー操作で使用する」という設定を作って変更前の動作ができるように対応しているのに、2009 ではこの変更に対しては下位互換の対応がないなんて、あんまりだ…

ATOK2009用AZIK(拡張ローマ字入力)定義ファイル

ATOK2009がリリースされましたので、ATOK2009用のAZIK定義ファイルを作成しました。過去に作成した、ATOK2007用の定義をそのまま移植したものです。AZIKとは何ぞや? についても元エントリを参照ください。

なお、前バージョン用のスタイルファイルもコンバートすることで使用可能です。

 追記:
 申し訳ありません。
 リンク先はすでに無くなっています。
 ATOK2013・2014用のファイルしか残っていませんが
 こちらにファイルをおいてあります。
 https://github.com/topiyama/azik/tree/master/

◆ダウンロード:AZIK準拠のローマ字定義 for ATOK2009 ver 0.01

ファイルの取り込み方法が変わったようですので書き直します。
上記ファイルをダウンロード&解凍して、できた 拡張子 STYファイルを任意のディレクトリに置いて、(なるべく %APPDATA%\Justsystem\Atok22 に置くべき)

  1. 「プロパティ(環境設定)」を開く
  2. 「キー・ローマ字・色」タブを開く
  3. 「スタイルの操作」ボタンを押して「ファイルを指定して追加」を選択
  4. 「スタイル名」は適当に入力 (例:AZIK2009) (※1)
  5. 「ファイル名」には、ダウンロードしたファイルを指定
  6. 「OK」ボタンを押す

を行うことで、スタイル一覧に ※1 のスタイル名で追加されます。

但し、「キーカスタマイズ」と「表示色カスタマイズ」は「ATOK 2009」のものを原型としています。他のスタイルを使っている場合、あるいは自分用にカスタマイズされている場合は、「他スタイルから読込」を使って元のスタイルから移し替えて下さい。


そして私が使っている改造版はこちら。(これも元エントリを参照してください)
◆ダウンロード:改造を加えた定義 ver 0.01