Metodo IDWriteFontFace5::GetFontAxisValues (dwrite_3.h)
Recupera l'elenco dei valori dell'asse utilizzati dal tipo di carattere.
Sintassi
HRESULT GetFontAxisValues(
[out] DWRITE_FONT_AXIS_VALUE *fontAxisValues,
UINT32 fontAxisValueCount
);
Parametri
[out] fontAxisValues
Tipo: DWRITE_FONT_AXIS_VALUE*
Puntatore a una matrice di strutture di DWRITE_FONT_AXIS_VALUE in cui GetFontAxisValues scrive l'elenco dei valori dell'asse dei caratteri. Si è responsabili della gestione delle dimensioni e della durata di questa matrice. Chiamare GetFontAxisValueCount per determinare le dimensioni della matrice da allocare.
fontAxisValueCount
Tipo: UINT32
Numero massimo di valori dell'asse dei caratteri da scrivere nel blocco di memoria a cui punta fontAxisValues
.
Valore restituito
Se la funzione ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore
Valore restituito | Descrizione |
---|---|
E_INVALIDARG |
fontAxisValueCount non corrisponde al valore restituito da GetFontAxisValueCount. |
Osservazioni
I valori vengono restituiti nell'ordine canonico definito dal tipo di carattere, bloccato all'intervallo effettivo supportato. Non è necessariamente la stessa matrice di valori dell'asse passata a CreateFontFace.
Esempi
// 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;
}
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows 10 Build 16299 |
server minimo supportato | Windows 10 Build 16299 |
piattaforma di destinazione | Finestre |
intestazione |
dwrite_3.h |
libreria |
Dwrite.lib |