prepress-tips
メニュー

更新履歴

取得中です。


applescriptの編集


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

最終更新日時: 2010/04/18    

applescriptを windowsで編集する

macから windowsへ

  • まず スクリプトエディタで テキスト形式で保存する。
    これを テキストエディタで開いて 別名で保存する。
    • このとき テキストのエンコーディングを Shft JIS にする。
    • エンコーディングがグレーアウトするときは
      テキスト中に Shft JIS に変換できない文字があることを意味しており
      変換できない文字を 探して 補正する。
  • Shft JIS にうまく変換できても
    もう一度macに戻すと文字化けしてしまう文字 が残っている可能性があるので
    そのまま mac用のapplescriptに再変換し( 次項参照 )
    さらに rekisa や diff , fc などで 照合確認して 補正する。

windowsから macへ

  • shift_jisのスクリプトを 以下のプログラムで applescriptファイルに変換する。
    • 変換したいスクリプトを batファイルにドラッグすると
      同名のapplescriptファイルが batファイルと同じフォルダにできる。
    • プログラム中で 文字コード変換と 文字化けの補正 を行うが
      最小限の補正しかしないので 必要があれば 適当に修正すること。
    • perlのバージョンは 5.8 。
@echo off
cd /d "%~dp0"
perl "%~n0.pl" %1 > "%~n1.applescript"
rem pause
use Encode qw/encode decode/ ;
binmode( STDOUT ) ;

my @k = ( '≦'       , '≧'       , '¬'       , "\\"       ) ;
my @v = ( "\x64\x22" , "\x65\x22" , "\xac\x00" , "\xa5\x00" ) ;
for( @k ) {
    $_ = encode( 'ucs2' , decode( 'sjis' , $_ ) ) ;
    $_ = pack( 'v' , unpack( 'n' , $_ ) ) ;
}

print "\xff\xfe" ;
while( <> ) {
    $_ = encode( 'ucs2' , decode( 'sjis' , $_ ) ) ;
    my @s = m,[\x00-\xff][\x00-\xff],g ;
    @s = map { pack( 'v' , unpack( 'n' , $_ ) ) } @s ;
    for( @s ) { my $n = 0 ; for my $k ( @k ) { $_ eq $k && ( $_ = $v[ $n ]) ; $n++ } }
    print @s ;
}