3

私はc++を使用してwin32アプリケーションを作成しています。デフォルトのフォントを使用する場合、システムはヒンディー語の文字などの英語以外の記号の表示を処理します。ただし、インドルピー記号(¥)などの一部の特殊記号では、正方形しか表示されません(現在の記号は表示できないことを示していると思います)。記号を表示できるルパカラフォントをインストールしました。
シンボルが通貨範囲からのものである場合は、Rupakaraフォントを使用し、それ以外の場合はデフォルトのシステムフォントを使用したいと言うことができる方法があるかどうかを知りたいと思いました。したがって、ユーザーが入力するものが何であれ、ユーザーは同じ記号の正しい記号を取得するように見えます。値がその範囲内にあることを個別に確認できることはわかっていますが、この範囲にこのフォントを使用するように設定するAPI呼び出しが必要です。これは、後で別の範囲に他のフォントを設定するためにも使用できるためです。
さらに詳細が必要な場合、または各文字が属する範囲を明示的にチェックしてフォントを設定せずに同じことを行う他の方法があるかどうかをお知らせください。
ありがとう

4

1 に答える 1

1

MicrosoftWindowsはフォントを置き換えません

オプションは次のとおりです。

  1. 現在使用しているフォントを編集し、そこでこの文字をマージします(たとえば、FontForgeを使用します)。問題のフォントのライセンスでこれが許可されていることを確認してください。
  2. フォント置換を行うテキストレンダリングエンジンを使用します。これは、デフォルトのテキストボックスやテキストレンダリング機能など、組み込みのWindows機能を使用できないことを意味します。
于 2012-05-28T07:57:38.160 に答える