我想在DirectX 11中使用指定的字体文件
搜索后,我被困在创建一个自定义字体集合。
加载指定字体文件的代码:
Platform::String^ pathTEST;
Microsoft::WRL::ComPtr<IDWriteFontFile> fontFileTEST;
Microsoft::WRL::ComPtr<IDWriteFontFileLoader> fontFileLoaderTEST;
Windows::Storage::StorageFolder^ folder = Windows::Storage::ApplicationData::Current->LocalFolder;
pathTEST = folder->Path + L"\\Bubblegum.ttf";//#BubbleGum
HRESULT hr = S_OK;
if (SUCCEEDED(hr))
hr = dwriteFactory->CreateFontFileReference(pathTEST->Data(), NULL, &fontFileTEST);
if (SUCCEEDED(hr))
hr = fontFileTEST->GetLoader(&fontFileLoaderTEST);
if (SUCCEEDED(hr))
hr = dwriteFactory->RegisterFontFileLoader(fontFileLoaderTEST.Get());应该使用字体的代码,但我缺少了font集合:
MyIDWriteFactory2->CreateTextFormat(
L"BubbleGum", MyWriteFontCollection (nullptr for the moment),
DWRITE_FONT_WEIGHT_LIGHT, DWRITE_FONT_STYLE_NORMAL, DWRITE_FONT_STRETCH_NORMAL,
16.0f, L"en-us", &MyIDWriteTextFormat);我使用像Arial这样的系统字体没有任何问题。
谢谢你的帮助。
发布于 2015-07-02 09:40:24
在再次阅读了尝试使用自定义字体文件使用DirectX -集合键是什么?和自定义字体集合之后,我开始了解如何获得自定义集合。
基于以下原因,我修改了Microsoft提供的示例代码:
现在,它工作得很好。
https://stackoverflow.com/questions/31112857
复制相似问题