Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Mengambil daftar nilai sumbu yang digunakan oleh font.
Sintaksis
HRESULT GetFontAxisValues(
[out] DWRITE_FONT_AXIS_VALUE *fontAxisValues,
UINT32 fontAxisValueCount
);
Parameter
[out] fontAxisValues
Jenis: DWRITE_FONT_AXIS_VALUE*
Penunjuk ke array struktur DWRITE_FONT_AXIS_VALUE tempat GetFontAxisValues menulis daftar nilai sumbu font. Anda bertanggung jawab untuk mengelola ukuran dan masa pakai array ini. Panggil GetFontAxisValueCount untuk menentukan ukuran array yang akan dialokasikan.
fontAxisValueCount
Jenis: UINT32
Jumlah maksimum nilai sumbu font untuk ditulis ke dalam blok memori yang ditujukkan oleh fontAxisValues.
Mengembalikan nilai
Jenis:
Jika fungsi berhasil, fungsi akan mengembalikan S_OK. Jika tidak, kode kesalahan
| Mengembalikan nilai | Deskripsi |
|---|---|
| E_INVALIDARG |
fontAxisValueCount tidak cocok dengan nilai yang dikembalikan oleh GetFontAxisValueCount. |
Komentar
Nilai dikembalikan dalam urutan kanonis yang ditentukan oleh font, dijepit ke rentang aktual yang didukung. Ini belum tentu array nilai sumbu yang sama dengan yang Anda teruskan ke CreateFontFace.
Contoh
// 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;
}
Persyaratan
| Syarat | Nilai |
|---|---|
| klien minimum yang didukung | Windows 10 Build 16299 |
| server minimum yang didukung |
Windows 10 Build 16299 |
| Platform Target |
Windows |
| Header |
dwrite_3.h |
| Pustaka |
Dwrite.lib |