DirectWrite zapewnia informacje o łamaniu linii za pośrednictwem IDWriteTextAnalysisSink :: SetLineBreakpoints (). Jednak muszę również określić granice słów, zgodnie z Załącznik nr 29 do Unicode: Segmentacja tekstu Unicode.
Czy można to zrobić za pomocą DirectWrite? Jeśli nie, jakie są alternatywy, które działają razem z układem tekstu w DirectWrite na pulpicie Windows, a także WinRT?
Odpowiedzi:
0 dla odpowiedzi № 1Mogę potwierdzić, że DirectWrite do Windows 8.1 nie obsługuje UAX 29 (tylko LB UAX 14). Jeśli chodzi o alternatywy dostarczane bezpośrednio przez system operacyjny, Windows.Data.Text (http://code.msdn.microsoft.com/windowsapps/Text-Segmentation-API-be73de71) lub rozszerzone usługi językowe (http://code.msdn.microsoft.com/windowsapps/Extended-Linguistic-ELS-d04c606a), który istnieje już od Windows 7, może pomóc, ale nie sądzę, aby któryś z nich wspierał bezpośrednią implementację UAX 29.