csvファイルを開くと表示フォントが変わるNo.37947
フィードバック さん 20/01/23 02:37
 
秀丸エディタ8.90 ベータ13
動作報告

複数の.txtファイルを開いて、横書き一時、縦書き一時、フォント変更などを繰り返
したのち
ファイルタイプ別の設定「共通」(横書き)と「本文」(.txt縦書き)がある状態で
カンマ区切りの.csvファイルを秀丸エディタにドロップで読み込み
この時点で下のステータスバーには「共通」「本文」どちらの表示もありません
表示フォントが2つの設定にない、今まで利用したことのないフォントで表示されま
した

秀丸の初期設定はUTF-8
csvファイルはShift-JISのようでしたので、開くときに文字コードをShift-JISに
デザインの色などは設定どおり生きていると思います

設定していたフォント
「共通」小塚ゴシック
「本文」小塚ゴシック
実際の画面表示 小塚ゴシック

csvファイルを開いたときの設定のフォント
「共通」DF丸ゴシック
「本文」小塚ゴシック
実際の画面表示 DF丸ゴシック

ファイルを閉じて開き直し

設定していたフォント
「共通」小塚ゴシック
「本文」小塚ゴシック
実際の画面表示 DF丸ゴシック

秀丸エディタを終了して開き直し

「共通」DF丸ゴシック
「本文」小塚ゴシック
実際の画面表示 DF丸ゴシック

このDFフォントはOSに入っていますが、秀丸エディタでは指定したことがありま
せん

[ ]
RE:37947 csvファイルを開くと表示フォンNo.37948
フィードバック さん 20/01/23 02:40
 
補足

「設定していたフォント」というより、
ファイルタイプ別の設定で表示されていた選択済みのフォントのことです
csvファイルドロップ後は設定を変更していません

[ ]
RE:37948 csvファイルを開くと表示フォンNo.37949
フィードバック さん 20/01/23 03:21
 
csvファイルを開いたあとは
csvファイルを閉じて他のtxtファイルだけになっても
「共通」のフォント設定を変更しても
本文で表示されるフォントは変更されません

「共通」の設定画面の選択ではDF丸ゴシックになっていますが
本文で表示されているのは源ノ角ゴシックです

[ ]
RE:37949 csvファイルを開くと表示フォンNo.37951
秀丸担当 さん 20/01/23 12:06
 

おそらくですが、UTF-8などのUnicodeのファイルとShift-JISのファイルは別のフォ
ントが設定できるようになっているため、それで違うのだと思います。
ファイルタイプ別の設定の「フォント」の[+]をクリックして展開したところにある
「多言語」でそれぞれの設定があります。

[その他]→[ファイルタイプ別の設定...]で設定を見るときは、現在開いているファ
イルのエンコードの種類に対するフォントなので、「多言語」の設定はいじならくて
も「フォント」の設定で変更可能です。
[その他]→[ファイルタイプ別の設定のリスト...]の場合は、現在開いているファイ
ルは関係無いです。

----

長いですが、なぜこうなっているかというと、Windows9x時代から(というかもっと
前から)続くWindowsの仕様が関わっています。
最初からどのエンコードの種類でも同一のフォントにできればそれが理想なのですが、
Windows9x時代からあるフォントの仕様として言語別に分かれた文字セットというも
のがあて、例えば欧文のファイルでは欧文のフォントしか指定できないという制約が
ありました。
メモ帳のフォント選択を見るとわかりやすいですが、フォントはサポートされている
文字セットがそれぞれ違います。

秀丸エディタV8.30未満では、Unicodeで指定可能なフォント一覧と、Shift-JISで指
定可能なフォント一覧は異なるものでした。
ですが秀丸エディタV8.30以降では、その制約を取っ払って、どのエンコードの種類
であっても、全てのフォントが選択可能となるように拡張しています。
設定そのものはV8.30未満からも引き継いでいて、バージョンアップしたら突然フォ
ントが変わったということにはならないようにしています。
そういったいきさつがあって設定としては分かれていて、ちょっとややこしいですが、
Shift-JISでは改めてフォントを指定していただく必要があります。

[ ]
RE:37951 csvファイルを開くと表示フォンNo.37954
フィードバック さん 20/01/23 17:55
 
「多言語」で小塚ゴシックになっていたのを
ほかのフォントに変えると
画面の本文表示に適用されました

その後「共通」のフォントを変更すると
別のフォントに変えることができました

Shift-JISが原因なのはなんとなくわかりました
OSに依存する部分なんですね
でも、以前にもShift-JISデータを開いたことがありましたが
フォント表示が勝手に変わったことはなかったような記憶があります

Shift-JISファイルを閉じても、秀丸エディタを終了して起動しなおしても
UTF-8のファイルを開いても
「共通」の設定のフォントを変更しても反映されない状態でした
ここが意図しない挙動でした

[ ]
RE:37954 csvファイルを開くと表示フォンNo.37955
フィードバック さん 20/01/23 21:03
 
>その後「共通」のフォントを変更すると
>別のフォントに変えることができました
この後は、「共通」のフォント変更では効かず
「多言語」の「Unicode」のところでフォントを変更しないと
UTF-8のテキストファイルの表示には反映されません

[ ]
RE:37955 csvファイルを開くと表示フォンNo.37957
秀丸担当 さん 20/01/24 09:07
 

おそらくですが、「ファイルタイプ別の設定」で選ぶときと、「ファイルタイプ別の
設定のリスト」から選ぶときで、違うことがあるケースになっているのではないかと
思います。
[その他]→[ファイルタイプ別の設定...]で設定を見るときは、現在開いているファ
イルのエンコードの種類に対するフォントなので、「多言語」の設定はいじならくて
も「フォント」の設定で変更可能です。
[その他]→[ファイルタイプ別の設定のリスト...]の場合は、現在開いているファイ
ルは関係無くて、「多言語」のほうを気にする必要がある場合があります。
ファイルタイプ別の設定の「フォント」の設定画面で変更される対象は、右下あたり
に「言語:日本語」とか「言語:Unicode」とかいう表示があって、Shift-JISの場合
は日本語、UTF-8の場合はUnicodeが対象になっています。
わかりにくくてなんとかしたいところではあるのですが、やむを得ずこうなっていま
す。

[ ]
RE:37957 csvファイルを開くと表示フォンNo.37963
フィードバック さん 20/01/29 03:02
 
>「フォント」の設定で変更可能です。
「フォント」で設定を変更しても、本文表示のフォントが変わらないので、「多言
語」で「Unicode」を選択してフォントを設定して、反映させています。
「多言語」は、なぜか「日本語」になっていて、「Unicode」が選択からはずれてい
ます。

「フォント」の設定の右下のほうの表示は、Shift−JISなどの「日本語」です。
小塚などのUnicode対応フォントが選択されていても「日本語」です。
その状態で「多言語」を見ると、「日本語」が選択されています。

再現は、「ファイルタイプ別の設定のリスト」で設定したものを「一時的に適用」
で必ずなります。
再起動しても同じです。

第2フォントを古い第二水準漢字までのShift−JIS時代に使われていたフォントを選
択したり、Unicode対応の小塚を選択した
状態で第2フォントをオフにしてみたりしてみても同じでした

読み書きしているテキストファイルは、8.89のころから同じの、UTF-8形式です。
8.89のときは、フォント変更をしょっちゅうしていて、「設定」をそのつど更新して、
本文フォントの表示は反映されていました。
Shift-JISのファイルは、今回だけですが、何か引き金になったかもしれません。

できるだけ情報提供したいです。
自分以外で再現できると良いのですが。



[ ]
RE:37963 csvファイルを開くと表示フォンNo.37964
秀丸担当 さん 20/01/29 09:38
 

「ファイルタイプ別の設定のリスト...」から選んで設定を変更するときは、そうな
ることがあって、それはやむを得ない事情があってそうなっています。
再びUnicodeでも反映されやすい状態にするには、Unicodeのファイルを開いた状態で、
[その他]→[ファイルタイプ別の設定...]で、OKして保存するといいです。
「ファイルタイプ別の設定のリスト...」のときは、[その他]→[ファイルタイプ別の
設定...]でOKしたときの言語が現在のフォントの扱いになっています。

とはいえ、これはとても分かりにくい設定で、V8.30以降は本当は多言語の設定自体
をやめたいと思っているのですが、互換性のため無くせない状態です。
多言語の全部を一度にまとめて同じフォントに書き換えられるような設定を追加しよ
うと思います。そういう設定を任意ですると混乱も無くなると思います。多言語の設
定ページに「すべての言語で同じフォントを使用する」というオプションをβ16で追
加します。

[ ]