IDWriteFontFace5::GetFontAxisValues-Methode (dwrite_3.h)
Ruft die Liste der Achsenwerte ab, die von der Schriftart verwendet werden.
Syntax
HRESULT GetFontAxisValues(
[out] DWRITE_FONT_AXIS_VALUE *fontAxisValues,
UINT32 fontAxisValueCount
);
Parameter
[out] fontAxisValues
Typ: DWRITE_FONT_AXIS_VALUE*
Ein Zeiger auf ein Array von DWRITE_FONT_AXIS_VALUE Strukturen, in das GetFontAxisValues die Liste der Schriftachsenwerte schreibt. Sie sind für die Verwaltung der Größe und lebensdauer dieses Arrays verantwortlich. Rufen Sie GetFontAxisValueCount auf, um die Größe des zuzuordnenden Arrays zu bestimmen.
fontAxisValueCount
Typ: UINT32
Die maximale Anzahl von Schriftachsenwerten, auf die in den Speicherblock geschrieben werden soll, auf den von verwiesen wird fontAxisValues
.
Rückgabewert
Typ: HRESULT
Wenn die Funktion erfolgreich ist, gibt sie S_OK zurück. Andernfalls wird ein HRESULT-Fehlercode zurückgegeben.
Rückgabewert | Beschreibung |
---|---|
E_INVALIDARG | fontAxisValueCount entspricht nicht dem von GetFontAxisValueCount zurückgegebenen Wert. |
Hinweise
Die Werte werden in der kanonischen Reihenfolge zurückgegeben, die durch die Schriftart definiert ist und an den tatsächlich unterstützten Bereich gebunden ist. Es ist nicht unbedingt dasselbe Achsenwertarray, das Sie an CreateFontFace übergeben haben.
Beispiele
// 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;
}
Anforderungen
Unterstützte Mindestversion (Client) | Windows 10 Build 20348 |
Unterstützte Mindestversion (Server) | Windows 10 Build 20348 |
Zielplattform | Windows |
Kopfzeile | dwrite_3.h |
Bibliothek | Dwrite.lib |
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für