svgパスを返すためにMetapostによって処理されたメタフォントグリフの説明

Jan 06 2021

多数の文字のSVGパスを生成したいと思っていますが、これをMetapostで自動化できるかどうか疑問に思います。私が読んだことから、

mpost ’&mfplain’ cmr10

mpostにフォント文字のメタフォント記述を処理させ、文字ごとに1つのポストスクリプトファイルを出力します。Metafontパスの説明を解釈し、ベクターシェイプを返すという類似したものを探していますが、塗りつぶされたアウトラインではなく、開いたパスを生成します。基本的に、紙に残す痕跡とは対照的に、ペンの軌跡だけです。

これはMetapostで実行可能ですか?私はこのシステムにあまり詳しくないので、深く掘り下げてこれが絶望的であることに気付く前に質問したいと思います。

回答

3 MarcelKrüger Jan 06 2021 at 16:46

MetaPostはあなたがそれに渡すパスの種類を変更しません。したがって、logo10オープンパスを使用して定義されているようなフォントがある場合、MetaPostからの出力もオープンパスを使用します(PostScriptとSVGの両方)。一方cmr10、塗りつぶされたアウトラインを使用して定義されているようなフォントを使用する場合、SVGまたはPostScript出力は同じものを使用します。(実際にcmr10は組み合わせを使用します:ほとんどすべてのグリフは塗りと線の両方を使用し、SVGまたはPostScript出力にもコピーされます)

唯一の例外は、丸くないペンを使用する場合、MetaPostはストロークを塗りつぶされたアウトラインに変換する必要があることです。

ちなみに、mpost出力SVGファイルを取得するには、引数を渡すことができます-s outputformat=\"svg\"