ホーム › Graphics.DirectWrite › DWRITE_PANOSE
DWRITE_PANOSE
共用体サイズ=各フィールドのバイト数(x64/x86 で異なる場合は x64/x86 と併記)。x64/x86 列=フィールドのバイトオフセット(HSPで dupptr / lpoke / wpoke 等に使用)。
フィールド
| フィールド | 型 | サイズ | x64 | x86 | 説明 |
|---|---|---|---|---|---|
| values | BYTE | 10 | +0 | +0 | 書体分類値の 10 バイトの配列です。 |
| familyKind | BYTE | 1 | +0 | +0 | テキスト表示用の書体分類を指定する DWRITE_PANOSE_FAMILY_TEXT_DISPLAY の値 (2) です。 |
| text | _text_e__Struct | 10 | +0 | +0 | text 構造体です。 |
| script | _script_e__Struct | 10 | +0 | +0 | script 構造体です。 |
| decorative | _decorative_e__Struct | 10 | +0 | +0 | decorative 構造体です。 |
| symbol | _symbol_e__Struct | 10 | +0 | +0 | symbol 構造体です。 |
構造体: _text_e__Struct x64 10B / x86 10B
| フィールド | 型 | サイズ | x64 | x86 | 説明 |
|---|---|---|---|---|---|
| familyKind | BYTE | 1 | +0 | +0 | テキスト表示用の書体分類を指定する DWRITE_PANOSE_FAMILY_TEXT_DISPLAY の値 (2) です。 |
| serifStyle | BYTE | 1 | +1 | +1 | テキストのセリフ スタイルを指定する DWRITE_PANOSE_SERIF_STYLE 型の値です。 |
| weight | BYTE | 1 | +2 | +2 | 装飾書体の太さを指定する DWRITE_PANOSE_WEIGHT 型の値です。 |
| proportion | BYTE | 1 | +3 | +3 | テキストのプロポーションを指定する DWRITE_PANOSE_PROPORTION 型の値です。 |
| contrast | BYTE | 1 | +4 | +4 | 装飾書体のコントラストを指定する DWRITE_PANOSE_CONTRAST 型の値です。 |
| strokeVariation | BYTE | 1 | +5 | +5 | テキストのストローク変化を指定する DWRITE_PANOSE_STROKE_VARIATION 型の値です。 |
| armStyle | BYTE | 1 | +6 | +6 | テキストのアーム スタイルを指定する DWRITE_PANOSE_ARM_STYLE 型の値です。 |
| letterform | BYTE | 1 | +7 | +7 | テキストのレターフォームを指定する DWRITE_PANOSE_LETTERFORM 型の値です。 |
| midline | BYTE | 1 | +8 | +8 | テキストのミッドラインを指定する DWRITE_PANOSE_MIDLINE 型の値です。 |
| xHeight | BYTE | 1 | +9 | +9 | 小文字テキストの相対的なサイズを指定する DWRITE_PANOSE_XHEIGHT 型の値です。 |
構造体: _script_e__Struct x64 10B / x86 10B
| フィールド | 型 | サイズ | x64 | x86 | 説明 |
|---|---|---|---|---|---|
| familyKind | BYTE | 1 | +0 | +0 | テキスト表示用の書体分類を指定する DWRITE_PANOSE_FAMILY_TEXT_DISPLAY の値 (2) です。 |
| toolKind | BYTE | 1 | +1 | +1 | スクリプトの筆記具の種類を指定する DWRITE_PANOSE_TOOL_KIND 型の値です。 |
| weight | BYTE | 1 | +2 | +2 | 装飾書体の太さを指定する DWRITE_PANOSE_WEIGHT 型の値です。 |
| spacing | BYTE | 1 | +3 | +3 | シンボル書体の字間を指定する DWRITE_PANOSE_SPACING 型の値です。 |
| aspectRatio | BYTE | 1 | +4 | +4 | スクリプトのアスペクト比を指定する DWRITE_PANOSE_ASPECT_RATIO 型の値です。 |
| contrast | BYTE | 1 | +5 | +5 | 装飾書体のコントラストを指定する DWRITE_PANOSE_CONTRAST 型の値です。 |
| scriptTopology | BYTE | 1 | +6 | +6 | スクリプトのトポロジを指定する DWRITE_PANOSE_SCRIPT_TOPOLOGY 型の値です。 |
| scriptForm | BYTE | 1 | +7 | +7 | スクリプトのフォームを指定する DWRITE_PANOSE_SCRIPT_FORM 型の値です。 |
| finials | BYTE | 1 | +8 | +8 | スクリプトのフィニアル (終端処理) を指定する DWRITE_PANOSE_FINIALS 型の値です。 |
| xAscent | BYTE | 1 | +9 | +9 | 小文字の相対的なサイズを指定する DWRITE_PANOSE_XASCENT 型の値です。 |
構造体: _decorative_e__Struct x64 10B / x86 10B
| フィールド | 型 | サイズ | x64 | x86 | 説明 |
|---|---|---|---|---|---|
| familyKind | BYTE | 1 | +0 | +0 | テキスト表示用の書体分類を指定する DWRITE_PANOSE_FAMILY_TEXT_DISPLAY の値 (2) です。 |
| decorativeClass | BYTE | 1 | +1 | +1 | 装飾書体のクラスを指定する DWRITE_PANOSE_DECORATIVE_CLASS 型の値です。 |
| weight | BYTE | 1 | +2 | +2 | 装飾書体の太さを指定する DWRITE_PANOSE_WEIGHT 型の値です。 |
| aspect | BYTE | 1 | +3 | +3 | 装飾書体のアスペクトを指定する DWRITE_PANOSE_ASPECT 型の値です。 |
| contrast | BYTE | 1 | +4 | +4 | 装飾書体のコントラストを指定する DWRITE_PANOSE_CONTRAST 型の値です。 |
| serifVariant | BYTE | 1 | +5 | +5 | 装飾書体のセリフ バリアントです。 |
| fill | BYTE | 1 | +6 | +6 | 装飾書体の塗りつぶしを指定する DWRITE_PANOSE_FILL 型の値です。 |
| lining | BYTE | 1 | +7 | +7 | 装飾書体のライニングを指定する DWRITE_PANOSE_LINING 型の値です。 |
| decorativeTopology | BYTE | 1 | +8 | +8 | 装飾のトポロジを指定する DWRITE_PANOSE_DECORATIVE_TOPOLOGY 型の値です。 |
| characterRange | BYTE | 1 | +9 | +9 | 装飾書体の文字範囲を指定する DWRITE_PANOSE_CHARACTER_RANGES 型の値です。 |
構造体: _symbol_e__Struct x64 10B / x86 10B
| フィールド | 型 | サイズ | x64 | x86 | 説明 |
|---|---|---|---|---|---|
| familyKind | BYTE | 1 | +0 | +0 | テキスト表示用の書体分類を指定する DWRITE_PANOSE_FAMILY_TEXT_DISPLAY の値 (2) です。 |
| symbolKind | BYTE | 1 | +1 | +1 | シンボル セットの種類を指定する DWRITE_PANOSE_SYMBOL_KIND 型の値です。 |
| weight | BYTE | 1 | +2 | +2 | 装飾書体の太さを指定する DWRITE_PANOSE_WEIGHT 型の値です。 |
| spacing | BYTE | 1 | +3 | +3 | シンボル書体の字間を指定する DWRITE_PANOSE_SPACING 型の値です。 |
| aspectRatioAndContrast | BYTE | 1 | +4 | +4 | シンボル書体のアスペクト比とコントラストを指定する DWRITE_PANOSE_SYMBOL_ASPECT_RATIO 型の値です。 |
| aspectRatio94 | BYTE | 1 | +5 | +5 | シンボル書体のアスペクト比 94 を指定する DWRITE_PANOSE_SYMBOL_ASPECT_RATIO 型の値です。 |
| aspectRatio119 | BYTE | 1 | +6 | +6 | シンボル書体のアスペクト比 119 を指定する DWRITE_PANOSE_SYMBOL_ASPECT_RATIO 型の値です。 |
| aspectRatio157 | BYTE | 1 | +7 | +7 | シンボル書体のアスペクト比 157 を指定する DWRITE_PANOSE_SYMBOL_ASPECT_RATIO 型の値です。 |
| aspectRatio163 | BYTE | 1 | +8 | +8 | シンボル書体のアスペクト比 163 を指定する DWRITE_PANOSE_SYMBOL_ASPECT_RATIO 型の値です。 |
| aspectRatio211 | BYTE | 1 | +9 | +9 | シンボル書体のアスペクト比 211 を指定する DWRITE_PANOSE_SYMBOL_ASPECT_RATIO 型の値です。 |
公式ドキュメント
DWRITE_PANOSE 共用体は、フォントを選択して照合するために IDWriteFont1::GetPanose で使用する書体分類値を記述します。
解説(Remarks)
注意 10 バイトの配列の中で内容が固定されている唯一のエントリは familyKind メンバー (インデックス 0) です。これに続くすべてのエントリは、最初のメンバーの内容に応じて動的に変化する可能性があるためです。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
各言語での定義
#include <windows.h>
// DWRITE_PANOSE (x64 10 / x86 10 バイト)
typedef struct DWRITE_PANOSE {
BYTE values[10];
BYTE familyKind;
_text_e__Struct text;
_script_e__Struct script;
_decorative_e__Struct decorative;
_symbol_e__Struct symbol;
} DWRITE_PANOSE;using System;
using System.Runtime.InteropServices;
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct DWRITE_PANOSE
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] public byte[] values;
public byte familyKind;
public _text_e__Struct text;
public _script_e__Struct script;
public _decorative_e__Struct decorative;
public _symbol_e__Struct symbol;
}Imports System.Runtime.InteropServices
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure DWRITE_PANOSE
<MarshalAs(UnmanagedType.ByValArray, SizeConst:=10)> Public values() As Byte
Public familyKind As Byte
Public text As _text_e__Struct
Public script As _script_e__Struct
Public decorative As _decorative_e__Struct
Public symbol As _symbol_e__Struct
End Structureimport ctypes
from ctypes import wintypes
class DWRITE_PANOSE(ctypes.Structure):
_fields_ = [
("values", ctypes.c_ubyte * 10),
("familyKind", ctypes.c_ubyte),
("text", _text_e__Struct),
("script", _script_e__Struct),
("decorative", _decorative_e__Struct),
("symbol", _symbol_e__Struct),
]#[repr(C)]
pub struct DWRITE_PANOSE {
pub values: [u8; 10],
pub familyKind: u8,
pub text: _text_e__Struct,
pub script: _script_e__Struct,
pub decorative: _decorative_e__Struct,
pub symbol: _symbol_e__Struct,
}import "golang.org/x/sys/windows"
type DWRITE_PANOSE struct {
values [10]byte
familyKind byte
text _text_e__Struct
script _script_e__Struct
decorative _decorative_e__Struct
symbol _symbol_e__Struct
}type
DWRITE_PANOSE = record
values: array[0..9] of Byte;
familyKind: Byte;
text: _text_e__Struct;
script: _script_e__Struct;
decorative: _decorative_e__Struct;
symbol: _symbol_e__Struct;
end;const DWRITE_PANOSE = extern struct {
values: [10]u8,
familyKind: u8,
text: _text_e__Struct,
script: _script_e__Struct,
decorative: _decorative_e__Struct,
symbol: _symbol_e__Struct,
};type
DWRITE_PANOSE {.bycopy.} = object
values: array[10, uint8]
familyKind: uint8
text: _text_e__Struct
script: _script_e__Struct
decorative: _decorative_e__Struct
symbol: _symbol_e__Structstruct DWRITE_PANOSE
{
ubyte[10] values;
ubyte familyKind;
_text_e__Struct text;
_script_e__Struct script;
_decorative_e__Struct decorative;
_symbol_e__Struct symbol;
}HSP用 定義
HSP3.7/3.8 は構造体機能が無いため4byte整数配列(dim)+peek/poke で操作(32/64bitでサイズ・位置が異なる場合はタブで分割)。IronHSP は NSTRUCT(#defstruct/stdim/->)で32/64bit共通。
; HSP3.7/3.8 は構造体機能が無いため、4byte整数の配列変数で操作します。(x64 レイアウト)
; DWRITE_PANOSE サイズ: 10 バイト(x64)
dim st, 3 ; 4byte整数×3(構造体サイズ 10 / 4 切り上げ)
; values : BYTE (+0, 10byte) varptr(st)+0 を基点に操作(10byte:入れ子/配列)
; familyKind : BYTE (+0, 1byte) poke st,0,値 / 値 = peek(st,0)
; text : _text_e__Struct (+0, 10byte) varptr(st)+0 を基点に操作(10byte:入れ子/配列)
; script : _script_e__Struct (+0, 10byte) varptr(st)+0 を基点に操作(10byte:入れ子/配列)
; decorative : _decorative_e__Struct (+0, 10byte) varptr(st)+0 を基点に操作(10byte:入れ子/配列)
; symbol : _symbol_e__Struct (+0, 10byte) varptr(st)+0 を基点に操作(10byte:入れ子/配列)
; ※4byte境界の整数は添字 st.N(N=オフセット/4)で読み書き可。それ以外は peek/poke 系を使用。; IronHSP は NSTRUCT(構造体)をサポート。32bit/64bit どちらでも同じコードで動作します。
#defstruct global DWRITE_PANOSE
#field byte values 10
#field byte familyKind
#field _text_e__Struct text
#field _script_e__Struct script
#field _decorative_e__Struct decorative
#field _symbol_e__Struct symbol
#endstruct
stdim st, DWRITE_PANOSE ; NSTRUCT 変数を確保
st->familyKind = 100
mes "familyKind=" + st->familyKind