높은 DPI를 사용할 때 IntelliJ IDEA에서 글꼴 앤티 앨리어싱을 수정하는 방법은 무엇입니까?


답변:


112

나는 높은 DPI 디스플레이를 사용하고 있으며 완벽한 글꼴 렌더링 작업을 수행하여 다음을 수행해야합니다.

  • (Linux의 경우) OpenJDK가 아닌 Oracle JDK (1.7을 사용하고 있음)를 설치하고 사용 하십시오. 이 작업을 수행하는 방법을 참조하십시오 .

  • Bin 설치 폴더에 있는 .vmoptions 구성 파일 (예 : 설치 한 IDE 버전에 따라 studio.vmoptions 및 64bit studio64.vmoptions 또는 WebStorm.exe.vmoptions 등)을 다음 줄을 추가하여 편집하십시오.
    -Dawt.useSystemAAFontSettings=on
    -Dswing.aatext=true
    -Dsun.java2d.xrender=true

  • 사용할 글꼴에서 힌트 정보를 제거하고 IntelliJ IDEA 환경 설정 에서 새 글꼴을 선택하십시오 (설정-> 편집기-> 글꼴).
    이 작업을 수행하는 방법을 모르는 경우 FontForge 를 설치 한 후 다음 을 수행하십시오 .

    1. FontForge 에서 글꼴을 엽니 다
    2. 통해 모든 글리프를 선택하고 Ctrl+A모든 힌트를 지 웁니다 (힌트-> 힌트 지우기).
    3. 글리프를 다시 선택하고 힌트-> 명령 지우기를 사용하십시오.
    4. 다른 이름으로 글꼴을 저장하십시오 (파일-> 글꼴 생성).
    5. 새 글꼴을 설치하고 IDEA 에서 선택하십시오.

위의 팁을 따르고 코드를 빠르게 스크롤 할 때 지연이 발생하는 경우 (이는 최적화 된 GPU 드라이버가없는 Linux 배포에서 발생할 수 있음) .vmoptions 파일
-Dsun.java2d.xrender=true
에서 행 을 제거 하십시오.

마지막으로 결과의 스크린 샷은 다음과 같습니다.

IDE 스크린 샷


(여기에 사용 된 글꼴 은 기본 IDE 용 LucidaMAC 및 코드 편집기에 대한 힌트 정보가 제거 된 Ubuntu Mono 입니다)


4
대박! Windows에서도 작동 :)) 감사합니다 : *
Bloke

1
안녕 내 dpi (3200x1800)와 내 Windows 컴퓨터에서 위의 시도했지만 언급 한대로 studio.vmoptions를 조정했지만 모든 것이 여전히 흐릿합니다. 가능하면이 작업을 실제로하고 싶습니다.
페이스

10
@Pace 흐릿한 글꼴을 제거하려면 해당 응용 프로그램의 디스플레이 크기 조정을 비활성화해야합니다 (아이콘을 마우스 오른쪽 버튼으로 클릭하고으로 Properties이동하여 Compatibility탭으로 이동 한 Disable DPI scaling on high DPI settings후 Win8의 x64 앱에 대해 확인 ). 관련 레지스트리 키의 플래그를 편집해야합니다. Regedit를 엽니 다. exe로 이동하여 이름이 응용 프로그램 실행 파일의 전체 경로이고 값이 HIGHDPIAWAREHKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers문자열 값 REG_SZ 를 추가하고 추가하십시오 .);)
guari

3
font forge에서 글꼴에 대한 힌트와 지침을 지울 수 없습니다 ... 그 이후에 저장하려고하면 오류가 있습니다 ... 내가 잘못한 것
Mario Zderic

2
와. 1 년 후에도 여전히 도움이됩니다. JetBrains는이를 기본값으로 설정하거나 최소한 자동 감지를 수행해야합니다. 이러한 설정이 없으면 흐릿하게 인해 IntelliJ가 끔찍하고 사용할 수 없게 보입니다.
Andrew T Finnell

4

나는 이것을 고치는 작은 수동 방법을 썼다.

   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


추가 -Dsun.java2d.xrender=truebin/webstorm64.vmoptionsWebStorm의 디렉토리에 나를 위해 충분했다.
Alicia

1
다운로드 링크가 끊어졌습니다. 수정하십시오
jackode

이 답변은 64 비트 아키텍처를 가정하며, 그렇지 않을 수도 있습니다
Anwar

이것은 본질적으로 루트로 임의의 코드를 실행하고 있습니다.
Thorbjørn Ravn Andersen

2

Menlo 글꼴 을 다운로드하고 Appearance & Behaviors> Appearance에서 Editor Anti-aliasing을 'grayscale'로 설정하여 비슷한 모양을 얻었습니다.

결과는 다음과 같습니다.

이것이 어떻게 보이는지

두 플랫폼 간의 비교는 다음과 같습니다

여기에 이미지 설명을 입력하십시오

MAC에서 작업 할 때 더 높은 해상도와 더 나은 하드웨어를 사용하고 있기 때문에 글꼴이 약간 더 밝게 표시됩니다. 결과는 컴퓨터에 따라 다릅니다. 어쨌든 한 번의 가치가 있으며 변경 사항을 쉽게 되돌릴 수 있습니다.


나를 위해 부분적으로 일했습니다! 서체는 일반적인 Mac UI만큼 선명하지는 않지만 작동 할 수있을만큼 선명합니다. 나는 13 "맥 프로, OS X 용 10.11.4에있어
Mayank 자이나교

왜 OSX에서이 작업을 수행하고 있습니까?, 올바른 글꼴을 기본적으로 제공해야합니다. :)
FRR

2

이 추악한 것들은 더 이상 필요하지 않습니다. 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'로 바꾸십시오. 이것은 최신 안드로이드 스튜디오 2.0에서 작동하지만 이전 버전에서도 작동해야합니다.


어떤 버전을 의미합니까? 내가 도움말에 갈 때>에 대해, 내가 볼 Intellij IDEA 15.0.2Build #IU-143.1184

@Bloke는 사이트로 이동하여 최신 IntelliJ를 다운로드하십시오. 지금은 2016.1.1입니다. 그들은 이제 새 버전을 광고하는 방식을 변경했으며 YEAR.REVISION.UPDATE # 형식을 갖습니다.
주목받는 개발

아 참으로 방금 시도했습니다. 내 Source Code Pro글꼴은 이제 너무 굵게 보이지만 사소한 문제입니다. 감사!
Bloke

IntelliJ와 함께 제공되는 JRE를 사용하면 큰 차이가 생겼습니다. JRE없이 IntelliJ를 처음 다운로드했으며 로컬 Oracle JDK (1.7)를 사용하여 글꼴이 잘못되었습니다. HTH.
Sengs

2

최신 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 스크린 샷


이것은 바닥에 묻혀 있지만 이것이 진정한 범인입니다. 위의 모든 사람들은 편집기 글꼴에 중점을 두었지만 이미 훌륭한 글꼴이있었습니다. 내 문제는 다양한 설명 선, 툴팁 및 모달 대화 상자가 앤티 앨리어싱없이 끔찍한 글꼴 렌더링을 보여주었습니다. 나는 위의 모든 것을 시도했지만 그중 어느 것도 문제를 해결하지 못했지만 패키지 jre를 숨기는 것이 트릭이었습니다.
Dan

1

guari가 그의 답변 에서 설명한 것처럼 FontForge로 힌트를 지울 수 없다면 . 사용 의 cousine 편집기 글꼴로 (아파치 라이센스 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 를 설정하는 것을 잊지 마십시오

스크린 샷 :


앤티 앨리어싱을 사용하는 것처럼 스크린 샷이 보이지 않습니다.
Ztyx

다운 스케일링을 방지하기 위해 스크린 샷을 작은 스크린 샷으로 교체했습니다. 지금 당신은 안티 앨리어싱을 사용하는 것을 볼 수 있습니다
user1185087

1

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 %로 옮겨서 로그 오프했다가 다시 로그인해야했습니다. 글꼴은 작고 매끄 럽습니다.

여기에 이미지 설명을 입력하십시오

더군다나 체크를 해제 Disable display scaling on high DPI settings하면 여전히 매끄럽게 보입니다.


이것은 나를 위해 일한 유일한 솔루션이었습니다! 고마워!
DrKaoliN

0

받아 들여진 대답은 효과가 없었지만 다음과 같이하면 모든 것이 작동합니다.

다양한 튜토리얼을 읽고 많은 수정 사항을 엉망으로 만든 후에 완벽하게 작동하는 방법을 찾았습니다.

우선 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 문의 행을 다음 두 줄로 바꿉니다.

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이고 파일 / 경로 이름이 이후 버전에서 변경 될 것이라고 가정합니다.


PhpStorm으로이 작업을 수행하는 방법에 대한 아이디어가 있습니까? 파일의 맨 아래는 다음과 같습니다. LD_LIBRARY_PATH = "$ IDE_BIN_HOME : $ LD_LIBRARY_PATH" "$ JDK / bin / java"\ $ AGENT \ "-Xbootclasspath / a : $ IDE_HOME / lib / boot.jar"\ -classpath "$ CLASSPATH "\ $ VM_OPTIONS"-Djb.vmOptionsFile = $ VM_OPTIONS_FILES_USED "\"-XX : ErrorFile = $ HOME / java_error_in_WEBIDE_ % p.log "\ -Djb.restart.code = 88 -Didea.paths.selector = WebIde90 \ $ IDE_PROPERTIES_PROPERPERTY \ $ IDE_JVM_ARGS \ $ REQUIRED_JVM_ARGS \ $ MAIN_CLASS_NAME \ "$ @"EC = $? 테스트 $ EC -ne 88 && 종료 $ EC #test $? -ne 88 && break exec "$ 0" "$ @"
MichaelHindley

0

Oracle JDK-8을 설치할 수 있습니다. 우분투 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

우분투 16.04에서 끔찍한 글꼴 렌더링으로 보이는 방법은 다음과 같습니다.

우분투 16.04에서 끔찍한 글꼴 렌더링으로 보이는 방식입니다.

JDK 번들없이 IntelliJ IDEA 2016.X 이상을 사용하는 경우 환경 변수 "IDEA_JDK"를 설정하여 특정 런타임을 지정할 수 있습니다. Android 스튜디오에서 우분투 16.04의 글꼴 렌더링이 완벽하므로 Intellij IDEA와 동일한 JRE를 공유 할 수 있습니다. IntelliJ는 IDEA_JDK 환경 변수를 먼저 찾으므로 파일을 추가하여 설정하십시오.

/etc/profile.d/IDEA_SDK.sh

이것을 파일에 추가하십시오 :

export IDEA_JDK=/opt/android-studio/jre

설치에 따라 / opt / android-studio / jre 를 조정 하십시오. 로그 아웃 한 후 다시 로그인하여 Intellij IDE를 시작하십시오.

새로운 JRE를 사용한 후의 모습은 다음과 같습니다.

이것은 새로운 JRE를 사용한 후의 모습입니다


-1

나는 phpstorm의 앤티 앨리어싱이 기본 구성을 사용하여 잘 작동한다는 것을 깨달았습니다. 두 명령의 비교는 유일한 Java (/ usr / share / phpstorm / jre64 / bin / java)를 사용하는 phpstorm이라는 것을 보여줍니다.

phpstorm의 java를 사용하여 아이디어의 시작 스크립트를 수정했으며 작동했으며 모든 것이 phpstorm만큼 좋습니다. 스크린 샷


어떤 변화가 있습니까? phpstorm을 설치해야합니까?
Journeyman Geek
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.