[[ハム活動記]]
今日は、普段開発に使っているperl のソースコードの事だ、
次回の備忘録として、ブログに残しておくつもりで書いておく、
*8J1Y記念局のQSLカードを作成する [#k2fe5a0b]
**ハムログADIFから [#k8f62196]
***コメント欄 [#aa6c63e9]
ハムログADIFからQSLカード印刷用データーを編集する場合、コメント欄にリグ、JCC、移動地が入ってきます。~
これの、リグ名を除くスクリプト
my $idou_tmp = &get_comment($rec);
if($idou_tmp =~ /%.+%/){$idou =$&;} #%で囲まれた文字列があれば、それを抜き取る
else{$idou = $idou_tmp;}
$idou =~ s/%//g;
$idou =~ s/8j1y\/1//ig; #8jiy/1も除く
***エリアを取得するスクリプト [#q3f8cb31]
sub get_area_num{
my ($area_call)=@_;
my $psw=10; #Initial Set
my $cc = uc($area_call);
if($cc =~ /[7-8][J-Nj-n]\d[A-Za-z{3,}]/){$psw=1;} #1area
if($cc =~ /J[A-Sa-s]\d[A-Za-z{2,}]/){$cc =~ /\d/; $psw=$&;} #¥d--->Area Number
return $psw; #10:over sea 0〜9 area number
}
8J1とか7Nとかは1エリア、JAからJSまではJコール、次の番号がエリア番号~
その他は海外局で10を入れる、このエリア番号でソートすれば、エリア別に印刷されるって訳だ。
***交信時間 [#x41206f9]
ADIFはUTCで入ります、ハムログでもUTCで入っています、しかし時間は6桁でなく4桁ですので、秒の2桁を追加してからUTC→JSTに変換しなければなりません。
**&mimetex(LaTeX);用のソースに [#afc9512a]
ADIFを&mimetex(LaTeX);のソースに自動変換させ、DVIPS等でPDF化する時に、文字コードの問題があります。
私の環境はUTF8ですから、ADIFを一旦UTF8に変換してからでないと、日本語が文字化けします。
Jcodeなどで、変換しても上手くいかないこともあるので、Jeditで開いてから文字コードを変換して処理を行う。
&ref(./pic.png,30%);