あなたが望むのは、パスの代わりにグリフ要素を持つことだと思います。問題は、Glyphs 要素ではフォント ファイルの URI を指定する必要があることです。また、Glyphs 要素は、フォント ファイルへのインデックスによってグリフを参照します (Microsoft XPS Document Writer などの Glyphs 要素を生成するコンバーターが、フォント サブセット ファイルへのインデックスを使用する場合があります。したがって、これらのインデックスは、元のフォント ファイルで定義されているものと同じグリフ)。独自の PDF から XAML への変換ツールを使用して、この問題を 2 つの方法で "解決" することができました。
1. アプローチ: 生成された XAML コードに BASE64 でコード化されたフォント サブセット ファイルを埋め込み、アプリケーションにクラスを実装させます。このクラスは、読み込み時に、埋め込まれたフォント サブセット ファイルを抽出して一時的な場所にデコードし、有効な URI をその一時ファイルを XAML ローダーに戻します。
または、2. アプローチ: アプリケーションと共にほとんどのフォント ファイルが既にインストールされており、XAML コードの読み込み時にフォント名をインストール済みフォント ファイルの URI に置き換えるアプリケーションによるサポートを追加します。この 2 番目のアプローチの問題点は、インストールされたフォント ファイルにグリフ インデックスを正しくマップする必要があることです。(私のブログで、この読み込み方法用に生成されたサンプル ファイルへのリンクを見つけることができます。特に、ファイルtruncatedcone-xaml.txtをのぞいてみてください)
要するに、どちらのソリューションも、特別な PDF から XAML へのコンバーターと、読み込みアプリケーションによるサポートを必要とします。PDF をパスのみに変換するのではなく、このようにしたかった理由は、アプリケーションが共有ホワイトボードであるためです。したがって、ベクター グラフィックスをできるだけ小さくしたいのです。(パスへの変換は、ほとんどの場合、XAML コードを 10 倍以上に膨らませる傾向があります)。
3 番目のアプローチの実装を検討しています。これは、一度だけ使用されるすべてのグリフのアウトラインを生成することで構成されます。次に、私のアプリケーションによるサポートを追加して、これらのグリフのアウトラインを変換して配置する方法を、Glyphs 要素が行うことと非常によく似た方法で生成します。利点は、生成された XAML が依然として比較的小さい (前述の 2 番目の方法に匹敵する) ことであり、関連するフォント ファイルをアプリケーションと共にインストールする必要がなく、グリフ インデックスをサブセット ファイルからインストールされたフォントにマップする必要もありません。ファイル。これを本格的に実装しようとまだ試みていない理由は 2 つあります。まず、現在の (2 番目の) アプローチは、現在必要としているものに対して既に非常にうまく機能しています。次に、この 3 番目のアプローチでは、読み込みやレンダリングに関してパフォーマンスの問題が発生する可能性があります。