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の等価物として検索する必要があるためです。]

また、charnamesがC223(著作権用)の形式である同様のシンボルリソースがあるようです。これに関する情報をいただければ幸いです。

更新:@ user1808924の答えをはるかに超えるものが必要です-私はすでに独自の(部分的な)変換テーブルでコンパイルしているので、それを構築することは確かに可能です。MathematicalPI(数百)でグリフのリストをダウンロードして表示し、Unicode仕様を調べて同等性を作成することができます(ほとんどの場合、明確な同等性があると思います)。満足のいく答えには、何百もの同等物を含む表、またはこれがフォント作成者の著作権を侵害するという明確な声明が含まれます。

更新:@minopretと@Miguelの間で、マッピングを作成することは確かに可能です。MathPiセットは明確に定義されており(数百)、shapecatcherを使用すると、絵で最高のグリフを簡単に見つけることができます。マッピングは決定的なものではありませんが(つまり、Adobeのスタンプを使用)、価値があります。また、2つの異なるグリフが本質的に同一であるため、視覚的なマッピングが機能しない場合があると思います。たとえば、正三角形のINCREMENTまたはGREEK CAPITAL LETTER DELTAですか?

私が個人的に完全な表を完成させるとは思えません-いくつかの記号が何を意味するのかわかりません。しかし、私は科学技術医学(STM)出版で使用されるサブセットを作成したいと思っています。

@user1808924あなたがSOの初日にこれに答えたのに気づきました。バウンティ質問は通常(この場合のように)決定的な答えはあるが見つけるのが難しい難しい質問に対して提供されます。その分野の専門知識がない限り、通常、意見や推測を提供することは役に立ちません。

4

4 に答える 4

4

そのような翻訳表は全くないと思います。

MathematicalPIフォントファミリーは合成フォントファミリーであり、より大きな未知のセットから要素のサブセットを選択することによってアドホックに作成されているように見えます。フォントファミリーの存在理由MathematicalPI、単純な代数演算子(プラス、マイナス、乗算、除算)と等号の表現のようです。charnames(つまりH1100X、)は、コードポイント値の後に順序付けられていないため、アーティファクトのように見えます(たとえば、等号は最後の記号です)。

利用可能なデータを見ると、欠落しているH11004文字名が除算演算子に対応している必要があることがわかります。ただし、Unicodeの「スラッシュ」文字(つまりU+002F)、「除算記号」文字(つまりU+00F7)などで表す必要があるかどうかを予測することはできません。

于 2012-11-08T10:42:11.357 に答える
3

これが私がAdobeフォーラムサイトで公開したものです。

間違っているかもしれませんが、公式の通信表はないと思います。

6つのType1フォントとそれらから作成されたOpenTypeフォントを使用して、すべてのグリフを表示する2つのPDFを作成しました。それらの隣には、グリフ名(Type 1フォントの場合)とUnicode値(OpenTypeフォントの場合)があります。これら2つのPDFを相互参照すると、探している相関リストを組み立てることができるはずです。

数学的円周率

お役に立てれば。

ミゲル

于 2012-11-12T09:37:27.230 に答える
2

アドビのミゲル・スーザがタイポグラフィフォーラムのメッセージで提供した最高の情報は次のとおりです。

価値があることと、この回答へのコメントで追加した情報を要約するために、これは私が以前にそれとは別に見つけることができたものです。

CTANのパッケージ「mathalfa」の作成者でUCSD数学のメンバーであるMichaelSharpeは、このアーカイブファイルにMathematicalPiのTeX定義を持ってます。me.comの廃止された文書化された場所が彼の大学のサイトに移動したことを私は首尾よく推測しました。「.vf」ファイルは、MathematicalPiの文字をTeX数学コードポイントにマップします。それらはバイナリです。マッピングデータは、TeXディストリビューションの一部であるツール「vftovp」を使用した読み取り可能なテキストへのダンプの一部です。そのダンプを実行した後、マップされた文字は次のとおりであることがわかります。

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 1のギリシャ文字など、MathPiの一部は、Adobe Symbolと同じエンコーディングを使用していると思います。AdobeSymbolは、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 に答える