DirectWrite通过IDWriteTextAnalysisSink :: SetLineBreakpoints()提供换行信息。 不过,我还需要根据Unicode附件#29:Unicode文本分段来确定字边界。
有没有办法使用DirectWrite做到这一点? 如果没有,还有什么替代品可以与Windows桌面以及WinRT一起使用DirectWrite的文本布局系统?
我可以确认DirectWrite直到Windows 8.1不支持UAX 29(只是LB UAX 14)。 至于直接的操作系统提供的替代品,无论是Windows.Data.Text( http://code.msdn.microsoft.com/windowsapps/Text-Segmentation-API-be73de71 )或扩展的语言服务( http://code.msdn.microsoft.com/zh-cn/自Windows 7以来一直存在的microsoft.com/windowsapps/Extended-Linguistic-ELS-d04c606a )可能会有所帮助,但我不相信这两者都支持直接实现UAX 29。