ユーロ記号でフォントが乱れるNo.10314
タケ さん 06/05/02 23:53
 
ユーロ記号(文字コード 0x80)が含まれた以外は 7bit コードのみの
英文というか欧文で表示がおかしくなります。具体的にはユーロ記号が
含まれている行だけが、指定したフォントでの表示されません。
ユーロ記号があるかどうかで、2種類のフォントが入り交じって表示
されるため、非常に読みづらくなります。フォント指定が Terminal
13.5 や System 13.5 のときに確認しました。秀丸のバージョンは
Ver.6.00β21 です。他のバージョンは不明です。

例えば、バイナリモードで以下の文字コードのファイルを作成して、
次に通常モード (エンコードを自動判定) で読み込むと再現します。
    57,69,20,0A,57,69,80,0A,
1行目が指定した等幅フォント (例えば Terminal) なのに対し、
2行目がプロポーショナルフォントになります。エンコードを欧文に
手動で指定すればフォント自体が欧文系フォントになり、先の2種類
のフォントが混じって表示されるようなことはありません。

[ ]
RE:10314 ユーロ記号でフォントが乱れるNo.10315
タケ さん 06/05/03 00:17
 
補足ですが、問題としているのは「フォントの乱れをなくすことが
できないか?」ということで、ユーロ記号が文字化けしてしまう
ことに関しては全く気にしません。文字化けは承知の上で読み込ん
でいますから。

ちなみに、先のフォントが乱れた状態で、エンコードの種類を
「欧文」に切り替えたあと、[ファイルを読み込みし直す] と
[内容を維持したまま適用] とで表示される結果が異なりますが
これはなぜでしょうか? 前者はユーロ記号が表示されますが
後者は□(とうふ)が表示されます。

[ ]
RE:10315 ユーロ記号でフォントが乱れるNo.10320
秀丸担当 さん 06/05/08 10:58
 

>例えば、バイナリモードで以下の文字コードのファイルを作成して、
>次に通常モード (エンコードを自動判定) で読み込むと再現します。
>    57,69,20,0A,57,69,80,0A,
>1行目が指定した等幅フォント (例えば Terminal) なのに対し、
>2行目がプロポーショナルフォントになります。エンコードを欧文に
>手動で指定すればフォント自体が欧文系フォントになり、先の2種類
>のフォントが混じって表示されるようなことはありません。

手順通りにして確認することができました。
これを解決するには、エンコードの種類を欧文とすることが、解決方法というこ
とになります。
Terminalだとなぜかプロポーショナルフォントになるようですが、この状態はエ
ンコードの種類を「日本語(Shift-JIS)」としてファイルを読み込んだとき、
0x80が認識できずに文字化けしている状態です。

メモ帳でも同様の問題が起きるので、Terminalでこの文字化けするケースのテキ
ストを描画すると、OSが自動的に判別してこのような描画になってしまうようで
す。

欧文のテキストも読み込むことがある場合、[その他]→[動作環境]→[ファイル]
→[エンコード1]→[ファイルの内容を解析してエンコードの種類を自動認識す
る]で、欧文にもチェックを入れておくことをお勧めします。


>ちなみに、先のフォントが乱れた状態で、エンコードの種類を
>「欧文」に切り替えたあと、[ファイルを読み込みし直す] と
>[内容を維持したまま適用] とで表示される結果が異なりますが
>これはなぜでしょうか? 前者はユーロ記号が表示されますが
>後者は□(とうふ)が表示されます。

「内容を維持したまま適用」は、見た目そのままを維持してエンコードの種類を
切り替えるので、豆腐で文字化けして見えていたものは、そのまま維持されて豆
腐になります。

Terminalだと多少混乱してしまいますが、MS ゴシックなどにしておくと、こ
の挙動が理解しやすいかもしれません。

[ ]
RE:10320 ユーロ記号でフォントが乱れるNo.10328
タケ さん 06/05/08 19:40
 
>メモ帳でも同様の問題が起きるので、Terminalでこの文字化けするケースのテキ
>ストを描画すると、OSが自動的に判別してこのような描画になってしまうようで
>す。

メモ帳で確認して納得しました。


>欧文のテキストも読み込むことがある場合、[その他]→[動作環境]→[ファイル]
>→[エンコード1]→[ファイルの内容を解析してエンコードの種類を自動認識す
>る]で、欧文にもチェックを入れておくことをお勧めします。

この方法で十分なので、これで対応したいと思います。ありがとうございました。

[ ]