Oharra
Baimena behar duzu orria atzitzeko. Direktorioetan saioa has dezakezu edo haiek alda ditzakezu.
Baimena behar duzu orria atzitzeko. Direktorioak alda ditzakezu.
Recupera la lista de valores de eje utilizados por la fuente.
Sintaxis
HRESULT GetFontAxisValues(
[out] DWRITE_FONT_AXIS_VALUE *fontAxisValues,
UINT32 fontAxisValueCount
);
Parámetros
[out] fontAxisValues
Tipo: DWRITE_FONT_AXIS_VALUE*
Puntero a una matriz de estructuras de DWRITE_FONT_AXIS_VALUE en las que GetFontAxisValues escribe la lista de valores del eje de fuentes. Es responsable de administrar el tamaño y la duración de esta matriz. Llame a GetFontAxisValueCount para determinar el tamaño de la matriz que se va a asignar.
fontAxisValueCount
Número máximo de valores de eje de fuentes a escribir en el bloque de memoria al que apunta fontAxisValues.
Valor devuelto
Si la función se ejecuta correctamente, devuelve S_OK. De lo contrario, devuelve un código de error HRESULT.
| Valor devuelto | Descripción |
|---|---|
| E_INVALIDARG |
fontAxisValueCount no coincide con el valor devuelto por GetFontAxisValueCount. |
Observaciones
Los valores se devuelven en el orden canónico definido por la fuente, abrazado al intervalo real admitido. No es necesariamente la misma matriz de valores de eje que pasó a CreateFontFace.
Ejemplos
// 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;
}
Requisitos
| Requisito | Valor |
|---|---|
| cliente mínimo admitido | Compilación 16299 de Windows 10 |
| servidor mínimo admitido | Compilación 16299 de Windows 10 |
| de la plataforma de destino de |
Windows |
| encabezado de |
dwrite_3.h |
| biblioteca de |
Dwrite.lib |