MS Word 如何处理缺失的字体大小?

MS Word 如何处理缺失的字体大小?

如果文档中没有字体大小信息,会发生什么情况.docx
简短的回答是:MS Word 将其视为 10pt。OpenOffice Writer 将其视为 12pt。

然而,目前还不清楚 MS Word总是在所有版本中是否都这样做,以及是否存在保证。是否有任何规范或文档提到它将是 10pt,并且保证它是所有版本的默认设置?同样的问题可能适用于 OpenOffice Writer 和 12pt,但我不太关心它。

编辑:不仅在运行中没有信息,在样式中也没有信息Normal。我将提供 XML 中的片段(因为我似乎找不到共享整个文件的好解决方案):

<w:style w:type="paragraph" w:default="1" w:styleId="Normal">
    <w:name w:val="Normal"/>
    <w:qFormat/>
    <w:rsid w:val="007D13CE"/>
    <w:rPr>
        <w:rFonts w:ascii="Palemonas" w:hAnsi="Palemonas"/>
    </w:rPr>
</w:style>

Normal样式)

<w:r w:rsidRPr="00022C0B">
    <w:rPr>
        <w:rStyle w:val="bzpetitas"/>
        <w:color w:val="auto"/>
    </w:rPr>
    <w:t xml:space="preserve">dkt. </w:t>
</w:r>
<w:r w:rsidRPr="00022C0B">
    <w:t>vns.</w:t>
</w:r>
<w:r w:rsidRPr="00022C0B">
    <w:rPr>
        <w:rStyle w:val="bzpaprastas2"/>
        <w:color w:val="auto"/>
    </w:rPr>
    <w:t xml:space="preserve"> (2) </w:t>
</w:r>

(有问题的运行是中间的读作“vns”的运行。)

答案1

Microsoft Word 将其默认值(包括字体大小)存储在名为“Normal.dotm”的文件中。您可以通过以下方式访问此文件:

C:\Users\用户名\AppData\Roaming\Microsoft\Templates。


在 Windows 上修改默认模板:
1. 打开一个新的 Microsoft Word 文档。2
. 单击“主页”选项卡。3
. 单击字体类别右下角的小框。字体标签图片
4. 设置您想要的默认字体,然后单击左下角的“设为默认”。“设为默认值”图片

对于 Mac,请按照此链接中列出的步骤操作:更改新文档的默认设置

总之,Microsoft Word 的字体大小取决于“Normal.dotm”文件。您可以按照上述步骤或直接修改该文件来修改默认值。


更多信息请见:更改 Normal 模板 (Normal.dotm)

答案2

我仔细研究了标准并回答了我自己的问题。如果有人有类似的问题或与之相关的问题,那不太可能是相同的,所以我正在写下整个过程。

[MS-OE376]: ECMA-376 标准支持的 Office 实施信息
Microsoft Office 实施的主要标准是 ECMA-376。我将参考 ECMA-376 第 5 版第 1 部分这里ECMA
-376 在 §17.7.2 中定义了某种样式层次结构。它很好地描述了样式的应用内容、时间和顺序。不过,后面的文字稍微更贴切一些;引用:

  • 首先,文档默认值应用于文档中的所有运行和段落。
  • 接下来,将表格样式属性应用于文档中的每个表格,并遵循每个表格指定的条件格式包含和排除。
  • 接下来,将编号项目和段落属性应用于使用编号样式格式化的每个段落。
  • 接下来,按照段落样式的定义,将段落和运行属性应用于每个段落。
  • 接下来,将运行属性应用于每个运行,并应用特定的字符样式。
  • 最后,我们应用直接格式化(不是来自样式的段落或运行属性)。如果此直接格式化包括编号,则应用该编号 + 相关的段落属性。

在这里,应用某些内容会覆盖先前应用的内容(每个属性)。还有更多“切换属性”规则,与原始问题无关。
因此,如果直接格式化缺少字体大小,请参考运行的字符样式,然后参考段落,最后参考文档默认值,假设不涉及编号或表格。还请注意,每种样式类型(字符、编号、段落和表格)都有默认样式,用 表示w:default="1"。还请注意,样式可以是basedOn其他样式。
最后一步是文档默认值(§17.7.5),用 表示docDefaults。Justin Arenson 已经提供了一种很好的实用方法来改变它适用于新创建的文档。对于原始问题,标准中的这一行至关重要:

如果省略此元素,则文档默认值应由托管应用程序定义。

我的解释是:如果docDefaults存在但缺少font-size,则仍然由托管应用程序来定义字体大小。

我搜索了 MS-OE376,它记录了大量有关 Office 应用程序如何偏离标准的内容,但没有找到有关文档默认值和此主题的任何内容。它对很多事情增加了额外的限制(例如,样式名称中不允许使用逗号,或者复杂的脚本有明确的尺寸规定,但没有默认的字体大小。

因此,如果找不到,字体大小就是“由托管应用程序定义的”,对于 MS Word 来说,实际上是 10pt,但这似乎并不基于任何标准,也不能保证在所有版本的 MS Word 中都是如此。

相关内容