Sakura: ソースコードのUnicode化

Created on 13 Jun 2018  ·  23Comments  ·  Source: sakura-editor/sakura

以下の方針で考えています。何かあればご意見ください。

  • *.cpp, *.h は UTF-8 (BOM付き) とする
  • *.rc は UTF-8 (BOM無し) とする

*.cpp, *.h を UTF-8 にする理由

  • 現在の主流エンコーディング
  • SJIS だと割とよく文字化けする (最近の GitHub ではマシになってしますが、誤判定はしばしば起こります)
  • ローカル作業環境でも SJIS だと作業しにくいことが多い (diff等)。(特に日本語OS以外だとかなり厳しい)

*.rc を UTF-8 (BOM無し) にする理由

  • 現在の主流エンコーディング
  • BOM を付けるとリソースエディタで開けなくなるため、BOM は付けない

参考画像

メール文字化けが個人的にはかなりキッツイです。

対応タイミング

随時。で良いと思います。
ファイル数が多いので一括変更はちょっと大変。

All 23 comments

サクラエディタのソースファイルは全部で700ファイルくらいあって、
現時点で変換完了しているのは170ファイルだという事実。
まだ少し、先は長そうです・・・。

286 (#290 ) によりアセンブラ出力を行えるようになったので、コードの変更がないか簡単に確認できる。

https://ci.appveyor.com/project/sakuraeditor/sakura/build/1.0.456
と比較すればよい。

264 以外マージしました。

*.rc を UTF-16 にしたんでしょうか。

@m-tmatma さん お疲れ様です。

264も今日中にレビューしてしまいたいです。

いや、ぼくがやるだけなんですけどね :smile:

*.rc を UTF-16 にしたんでしょうか。

UTF-8 BOM なしにしました。(#251)

文字コードの確認手順を共有しときます。
サクラエディタのGrep機能で簡単に確認できるので。

sakura_grep.zip

もう、だいぶ進んだ感じです。
一部巻き戻ってるやつがある気がするので後日対応しなきゃです・・・。

.rc は当初 UTF-16 にする予定でしたが途中で方針変わり UTF-8 (BOM無し) にすることになったので本 Issue 本文もあわせて変更しました

これって何か残ってました?

Makefile直さないとコンパイル確認できないフォルダが一個だけあってそこ保留してましたが名前覚えてないです。もうフォルダごと消したんでしたっけ。そうであればUnicodeは全doneです。今スマホなのでちゃんと確認できてません、すみません。

#352 ですか?

あ、それです。リンクありがとうございます。
じゃあ自分の中ではこのIssueは対応doneの認識です。が、念のため全findで文字コードチェックの記録をエビデンスとして残せたほうが安心ですね。

すみませんが僕はもう今日は寝ますが……

文字コード一覧作りました。
FCChecker.zip

↑ をExcel にしてみました。
FCChecker2.zip

test-int2dec.cpp は ASCII になっていますが、
それ以外の cpp と h はすべて UTF-8 になっています。

test-int2dec.cpp は ASCII になっていますが、

これも修正要なものですか?、それとも放置でも可能?

test-int2dec.cpp は ASCII になっていますが、

これも修正要なものですか?、それとも放置でも可能?

当面必要ないのですが、 #469 を送りました。

当面必要ないのですが、 #469#469, test-int2dec.cpp を UTF-8 BOM 付きで保存する を送りました。

LGTM出しました :smile:

closeします!!!!!!!!!!!!!!

ちょっと確認したいので開きなおしま~す。 https://github.com/sakura-editor/sakura/pull/476#issuecomment-423877050

文字コード一覧作りました。
FCChecker.zip

ヘルプとインストーラソース以外で、Shifit_JISのファイルがこんだけありました。

\sakura-editor\sakura\BugsInfo.txt  Shift_JIS   CR LF
\sakura-editor\sakura\request.txt   Shift_JIS   CR LF
\sakura-editor\sakura\resource\sakura.exe.ini   Shift_JIS   CR LF
\sakura-editor\sakura\sakura\mingw32-del.bat    Shift_JIS   CR LF
\sakura-editor\sakura\sakura_core\Funccode_x.hsrc   Shift_JIS   CR LF
\sakura-editor\sakura\sakura_core\util\ReadMe_util.txt  Shift_JIS   CR LF
\sakura-editor\sakura\unofficialrelease.txt Shift_JIS   CR LF

「appveyorのロケールを変えない」という実験をしてみた結果、
sakura_core\Funccode_x.hsrcの文字コードも変えたほうが良さげ、ということが分かりました。

いちおう「他にはそういうのないんだよね?」というのを見ときたいです。

resource\sakura.exe.iniについては、これは標準INIなのでutf-8に変えてはいけないファイルです。
sakura\mingw32-del.batはバッチですが、utf-8にしても動くと思います。
それ以外のtxtファイルは、一律でutf-8に変換してよいような気がします。

sakura_core\Funccode_x.hsrcのUTF-8化はちょっとややこしいので、一括変換とは違う対応と思ってます。

sakura\mingw32-del.batはバッチですが、utf-8にしても動くと思います。

ダメでした。utf-8にするとまともに動作しない...orz

sakura_core\Funccode_x.hsrcの文字コードも変えたほうが良さげ、ということが分かりました。

これに関しては完了しています。

sakura\mingw32-del.batはバッチですが、utf-8にしても動くと思います。

ダメでした。utf-8にするとまともに動作しない...orz

こんな情報あった。
https://itpc.blog.fc2.com/blog-entry-193.html

残件は sakura\mingw32-del.bat だけかな?

マージ済みPR #494 MinGWビルドをappveyorに組み込むhttps://github.com/sakura-editor/sakura/commit/2638360cbc88a09869e3f44ee37d7df399061e7d#diff-2b4b3402862e08865e69047e2bb0bcb6 を入れてファイルをASCII化してるので、もう追加の対応は要らない感じなので閉じときます。

Was this page helpful?
0 / 5 - 0 ratings