Удалить следы настроек арабского языка в LibreOffice (файлы docx / odt)

360
Philipp

Я использую LibreOffice в Linux, и иногда мне приходится корректировать .docxфайлы для друга. Эти файлы написаны на немецком языке, но они созданы на компьютере Windows, где по умолчанию используется арабский язык. Они также отформатированы недопустимым способом (все строки выделены жирным шрифтом и 20 пт).

Следующее не зависит от того, преобразовал ли я сначала .docxв .odtили нет.

В документе, как я его получаю, форматирование является мусором, но поток текста на самом деле правильный. Когда я выделяю весь текст и щелкаю Clear formatting, текстовый поток изменяется на справа налево, а точки также переходят влево.

++++++++. Вот так это выглядит
Вот так это должно выглядеть. ++++

Я предположил, что это потому, что язык документа арабский, поэтому я попытался изменить язык документа из строки состояния, но это влияет только на проверку орфографии. Затем я хотел изменить язык на немецкий или английский в «Опции» → «Настройки языка» → «Языки», но он уже был установлен на немецкий!

Тем не менее, это говорит в Формат → Страница → Организатор:

Содержит:… + направление текста справа налево (по горизонтали) + описание страницы: арабский…

Я не знаю, почему эти настройки есть, так как они не установлены в настройках.

Можно вручную изменить поток текста слева направо в Формат → абзац → Выравнивание, но это очень поверхностно: нажатие endклавиши установит курсор в (левое) начало строки, в то время как pos1клавиша установит его на (правом) конце строки. Кроме того, выбор Clear formattingвпоследствии отменяет эту ручную настройку.

Единственный способ исправить эти проблемы с форматированием - это сначала сохранить документ в виде .txtфайла, чтобы потерять всю мета-информацию, а затем снова открыть его и сохранить как .odt. Это не может быть единственным способом, однако.

Как я могу реально изменить язык документа?


Я искал ответы на www.ask.libreoffice.org, но не смог найти там решения. Эти ссылки на похожие темы, но не предоставили рабочего решения для этого случая:

https://ask.libreoffice.org/en/question/7269/how-to-change-language-in-whole-document/

https://ask.libreoffice.org/en/question/15206/how-do-i-get-translated-caption-categories/?answer=15224#post-id-15224

https://help.libreoffice.org/Common/Selecting_the_Document_Language

2

1 ответ на вопрос

2

Первым делом первым: язык не имеет никакого отношения к вашему положению. Вы должны искать что-то под названием «Направление текста». Арабский и персидский по ошибке называют "языками справа налево", но на самом деле это "двунаправленные языки".

Легкий способ

Примечание . Инструкции в этом разделе относятся к Microsoft Word 2016, но у LibreOffice есть свои эквиваленты.

Вы должны отредактировать «Нормальный» стиль документа и изменить направление текста с «Слева направо» на «Слева направо». Этот стиль применяется при нажатии «Очистить форматирование». (В некоторых редких случаях применяется «Нормальный (веб)».) После этого выберите весь документ, откройте диалоговое окно «Форматирование абзаца» и установите направление «Слева направо».

Если переключатели направления недоступны, вам нужно открыть «Настройки языка» и добавить язык справа налево. (Вам не нужно устанавливать их модули OCR или словари для проверки орфографии.)

Приручить льва

Теперь есть и пугающая часть: иногда я получаю документы неизвестного происхождения, которые по какой-то причине вызывают переключение кнопок «Направление» на серый! В этом случае я использую 7-zip для пика в документ и редактирую style.xml в коде Visual Studio. Вот часть для нормального стиля:

<w:style w:type="paragraph" w:default="1" w:styleId="Normal"> <w:name w:val="Normal"/> <w:qFormat/> <w:rsid w:val="00702EFB"/> <w:pPr> <w:bidi/> </w:pPr> </w:style> 

Вы видите <w:bidi/>часть? Удаление приводит к переключению направления назад на LTR.

Если вы достаточно смелы, вы можете позволить GREP проиграть извлеченное содержимое вашего .docxфайла, исключив все его экземпляры <w:bidi/>. Пока вы храните резервную копию, вам нечего терять.

Спасибо, смена нормального стиля сработала! В описании документа он все еще говорит по-арабски, поэтому я заглянул внутрь файла styles.xml файла .odt, и он действительно содержит: style: language-complex = "ar" style: country-complex = "SA" Philipp 5 лет назад 0
О, слава Богу! :) Рад, что часы и часы, страдающие от страданий борьбы с плохо отформатированным документом, помогли кому-то. 5 лет назад 0
Будьте уверены, что ваш ответ поможет будущим корректорам и страдальцам. +10 очков кармы. Philipp 5 лет назад 0

Похожие вопросы