我需要在Direct2d应用程序中显示垂直文本。以下文本格式代码将文本旋转+ 90°。
m_textFormat->SetReadingDirection(DWRITE_READING_DIRECTION_BOTTOM_TO_TOP));
m_textFormat->SetFlowDirection(DWRITE_FLOW_DIRECTION_RIGHT_TO_LEFT));
但是我想将文本旋转+ 270°,如下所示:
SetReadingDirection和SetFlowDirection中还有许多其他选项。但是他们都不在工作。以下示例也仅旋转+ 90°:DirectWrite vertical text sample
如果我手动旋转文本,看起来会模糊:
renderTarget->SetTransform(Matrix3x2F::Rotation(m_rotation, Point2F(left + height / 2.0f, top + (bottom - top) / 2.0f)));
有人可以帮我吗?
此致
答案 0 :(得分:0)
在这种情况下,我不认为旋转角度对用户有用,也不应该。这是布局过程的一部分,您无需干预,它与同时显示水平脚本和垂直脚本有关,请参阅[1]。
关于转换的视觉伪像,听起来很正常,请考虑将转换考虑在内的CreateGlyphRunAnalysis()
方法,也许会为您带来更好的结果。