2

Я использую 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

1 ответ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/> . Пока вы храните резервную копию, вам нечего терять.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .