IDWriteFontFace5::GetFontAxisValues 方法 (dwrite_3.h)
擷取字型所使用的座標軸值清單。
語法
HRESULT GetFontAxisValues(
[out] DWRITE_FONT_AXIS_VALUE *fontAxisValues,
UINT32 fontAxisValueCount
);
參數
[out] fontAxisValues
GetFontAxisValues寫入字型座標軸值清單之DWRITE_FONT_AXIS_VALUE結構的陣列指標。 您必須負責管理此陣列的大小和存留期。 呼叫 GetFontAxisValueCount 來判斷要配置的陣列大小。
fontAxisValueCount
類型: UINT32
要寫入 所 fontAxisValues
指向記憶體區塊的最大字型座標軸值數目。
傳回值
類型: HRESULT
如果函式成功,它會 傳回S_OK。 否則,它會傳回 HRESULT錯誤碼。
傳回值 | 描述 |
---|---|
E_INVALIDARG | fontAxisValueCount 不符合 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 |
目標平台 | Windows |
標頭 | dwrite_3.h |
程式庫 | Dwrite.lib |
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應