Toyolinaのログ切り

2014年5月12日 (月) 06:28時点におけるMjolnir2k (トーク | 投稿記録)による版 (Hiki からの自動変換)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)

Toyolinaのログ切り

  • 僕のログ切りのひみつを君だけにそっと教えちゃうよ!

使用ツール

秀丸
マクロ使うので。
マクロ
お手伝いマクロ「編集君」改
改っていうほどいじってないんだけどね。

フォーマット

PL発言部分

[ハンドル] 1234567891011121314151617181920212223242526272829←70文字
     ↑
     全角スペース。
 1バイトは半角スペースで調整してるんだぜ
 ハンドル部は[]含めて12バイト(全角で6文字)にしてるんだぜ
 トータルで70バイト(全角35文字)だぜ

キャラ発言部分

 紫      :「はい……海、みたいですね」            ←70文字
↑                      ↑
全角スペース                 全角スペース

 ha06のゆかりんさんに発言してもらったぜ!
 :までは16バイト(全角8文字)なんだぜ
 トータルで70文字(全角35文字)、1バイトは半角スペースで調整してるのは一緒なんだぜ
 ※もっとも、改行位置については、見栄えを重視して多少前後することがあるんだぜ

マクロ

  • 僕のつたない知識じゃこの程度。
//********************************************************************
<!--  お手伝いマクロ−語り部通信編集規約に修正(秀丸用) -->
<!-- 	『編集君』 ver0.4(EHOM04.MAC) -->
<!--  -->
<!-- 		96/01/24   月坂史葉(SHO) -->
<!-- 		97/01/04   sf -->
<!--  -->
<!--  バージョンアップの履歴 -->
<!-- 	・0.1->0.2	コードの整理 -->
<!-- 			処理中の画面の書き換えを抑止 -->
<!--  -->
<!-- 	・0.2->0.3	台詞の最後の感嘆符に空白の入るバグを修正。 -->
<!-- 			閉じ丸カッコ直前の感嘆符に入るバグを修正。 -->
<!--  -->
<!-- 	・0.3->0.4	中黒(・)を単体で用いた場合にも(……)に修正され -->
<!-- 			てしまうバグを修正。 -->
<!--  -->
<!-- 	・0.4->0.5	感嘆符の後の入り括弧の前が空白になるのを防いだ。 -->
<!-- 			replaceall->replaceallfast -->
<!-- 			二重鍵括弧の前の空白を除去 -->
<!-- 			台本形式部分の正規化 -->
<!-- 			行末空白の除去 -->
<!-- 			一バイト空白のタブ化 -->
<!--  -->
<!--  -->
<!-- ******************************************************************** -->

disabledraw;
disableinvert;
<!-- ◆一バイト空白のタブ化 -->
gofiletop;
selectall;
totab;
escape;
<!-- ◆カナ修正セクション -->
Sect1:
gofiletop;
searchdown "[ァ-ン]+",word,regular;
if(result == true){
	selectword;
	tozenkakukata;
	escape;
	goto Sect1;
}
<!-- ◆記号修正セクション -->
<!-- 修正前($BEFORE)		修正後($AFTER) -->
<!-- 対象記号その1 -->
$BEFORE[0]  = "(";		$AFTER[0]  = "(";
$BEFORE[1]  = ")";		$AFTER[1]  = ")";
$BEFORE[2]  = "。」";		$AFTER[2]  = "」";
$BEFORE[3]  = "」";		$AFTER[3]  = "」";
$BEFORE[4]  = "「";		$AFTER[4]  = "「";
$BEFORE[5]  = "、";		$AFTER[5]  = "、";
$BEFORE[6]  = "。";		$AFTER[6]  = "。";
<!-- 対象記号その2(正規表現が必要なもの) -->
$BEFORE[7]  = "!!+";		$AFTER[7]  = "!!";
$BEFORE[8]  = "!?+";		$AFTER[8]  = "!?";
$BEFORE[9]  = "?!+";		$AFTER[9]  = "?!";
$BEFORE[10] = "??+";		$AFTER[10] = "??";
<!-- 	(……の処理) -->
$BEFORE[11] = "・・+";		$AFTER[11] = "…";
$BEFORE[12] = "・+";		$AFTER[12] = "…";
$BEFORE[13] = "・・+";		$AFTER[13] = "…";
$BEFORE[14] = "・・+";		$AFTER[14] = "…";
$BEFORE[15] = "…+";		$AFTER[15] = "…";
<!-- 	(……の最終修正) -->
$BEFORE[16] = "…";		$AFTER[16] = "……";
<!-- 		行末空白の除去 -->
$BEFORE[17] = " \n";		$AFTER[17] = "\n";
<!-- 	名前の無い部分の正規化 -->
$BEFORE[18] = "^[ 	]+[::]";	$AFTER[18] = "		:";
$BEFORE[19] = "^		[(  )(    )]+";$AFTER[19] = "		: ";
<!-- 	名前の部分の正規化 -->
$BEFORE[20] = " +	:";	$AFTER[20] = "		:";
$BEFORE[21] = " +:";	$AFTER[21] = "	:";
<!--    #を#に 「 」を「 」に -->
$BEFORE[22] = "#";              $AFTER[22] = "#";
$BEFORE[23] = "] ";              $AFTER[23] = "] ";
<!--    頻出処理 -->
$BEFORE[24] = "[Hisasi] ";              $AFTER[24] = "[Hisasi]  ";
$BEFORE[25] = "#";              $AFTER[25] = "";
#BEFOREAFTER = 25;		//最終の要素番号
#FIRSTFLUG   = 6;		//対象記号その1の最後の要素番号
#SECONDFLUG  = 7;		//対象記号その2の最後の要素番号

#x = 0;

REP:
gofiletop;
if (#x <= #BEFOREAFTER){
	if (#x <= #FIRSTFLUG){
			replaceallfast $BEFORE[#x],$AFTER[#x];
	}
	else if (#x >= #SECCONDFLUG && #x <= #BEFOREAFTER){
			replaceallfast $BEFORE[#x],$AFTER[#x],regular;
	}
#x = #x + 1 ;
goto REP;
}
<!-- ◆感嘆符後空白処理セクション -->
<!-- 感嘆符後空白除去処理 -->
<!-- 空白削除パターン -->
$DELSPACE[0] = "! ";
$DELSPACE[1] = "? ";
$DELSPACE[2] = "! ";
$DELSPACE[3] = "\? ";
$DELSPACE[4] = "! ";
$DELSPACE[5] = "? ";
$DELSPACE[6] = "! ";
$DELSPACE[7] = "\? ";
$DELSPACE[8] = "!! ";
$DELSPACE[9] = "!\? ";
$DELSPACE[10] = "\?! ";
$DELSPACE[11] = "\?\? ";
$DELSPACE[12] = "!! ";
$DELSPACE[13] = "!\? ";
$DELSPACE[14] = "\?! ";
$DELSPACE[15] = "\?\? ";
$DELSPACE[16] = "」 ";

#DELFLUG = 16;		//空白削除パターンの最後の要素番号

#y = 0;

DEL:
gofiletop;
if(#y <= #DELFLUG){
	searchdown $DELSPACE[#y];
	while ( result ==true ){
		right;
		delete;
		searchdown $DELSPACE[#y];
	}
#y = #y + 1;
goto DEL;
}
<!-- 感嘆符後に空白を挿入処理 -->
<!-- 対象感嘆符パターン -->
$INSSPACE[0] = "!";
$INSSPACE[1] = "?";
$INSSPACE[2] = "!!";
$INSSPACE[3] = "!\?";
$INSSPACE[4] = "\?!";
$INSSPACE[5] = "\?\?";

#INSFLUG = 5;		//対象感嘆符パターンの最後の要素番号

#z = 0;

INS:			//処理
gofiletop;
if ( #z <= #INSFLUG ){
	searchdown $INSSPACE[#z];
	while ( result == true ){
		if ( #z >= 2 ){ right; }
		right;
		insert " ";
		searchdown $INSSPACE[#z];
	}
#z = #z + 1;
goto INS;
}

#z = 0;
<!-- 台詞の最後の感嘆符の修正 -->
FIX1:
if (#z <= #INSFLUG ){
	replaceallfast $INSSPACE[#z] + " 」" , $INSSPACE[#z] + "」";
	#z = #z + 1;
	goto FIX1;
}

#z = 0;
<!-- 閉じ括弧前の感嘆符の修正 -->
FIX2:
if (#z <= #INSFLUG ){
	replaceallfast $INSSPACE[#z] + " )" , $INSSPACE[#z] + ")";
	#z = #z + 1;
	goto FIX2;
}

#z = 0;
<!-- 台詞の最後の感嘆符の修正(二重鍵括弧) -->
FIX3:
if (#z <= #INSFLUG ){
	replaceallfast $INSSPACE[#z] + " 』" , $INSSPACE[#z] + "』";
	#z = #z + 1;
	goto FIX3;
}

#z = 0;
<!-- 入り括弧前の感嘆符の修正 -->
FIX4:
if (#z <= #INSFLUG ){
	replaceallfast $INSSPACE[#z] + " (" , $INSSPACE[#z] + "(";
	#z = #z + 1;
	goto FIX4;
}

enableinvert;
enabledraw 1;

メモ

関連する用語

用語
解説

関連する商品

話題まとめ

資料リンク

リンク