エム(EM)スクエア
— 「エム・サイズ(em size)」または「UPM」(Units Per eM、ユニット数)とも呼ばれます。フォントでは、各文字はそれぞれ方形のエリアに収まっています。伝統的な金属活字の時代には、この方形エリアは各文字の実際の金属ブロックでした。各文字の高さは同一なので、文字が列やブロックにきれいに配置できました(次の写真を参照)。
ひとつの活字の高さは「em」として知られており、大文字「M」の文字幅に由来します。文字の高さは、大文字 M の比率が正方形になるように作られました(したがって、「em square」〔エム平方〕という単位が付けられました)。
この em サイズは、金属活字のポイント・サイズが基準となって計算されたものです。したがって、10 ポイントの活字は 10 ポイント em となります(下図参照)。
デジタル・フォントでは、em はデジタル的に定義されたスペースの量です。OpenType フォントの場合、「UPM」、すなわち「em サイズ」は通常 1000 単位に設定されています。TrueType フォントでは、UPM は慣例的に 2 の冪乗になっており、通常は 1024 または 2048 に設定されています。
フォントが組版に使われると、em は希望のポイント・サイズに拡大縮小されます。 つまり、10 ポイントの文字では、たとえば 1000 単位が 10 ポイントに変換されることを意味します。
ということは、あなたの作成した大文字「H」の高さが 700 単位であったとすると、10 ポイントの活字では、文字の高さが 7 ポイントになるということです。
グリフ枠での設定
あなたのフォントでどの UPM 設定(1000、1024、2048)を用いるかが判ったら、書体のすべての要素が確実に「UPM スクエア」枠の中に収まるように、グリフの描画を設定する必要があります。
「em スクエア」の大きさは、FontForge メニューから「エレメント (L) ⇒ フォント情報 (F)…」を開き、「一般情報」をクリックします。すると、「EM設定」という項目があり、値が「アセンダー」と「ディセンダー」の大きさ、つまり「ベースライン」から上方向の距離(高さ)と下方向の距離(深さ)に割り振られています。
《※ 訳注: 2023.11 時点で参照した Linux 版 FontForge のバージョンは「20201107」であり、上記の記述と異なる場合があります。》
ベースライン The Baseline:
キャプハイト The Cap Height:
エックスハイト The x-height:
後に書体をデザインするときに、作業中のアウトラインとは関係なく、 PostScript フォントのアウトラインと FontForge のオートヒンターに使用される Blue 値(BlueValues)を設定する必要があります。
この設定は、メニューの「エレメント (L) ⇒ フォント情報 (F)…」から、「PS Private 辞書」タブをクリックします。FontForge は作業中のアウトラインに基づいて最初に BlueValues 値を推測し設定しますが、「オーバーシュート」と「アンダーシュート」用に自分自身でその値を編集する必要があります(「オーバーシュート」と「アンダーシュート」の考え方については、後々の章「「o」と「n」を生成する」を参照してください)。まずは、FontForge とその描画機能について理解してください。