diff --git a/.gitignore b/.gitignore index f285108436..d3147e8290 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,7 @@ /.vs /cppcheck-*.xml /cppcheck-install.log +/help/sakura/sakura.hh /tests/build /Win32 /x64 diff --git a/appveyor.md b/appveyor.md index 401bbf059e..a4a9775332 100644 --- a/appveyor.md +++ b/appveyor.md @@ -92,6 +92,7 @@ APPVEYOR_REPO_TAG_NAME は利用をやめて 代わりに GIT_TAG_NAME を使う - [appveyor_env.py](appveyor_env.py) - [build-gnu.bat](build-gnu.bat) : (Platform="MinGW"のみ) Makefileをビルドしてbuild-all.batの処理を終了する - [build-chm.bat](build-chm.bat) : HTML Help をビルドする + - [remove-comment.py](help/remove-comment.py) : UTF-8 でのコンパイルエラーの回避のために日本語を削除するために [sakura.hh](sakura_core/sakura.hh) から一行コメントを削除する - hhc.exe (Visual Studio 2017 に同梱) - [run-cppcheck.bat](run-cppcheck.bat) : cppcheck を実行する - cppcheck.exe diff --git a/build-chm.bat b/build-chm.bat index 2b4824ff4a..472a988edc 100644 --- a/build-chm.bat +++ b/build-chm.bat @@ -11,6 +11,12 @@ set HHP_SAKURA=help\sakura\sakura.hhp set CHM_MACRO=help\macro\macro.chm set CHM_PLUGIN=help\plugin\plugin.chm set CHM_SAKURA=help\sakura\sakura.chm +set HH_SCRIPT=%~dp0help\remove-comment.py +set HH_INPUT=sakura_core\sakura.hh +set HH_OUTPUT=help\sakura\sakura.hh + +del /F "%HH_OUTPUT%" +python "%HH_SCRIPT%" "%HH_INPUT%" "%HH_OUTPUT%" || (echo error && exit /b 1) call :BuildChm %HHP_MACRO% %CHM_MACRO% || (echo error && exit /b 1) call :BuildChm %HHP_PLUGIN% %CHM_PLUGIN% || (echo error && exit /b 1) diff --git a/help/remove-comment.py b/help/remove-comment.py new file mode 100644 index 0000000000..11839fca2c --- /dev/null +++ b/help/remove-comment.py @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- +import os +import sys +import re +import codecs + +# 引数で指定した文字列から改行コードを取り除く +def clipEndOfLine(line): + return line.rstrip('\r\n') + +# 行からコメントを削除する +def clipCommet(line): + return re.sub(r'//.*', r'', line) + +# ファイルからコメントを削除する +def removeComment(inFile, outFile): + with codecs.open(inFile, "r", "utf_8_sig") as fin: + with codecs.open(outFile, "w", "utf_8_sig") as fout: + for line in fin: + text = clipEndOfLine(line) + text = clipCommet(text) + fout.write(text + "\r\n") + +if __name__ == '__main__': + if len(sys.argv) < 3: + print ("usage: " + os.path.basename(sys.argv[0]) + " ") + sys.exit(1) + + if not os.path.exists(sys.argv[1]): + print (sys.argv[1] + " doesn't exist") + sys.exit(1) + + removeComment(sys.argv[1], sys.argv[2]) diff --git a/help/sakura/sakura.hhp b/help/sakura/sakura.hhp index f512639015..73df167f54 100644 --- a/help/sakura/sakura.hhp +++ b/help/sakura/sakura.hhp @@ -805,7 +805,7 @@ HLP_UR001=res\HLP_UR001.html HLP_HISTORY=res\HLP_HISTORY.html [MAP] -#include ../../sakura_core/sakura.hh +#include sakura.hh [TEXT POPUPS] Cshelp.txt