次の方法で共有


IDWriteFontFace5::GetFontAxisValues メソッド (dwrite_3.h)

フォントで使用される軸の値の一覧を取得します。

構文

HRESULT GetFontAxisValues(
  [out] DWRITE_FONT_AXIS_VALUE *fontAxisValues,
        UINT32                 fontAxisValueCount
);

パラメーター

[out] fontAxisValues

型: DWRITE_FONT_AXIS_VALUE*

GetFontAxisValues がフォント軸の値の一覧を書き込む DWRITE_FONT_AXIS_VALUE 構造体の配列へのポインター。 この配列のサイズと有効期間を管理する責任があります。 GetFontAxisValueCount 呼び出して、割り当てる配列のサイズを決定します。

fontAxisValueCount

型: UINT32

fontAxisValuesが指すメモリ ブロックに書き込むフォント軸の値の最大数。

戻り値

型: HRESULT

関数が成功した場合は、S_OKを返します。 それ以外の場合は、HRESULTエラー コードを返します。

戻り値 形容
E_INVALIDARG は、GetFontAxisValueCountによって返される値 一致しません。

備考

値は、フォントによって定義された正規の順序で返され、サポートされている実際の範囲にクランプされます。 CreateFontFaceに渡した軸値配列 必ずしも同じではありません。

// main.cpp
#include <unknwn.h>
#include <winrt/base.h>
#include <dwrite_3.h>

int main()
{
	winrt::init_apartment();

	winrt::com_ptr<IDWriteFactory> factory;

	winrt::check_hresult(::DWriteCreateFactory(
		DWRITE_FACTORY_TYPE_SHARED,
		__uuidof(factory),
		reinterpret_cast<IUnknown**>(factory.put())));

	std::wstring filePath{ L"C:\\WINDOWS\\FONTS\\AGENCYB.TTF" };

	winrt::com_ptr<IDWriteFontFile> fontFile;

	factory->CreateFontFileReference(
		filePath.c_str(),
		nullptr,
		fontFile.put());

	std::array<IDWriteFontFile*, 1> fontFiles{ fontFile.get() };

	winrt::com_ptr<IDWriteFontFace> fontFace;

	winrt::check_hresult(factory->CreateFontFace(
		DWRITE_FONT_FACE_TYPE_TRUETYPE,
		1,
		fontFiles.data(),
		0,
		DWRITE_FONT_SIMULATIONS_NONE,
		fontFace.put()
	));

	winrt::com_ptr<IDWriteFontFace5> fontFace5{ fontFace.as<IDWriteFontFace5>() };
	
	UINT32 axisValueCount{ fontFace5->GetFontAxisValueCount() };

	DWRITE_FONT_AXIS_VALUE* axisValues{ new DWRITE_FONT_AXIS_VALUE[axisValueCount] };

	winrt::check_hresult(
		fontFace5->GetFontAxisValues(axisValues, axisValueCount));

	DWRITE_FONT_AXIS_VALUE* eachAxisValue{ axisValues };

	for (int ix = 0; ix < axisValueCount; ++ix, ++eachAxisValue)
	{
		printf("%zu,%f\n\r", eachAxisValue->axisTag, eachAxisValue->value);
	}

	delete[] axisValues;
}

必要条件

要件 価値
サポートされる最小クライアント Windows 10 ビルド 20348
サポートされる最小サーバー Windows 10 ビルド 20348
ターゲット プラットフォーム の ウィンドウズ
ヘッダー dwrite_3.h
ライブラリ Dwrite.lib