IntelliJを使用していますIDEA KDEを搭載したArch Linuxで。OpenJDKのバージョンは1.7.0_40です。
全体IDEフォント(コードエディタを含む)は、アンチエイリアスとフォントスムージングなしでレンダリングされます。idea.properties
ファイルidea.use.default.antialiasing.in.editor
をtrue
に設定して追加しました_Java_OPTIONS
変数-Dawt.useSystemAAFontSettings=on -Dswing.aatext=true
に影響なし。
フォントスムージングを有効にするには、他に何ができますか?
こちらをご覧ください 。 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モニター設定別の解決策を見つけました here 。これはOracle JDKで機能しますが、この質問に出くわした人には役立つかもしれません。 .vmoptions
ファイルを編集する必要があります(私の場合はidea64.vmoptions
の/bin
です)。次の3行を追加します。
-Dawt.useSystemAAFontSettings=on
-Dswing.aatext=true
-Dsun.Java2d.xrender=true
問題が発生した場合は、最後の行を削除できます。最初の設定でさまざまなバージョンをテストできます(上記の投稿からオプションを取得してください)。
さらに、使用しているフォントを編集したり、ヒントをクリアしたりすることもできます(投稿の作成者はFontForgeの使用を提案しています)。これが必要であるとは思いませんでした。
この醜いものはもう必要ありません。 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が付属しているため、シンボリックリンクは不要になり、最新バージョンをダウンロードするだけです。
前述のとおり、これは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を実行しているので、これを個人的に保証することはできません)
選択した_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に適用されます
最良の解決策は、ダウンロードすることですIntelliJ IDEA with the JRE(デフォルトのダウンロード)。このバージョンは、 Linuxでフォントをより適切に処理するためにパッチが適用されたカスタムJRE(Javaランタイム環境)。
IntelliJ IDEAはLinux用に2つのバージョンを提供し、1つのバージョンにはJRE(デフォルトのダウンロード)が埋め込まれていますが、他のバージョンにはJREがなく、ユーザー自身のJavaインストール。
IntelliJを再インストールしたくない場合は、次を試してください:
-Djava2d.font.loadFontConf=false
をidea.vmoptionsとidea64.vmoptionsファイルの両方にintellij_installation_folder/bin /N.B.最初のソリューションの結果は、試してみると少し見栄えが良くなりました。
私のテストに関する限り、@ CorneliuDascăl ここで言及されている解決策は機能しませんIntelliJ 2018以降。
これはOpenJDKの既知のバグです。多少の微調整でこれが修正されるとは思いません。少し良くなるかもしれませんが、OpenJDKではフォントのレンダリングが壊れています。
最も痛みのない修正IMHOは、AURに移動して jdk7-compat をインストールすることです。これは、通常のJDKの横で実行するように設計されています。
AURを使用したことがなくても心配する必要はありません。本当に簡単です。基本的に、あなたがすることは
pacman -S base-devel
でbase-develがインストールされていることを確認してくださいこれで完了です。 /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が実行され、フォントの問題がすべて修正されます。
/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"