PowerPoint 如何区分 latin/eastasian/complexscript 中的哪个脚本用于 运行?

How does PowerPoint distinguish which script out of latin/eastasian/complexscript is used for a Run?

我在尝试通过 Open XML 计算 PowerPoint 演示文稿中每种字体显示的字符数时偶然发现了一个问题。 单个 运行 可以包含 运行 属性,这些属性可以为 LatinFont、EastAsianFont 和 ComplexScriptFont 声明多种字体。 我的问题是:PowerPoint 如何准确地确定上述字体中的哪些将用于一组给定的字符。 难道一个运行里面可以显示多种字体? 这些是否可以作为 Unicode 范围显示? 预先感谢您的见解!

我试图避免在计数时为多种字体分配相同的字符。例如,如果为 运行 声明了 2/3 的字体,我应该如何计算 space?

<a:r>
<a:rPr lang="pl-PL" dirty="0" smtClean="0">
    <a:latin typeface="Courier New" panose="02070309020205020404" pitchFamily="49" charset="0"/>
    <a:cs typeface="Forte" panose="03060902040502070203" pitchFamily="66" charset="0"/>
</a:rPr>
<a:t> </a:t></a:r>

字体根据 运行 标记的语言切换。此 PowerPoint XML 以字体主题的拉丁文、复杂脚本和东亚字体显示文本。请注意每个 lang 标签:

<p:txBody>
    <a:bodyPr/>
    <a:lstStyle/>
    <a:p>
        <a:r>
            <a:rPr lang="en-US"/>
            <a:t>English</a:t>
        </a:r>
        <a:endParaRPr lang="ar-KW" dirty="0"/>
    </a:p>
    <a:p>
        <a:r>
            <a:rPr lang="ar-KW" dirty="0"/>
            <a:t>ِقشلاهؤ</a:t>
        </a:r>
    </a:p>
    <a:p>
        <a:r>
            <a:rPr lang="th-TH" dirty="0"/>
            <a:t>ธ้ฟร</a:t>
        </a:r>
    </a:p>
</p:txBody>