簡体字中国語(GB18030)に対応してもらえませんか?

  1. 長年Meryを愛用させてもらっています。
    ご存じかもしれませんが、2022年に中国の国家標準規格としてのエンコーディングがGB2312からGB18030へと強制力を伴って変更されています。
    そのため、ここ数年の間に中国語関連のテキストを扱っているとGB2312ではたまに一部文字化けをしてしまうことがあり、その場合だけMery以外のエディタを扱う必要があります。
    長年愛用しているMeryに比べたらGB18030のためにだけ使用しているエディタは扱いにくく困っており、MeryでGB18030が扱えると非常に助かります。
    エンコーディングの一覧に「簡体字中国語(GB18030)」を追加していただけないでしょうか。
    ご検討、よろしくお願いいたします。

    ーーーー
    Mery: 3.7.13 (x64, Portable)
    Onigmo: 6.2.0
    C/Migemo: 1.3
    Tidy: 5.8.0
    Hunspell: 1.7.1
    アウトライン: 3.2.2 (Outline.dll)
    OS: Windows 11 (Version 23H2, OS Build 22631.4751, 64-bit Edition)

     |  しーな  |  返信
  2. ご愛用いただきありがとうございます。

    > ご存じかもしれませんが、2022年に中国の国家標準規格としてのエンコーディングがGB2312からGB18030へと強制力を伴って変更されています。

    これは知りませんでした。エンコーディングといえば UTF-8 が標準になりつつあると思っていましたが、中国では UTF-8 ではなく GB18030 が公式に採用されているのですね。

    調べてみたところ、GB18030 は Unicode のすべての文字を扱えるものの、BOM のような識別情報がないため、テキストファイルが GB18030 かどうかを自動判定するのはかなり難しそうです。

    自動判定には、中国語の統計的な文字頻度を考慮する必要があるようですね。

    さらに、日本語 EUC とバイトパターンが似ている部分があり、誤認識されやすいのも厄介なところです。

    ひとまず、自動判定は置いておいて、手動でエンコーディングを選択して開いたり保存したりできるようにするだけなら、実装できそうなので検討してみたいと思います。

     |  Kuro  |  返信
  3. 対応検討ありがとうございます。
    自動判別が無くとも、手動でGB18030が選択できるだけで非常に助かりますので、期待しながらこれからも愛用させていただきます。

    余談になりますが、グローバルな標準としてはUTF-8が普及しているというのはその通りだと思います。
    ただ、日本語や中国語といった非ラテン文字地域だとUTF-8では3バイト文字がほとんどとなり、容量(ファイルサイズ)の無駄遣いになるという側面がありますので、マルチバイト文字セットが使われる場面はまだまだあるようです。
    なお、中国でUTF-8等のUnicode系のエンコーディング自体は禁止されておらず普通に使われていますので、単にGB2312からGB18030へと強制移行しただけのようです。

    何年先になるかわかりませんが、各種エディタから「簡体字中国語(GB2312)」というエンコーディングの選択肢は消えていくのかもしれません。

     |  しーな  |  返信
  4. ご返信ありがとうございます。

    > ただ、日本語や中国語といった非ラテン文字地域だとUTF-8では3バイト文字がほとんどとなり、容量(ファイルサイズ)の無駄遣いになるという側面がありますので、マルチバイト文字セットが使われる場面はまだまだあるようです。

    なるほど、確かに。テレホーダイを活用していた時代や、パケット料を節約していた頃を思い出すと、1 バイトの重みが身にしみて分かりますね。

    GB18030 では、よく使われる中国語の文字は 2 バイトなんですね。GB2312 に Unicode 対応を取り込んだようなイメージでしょうか。

    > 何年先になるかわかりませんが、各種エディタから「簡体字中国語(GB2312)」というエンコーディングの選択肢は消えていくのかもしれません。

    確かに、GB18030 は GB2312 と互換性があるようなので、今後は GB2312 が使われなくなっていく可能性は高そうですね。

    > 自動判別が無くとも、手動でGB18030が選択できるだけで非常に助かりますので、期待しながらこれからも愛用させていただきます。

    そう言っていただけると、とても励みになります。

    現在、手動での選択に対応できるよう実装を進めているところですので、次のバージョンをどうぞ楽しみにお待ちくださいませ。

     |  Kuro  |  返信
  5. > 現在、手動での選択に対応できるよう実装を進めているところですので、次のバージョンをどうぞ楽しみにお待ちくださいませ。

    その後、テキストファイルのエンコーディングを検出するライブラリとして、広く使用されている「chardet」に対応できる見込みが立ちました。

    これにより、GB18030 やその他の外国語もある程度自動でエンコーディングを検出できるようになりそうです。

    ただ、日本語に関しては、Mery の検出ロジックの方が精度が高い場合もあるので、chardet は主に外国語を使うユーザーさん向けのオプションとして提供する予定です。

    近日中にリリースできるよう進めていますので、もう少しだけお待ちいただけると嬉しいです。

     |  Kuro  |  返信
  6. 続報ありがとうございます。
    もともと数年前にMeryを使いだしたのは、当時サロゲートペアもケアしてくれている、エンコーディングに対して非常に強いエディタであったからだということを今さらながら思い出しました。
    そのMeryがGB18030にも対応してくれるということを非常に嬉しく思います。
    期待しつつ、引き続きお待ちしています。

     |  しーな  |  返信
スポンサーリンク