2017-04-03 9 views
2

最初に、私は知りたいのですが、Windows 10のIDE PYCHARMで、なぜ "モノスペースフォントだけを表示"がチェックされているのかを知りたければ、多くのフォントはエディタのフォント選択ダイアログボックス[設定/エディタ/カラーand fonts/font]も、minttyにあります。フォントはどのようにOSに「私はモンスター/フィックスドフォントを使用していますか」と伝えますか?

私はpycharmはどうやっているのか分かりませんが、minttyはwin32 API "LOGFONT"を使用しています。

Windows OSはフォントが固定幅フォント(固定幅)であるかどうかをどのように知っていましたか?

すなわち: 「ソースコードプロ」リストされ、「ソースコードプロブラック/超軽量/ライト...ない。

『フィラコード』表示されているが、フィラコード光/媒体/網膜れますない;。

と、「ショーが唯一の等幅」場合は他のいくつかの等幅フォントは、そこに記載されていない

ことが確認されたときにそのpycharmのみフォントファミリ名を認識で

を「ショーが唯一のフォントをmonospced」らしいですOSX(マーベリックス)それ'唯一のモノスペースフォントを表示する'がチェックされていれば、pycharmはまだファミリ名を得ることができますが、ルーグラー加重フォントバージョンがインストールされている場合、デフォルトのフォントウェイトはわかりません。


そして、私はいくつかのフォントを変更し、フォントフォージの元のフォントの「ファイル情報」に一目を持つ方法によりしようとしましたが、私は本当にWINDOWSまたはPYCHARM影響どの部分かわかりません(IDEA/INTELIJ/JDKは実際には?)どのフォントがモノスペースであるかを知るために。

"OS/2"の部分では、固定幅/モノスペース/モノスペースに記載されているパラメータはチェックされていますが、助けられませんでした。

これで、TTFファイルや他のフォントファイルタイプは[windows/osx/mac os/linux] OSに「私はモノスペースですか?」と伝えるのにどのパラメータを使用するのでしょうか?

答えて

1

TrueTypeフォントには、postテーブルを含めることができます。 postテーブルには、isFixedPitchという名前の32ビットフィールドが含まれています。これに0が含まれている場合は、比例フォントを示します。固定幅フォントに設定してください。これは1に設定されています(通常、フォントエンジンは、固定幅フォントを示すためにゼロ以外の値を受け入れることを推奨します。

固定幅フォントでは、3に設定されたhheahmtxテーブルのnumberOfHMetricsも指定する必要があります。

また、フォントがモノスペースであるかどうかを指定するために、(OS/2テーブルの)パノースフォントマッチングデータにデータがあります。

もし私が推測しなければならないのは、アップルはpostテーブルを使用する可能性が高いと言いますが、マイクロソフトはパノースデータを使用する可能性が高いと思いますが、いずれかまたは両方について間違っている可能性があります。


参考文献:

  1. Apple documentation of 'post' table
  2. Microsoft OpenType Recommendations
  3. Panose Classification Metrics Guide
+0

貴重な答えを得るためにそんなに、素晴らしい世界に感謝します。モノスペース用のパノースビット '9'で修正されたフォントが成功し、OSXによって正常に認識されたと思われ、Reflink#2によればマイクロソフトはパノースデータを使用することを推奨しますが、パイチャが認識できませんでしたそれはpycharmかjdkの問題です。 –

関連する問題