web-dev-qa-db-ja.com

IntelliJ IDEA vs. Android St​​udioでは、同じフォントが異なってレンダリングされます

IntelliJ IDEAとAndroid St​​udioの両方を開発に使用し、最も長い間、2つのプログラムの理由を解明しようとしていました。同じ会社、および同じコードベースで構築された、およびexact同じフォント設定(および同じテキストアンチエイリアスメソッド)は、エディターペインのテキストを異なる方法でレンダリングします。

たとえば、両方のプログラムがDejaVu Sans Mono, 12ptを使用するように設定されている場合:

  • Android Studio:

    enter image description here

  • IntelliJ IDEA:

    enter image description here

違いがはっきりとわかります。フォントが細くなっているか、IntelliJでアンチエイリアス処理されていないようです。

IntelliJのテキストが目に見えて難しいので、これは私を壁に追いやってきました。

他の誰かがこれを以前に経験し、それを修正する方法を知っていますか?

3
Android Dev

まあ、私はそれを修正する方法を理解することができた、それは間違いなく私が期待していたものではありません。

IntelliJは私のシステムJDK(OracleのJDK 8)を使用していたのに対し、JDKにバンドルされているAndroid St​​udioはバンドルされたもの(OpenJDK 8)を使用していました。

システムJDKの代わりにAndroid St​​udioにバンドルされているJDKを使用するようにIntelliJに指示するだけで問題が修正されました。次のようにできます:

  1. ヘルプに移動->アクションを検索

    enter image description here

  2. 「boot JDK」を検索します

    enter image description here

  3. ドロップダウンメニューで...をクリックします

    enter image description here

  4. {AS install DIR}/jreを指す

    enter image description here

  5. IntelliJに再起動しても問題ないことを伝えます。

    enter image description here

  6. 元に戻ると、フォントが修正されます!

3
Android Dev

1-<JetBrains product directory>/jre/jre/lib/fontsfont.confを編集

2-すべての<test>セクションをコメント化する

結果のファイル:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <match target="font">
<!--
    <test name="family" qual="all" compare="not_eq">
      <string>Consolas</string>
    </test>
    <test name="family" qual="all" compare="not_eq">
      <string>Noto Sans Mono CJK JP</string>
    </test>
    <test name="size" qual="any" compare="less">
      <double>12</double>
    </test>
    <test name="weight" compare="less">
      <const>medium</const>
    </test>
-->
    <edit mode="assign" name="hintstyle">
      <const>hintslight</const>
    </edit>
  </match>
</fontconfig>

3-アイデアを再起動

0
vladroid