| 
			|  | たにきさん今日は、ひろです。
 > そこでパブリッシャの設定か何かで、文字コードがISO-2022-JPならこのテンプ
 > レート、それ以外なら別のテンプレートを自動的に使うようにはできないでしょ
 > うか。
 > もしやり方があるなら教えていただけるとうれしいです。
 標準で実装するとなると、鶴亀/秀丸パブリッシャーの何方で設定をするの
 かなかなか難しいところですね。現状でやり方は 2 つ有ります。
 (1) 秀丸パブリッシャーを使うのを止め、「秀丸の動作環境」→「印刷」の
 「印刷処理方法」は「新タイプ」にする
 ※お使いの OS の関係で、他のタイプは上手くいかない恐れ有り
 (2) マクロから秀丸パブリッシャーを呼び出すことにより、文字コードごとに
 テンプレートを変更
 下記のマクロを使ってください
 //鶴亀で文字コード毎にテンプレートを変更して、秀丸パブリッシャーを起動
 //Content-Type: text/plain; charset=us-ascii
 //なら使用するテンプレートは us-ascii を使用する。
 // もしも字コードと同名のテンプレートがなければ、
 //「標準のテンプレート」を使用する
 loaddll "tkinfo.dll";
 call GetLang;
 openreg "CLASSESROOT",
 "CLSID\\{3790E08E-DA26-41E2-B6B7-A2C2DED41C2F}\\InprocServer32";
 if( ! result ) {
 message "秀丸パブリッシャーがインストールされていません。";
 freedll;
 endmacro;
 }
 $$path = getregstr("");
 closereg;
 loaddll $$path;
 if( !result ) {
 message
 "HidemaruApi.dllのロードに失敗しました。\nファイル名 = " + $$path;
 endmacro;
 }
 if(!existfile(leftstr($$path, strlen($$path) - 15)
 + "Template\\" + $$return + ".hpt"))$$return = "標準のテンプレート";
 #tmp = dllfunc("PrintDialog", hidemaruhandle(0),
 $$return, selecting, 0, 0, 1, 0 );
 freedll;
 endmacro;
 
 GetLang://言語情報取得
 $$return = dllfuncstr( "CurrentHeader","X-Body-Content-Type");
 if( $$return == "" )
 $$return = dllfuncstr( "CurrentHeader","Content-Type");
 $$return = dllfuncstr( "ToLower",$$return );
 $$return = rightstr($$return,strlen($$return)
 - strstr($$return,"charset=") - 8);
 ##return = strstr($$return, ";");
 if(##return != -1)$$return = leftstr($$return, ##return);
 call DelQuote $$return;
 return $$return;
 
 DelQuote://double quotation で括られていたら削除
 if( ascii( $$1 ) == 0x22 ){
 if( ascii( rightstr( $$1, 2 ) ) >= 0xFF00 )return $$1;
 if( ascii( rightstr( $$1, 1 ) ) != 0x22 )return $$1;
 else return midstr( $$1, 1, strlen( $$1 ) - 2 );
 }
 return $$1;
 
 
 | 
 |