OSX 上の Chrome で中国語テキストに「モノスペース」を指定すると、PingFang SC が正しくレンダリングされますが、レンダリングされるフォントは、「PingFang SC」を直接使用してまったく同じフォントをレンダリングするよりも正確に 2 ピクセル高くなります。デモ:
https://jsbin.com/mahqub/edit?html、出力
1) font-family: monospace;
2) font-family: PingFang SC;
行の高さをまったく同じに設定しても同じ結果が得られるため、これは行の高さの問題ではありません。また、「lang」属性が正しく設定されていない場合に特殊文字/スペースが異なるスペースを占有するなどの問題にも気付きましたが、ここでは「lang」を設定し、特殊文字をまったく使用しないように制御しています。また、Chrome は PingFang SC がレンダリングされていると主張していることにも注意してください。また、私のシステムにはデフォルトの「PingFang SC」フォントだけがあり、他のユーザーがインストールしたフォントが存在しないことも確認しました。また、他のスクリプト (hrkt/hang およびもちろん Latin など) のモノスペース ジェネリックでのこの動作に気付いていません。
私の質問は次のとおりです。
1)「モノスペース」がまったく同じフォントを異なる方法でレンダリングするのはなぜですか?
2) これを検出する方法はありますか?