删除 LibreOffice 中的阿拉伯语设置痕迹(docx/odt 文件)

删除 LibreOffice 中的阿拉伯语设置痕迹(docx/odt 文件)

我在 Linux 上使用 LibreOffice,有时需要.docx为朋友校对文件。这些文件是用德语编写的,但它们是在 Windows 计算机上创建的,而 Windows 计算机的默认设置是阿拉伯语。它们的格式也令人难以忍受(全部加粗,行号为 20 pt)。

以下内容不取决于我是否首先将其转换.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

首先要说的是:语言与你的困境无关。你必须寻找一种叫做“文本方向”的东西。阿拉伯语和波斯语被错误地称为“从右到左的语言”,但实际上它们是“双向语言”。

简单的方法

笔记:本节中的说明适用于 Microsoft Word 2016,但 LibreOffice 也有其等效版本。

您必须编辑文档的“常规”样式,并将文本方向从“从右到左”更改为“从左到右”。这是单击“清除格式”时强制执行的样式。(在极少数情况下,会强制执行“常规(网页)”。)之后,选择整个文档,打开段落格式对话框,并将方向设置为从左到右。

如果方向单选按钮不可用,则必须打开“语言设置”并添加从右到左的语言。(您不必安装其 OCR 模块或拼写检查词典。)

驯服狮子

现在,还有一个可怕的部分:有时,我会收到来源不明的文档,出于某种原因,导致“方向”单选按钮变灰!在这种情况下,我使用 7-zip 进入文档并在 Visual Studio Code 中编辑 style.xml。以下是普通样式的部分:

<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/>。只要你保留一份备份,你就没有什么可失去的。

相关内容