5

FontForgeを使用してフォントを変更しています。 問題はArialフォントファイルから文字(スペースとU00A0 (非ブレークスペース) )を変更して、企業の特別なユースケースでこれら2つの文字を異なって表示できるようにすることです。

Fontforgeを開いて、スペース文字またはノーブレークスペース文字を操作しようとすると、両方の文字が変更されます。私はそれらが異なって見える必要があります。参照の問題ではないようです(編集する前に、両方の文字の参照のリンクを解除しようとしました)。

それらはどういうわけか一緒にリンクされており、私は知りたいです:どうすればそれらのリンクを解除できますか?

どんな提案でも大歓迎です。

4

3 に答える 3

5

fontforgeでこの問題を解決するには、次のことを行う必要があります。

  • 対象のキャラクターを選択
  • メニューで、[エンコード]-> [グリフのデタッチ]をクリックします。これにより、現在のグリフから文字の関連付けが解除されます。この場合、スペースと改行しないスペースの関連付けも削除されます。
  • 新しい空の文字で必要なグリフをコピーまたは作成します
于 2013-02-06T16:43:14.613 に答える
2

Arialでは、他の多くのフォントと同様に、スペース(U + 0020)とノーブレークスペース(U + 00A0)の両方の文字が同じグリフにマップされます。まず、新しいグリフを作成する必要があります(これは、コピーして貼り付けるだけで実行できます)。次に、CharInfoを使用してマッピングを編集します。理想的には、小さい番号のグリフはスペース/ U + 0020にマップされ、大きい番号のグリフは非ブレークスペースにマップされますが、これは必須ではありません。マッピングを分離したら、必要に応じてそれぞれに変更を加えることができます。

ただし、理解しておくべき重要なことがいくつかあります。1)ArialフォントデータはMicrosoftによって所有および管理されています。あなたはそれを非常に特定の方法で使用するためのライセンスを持っており、あなたが他の方法で特別にライセンスされていない限り、あなたはフォントの修正されたバージョンを配布する権利を持っていません。

2)一部のアプリケーションは、フォントの内容に関係なく、U+0020とU+00A0の両方にU+0020によって参照されるグリフを使用します。ですから、あなたの修正は無駄かもしれません。残念ながら、私はこの動作を示すアプリケーションの決定的なリストを知りません。注意深くテストする必要があります。

于 2012-01-30T04:46:38.227 に答える
0

Arialの前にロードされる2番目のfontforgeフォントを使用して、この問題を解決しました。新しいフォント(rte)を使用するコンテキストでは、保護されたスペースをほぼ同じ動作の別の文字にマップします(これは図形スペースだったと思います)。そのため、その新しいフォントでは、U+0020と置換文字に異なる文字を使用します。このようにして、ライセンスに違反せず、望ましい動作をします。

于 2012-01-31T09:28:24.103 に答える