[pkg-anthy-devel] UTF-8 encoding change

Osamu Aoki osamu at debian.org
Sun Jul 7 02:50:14 BST 2019


こんにちは

On Sat, Jul 06, 2019 at 11:29:17AM +0900, ほりかわひさし wrote:
> 皆さん、こんにちは。
> 混ぜていただきありがとうございます。
> 
> 堀川といいます。よろしくお願いします。
> 
> Windows 用に IME
> を作りたくて、そのバックエンドとしてanthyを活用したいと思っています。
> 
> 今、いろんな変更が混ざってしまっているので整理しようと思いますが、
> 一番最初の変更は、ソースコードを utf-8-with-signature にすることです。
> Visual Studio は、BOM付きでないとUTF-8と認識してくれません。これは gcc
> には影響ありません。

ソースコードのエンコーディングの話ですね。

最初なぜUTF-16やUTF-32のソースコード話でなく、本来バイトオーダー記号
(BOM)が不要なUTF-8テキストデーターにBOMコードがいるのか、意味不明で
した。ググってみました。

 https://forest.watch.impress.co.jp/docs/news/1157696.html
 https://chienomi.reasonset.net/archives/digi/software/1888
 https://uxmilk.jp/48923
 http://neos21.hatenablog.com/entry/2016/03/26/011623
 https://qiita.com/MuriNishimori/items/a89fe986e28909208e30
 http://neos21.hatenablog.com/entry/2016/03/26/011623

WINDOWSのエディター関係の特定の仕様対応の話ですね。でもWindows 10 19H1では
「メモ帳」などはすでに対策されたのですよね。まあ、付けても3バイト無駄にす
るだけとも言えますが、どうなんでしょうか?みなさん、出来ればUTF-8はBOMなしが
いい感じのトーンですよね。

https://ja.wikipedia.org/wiki/%E3%83%90%E3%82%A4%E3%83%88%E3%82%AA%E3%83%BC%E3%83%80%E3%83%BC%E3%83%9E%E3%83%BC%E3%82%AF

wikipedia の「バイトオーダーマーク」には:

UTF-8は文字コードとしてASCIIを前提としたプログラムでもおよそ支障なく
動作するように設計されているが、BOMによって正常に処理できなくなる場合
がある。Unicodeの規格において、UTF-8においてBOMは容認されるが、必須で
も勧められるものでもないとされている。

こう聞くと、Visual Studio側で対策できることなら、変なもの(BOM)は入れ
ないのがいい気がします。ググると、以下のような記事があります;

https://qiita.com/magnet163/items/b1061be4fb1c1833c156
http://tech.hikware.com/article/20171020a.html
http://kaorun.hatenablog.com/entry/20130529/1369809806
http://horoyoilab.hateblo.jp/entry/2015/04/05/173724
https://blog.shibayan.jp/entry/20130529/1369816283

Visual Studio 2017以降だとかなり簡単に対応できるし、それ以前ででも
対応策はあるようですよね。これらの対策をVisual Studio側でしない
理由はあります。

あくまで状況は、「Visual Studio は、BOM付きでないと*デフォルト*
でUTF-8と認識してくれません」程度のことのような気がしています。

いかがでしょうか?

青木




More information about the Pkg-anthy-devel mailing list