Re: Chromium bug: Japanese default font for the fixed font is not fixed font actually

敏先生、

インラインで:

> 2023/12/28 8:19、Kobayashi Toshi <binn@k.email.ne.jp>のメール:
> 
> 山口 様
> 木田 様
> みなさn
> 
>  小林 敏 です.
> 
> いくつか疑問がありますので,コメントいたします.
> 
>  木田泰夫 さんwrote
> 
>> プログラミングに対してモノスペース書体がなぜ重要なのか、例えばなぜより読みやすいHelveticaを使わないのか、つらつら考えていたのですが、山口さんの挙げられたように次の二点に突き詰められるかと思います。まずはモノスペースであることで空白文字を使って縦方向にカラムを揃えられること、そして一文字一文字誤認識がないこと。
> 
> 問題1 縦方向の位置については問題点は2つ
> 
> 字下げの行頭位置 これは,スペースでも同じものを使用すればプロポーショナルでもそろうのではないか.ましてやタブでも書式の指定でも同様.ということは,モノスペースとは無関係といえないか?

その通りです。行頭の位置決めはモノスペースとは関係ありませんし、またプログラミング用の編集ソフトウェアの多くにはタブストップという概念があります。ただし:
1) タブストップの位置の統一がないので、スペースを用いて行頭位置を決めた行と、タブを使った行が混在する場合、タブストップ位置や書体の異なる設定の編集ソフトに移った時に開始位置が崩れます。これを防ぐため、入力にはタブキーを使っても実際には決めた数のスペースを挿入するようになっている設定も一般的です。
2) モノスペースでないフォントの場合スペースの幅が狭いので、とってもたくさんスペースを入れないと行頭を望む位置に持ってくることができません。
そのため、モノスペースフォントの幅の広い空白文字が便利なのです。

もちろん、これらはモノスペースフォントを使わずとも容易に達成できます。例えば行頭位置決めをタブで行うと統一してしまえば良いのですし、また最近の賢いエディターは書かれているプログラミング言語の文法を知っていますので、スペースとタブが混在していても適切に行頭位置を統一することは技術的に容易です。

> 次にアラビア数字を使用する数表組で桁の位置をそろえるために数字はモノスペースでないといけない.このような事例はプログラミングのコード記述においてあるのでしょうか? もし記述内容について,その必要性がなければ,行送り方向の位置(縦方向の位置)をそろえる必要性はないことになり,モノスペースの必要性はなくなる.もし,その必要性があれば,その場合にモノスペースにすればいいことではないか.

そのような事例はあります。例えば複雑な構造のデータを表す場合です。文字列や、もしくはこれらに置き換えられる定数名、もしくは変数名が入りますので、数字だけとは限らず、あらゆる種類の文字が現れます。逆に言って日本語の部分にまでモノスペースが欲しくなるのはこの用途くらいでしょうか。

ただし、もちろん、スペースで位置揃えを行うなんて手段としてはびっくりするほど原始的です。上に述べた文法を知っているソフトでより適切な配置にすることは技術的に容易です。

なので上記の理由では、それが必須というより慣習という面が大きのかと思います。

> 次に文字認識,特に0(ゼロ)とO(大文字のo),1(数字の1)とI(大文字のi)とl(小文字のL)について
> 
> この問題は,モノスペースにしたから出てきた問題ではないか.プロポーショナルであれば,それぞれは字幅が異なる.これが区別の認識を助ける.さらに,ローマン体(サンセリフでもデザインによるが)を使えば,セリフの形が違うので,さらに区別しやすくなるのではないか?

プログラムは一文字間違えると動きませんから、字幅で区別できる程度以上に明確な区別が必要なのです。ゆえ、モノスペースフォントのゼロは通常丸の中に斜め線入りです。基本的なデザインはsans-serif書体であるにもかかわらず、大文字のアイはエのような形、数字の1は最後に明確なセリフ付き、小文字のエルは∫を左右逆にしたような形になるものが多いです。例えばserifフォントを選べばこのような区別がある程度つきますが、モノスペースフォントではこの差が誇張された形でデザインされています。

(* Courier はタイプライターのための伝統書体で、プログラミング用ではない。打った時に太くなる効果が画面では存在しないので細いです)

プログラミング用を考えると、モノスペースであること自体よりも、この字形の特徴の方がより本質的なのではないかと思います。

このように考えると日本で流行りのUDフォントと設計思想が似ていますね。UDフォントも一文字一文字の誤認識がないことにフォーカスしています。

> 最後に,説明の部分とプログラミングのコード記述とを区別したい,ということがある.これは,モノスペースにしなくても,例えば,説明がサンセリフなら,プログラミングのコード記述はロンマン体(ありはその逆)にするなどフォントを変えれば区別がつく.
> 
> そもそも,モノスペースの字形は,相当に無理をしたデザインになっている.ですので,読みやすさを損なっている可能性がある.人は読みたいものは無理しても読むので,それでいいと思っている可能性がある.それ以上の何かメリットや,そうしないといけない理由はあるのでしょうか,というのが私の疑問です.

その通りだと思います。一字一字の誤認を防ぐためのデザインで、読みやすいものとはいえないと思います(UD書体も同じように思います)。が、おそらく上に挙げたような理由で使い続けられています。

木田

Received on Thursday, 28 December 2023 00:44:08 UTC