7

WPFアプリケーションにフォントをインストールして使用しようとしましたが、取得できるのは次のとおりです。 ここに画像の説明を入力してください

フォントを使用しようとしたコードは次のとおりです。

richtext1.FontFamily = "SH_Roq'a";

期待される結果は次のとおりです。(MS Wordからのスナップショット) ここに画像の説明を入力してください

フォントファイルをプロジェクトフォルダに追加して、次のようにリソースとして使用しようとすると、次のようになります。

richtext1.FontFamily = "./#SH_Roq'a";

正方形の結果は得られませんが、期待するフォントもありません。私が得たのはTahomaフォントです:

ここに画像の説明を入力してください

ターゲットフォントではありません。実験のために、ここからターゲットフォントファイルをダウンロードしてください。

どんな助けでも大歓迎です!

編集

上記のキャプチャされたテキストのプレーンテキストは次のとおりです。

تفاح احمر

したがって、フォントの使用に精通している人は、実験することができます。

4

1 に答える 1

3

フォントにはいくつかの問題があります。

  1. Unicodeでエンコードされていません。プラットフォームID3、エンコードID 0のcmapサブテーブル(「シンボル」テーブルとも呼ばれます)を使用します。これらは通常、古いスタイルのWindowsデスクトップアプリケーション以外ではうまく機能しません。

  2. アラビア語/ウルドゥー語/ペルシア文字の正しい整形(初期、中間、最終、分離形式、ラム文字の合字など)に不可欠なOpenTypeレイアウト機能(GSUB、GPOSなど)はありません。

  3. 非常に古いOS/2テーブル(バージョン0)を使用します。一部のMicrosoftテクノロジでは、少なくともバージョン1が必要です。このテーブルのfsSelectionフィールドには予約済みのビットが設定されており、その他の疑わしい設定もいくつかあります。

私はそこで見るのをやめました。このフォントは、フォント構造に関する古い知識を使用して、非常に古いツールで作成されているようです。最新の環境で正しく機能するには、大幅な更新が必要です。

于 2012-06-14T14:25:19.180 に答える