― MozillaZine.jp フォーラムは Mozilla 製品に関する情報交換の場です ―



All times are UTC + 9 hours

新しいトピックを投稿する トピックへ返信する  [ 4 件の記事 ] 
作成者 メッセージ
投稿記事Posted: 2022年7月20日(水) 19:02 
メール作成時は正しく半角円マークが入力出来て表示もされているのですが、そのメールを送信するとバックスラッシュとして表示されてしまいます(自分の環境で)。
正しく半角エンマークを表示するにはどのようにすれば良いでしょうか?


通報する
ページトップ
  
引用付きで返信する  
投稿記事Posted: 2022年7月21日(木) 10:58 
オフライン
Administrator

登録日時: 2005年6月23日(木) 23:29
記事: 2743
お住まい: 東京
https://ja.wikipedia.org/wiki/%E5%86%86 ... 8%E5%8F%B7
Wikipedia の「円記号」の記事 (特に「コンピュータによる扱い」と「Unicodeが持つ問題(円記号問題)」の節) および
https://ja.wikipedia.org/wiki/%E3%83%90 ... 7%E3%83%A5
「バックスラッシュ」の記事 (特に「バックスラッシュと円記号」の節)

を読んでいただくのが早いかと思います。

Thunderbird ではバージョン 52 以降、日本語メールを送信する際の既定のエンコーディングが UTF-8 になっているため、円記号問題にぶち当たります。
日本語キーボードには ¥ が印字されたキー (通常バックスペースキーの左横) と \ が印字されたキー (右シフトキーの左横) がありますが、どちらで入力しても Unicode 環境では バックスラッシュ (\, U+005C, REVERSE SOLIDUS) として扱われます。
円記号を明示的に使う場合には、全角円記号 (¥, U+FFE5, FULLWIDTH YEN SIGN) を使うのが簡単です。
半角円記号 (¥, U+00A5, YEN SIGN) を使う必要がある場合には、日本語 IME から明示的に選択する必要があります。

例: Microsoft IME では、¥ あるいは \ を変換するときに「半」となっているのがバックスラッシュ (\, U+005C)、「環境依存」となっている方が半角円記号 (¥, U+00A5)、「全」となっているのが全角円記号 (¥, U+FFE5) になります。


添付ファイル:
2022-07-21.png
2022-07-21.png [ 8.83 KiB | 表示数: 5578 回 ]

_________________
[Desktop] Windows 10 Pro 22H2 (64bit) / Intel Core i7-2600 / Nvidia GeForce GTX 1650 GDDR6 / 32 GB Memory
[Laptop] Windows 10 Pro 22H2 (64bit) / Intel Core i5-520M vPro / Intel HD Graphics / 8 GB Memory
[Android] Android 13.0 (arm64) / Xperia 5 III (XQ-BQ42)
常用環境: Firefox ベータ版、リリース版 (Win64 x86-64, Android), Thunderbird ベータ版、リリース版 (Win64 x86-64)
テスト環境: Firefox (ESR, Nightly, Win64 x86-64, Android)

Cai/1.0 (Homo sapiens; N; Homo sapiens chemist; male; rv:0.0.4.2+)
-- いつまでたっても nightly
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:103.0) Gecko/20100101 Firefox/103.0
通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2022年7月22日(金) 08:50 
環境依存の半角円マークを入力すると正しく表示されるようになりました。
ありがとうございます。

しかし面倒ですね。
今まで他のメーラーではこんなことなかったのですが…


通報する
ページトップ
  
引用付きで返信する  
投稿記事Posted: 2022年7月22日(金) 22:48 
オフライン

登録日時: 2014年2月22日(土) 00:59
記事: 4060
あたたたたたたた さん、EarlgreyTea と申します。

本件に限って言えば、Unicode で追加定義された本当の半角円記号 (¥, U+00A5, YEN SIGN) とは別の問題だと思います。
誰が受け取っても半角円記号でなくてはいけないなら U+00A5 を使う必要がありますが、我々が通常使ってる半角円記号は (\, U+005C, REVERSE SOLIDUS) の方ですので。

これはフォントの問題なのです。
日本語フォントならバックスラッシュは円記号として表示されます。
ちなみにこのフォーラムでバックスラッシュが円記号で表示されないのは、サイト側のフォント設定が、
コード:
font-family: "Lucida Grande", "Trebuchet MS", Helvetica, Arial, sans-serif;
という具合になっており、半角英数文字だと Trebuchet MS などが優先して使用されるためです。
( sans-serif まで該当フォントがなかった場合に、ブラウザー設定のメイリオなどが使われます)

話を Thunderbird に戻します。
日本語版 Thundebird だとフォント設定の既定値は、下記に示す設定になっているはずです。
添付ファイル:
対象言語_日本語.jpg
対象言語_日本語.jpg [ 75.91 KiB | 表示数: 5500 回 ]
「対象言語」の選択がポイントです。
フォント設定は「対象言語」ごとにあるのです。

対象言語「日本語」の設定は、日本語版においてはまずメール作成画面で使われます。
したがって、メール作成中の表示はバックスラッシュが円記号になってます。

そのメールを UTF-8 のテキストエンコーディングで送信し、それを受信したとします。
Thunderbird は UTF-8 のメールを表示する際、対象言語「他の表記体系」の設定を使います。
そしてその既定値は下記の通りです。
添付ファイル:
対象言語_他の表記体系.jpg
対象言語_他の表記体系.jpg [ 75.72 KiB | 表示数: 5500 回 ]
日本語フォントではありませんので、バックスラッシュはバックスラッシュとして表示されることになります。

では、メール表示の際、対象言語「日本語」の設定はいつ使われるのでしょうか。
それは ISO-2022-JP (いわゆるJISコード) の場合です。
昔は日本語のメールといえば送信・受信とも ISO-2022-JP が普通でした。
しかし、UTF-8 のメールが標準となったためこのようなちぐはぐな問題が生じることになりました。

主に日本語のメールを使うのであれば、対象言語「日本語」と対象言語「他の表記体系」の両方とも、同じ日本語フォント設定にしておくことをおすすめします。

_________________
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0


通報する
ページトップ
 プロフィール  
引用付きで返信する  
期間内表示:  ソート  
新しいトピックを投稿する トピックへ返信する  [ 4 件の記事 ] 

All times are UTC + 9 hours


オンラインデータ

このフォーラムを閲覧中のユーザー: Google [Bot] & ゲスト[54人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
Powered by MozillaZine.jp® Forum Software © phpBB Group , Almsamim WYSIWYG
Japanese translation principally by ocean