web-dev-qa-db-ja.com

高DPIを使用している場合にIntelliJ IDEAのフォントアンチエイリアスを修正するにはどうすればよいですか?

私はIntelliJ(実際にはAndroid Studio)が 本当にフォントをめちゃくちゃにする ようにする高いDPI設定を使用します。

私は MacType を使って自分のフォントを他の場所に美しくレンダリングしますが、Java VMがどういうわけかそれを傍受しているのではないかと思います。


UPDATE:rpgmakerが以下の 答え で言うように、最新のIntelliJをインストールすることもできます。 (2016.1以降)

76
Bloke

私は高dpiディスプレイを使用していますが、これを実現するために完璧なフォントレンダリングを使用して作業しています。

  • (Linuxの場合)Oracle JDK(私は1.7を使用しています)をインストールして使用し、OpenJDKを使用しないでください。 fontfixでパッチを当てたものは私には無用でした)。 これを行う方法を見てください

  • Binインストールフォルダにある.vmoptions設定ファイルを編集します(例:studio.vmoptionsインストールしたIDEのバージョンに応じて、64ビットstudio64.vmoptions、またはWebStorm.exe.vmoptionsなどの場合これらの行を追加して:
    -Dawt.useSystemAAFontSettings=on
    -Dswing.aatext=true
    -Dsun.Java2d.xrender=true

  • 使用したいフォントからヒンティング情報を削除し、IntelliJ IDEApreferencesに新しいフォントを選択します(設定 - >エディタ - >フォント)。
    これを行う方法がわからない場合は、FontForgeをインストールしてから:

    1. FontForgeでフォントを開きます。
    2. Ctrl+Aですべてのグリフを選択し、すべてのヒントを消去します(ヒント - >ヒントの消去)。
    3. グリフをもう一度選択して、ヒント - >命令の消去を使用してください。
    4. フォントを別の名前で保存します([ファイル] - > [フォントの生成])
    5. 新しいフォントをインストールし、IDEAで選択します

上記のヒントに従っていて、コードを高速でスクロールしたときにラグが発生する場合(これは最適化されていないgpuドライバがあるLinuxディストリビューションでは時々起こる可能性があります)
-Dsun.Java2d.xrender=true
。vmoptionsファイルの。

最後に、これが結果のスクリーンショットです。

IDE screenshot


(ここで使用されているフォントは、メインのIDE用のLucidaMACおよびUbuntu Mono用のヒント情報を削除したものです。コードエディタ)

109
guari

私はこれを直すための小さなマニュアルhowtoを書きました。

   wget http://urshulyak.com/jdk-8u5-tuxjdk-b08.tar.gz
   tar -zxvf jdk-8u5-tuxjdk-b08.tar.gz
   Sudo mv jdk-8u5-tuxjdk-b08 /usr/lib/jvm
   rm jdk-8u5-tuxjdk-b08.tar.gz

Intellij Ideaを起動するスクリプト

*アイデアのパスに合わせてIDEA_HOMEの場所を変更する必要があることだけに注意してください。

#!/bin/sh

IDEA_HOME=/opt/idea
export Java_HOME=/usr/lib/jvm/jdk-8u5-tuxjdk-b08/
export _Java_OPTIONS="-Dawt.useSystemAAFontSettings=lcd \
                      -Dsun.Java2d.xrender=true"
export GNOME_DESKTOP_SESSION_ID=this-is-deprecated
exec $IDEA_HOME/bin/idea.sh "$@"

より良いフォントの詳細情報とスクリーンショット: http://urshulyak.com/?p=478

4

この醜いものはもう必要ありません。 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でも動作しますが、それ以前のバージョンでも動作するはずです。

2
Aspiring Dev

最近のJetBrains IDEでは解決方法が異なります。

IDEインストールフォルダだけ名前を変更jreフォルダ他の何かに。例えば:

  1. $ cd your-path-to/WebStorm-162.2228.20/
  2. $ mv jre/ _jre/

最近のバージョンではシステムの代わりにJREがバンドルされています。このバンドルされたバージョンはフォントレンダリングの問題を引き起こします

ここで問題なく動作します:Kubuntu 16.04 Linux上のWebStorm 2016.3.2

WebStorm screenshot with fixed font

2
ogram

私は Menloフォント をダウンロードして、エディタのアンチエイリアシングを 'グレースケール'に設定するだけで、同じように見えます。

これが結果です。

This is how it looks

2つのプラットフォーム間の比較はここにあります

enter image description here

私はMACで作業中の高解像度とより良いハードウェアを使っています、それはフォントが少し明るく見える理由である、結果はあなたのマシンによって異なるでしょう。とにかくそれは一撃の価値がある、変更は元に戻すのは簡単です

2
FRR

あなたが 答えで説明されているguariのようなFontForgeでヒントをクリアすることができないなら 。エディタフォントとしてCousine(Apache License v2.00)を使用し、サイズを14に設定します。他の等幅フォントをいくつか試しました。しかし、Cousineは他のほとんどのフォントよりもレンダリングが優れているようです。最後のスクリーンショットを見てください

  1. フォントをダウンロードする:cd ~/Downloads/ && wget www.fontsquirrel.com/fonts/download/cousine
  2. 新しいフォントファミリディレクトリを作成します。Sudo mkdir /usr/share/fonts/truetype/Cousine
  3. フォントファイルを解凍します。Sudo unzip cousine -d /usr/share/fonts/truetype/Cousine/
  4. それらをIntelliJで利用できるようにする:Sudo chmod -R 777 /usr/share/fonts/truetype/Cousine
  5. フォントキャッシュを更新します。Sudo fc-cache -f -v
  6. IntelliJを再起動して、エディタフォントとしてCousinを選択します。
  7. guariの説明のようにvmoptionsを設定することを忘れないでください

スクリーンショット:

1
user1185087

Windows 10でも同様の問題がありました。 Disable display scaling on high DPI settingsをチェックすると、フォントはより滑らかになりましたが、はるかに大きくなりました。これを行う方法は次のとおりです(別のユーザーからの以前のコメントから)。

そのアイコンを右クリックして、Propertiesを選択し、Compatibilityタブに行き、Disable DPI scaling on high DPI settingsをチェックしてください。

WindowsのSettingsに入ってDisplay Settingsを検索すると、Change the size of text, apps, and other itemsというスライダー付きダイアログがあります。私はそれを125%から100%に移動し、ログオフして再度ログインしなければなりませんでした。フォントは小さくて滑らかになりました。

enter image description here

さらに、Disable display scaling on high DPI settingsをオフにしても、まだスムーズに見えます。

1
User1

これは、ubuntu 16.04でのひどいフォントレンダリングでどのように見えるかです。

This is how it looks like with horrible font rendering on ubuntu 16.04

JDKをバンドルせずにIntelliJ IDEA 2016.X以降を使用している場合は、環境変数 "IDEA_JDK"を設定して特定のランタイムを指定できます。 Android Studioを使用したubuntu 16.04でのフォントレンダリングは完璧です。そのため、同じJREをIntellij IDEAと共有できます。 IntelliJは最初にIDEA_JDK環境変数を探すので、ファイルを追加して設定します。

/etc/profile.d/IDEA_SDK.sh

これをファイルに追加します。

export IDEA_JDK=/opt/Android-studio/jre

インストールに合わせて/ opt/Android-studio/jreを調整します。ログアウトしてからログインし直して、Intellij IDEを起動します。

これは、新しいJREを使用した後の外観です。

This is what it looks like after using the new JRE

0
Abhisek Padhi

受け入れられた答えは私のために働きませんでした、しかし私はこれをすることによってすべてを働かせました:

様々なチュートリアルを読み、たくさんの修正をいじってみると、私は完璧に機能する方法を見つけました。

まず、OracleからJDK 8をダウンロード して 、ターミナルで次の行を実行します。

cd Downloads
tar -xvf jdk-8u25-linux-x64.tar.gz
rm jdk-8u25-linux-x64.tar.gz
Sudo mkdir -p /usr/lib/jvm/
Sudo mv jdk1.8.0_25 /usr/lib/jvm/

次のコマンドを実行して、JDKフォント修正([Urshulyak Yaroslav] [2]の礼儀)をダウンロードします。

cd ~/Downloads
wget http://urshulyak.com/jdk-8u5-tuxjdk-b08.tar.gz
tar -xvf jdk-8u5-tuxjdk-b08.tar.gz
Sudo mv jdk-8u5-tuxjdk-b08 /usr/lib/jvm
rm jdk-8u5-tuxjdk-b08.tar.gz

ダウンロードしたZipファイルを解凍して/ usr/lib/jvm /に移動します。それでは、ターミナルで次のコマンドを実行してください。

cd ~
Sudo gedit .bashrc

次に、bashrcファイルの一番下に次の行を追加します。

Java_HOME=/usr/lib/jvm/jdk1.8.0_25/
export Java_HOME

それを保存してから、idea.shを編集します。 (スクリプトの場所は異なる場合があります)

gedit /home/USER/Downloads/idea/bin/idea.sh

スクリプトの一番下の行の一番下にあるWhile Doステートメントの行を、次の2行に置き換えます。

eval "/usr/lib/jvm/jdk-8u5-tuxjdk-b08/bin/Java" $ALL_JVM_ARGS -Djb.restart.code=88 $MAIN_CLASS_NAME "$@"
test $? -ne 88 && break

保存してIntelliJを開くと、フォントが機能するはずです。開発にはOracle JDK 8を使用します。おそらくプロジェクト設定を編集してJDKを再設定する必要がありますが、実際のJDKを使用し、フォント修正は使用しないでください。

この修正はCLion、Android Studio、[PyCharm]でも機能します。

これらの指示はJDKのバージョンが1.8.0_25であると仮定します、ファイル/パス名は将来のバージョンのために変わるでしょう。

0
user327409

Oracle JDK-8をインストールできます。 Ubuntu 14.04でテストされています、後でまた働くべきです。

Sudo add-apt-repository ppa:webupd8team/Java
Sudo apt-get update
Sudo apt-get install Oracle-Java8-installer

バージョンを確認してください。

$ Java -version
Java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)

ここから を取った

0
Temak