IntelliJ (실제로 Android Studio)가 실제로 글꼴을 엉망으로 만드는 더 높은 DPI 설정을 사용합니다 .
MacType 을 사용하여 글꼴을 다른 곳에서 아름답게 렌더링하지만 Java VM이 어떻게 든 그것을 가로 챌 것 같습니다.
IntelliJ (실제로 Android Studio)가 실제로 글꼴을 엉망으로 만드는 더 높은 DPI 설정을 사용합니다 .
MacType 을 사용하여 글꼴을 다른 곳에서 아름답게 렌더링하지만 Java VM이 어떻게 든 그것을 가로 챌 것 같습니다.
답변:
나는 높은 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 를 설치 한 후 다음 을 수행하십시오 .
Ctrl+A
모든 힌트를 지 웁니다 (힌트-> 힌트 지우기).위의 팁을 따르고 코드를 빠르게 스크롤 할 때 지연이 발생하는 경우 (이는 최적화 된 GPU 드라이버가없는 Linux 배포에서 발생할 수 있음) .vmoptions 파일
-Dsun.java2d.xrender=true
에서 행 을 제거 하십시오.
마지막으로 결과의 스크린 샷은 다음과 같습니다.
(여기에 사용 된 글꼴 은 기본 IDE 용 LucidaMAC 및 코드 편집기에 대한 힌트 정보가 제거 된 Ubuntu Mono 입니다)
Properties
이동하여 Compatibility
탭으로 이동 한 Disable DPI scaling on high DPI settings
후 Win8의 x64 앱에 대해 확인 ). 관련 레지스트리 키의 플래그를 편집해야합니다. Regedit를 엽니 다. exe로 이동하여 이름이 응용 프로그램 실행 파일의 전체 경로이고 값이 HIGHDPIAWARE 인 HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
문자열 값 REG_SZ 를 추가하고 추가하십시오 .);)
나는 이것을 고치는 작은 수동 방법을 썼다.
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=true
로 bin/webstorm64.vmoptions
WebStorm의 디렉토리에 나를 위해 충분했다.
Menlo 글꼴 을 다운로드하고 Appearance & Behaviors> Appearance에서 Editor Anti-aliasing을 'grayscale'로 설정하여 비슷한 모양을 얻었습니다.
결과는 다음과 같습니다.
두 플랫폼 간의 비교는 다음과 같습니다
MAC에서 작업 할 때 더 높은 해상도와 더 나은 하드웨어를 사용하고 있기 때문에 글꼴이 약간 더 밝게 표시됩니다. 결과는 컴퓨터에 따라 다릅니다. 어쨌든 한 번의 가치가 있으며 변경 사항을 쉽게 되돌릴 수 있습니다.
이 추악한 것들은 더 이상 필요하지 않습니다. 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.2
과Build #IU-143.1184
Source Code Pro
글꼴은 이제 너무 굵게 보이지만 사소한 문제입니다. 감사!
최신 JetBrains IDE의 솔루션은 다릅니다.
IDE에서 설치 폴더 만 이름을 바꿀 jre
뭔가 다른 폴더에 있습니다. 예를 들면 다음과 같습니다.
$ cd your-path-to/WebStorm-162.2228.20/
$ mv jre/ _jre/
최신 버전에서는 시스템 대신 번들 JRE를 사용하며이 번들 버전에서는 글꼴 렌더링 문제가 발생 합니다.
Kubuntu 16.04 Linux의 WebStorm 2016.3.2에서 잘 작동합니다.
guari가 그의 답변 에서 설명한 것처럼 FontForge로 힌트를 지울 수 없다면 . 사용 의 cousine 편집기 글꼴로 (아파치 라이센스 V2.00을) 및 (14)에 크기를 설정할 본인은 모노 스페이스 글꼴의 몇 가지를 시도했다. 그러나 Cousine 은 다른 글꼴보다 렌더링이 더 좋은 것 같습니다. 마지막 스크린 샷보기
cd ~/Downloads/ && wget www.fontsquirrel.com/fonts/download/cousine
sudo mkdir /usr/share/fonts/truetype/Cousine
sudo unzip cousine -d /usr/share/fonts/truetype/Cousine/
sudo chmod -R 777 /usr/share/fonts/truetype/Cousine
sudo fc-cache -f -v
스크린 샷 :
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
하면 여전히 매끄럽게 보입니다.
받아 들여진 대답은 효과가 없었지만 다음과 같이하면 모든 것이 작동합니다.
다양한 튜토리얼을 읽고 많은 수정 사항을 엉망으로 만든 후에 완벽하게 작동하는 방법을 찾았습니다.
우선 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이고 파일 / 경로 이름이 이후 버전에서 변경 될 것이라고 가정합니다.
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)
우분투 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를 사용한 후의 모습은 다음과 같습니다.
나는 phpstorm의 앤티 앨리어싱이 기본 구성을 사용하여 잘 작동한다는 것을 깨달았습니다. 두 명령의 비교는 유일한 Java (/ usr / share / phpstorm / jre64 / bin / java)를 사용하는 phpstorm이라는 것을 보여줍니다.
phpstorm의 java를 사용하여 아이디어의 시작 스크립트를 수정했으며 작동했으며 모든 것이 phpstorm만큼 좋습니다. 스크린 샷