#.net #wpf #locale #flowdocument #hyphenation
#.net #wpf #язык #flowdocument #перенос
Вопрос:
Я использую FlowDocument для создания фиксированного XpsDocument. Пропустив все детали, я попробовал это как с FlowDocument, так и с TextBlock на моем локальном компьютере (Windows 7 Professional, US-английский):
<FlowDocument Language="nl" IsHyphenationEnabled="True">...
Перенос переносов вообще не происходит, пока я не удалю Language="nl"
, однако затем он использует английские правила и расставляет дефисы в неправильных местах. Я также пытался быть более конкретным («nl-NL»), но безрезультатно.
Я подозреваю, что мне нужно будет перейти на Windows 7 Ultimate, чтобы получить поддержку голландского языка, однако в документации FlowDocument об этом не упоминается ни слова.IsHyphenationEnabled или TextBlock.IsHyphenationEnabled.
Кто-нибудь может подтвердить или опровергнуть это подозрение (авторитетная ссылка) или указать мне на альтернативный способ предоставления FlowDocument словаря голландских переносов?
Кроме того, может ли кто-нибудь с Windows 7 Ultimate Edition попробовать это (с установленным пакетом Dutch language pack) и подтвердить, работает ли это (не хотите обновляться, чтобы узнать, что это не проблема).
В качестве дополнительного примечания на моем компьютере установлен Microsoft Office 2010, и в Word я получаю хорошую рабочую расстановку переносов для голландского языка. (раньше думал, что Office использует WPF)
Ответ №1:
Похоже, что большинство моих последних вопросов превращаются в «перекати-поле», но на случай, если кто-то еще изучает это, я отвечу на свой вопрос.
Дополнительные языки могут быть добавлены путем установки .Языковой пакет Net framework. К сожалению, голландский язык поддерживается лишь частично (тексты исключений запутываются в голландский, поэтому ваши шансы найти решение в Google становятся незначительными, но полезные вещи, такие как перенос, не поддерживаются).
На данный момент поддерживаются только английский, французский, немецкий и испанский языки.
Существует API для добавления некоторых жаргонных слов в те словари, которые описаны в этом блоге, но добавление совершенно нового языка не поддерживается. В комментариях к этому блогу автор затрагивает эту проблему. Я процитирую наиболее подходящую фразу:
Я согласен, что возможность расширения поддержки правописания на другие языки является очень важной функцией, которую хотят многие клиенты. Мы хотели бы предоставить эту функциональность, но набор функций, который мы выбрали для .Net4.0, не позволил нам сделать это. Эта функция не будет частью .Net4.0, но мы рассматриваем ее для следующего выпуска WPF. (опубликовано 4 декабря 2009 года.)