[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:58113] Re: バックスラッシュと円の問題



綾小路様
とても丁寧な解説ありがとうございます。

On 08/14/2016 01:49 PM, Kenji Matsui wrote:
さらに「外観の設定」(少なくともMateでは画面上部のメニューからたどれま
す)の「フォント」の項目は
アプリケーション:   Sans
ドキュメント:          Sans
デスクトップ:          Sans
ウィンドウのタイトル:  Sans Bold
固定幅のフォント:      Monospace
とこちらも全く同一。

ここの5項目をすべて IPAゴシック Regular に変更し、
geditでは 設定→フォントと色 から
IPAゴシック Regular 10
plumaでは 設定→フォントと色 から
IPAゴシック Regular 10
に変更し再ログインしてみても、
もともとどちらのキーでも円しか出力されなかった方では、やはり円しか出力されませんでした。


On 08/20/2016 12:56 AM, AYANOKOUZI, Ryuunosuke wrote:
gedit で結果を確認するには、
エンコーディングのわかっているファイルを
そのエンコーディングを明示的に指定して、
表示するほうが良いでしょう [3]。

[3]
                 | ascii | latin1 | utf8   | Shift_JIS
=================+=======+========+========+===========
バックスラッシュ | 0x5c  | 0x5c   | 0x5c   | 0x5c
円記号           |       | 0xa5   | 0x2ca5 | 0x818f
-----------------+-------+--------+--------+-----------

$ printf '0000000: 2c a5 5c' | xxd -g 1 -revert - | gedit --encoding='UTF-8' - $ printf '0000000: 81 8f 5c' | xxd -g 1 -revert - | gedit --encoding='SHIFT_JIS' -

2c → c2 と修正すると
$ printf '0000000: c2 a5 5c' | xxd -g 1 -revert -
¥¥
$ printf '0000000: c2 a5 5c' | xxd -g 1 -revert - | gedit --encoding='UTF-8' -
こちらも同じように表示されました。

$ printf '0000000: 81 8f 5c' | xxd -g 1 -revert -
�
$ printf '0000000: 81 8f 5c' | xxd -g 1 -revert - | gedit --encoding='SHIFT_JIS' -
こちらもgeditでは
¥¥
が表示されました。

LANG の内容からターミナルは
入出力が utf8 エンコードされているものと期待していることがわかります。
yen_latin1_a5.txt は laten1 としては valid ですが utf8 としては invalid です。
utf8 的に未定義の 0xa5 というバイト列を表示しようとしているため、
"REPLACEMENT CHARACTER" である U+FFFD が表示されています。
これが正しく (円記号として) 表示されることを確かめたければ、
以下の様なコマンドを使います。

$ gedit --encoding='ISO-8859-1' yen_latin1_a5.txt

$ gedit --encoding='ISO-8859-1' yen_latin1_a5.txt
¥
これもめでたく全角円記号が表示されました。

その他に、円しか出力されない方のdebianで起こる奇妙な挙動としましては、
円記号がplumaで見ると全て半角、geditで見ると全て全角になっているファイルを
$ iconv -f sjis -t utf8 TeX27.tex > TeX27_iconv.tex
だと円記号が全角円記号になり、そのままではtexが正常にコンパイルできず
$ nkf -wd TeX27.tex > TeX27-wd.tex
だとそのようなことはなく、そのままtexが正常にコンパイルできる、
などということもありました。

このように多少ひっっかるところはありますが、
自動的に変換させたtexがだいたい正常にコンパイルできるようになり主目的は達しました。
一番最初のメールに書きましたバックスラッシュと円記号の出力仕分けの問題は
それができるようになればtexの正常なコンパイルもできるかもと思い書いた内容ですので
放置しておいても問題ないといえば問題ないです。

---
Kenji Matsui