9

我正在处理 PDF 文件,并希望尽可能将字符转换为 Unicode。MathematicalPI 系列字符集似乎使用它们自己的符号名称(例如“H11001”)。通过探索,我构建了一个表(用于 MathematicalPI-One),例如:

    <chars>
        <char charname="H11001" codepoint16="0X2B" codepoint="43" unicodeName="PLUS"/>
        <char charname="H11002" codepoint16="0x2D" codepoint="45" unicodeName="MINUS"/>
        <char charname="H11003" codepoint16="0XD7" codepoint="215" unicodeName="MULTIPLICATION SIGN"/> 
         <char charname="H11005" codepoint16="0X3D" codepoint="61" unicodeName="EQUALS"/>
    </char> 

任何人都可以将我指向这样的现有翻译表(理想情况下适用于所有 MathematicalPI 集)。[我不想要字形的图形显示,因为这意味着每个字形都必须作为 Unicode 等价物进行查找。]

似乎还有一个类似的符号资源,其中字符名的格式为 C223(用于版权)。任何有关这方面的信息将不胜感激。

更新:我需要的东西远远超出@user1808924 的答案——我已经通过自己的(部分)翻译表编译了,所以当然可以构建一个。可以下载并显示 MathematicalPI 中的字形列表(可能有数百个),并通过 Unicode 规范进行等价处理(对于大多数人,我认为有明确的等价关系)。一个令人满意的答案要么包括一个包含数百个等价物的表格,要么包括一个明确的声明,表明这将违反字体创建者的版权。

更新:在@minopret 和@Miguel 之间当然可以构造一个映射。MathPi 集合定义明确 - 几百个 - shapecatcher 可以很容易地找到最好的图形符号。映射不会是确定的(即带有 Adob​​e 的标记),但它是值得的。而且我怀疑在某些情况下,两个不同的字形本质上是相同的,因此视觉映射将不起作用——例如,等边三角形增量还是希腊大写字母 DELTA?

我怀疑我个人是否会完成一张完整的表格——我不知道某些符号是什么意思。但我希望制作一个用于科学技术医学 (STM) 出版的子集。

@user1808924 我注意到您在 SO 的第一天就回答了这个问题。对于有明确答案但很难找到的难题,通常会提供赏金问题(如本例所示)。除非您具有该领域的专业知识,否则提供意见或猜测通常没有用处。

4

4 回答 4

4

我认为根本没有这样的翻译表。

在我看来,MathematicalPI字体系列是一种合成字体,它是通过从一些更大的未知集合中选择元素子集来临时创建的。字体家族存在的理由MathematicalPI似乎是简单代数运算符(加、减、乘、除)和等号的表示。字符名(即。H1100X)似乎是工件,因为它们没有在代码点值之后排序(例如,等号是最后一个)。

通过查看可用数据,我可以建议缺少的H11004字符名应该对应于除法运算符。但是,无法预测它是否应该由 Unicode 的“solidus”字符(即。U+002F)、“除号”字符(即。U+00F7)或其他东西来表示。

于 2012-11-08T10:42:11.357 回答
3

这是我在Adob​​e 论坛网站上发布的内容:

我可能是错的,但我认为没有官方对应表。

使用六种 Type 1 字体和由它们制成的 OpenType 字体,我组装了两个显示所有字形的 PDF。旁边是字形名称(用于 Type 1 字体)和 Unicode 值(用于 OpenType 字体)。如果您交叉引用这两个 PDF,您应该能够组装您正在寻找的相关列表。

数学圆周率

希望这可以帮助。

米格尔

于 2012-11-12T09:37:27.230 回答
2

以下是 Adob​​e 的 Miguel Sousa 在其排版论坛消息中提供的最佳信息:

对于它的价值并总结我在对此答案的评论中添加的信息,这是我在此之前和除此之外能够找到的内容。

Michael Sharpe, CTAN包“mathalfa”的创建者和 UCSD 数学成员,在这个存档文件中有数学 Pi 的 TeX 定义。我成功地猜到了 me.com 上已过时的记录位置已移至他的大学网站。“.vf”文件将数学 Pi 的字符映射到 TeX 数学代码点。它们是二进制的。映射数据是使用工具“vftovp”转储到可读文本的一部分,该工具是 TeX 发行版的一部分。执行该转储后,我们发现映射的字符是:

mathpibb: 'hyphen-minus' 0-9 A-Z a-z
mathpical: percent 'hyphen-minus' A-Z
mathpifrak: 'hyphen-minus' 0-9 A-Z a-z
mh2s: A-Z

这样就解释了包名称“mathalfa”。他只承担了使用字母和数字的任务,几乎没有其他任务。我们必须查看上面的文件以了解符号的映射。

我认为 MathPi 的某些部分,例如 MathPi 1 的希腊字母,使用与 Adob​​e Symbol 相同的编码,此处记录:http: //unicode.org/Public/MAPPINGS/VENDORS/ADOBE/symbol.txt

尝试将符号映射到自己的 Unicode 时,找到 Unicode 点的一个好方法是在屏幕上绘制字形:http: //shapecatcher.com

于 2012-11-11T21:34:03.553 回答
1

FWIW 我当前的映射表(通过阅读使用 MathPI 创建的文档,是:

<codePoint name="H9251" unicode="U+03B1" unicodeName="GREEK LOWERCASE LETTER ALPHA"/>
<codePoint name="H9252" unicode="U+03B2" unicodeName="GREEK LOWERCASE LETTER BETA"/>
<codePoint name="H9253" unicode="U+03B3" unicodeName="GREEK SMALL LETTER GAMMA"/>
<codePoint name="H9254" unicode="U+03B4" unicodeName="GREEK SMALL LETTER DELTA"/>
<codePoint name="H9255" unicode="U+03B5" unicodeName="GREEK SMALL LETTER EPSILON"/>
<codePoint name="H9256" unicode="U+03B6" unicodeName="GREEK SMALL LETTER ZETA"/>
<codePoint name="H9257" unicode="U+03B7" unicodeName="GREEK SMALL LETTER ETA"/>
<codePoint name="H9258" unicode="U+03B8" unicodeName="GREEK SMALL LETTER THETA"/>
<codePoint name="H9259" unicode="U+03B9" unicodeName="GREEK SMALL LETTER IOTA"/>
<codePoint name="H9260" unicode="U+03BA" unicodeName="GREEK SMALL LETTER KAPPA"/>
<codePoint name="H9261" unicode="U+03BB" unicodeName="GREEK SMALL LETTER LAMBDA"/>
<codePoint name="H9262" unicode="U+03BC" unicodeName="GREEK LOWERCASE LETTER MU"/>

<codePoint name="H11001" unicode="U+002B" decimal="43" unicodeName="PLUS"/>
<codePoint name="H11002" unicode="U+002D" decimal="45" unicodeName="MINUS"/>
<codePoint name="H11003" unicode="U+00D7" decimal="215" unicodeName="MULTIPLICATION SIGN"/> 
<codePoint name="H11005" unicode="U+003D" decimal="61" unicodeName="EQUALS"/> 
<codePoint name="H11011" unicode="U+007E" decimal="126" unicodeName="TILDE"/> 
<codePoint name="H11021" unicode="U+003C" decimal="60" unicodeName="LESS" htmlName="lt"/> 
<codePoint name="H11022" unicode="U+003E" decimal="62" unicodeName="" htmlName="gt"/> 
<codePoint name="H11032" unicode="U+0027" decimal="39" unicodeName="APOSTROPHE" htmlName="apos"/> 
<codePoint name="H11034" unicode="U+00B0" decimal="176" unicodeName="DEGREE SIGN" htmlName="deg"/> 

<codePoint name="H11554" unicode="U+00B7" decimal="183" unicodeName="MIDDLE DOT"/> 

于 2012-11-11T22:00:12.767 回答