楽譜をレンダリングするアプリケーションに取り組んでいます。音楽記号は通常のフォント ファイルで指定されます。このファイルでは、em 四角形の高さが通常の 5 線譜の高さに対応するという規則が使用されます。たとえば、符頭のグリフの高さは約 0.25 em で、これは譜表の 2 つの線の間の距離です。
レンダリングに関しては、4 単位が譜面の 5 線譜の高さに対応する座標系を使用します。したがって、em 正方形が最終的に 4 単位の高さでレンダリングされるように、グリフをレンダリングする必要があります。ただし、DirectWrite ではテキスト サイズをデバイスに依存しないピクセル (DIP) でしか指定できないため、座標系をどうやって切り替えるかについて混乱しています。これには 2 つの部分があります。
- DIP で指定されたフォント サイズから物理ピクセルで高さを計算できますが、その高さに何がマップされますか? em 平方またはその他のデザイン空間メトリック?
- 任意の変換行列を使用している場合はどうなりますか? 使用している座標系で意味のある値を取得するために DIP を指定するにはどうすればよいですか?
そして、適切な測定のために:
- これを機能させると、DIP 値が物理ピクセルと明確な関係を持たないため、フォント ヒンティングが台無しになるのでしょうか?