Поведение, описанное в вопросе, указывает на то, что в документе присутствует смешанное форматирование языка.
Во-первых, форматирование языка может применяться напрямую (аналогично форматированию шрифта), а не управляться исключительно стилями. Язык, определенный в стиле, будет , а не переопределять прямое форматирование языка.
Кроме того, «странное» поведение при форматировании языка часто возникает, когда документ создается на компьютере, где язык операционной системы по умолчанию установленотличается от языка по умолчанию Word. Проблема началась с Office 97, где Microsoft изменила поведение Word по умолчанию и проверила язык Windows и применила его к новому документу, если язык Word по умолчанию не идентичен. Информация вписывается глубоко в структуру документа, где пользовательский интерфейс Word не может ее изменить. Его можно удалить только путем редактирования основного Word Open XML.
Из-за массовых жалоб со стороны специалистов, использующих Word, в более поздних версиях поведение было несколько смягчено до такой степени, что при выборе всего тела документа (Ctrl+ A) затем непосредственное применение нужного языка может в большинстве случаев предотвратить неправильное форматирование вновь добавленного текста на языке Windows.
Если выбор всего документа вручную и непосредственное применение языка не изменяет поведение (эквивалент объектной моделиDocument.Content.LanguageID =
), единственным выходом было бы углубиться в «zip-пакет» документа, проверить XML, чтобы отследить, где хранится другой язык, и удалить его. Эта информация может использоваться для создания решения с помощью Open XML SDK (или с использованием стандартных пространств имен Packaging и XML в .NET Framework), чтобы его можно было использовать с «любым» документом (YMMV) * 1012 *
Примечание:Я сделал это вручную, но это было некоторое время назад, поэтому я не помню точно, в каком XML-файле в zip-пакете написан язык Windows.