次の方法で共有


フォントとテキストのメトリック

このトピックでは、Windows で提供されるアウトライン フォント、Windows のバージョン間で変更される可能性があるフォント メトリック値、およびデスクトップ アプリでフォント メトリックを使用する方法のガイダンスについて説明します。

  • DirectWrite のフォント メトリックに固有の情報については、「テキスト メトリック」を参照してください。
  • GDI を使用してアプリ内のテキストを管理する方法の詳細については、「フォントとテキスト」のトピックを参照してください。

フォントの使用法と種類の仕様の詳細については、Microsoft の文字体裁サイトのを参照してください。

使用可能なフォント

Windows で提供されるアウトライン フォントは、TrueType アウトラインを含む OpenType フォントとして提供されます (Windows では、CFF 形式の OpenType フォントもサポートされています)。 Windows で提供されるすべてのフォントの一覧については、「Microsoft の文字体裁 : 製品別またはファミリ別のフォントを参照してください。 すべての Windows アウトライン フォントは、OpenType 仕様の最新バージョンに準拠しています。

現在および従来のすべての UI フォントの一覧については、以下の「ロックされたフォント メトリック 参照してください。

フォントの変更

下位互換性を確保するために、フォントが Windows から削除されることはほとんどありません。 ただし、多くの場合、フォントは変更されます。 変更には、文字の追加、既存の文字の再描画、ヒントの変更、高度な OpenType 機能と複雑なスクリプト シェイプのサポートの追加または変更が含まれます。

ロックされたフォント メトリック

Microsoft アプリで使用される UI フォントと既定のフォントに関連付けられている一部の値はロックされていることに注意してください。 UI フォントは、キャプション、ダイアログ、メニューなどの UI 要素をレンダリングするために使用されます。 可視性が高く頻繁に使用されるため、これらのフォントに加えられる変更はほとんどありません。 ただし、これらのフォントに関連付けられている報告された値はロックされているため、報告されたフォント値と実際のフォント値の間に不一致がある可能性があります。

次の報告された値は、UI と既定のフォントに対してロックされ、不正確に報告される可能性があります。

Windows 8.1 に付属している UI フォントの一覧を次に示します (ロックされた値の影響を受けます)。

スクリプト名 UI フォント
アラビア語 Segoe UI
アルメニア語 Segoe UI
バングラ Nirmala UI
Bopomofo Microsoft JhengHei UI
点字 Segoe UI シンボル
Buginese Leelawadee UI
カナダアボリジニの音節 Gadugi
チェロキー Gadugi
コプト語 Segoe UI シンボル
中国語 (簡体字) Microsoft YaHei UI
中国語 (繁体字) Microsoft JhengHei UI
キリル Segoe UI
Devanagari Nirmala UI
ディザレット Segoe UI シンボル
エチオピック Ebrima
グルジア語 Segoe UI
Gagolitic Segoe UI シンボル
ゴシック Segoe UI シンボル
ギリシャ語 Segoe UI
グジャラート語 Nirmala UI
グルムキ Nirmala UI
ヘブライ語 Segoe UI
古い斜体 Segoe UI シンボル
ジャワ語 Javanese Text
日本語 Meiryo UI
カナラ語 Mirmala UI
クメール語 Leelawadee UI
韓国語 マルグン ゴシック
ラーオ語 Leelawadee UI
ラテン語 Segoe UI
マラヤラム語 Nirmala UI
モンゴル語 モンゴルのバイティ
ミャンマー ミャンマーテキスト
N'Ko Ebrima
Ogham Segoe UI シンボル
Ol Chiki Nirmala UI
旧トルコ語 Segoe UI シンボル
Odia Nirmala UI
Osmanya Ebrima
Phags-pa Microsoft PhagsPa
ルーン 文字 Segoe UI シンボル
ソラ・センペン Nirmala UI
シンハラ語 Nirmala UI
シリア エストランジェロ エデスサ
Tai Le Microsoft Tai Le
新しい Tai Lue Microsoft New Tai Lue
タミール語 Nirmala UI
テルグ語 Nirmala UI
Tifinagh Ebrima
Thaana MV Boli
タイ語 Leelawadee UI
チベット語 Microsoft のヒマラヤ
ヴァイ Ebrima
Microsoft Yi Baiti

 

ロックされた値の影響を受けるレガシ UI フォントの一覧を次に示します。

スクリプト名 (レガシ) UI フォント (レガシ)
バングラ Vrinda
カナダアボリジニの音節 ユーフェミア
チェロキー Plantagenet
中国語 (簡体字) Microsoft YaHei と SimSun
中国語 (繁体字) MingLiU と Microsoft JhengHei
Devanagari マンガル
ヨーロッパ言語 Tahoma
グジャラート語 Shruti
グルムキ Raavi
日本語 Meiryo と MS ゴシック UI
カナラ語 トゥンガ
クメール語 クメール語
韓国語 Gulim
ラーオ語 ラオス語 UI
マラヤラム語 カルティカ
中東言語 Tahoma
Odia カリンガ
シンハラ語 イスコラ ポタ
タミール語 ラタとヴィジャヤ
テルグ語 Gautami
タイ語 リーラワディーとタホマ

 

これらのフォントは、Microsoft アプリの既定値として使用され、ロックされた値の影響も受けます。

  • Arial
  • Calibri
  • カンブリア
  • Consolas
  • Courier New
  • MS Mincho
  • Times New Roman
  • Verdana

動的フォント メトリック

上記のロックされたメトリックを除き、フォント値は正確に報告されます。 新しいバージョンの Windows でフォントが変更された場合、動的フォントの値は新しいフォントと古いもので異なります。 たとえば、グリフをフォントに追加すると、フォントのヘッダーの値が変更される可能性があります。 クリッピングは、これらの値 (xMin、xMax、yMin、yMax を含み、フォント内のグリフの最小境界ボックスと最大境界ボックスを報告する値) がロックされ、真の値を報告しなかった場合に発生する可能性があります。

大事な

アプリで動的フォント値 (TEXTMETRICの値など) を使用する場合、今後のバージョンの Windows でフォントが変更されると、これらの値が変更されます。 テキストを静的に保つ必要がある場合は、これらの実際の値を使用しないでください。

 

フォント メトリックを使用するためのガイドライン

  • アプリの起動時に画面のメトリックとフォント メトリック (平均幅など) を計算し、これらの値を使用してアプリをレイアウトします。 これにより、一貫して正確なレンダリングが提供され、レイアウトはフォントの変更に対応するか、フォントフォールバックに対応します。 フォント フォールバックとフォント リンクの概要については、「グローバリゼーションのステップ バイ ステップ: フォント」を参照してください。 Uniscribe 固有の情報については、フォント フォールバック の使用に関する を参照してください。
    • ベース メトリックを計算するには、目的の言語/スクリプトの代表的なテキストをレンダリングします。
    • ラップされていないテキストの 1 行のみを含むコントロールの場合は、トリムされていないテキストの全幅に合わせてレイアウトします。
    • 複数行のコントロールの場合は、合計の長さを取得し、文字の長さで除算すると、使用できる幅が固定されています。 これは、リーダーに対する 1 つの "文字" が複数のコード ポイントになる可能性がある複雑なスクリプトでは、複雑な作業になります。
  • 垂直方向の間隔を計算するには、sTypoAscender、sTypoDescender、unitsPerEm (OS/2 テーブルのから) を使用します。 sTypoAscender は、テキスト フレームの上端から最初のベースラインへの最適なオフセットを決定するために使用され、sTypoDescender はテキスト フレームの下部から最後のベースラインへの最適なオフセットを決定します。
  • DirectWrite を使用している場合は、IDWriteTextLayoutを使用してレイアウトを作成します。 IDWriteTextLayout は、自然なレイアウトで アセンダー + 降順 + lineGap を提供します。 これらの特定の値には、DWRITE_FONT_METRICSを使用してアクセスできます。 このインターフェイスの詳細については、「テキストの書式設定とレイアウトの」を参照してください。
  • GDI を使用している場合は、画面からレンダリングし、レイアウト (行の長さや 1 行あたりの文字など) を調べて、実際のレンダリングで使用される最終的なレイアウト パラメーターを再計算します。
  • 特定のバージョンのフォントの特定の値に基づいてレイアウトを静的に構築しないでください。 実際の値はリリースからリリースに変更される可能性があります。

リファレンス

IDWriteTextLayout

DWRITE_FONT_METRICS

TEXTMETRICする

unitsPerEm する

OS/2 テーブル

垂直デバイス メトリック テーブル (VDMX)

Microsoft の文字体裁: 製品別またはファミリ別のフォント

概念

テキスト メトリック (DirectWrite)

フォントとテキスト (GDI)

Microsoft Typography