
・シナリオ・メッセージデータの、タグの間違いの検索方法
 How to check tags.

egrep -h '^[	 ]*[^	 %]' */*.txt | sed -E -e 's/<.*>/<\*>/g' -e 's/[	 ]*$//g' -e 's/^[	 ]*//g' | sort | uniq -c

egrep の ^[ の次は、４ヶ所ともタブ文字。
使用しているタグの全パターンが出力されるので、後は力押しでチェックする。


・メックデータの、間違いの検索方法
 How to check tags.

cat Design/*.txt | sed -E -f ./doc/design_check.sed | sort | uniq -c

使用している全パターンが出力されるので、後は力押しでチェックする。


・シナリオ・メッセージデータの、文字数制限（Pascalのバイト数制限）を越えている部分の検索方法
 How to check the length of messages.

egrep -n '^[	 ]*[^	 %]' */*.txt | env LANG=c egrep '^[^:]+:[0-9]+:.{254,}'
egrep -n '^[	 ]*[^	 %]' */*.txt | sed -E -f ./doc/length_check.sed | env LANG=c egrep '^[^:]+:[0-9]+:[^<]*<.{250,}>'
egrep -n '^[	 ]*[^	 %]' */*.txt | egrep -i prompt | sed -E -f ./doc/length_check.sed | env LANG=c egrep -i '^[^:]+:[0-9]+:.*prompt[^<]+<.{40,}>'

最初の egrep の ^[ の次は、両方ともタブ文字。
「env LANG=c」を忘れると、日本語や英語で何文字か、数えてしまうので駄目。「env LANG=c」を付けると、ASCII で何文字か、数えるので、バイト数と等価になるはず。
sedスクリプトにて、% や \ のタグにおける置換をシミュレートする。
	%JF 置換は日本語４文字
	%JS %JG 置換は日本語３文字
	\SCENE 置換は英語28文字
	その他の \置換は英語10文字
	%JA 置換は日本語10文字
	%a 置換は日本語８文字
	%n 置換は日本語７文字
	%t 置換は日本語11文字
を、想定している。
判定文字数が 255 や 45 ではなく 250 や 40 なのは、余裕を持たせる為。
CUIモードだと PROMPT が45を越えると、画面からはみ出す。
SDLモードだと PROMPT の文字数制限が 70 くらいまでいけるので、CUIモードの事を忘れないように注意されたし。


・アイテム名の文字数制限超過（CUIで画面からはみ出す）の検索方法
 How to check the length of items name.

grep -wi name Design/PC_Equipment.txt | egrep -vi '%.*name' | sed -E -e 's/.*<(.*)>/\1/g'|env LANG=C egrep '.{29,}'

[ End of File ]
