-
Notifications
You must be signed in to change notification settings - Fork 163
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HTMLヘルプの文字コードを変換する簡易ツールを導入する #996
HTMLヘルプの文字コードを変換する簡易ツールを導入する #996
Conversation
… と sakura-editor#939) を revert して CI ビルドが通るようにする"
✅ Build sakura 1.0.2143 completed (commit 9784aad0c2 by @berryzplus) |
❌ Build sakura 1.0.2144 failed (commit 69da7d68bc by @berryzplus) |
GitHubの差分表示ですが Shift JIS のhtmlファイルで確認してみたらきちんと表示されていました。でもたまにきちんと表示されない時があるんですかね? GitHub.io 側の html ファイルを Shift JIS に変えてしまうわけにはいかないんでしょうか? CIのJobが動くたびに大量のファイルの文字エンコーディング変換処理を走らせるのに少し抵抗が有ります。まぁそんな事言ったらこれ以上二酸化炭素吐き出さないで下さいとか言われそうですが…。 |
自己レスですがこのPRの差分表示でもたまにSJISのファイルの日本語表示が化けてますね。なので常にはきちんと表示できない欠陥品という事が理解出来ました。。 文字エンコーディングの変換処理は自前で書いたのをビルドして使うより iconv とか nkf を動かせないでしょうか?もしくは powershell 使うとか。 https://www.atmarkit.co.jp/ait/articles/0804/18/news155.html |
ビルド直前に文字コード変換を行う簡易ツールを追加する C#専用の.gitignoreを追加して、C#特有の無視リストを定義する CodeFactor指摘に対応するため若干作り直し
b04b2c3
to
7859add
Compare
何気に、CodeFactor対応しておりました・・・
773ファイルの変換で、所要時間は5秒です。(ビルド込み)
数日前に ここ に書いたんですけど 、Git自体に「それ系(≒コミットはUTF-8、ワークツリーはそれ以外)」を実現する機能があるらしいです。⇒ マニュアル マニュアルの例示は マニュアルに解決策が例示されてて「本家に追随!」となりそうな
|
github上でHTMLファイルの差分表示が化けない事にこだわる必要があるのか疑問です。 文字エンコーディング変換のお仕事はさせないに越した事は無い気がします。 しかしあんまり細かいコストは気にしてもしょうがないのかもしれないですね。 いやしかしソースコードと違って変更がされないのにCIのJobが走る度にHTMLヘルプを作成するというのが気になります。HTMLヘルプに関してはリポジトリ分けてしまうのはどうなんだろうか?と思います。 |
✅ Build sakura 1.0.2145 completed (commit 6c32409296 by @berryzplus) |
ああ、そうそう、こういう事情もあります。
変換方向が Unicode ⇒ Shift_JIS なので、マップできない問題が発生しうるんです。 https://ja.wikipedia.org/wiki/Shift_JIS 定義コードポイント 9千くらい HTML上では 文書管理をUTF-8のまま、かつ、文字化けを発生させないやり方としては、これを応用するっきゃないんかな、と思ってこういうツールができたわけです・・・。 |
まぁこの問題の根本的なところはオワコンの HTML Help Compiler を使い続けているところにあるんですよね。。utf-8 対応の為にMSがオープンソース化してくれないかとも思ったりしますが、MS的にもセキュリティホールだらけな黒歴史は闇に葬りたいのでしょう。。 |
なるほどー、使える文字種の制限を取り払うとなると確かに Shift JIS から Unicode に移るのが自然ですね。あとそれならヘルプ表示も chm を使うのではなくてブラウザでヘルプのファイルを開く形にするのが良い気がします。検索とか索引も JavaScript のライブラリ使ったりで出来るんじゃないかなと安易に思っています。 |
この指摘に対応すべきかどうか悩み中。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
AppVeyor 側で生成された chm を落として見たところきちんと表示されていました。
なので問題無いと思います。
レビューありがとうございます。 |
…utf8_to_SJis_just_before_ChmBuild HTMLヘルプの文字コードを変換する簡易ツールを導入する
PR の目的
ビルド直前に、UTF-8⇒Shift_JIS変換を行う仕組みを用意することにより、
HTMLヘルプのソースコードをUTF-8で登録できるようにします。
このPRは #975 を置換します。
このPRは #940 をrevertします。
カテゴリ
PR の背景
このPRは #975 のスピンオフです。
背景事情は元ネタ #975 から順に辿っていけば把握できると思います。
「辿るのめんどくさいんじゃ~」な人のためにざっくり版背景を併記しておきます。
重要なとこだけ抜き出すと、問題と対策(=このPRの趣旨)は以下のとおりです。
↓
HHC.exeがファイルを食う前に変換してANSI(Shift_JIS)にしちゃえばいいじゃん。
PR のメリット
PR のデメリット (トレードオフとかあれば)
とくにないと思います。
PR の影響範囲
関連チケット
#975 [WIP] #940 を revert して HTML Help 用の HTML ファイル、Javascript の UTF-8 対応 (#937 と #939) を 再投入
#940 HTML Help 用の HTML ファイル、Javascript の UTF-8 対応 (#937 と #939) を revert して CI ビルドが通るようにする
#937 HTML ヘルプの文字コードを UTF-8 BOM 付きに変換することにより、Web サイトのデータとヘルプのデータを簡単に同期できるようにする
#939 HTML の Help 中の JavaScript の文字コードを UTF-8 に修正
sakura-editor/sakura-editor.github.io#47