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 |
발언
값은 글꼴로 정의된 정식 순서로 반환되며 지원되는 실제 범위로 고정됩니다. 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 빌드 16299 |
지원되는 최소 서버 | Windows 10 빌드 16299 |
대상 플랫폼 | Windows |
헤더 | dwrite_3.h |
라이브러리 | Dwrite.lib |