web-dev-qa-db-ja.com

Intellij IDEA Linuxでのフォントスムージング

IntelliJを使用していますIDEA KDEを搭載したArch Linuxで。OpenJDKのバージョンは1.7.0_40です。

全体IDEフォント(コードエディタを含む)は、アンチエイリアスとフォントスムージングなしでレンダリングされます。idea.propertiesファイルidea.use.default.antialiasing.in.editortrueに設定して追加しました_Java_OPTIONS変数-Dawt.useSystemAAFontSettings=on -Dswing.aatext=trueに影響なし。

フォントスムージングを有効にするには、他に何ができますか?

25
InsidE

こちらをご覧ください 。 IDEAを実行するときに同じ問題があったことを覚えていますが、wikiに記載されている行を追加すると、問題はなくなります。

export _Java_OPTIONS='-Dawt.useSystemAAFontSettings=setting'ここで、setting

  • offまたはfalseまたはdefault –アンチエイリアスなし
  • on –完全なアンチエイリアス
  • gasp –フォントに組み込まれているヒントの使用
  • lcdまたはlcd_hrgb –多くの一般的なLCDモニター用に調整されたアンチエイリアス
  • lcd_hbgr –代替LCDモニター設定
  • lcd_vrgb –代替LCDモニター設定
  • lcd_vbgr –代替LCDモニター設定
23
lynnard

別の解決策を見つけました here 。これはOracle JDKで機能しますが、この質問に出くわした人には役立つかもしれません。 .vmoptionsファイルを編集する必要があります(私の場合はidea64.vmoptions/binです)。次の3行を追加します。

-Dawt.useSystemAAFontSettings=on
-Dswing.aatext=true
-Dsun.Java2d.xrender=true

問題が発生した場合は、最後の行を削除できます。最初の設定でさまざまなバージョンをテストできます(上記の投稿からオプションを取得してください)。

さらに、使用しているフォントを編集したり、ヒントをクリアしたりすることもできます(投稿の作成者はFontForgeの使用を提案しています)。これが必要であるとは思いませんでした。

16

この醜いものはもう必要ありません。 Linux用の最新のIntelliJ(2016.1以降)をダウンロードします。フォントの問題が修正された変更されたJREが含まれています。 Android Studioも修正するには、IntelliJ jreへのシンボリックリンクを作成します。

ln -s /PATH/TO/INTELLIJ/jre /PATH/TO/ANDROIDSTUDIO/jre

または、ルートとしてファイルマネージャーを開き(IDEが/ optディレクトリまたは別のシステムフォルダーにインストールされていると仮定)、IntelliJのjreへのショートカットを作成し、Android Studioインストールフォルダーに移動します。次に、名前を「jre」に変更します。これは、最新のAndroid studio 2.0で機能しますが、以前のバージョンでも機能するはずです。

Android Studioには変更されたJREが付属しているため、シンボリックリンクは不要になり、最新バージョンをダウンロードするだけです。

5
Aspiring Dev

前述のとおり、これはJDKのバグです。良いニュースは、OpenJDKの patch がLinux上のIntelliJのフォントレンダリングを大幅に改善し、フォント品質をMacで見たものと同等にすることです。

(明確にするために、これはidea.propertiesを微調整することで得られるものよりもはるかに優れています。)

これをインストールするには、以下のパッケージを使用します。

Ubuntu PPAhttps://launchpad.net/~no1wantdthisname/+archive/openjdk-fontfix

Arch AUR:https://aur.archlinux.org/packages/jre7-openjdk-headless-fontfix/
(私はUbuntu/Elementary OSを実行しているので、これを個人的に保証することはできません)

4
Trevor Johns

選択した_Java_OPTIONSが何であっても、OpenJDKでは機能しません。そのため、Sudo pacman -Rndd jdk7-openjdk jre7-openjdk jre7-openjdk-headless Java-rhinoを使用して削除し、Oracle JDK 8を Aur からインストールします。インストール後、ログアウト/ログインしてJava環境変数(f_e。Java_HOME)を更新する必要があります。)ほら、フォントのレンダリングは問題ありません。

楽しい!

PS:pacman -Rnddを削除すると、依存関係はありませんが、構成ファイルが展開されます:pacman --remove --nosave --nodeps --nodeps

IntelliJ Idea Community Edition 13.1.2 with Oracle JDK8 on Arch Linux

3
klingt.net

これは現在のIntelliJ IDEAに適用されます

最良の解決策は、ダウンロードすることですIntelliJ IDEA with the JRE(デフォルトのダウンロード)。このバージョンは、 Linuxでフォントをより適切に処理するためにパッチが適用されたカスタムJRE(Javaランタイム環境)。

IntelliJ IDEAはLinux用に2つのバージョンを提供し、1つのバージョンにはJRE(デフォルトのダウンロード)が埋め込まれていますが、他のバージョンにはJREがなく、ユーザー自身のJavaインストール。

IntelliJを再インストールしたくない場合は、次を試してください:

  1. ダウンロードして解凍 このJRE
  2. それに切り替える
  3. 追加 -Djava2d.font.loadFontConf=falseidea.vmoptionsidea64.vmoptionsファイルの両方にintellij_installation_folder/bin /

N.B.最初のソリューションの結果は、試してみると少し見栄えが良くなりました。

私のテストに関する限り、@ CorneliuDascăl ここで言及されている解決策は機能しませんIntelliJ 2018以降。

2
Maged

これはOpenJDKの既知のバグです。多少の微調整でこれが修正されるとは思いません。少し良くなるかもしれませんが、OpenJDKではフォントのレンダリングが壊れています。

最も痛みのない修正IMHOは、AURに移動して jdk7-compat をインストールすることです。これは、通常のJDKの横で実行するように設計されています。

AURを使用したことがなくても心配する必要はありません。本当に簡単です。基本的に、あなたがすることは

  1. pacman -S base-develでbase-develがインストールされていることを確認してください
  2. 上記でリンクしたAURページからtarをダウンロードし、解凍します。
  3. 解凍先のフォルダで「makepkg -di」を実行します

これで完了です。 /usr/share/intellijidea-ce/bin/idea.shを編集して、プログラムを実行する行(ファイルの下部にある)を次のように変更します。

eval "/opt/Java7/bin/Java" $ALL_JVM_ARGS -Djb.restart.code=88 $MAIN_CLASS_NAME "$@"

これにより、OpenJDKではなくOracle JVMでintelliJが実行され、フォントの問題がすべて修正されます。

1
JustDanyul

/usr/share/intellijidea-ce/bin/idea.sh:この行を編集:

ALL_JVM_ARGS="$VM_OPTIONS $COMMON_JVM_ARGS $IDE_JVM_ARGS $AGENT $REQUIRED_JVM_ARGS"

次のようにします:

ALL_JVM_ARGS="$VM_OPTIONS $COMMON_JVM_ARGS $IDE_JVM_ARGS $AGENT $REQUIRED_JVM_ARGS -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true"
0
Baron Leonardo