[2]
OpenType フォントではグリフその他はフォント固有の単位
(フォント単位 >>1,
設計単位 >>7,
フォント設計単位 >>9)
で記述されます。
[3] em あたりの単位数 (units per em) は、フォントごとに任意に決定できます。
>>1
[11]
head
に
unitsPerEm
があります。
>>10
[12]
unitsPerEm
は [ 16, 16384 ] の整数に設定できます。
>>10
[4] ただし2の累乗が推奨されています。
>>1
TrueType outline
のフォントでは、
rasterizer
の性能最適化に資するので
2 の冪乗が推奨されます。
>>10
[5] 多くの TrueType フォントは 2048 単位/em とされます。
>>1
[6]
実際には 1000 単位/em や 1024 単位/em だったりもします。
[14]
unitsPerEm
値は、
フォントの座標グリッドの粒度を決めるものであり、
outline 制御点や mark-attachment anchor position
の指定に使う座標系となります。
>>10
[17]
実際 OpenType におけるフォント設計単位を使った値のほとんどは整数型になっており、
それより細かな指定はできません。
[15]
しかし SVG
ではフォント設計単位と SVG の単位の対応関係が定められていますが、
フォント設計単位の粒度に制約する規定はなく、フォント設計単位の粒度よりも細かな記述ができます。
グリフ座標
[13]
フォント設計単位は OpenType フォント内の多くの箇所で、
グリフに関わる各種の座標空間上の位置を表すため使われます。
[8]
座標空間についてはOpenTypeの座標参照。
- [1] OpenType glyph processing (part 2) - Typography | Microsoft Docs, alib-ms, https://docs.microsoft.com/ja-jp/typography/develop/processing-part2#gpos-table
- [7]
GDEF — Glyph Definition Table (OpenType 1.9) - Typography | Microsoft Docs, PeterCon, https://docs.microsoft.com/ja-jp/typography/opentype/spec/gdef#caret-value-tables
- [10]
head - Font header table (OpenType 1.9.1) - Typography | Microsoft Learn, PeterCon, , https://learn.microsoft.com/en-us/typography/opentype/spec/head
- [9]
OS/2 - OS/2 and Windows metrics table (OpenType 1.9.1) - Typography | Microsoft Learn, PeterCon, , https://learn.microsoft.com/en-us/typography/opentype/spec/os2