カラー絵文字(Direct2D編)
コメントなし
前回(Windows 8.1は絵文字がカラー表示になる)に引き続き、Direct2Dでのカラーフォント描画を試してみました。Direct2Dならストアアプリ・デスクトップアプリ問わず使用できるはずです。
D2D1_DRAW_TEXT_OPTIONS_ENABLE_COLOR_FONTという新しく追加された定数をID2D1RenderTarget::DrawText関数で指定すると、カラー表示になります。おそらく、DrawTextLayoutなどでも同様に使用できると思います。
static const WCHAR Text[] = L"……"; auto size = renderTarget->GetSize(); renderTarget->DrawText(Text, ARRAYSIZE(Text) - 1, textFormat, D2D1_RECT_F{0, 0, size.width, size.height}, blackBrush, D2D1_DRAW_TEXT_OPTIONS_ENABLE_COLOR_FONT); |
ソースコード全体はgist: egtra / d2d-color-font.cppに置いてあります。このコードでは\U+xxxxxxxx表記で文字を指定していますが、ソースファイルがUTF-8なら絵文字を直接書いても大丈夫です。少なくとも、Visual C++ 2013 Previewではうまくいきました。
スポンサード リンク |