उच्च DPI का उपयोग करते समय IntelliJ IDEA में फ़ॉन्ट एंटी-एलियासिंग को कैसे ठीक करें?


79

मैं एक उच्च डीपीआई सेटिंग का उपयोग करता हूं जो इंटेलीज (वास्तव में एंड्रॉइड स्टूडियो) वास्तव में फोंट को गड़बड़ कर देता है

मैं MacType का उपयोग करता हूं, जो मेरे फोंट को खूबसूरती से कहीं और प्रस्तुत करता है, लेकिन मुझे लगता है कि जावा वीएम किसी तरह इसे या कुछ और स्वीकार करता है, यह मुझे मार रहा है।

जवाबों:


112

मैं एक उच्च-डीपीआई प्रदर्शन पर हूं और मुझे इसे पूर्ण फ़ॉन्ट रेंडरिंग के साथ काम करना है, इसे प्राप्त करने के लिए आपको निम्न की आवश्यकता है:

  • (लिनक्स पर) Oracle JDK (मैं 1.7 का उपयोग कर रहा हूं ) को स्थापित करें और उपयोग करें न कि OpenJDK (फॉन्टफिक्स वाला पैचअप मेरे लिए बेकार था)। देखें कि यह कैसे करना है

  • इन पंक्तियों को जोड़कर .vmoptions कॉन्फ़िगरेशन फ़ाइल को संपादित करें, जिसे आप बिन इंस्टॉलेशन फ़ोल्डर (उदाहरण के लिए। स्टूडियो . vmoptions और 64bit studio64.vmoptions , या WebStorm.exe.vmoptions आदि) के अनुसार संपादित करें
    -Dawt.useSystemAAFontSettings=on
    -Dswing.aatext=true
    -Dsun.java2d.xrender=true

  • उस फ़ॉन्ट से hinting informations निकालें जिसे आप IntelliJ IDEA वरीयताओं में नया फ़ॉन्ट उपयोग और चुनना चाहते हैं (सेटिंग -> संपादक -> फ़ॉन्ट);
    यदि आप नहीं जानते कि यह कैसे करना है, तो FontForge स्थापित करें :

    1. FontForge में अपना फ़ॉन्ट खोलें
    2. के माध्यम से सभी ग्लिफ़ का चयन करें Ctrl+Aऔर सभी संकेत साफ़ करें (संकेत -> स्पष्ट संकेत)
    3. फिर से ग्लिफ़ का चयन करें और संकेत का उपयोग करें -> स्पष्ट निर्देश
    4. भिन्न नाम के साथ फ़ॉन्ट सहेजें (फ़ाइल -> फ़ॉन्ट्स उत्पन्न करें)
    5. नया फ़ॉन्ट स्थापित करें, इसे IDEA में चुनें

यदि आपने उपरोक्त युक्तियों का पालन किया है और आप कोड को तेजी से स्क्रॉल करते समय लैग्स का अनुभव कर रहे हैं (यह कभी-कभी लिनक्स वितरण पर एक अनुकूलित gpu ड्राइवर के साथ हो सकता है), .vmoptions फ़ाइल
-Dsun.java2d.xrender=true
से लाइन को हटाने का प्रयास करें ।

अंत में, यहाँ परिणाम का एक स्क्रीनशॉट है:

आईडीई स्क्रीनशॉट


( कोड संपादक के लिए हटाए गए संकेत के साथ मुख्य आईडीई और उबंटू मोनो के लिए यहां उपयोग किए गए फोंट लुसिडाएमएसी हैं )


4
बहुत बढ़िया! विंडोज में भी काम करता है :)) शुक्रिया: *
ब्लूक

1
मैंने अपनी विंडोज़ मशीन पर हाय डीपीआई (3200x1800) के साथ ऊपर की कोशिश की है मैंने स्टूडियो को समायोजित किया है। रूपांतरों का उल्लेख किया गया है लेकिन अभी भी सब कुछ धुंधला है। कृपया सलाह दें कि क्या संभव है कि मैं वास्तव में यह काम करना चाहूँ?
पेस

10
@Pace धुंधली फोंट को हटाने के लिए आपको उस एप्लिकेशन के लिए डिस्प्ले स्केलिंग को अक्षम करना होगा (इसके आइकन पर राइट क्लिक करें, सेलेक्ट करें Properties, Compatibilityटैब पर जाएं और चेक करें Disable DPI scaling on high DPI settings, Win8 में x64 ऐप्स के लिए- आपको संबंधित रजिस्ट्री कुंजी का झंडा संपादित करना चाहिए: Regedit खोलें। exe, जाने HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layersऔर एक स्ट्रिंग मान जोड़ने के लिए REG_SZ जिसका नाम अनुप्रयोग के निष्पादन के लिए पूर्ण पथ है और जिसका मान HighDPIAWARE है );)
गुआरी

3
फ़ॉन्ट फोर्ज में फोंट पर स्पष्ट संकेत और निर्देश ... जब मैं उसके बाद उन्हें बचाने की कोशिश करता हूं तो त्रुटियां होती हैं ... मैं गलत क्या कर रहा हूं
मारियो जडेरिक

2
वाह। फिर भी एक साल बाद मददगार। JetBrains को इसे डिफ़ॉल्ट बनाने या कम से कम कुछ ऑटो डिटेक्शन करने की आवश्यकता है। इन सेटिंग्स के बिना धुंधलापन IntelliJ को भयानक और अनुपयोगी बनाता है।
एंड्रयू टी फिननेल

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

इंटेलीज आइडिया शुरू करने के लिए स्क्रिप्ट

* केवल ध्यान दें कि विचार के अपने मार्ग के लिए 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.vmoptionsWebStorm की निर्देशिका में मेरे लिए काफी था।
एलिसिया

1
डाउनलोड लिंक टूट गया है। कृपया ठीक करें
जैकोड

यह उत्तर 64 बिट आर्किटेक्चर को मानता है, जो कि संभव नहीं है
अनवर

यह अनिवार्य रूप से रूट के रूप में मनमाना कोड चला रहा है - सावधानी बरतने की सलाह दी।
Thorbjørn रेवन एंडरसन

2

मैं मेनलो फॉन्ट को डाउनलोड करके और एडिटर एंटी-अलियासिंग को 'ग्रेस्केल' के रूप में दिखने और व्यवहार> सूरत में स्थापित करके एक समान दिख रहा हूं

यह परिणाम है:

यह कैसा दिखता है

यहाँ दो प्लेटफार्मों के बीच एक तुलना है

यहाँ छवि विवरण दर्ज करें

मैं मैक के साथ काम में एक उच्च रिज़ॉल्यूशन और बेहतर हार्डवेयर का उपयोग कर रहा हूं, यही कारण है कि फोंट थोड़ा उज्ज्वल दिखता है, परिणाम आपके मशीन के आधार पर अलग-अलग होगा। वैसे भी यह एक शॉट के लायक है, परिवर्तन वापस करना आसान है


आंशिक रूप से मेरे लिए काम किया! फ़ॉन्ट्स जेनेरिक मैक यूआई के रूप में क्रिस्प नहीं हैं, लेकिन काम करने योग्य हैं। मैं 13 "मैक प्रो, ओएस एक्स 10.11.4
मयंक जैन

आप OSX पर ऐसा क्यों कर रहे हैं ?, आपको सही फोंट बॉक्स से बाहर लाने चाहिए :)
FRR

2

इस बदसूरत सामान में से किसी की जरूरत नहीं है। लिनक्स के लिए नवीनतम IntelliJ (2016.1 आगे) डाउनलोड करें। इसमें फिक्स्ड JRE शामिल है, जिसमें फिक्स्ड फोंट मुद्दा है। Android Studio को ठीक करने के लिए IntelliJ jre का एक प्रतीकात्मक लिंक बनाएं:

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

वैकल्पिक रूप से, बस अपने फ़ाइल प्रबंधक को रूट के रूप में खोलें (मान लें कि आपकी आईडीई / ऑप्ट निर्देशिका या किसी अन्य सिस्टम फ़ोल्डर में स्थापित हैं) और इंटेलीजे के jre के लिए एक शॉर्टकट बनाएं और इसे एंड्रॉइड स्टूडियो इंस्टॉलेशन फ़ोल्डर में स्थानांतरित करें, फिर इसे 'jre' नाम दें। यह नवीनतम एंड्रॉइड स्टूडियो 2.0 के लिए काम करता है लेकिन इसे पहले के संस्करणों के साथ भी काम करना चाहिए।


आप किस संस्करण का मतलब है? जब मैं हेल्प के बारे में> के बारे में, मैं देखता हूं Intellij IDEA 15.0.2औरBuild #IU-143.1184
ब्लोक

@Bloke बस साइट पर जाएं और नवीनतम IntelliJ डाउनलोड करें। यह 2016.1.1 है अभी मुझे लगता है। उन्होंने नए संस्करणों का विज्ञापन करने के तरीके को बदल दिया और इसमें अब YEAR.REVISION.UPDATE # प्रारूप है।
आकांक्षा देव

ओह, वास्तव में। मैंने सिर्फ कोशिश की है। मेरा Source Code Proफॉन्ट अब कुछ ज्यादा ही बोल्ड लग रहा है, लेकिन यह एक मामूली बात है। धन्यवाद!
ब्लोक

इंटेलीजे के साथ पैक किए गए JRE के उपयोग ने मेरे लिए सभी अंतर बनाए। मैंने शुरू में JRE के बिना IntelliJ डाउनलोड किया था और अपने स्थानीय ओरेकल JDK (1.7) का उपयोग किया था जिसके परिणामस्वरूप खराब फोंट थे। HTH।
गाया

2

नए JetBrains पर IDE का समाधान अलग है।

आईडीई में स्थापना फ़ोल्डर सिर्फ नाम बदलने jre कुछ और करने के लिए फ़ोल्डर। उदाहरण के लिए:

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

नए संस्करण आपके सिस्टम एक के बजाय बंडल JRE का उपयोग करते हैं और इस बंडल संस्करण में फ़ॉन्ट रेंडरिंग समस्याएँ होती हैं

यहाँ ठीक काम करता है: वेबस्टॉर्म 2016.3.2 कुबंटु 16.04 लाइनक्स पर।

निश्चित फ़ॉन्ट के साथ WebStorm स्क्रीनशॉट


यह सबसे नीचे दफन है, लेकिन यह वास्तविक अपराधी है। ऊपर हर कोई संपादक फ़ॉन्ट पर केंद्रित है, लेकिन मेरे पास पहले से ही अच्छे संपादक फ़ॉन्ट हैं। मेरी समस्या विभिन्न कॉलआउट्स, टूलटिप्स और मोडल संवाद थे, जिनमें बिना किसी एंटीएलियासिंग के सभी भयानक फ़ॉन्ट प्रस्तुत किए गए थे। मैंने ऊपर सब कुछ करने की कोशिश की और इसमें से किसी ने भी इस मुद्दे को हल नहीं किया, लेकिन पैक किए गए jre को छिपाने ने चाल चली।
दान

1

यदि आप अपने जवाब में बताए गए ग्वारी जैसे फॉन्टफॉर के साथ संकेत स्पष्ट नहीं कर सकते हैं । संपादक फ़ॉन्ट के रूप में चचेरे भाई (अपाचे लाइसेंस v2.00) का उपयोग करें और आकार को 14 पर सेट करें। मैंने कुछ अन्य मोनोपोज़ किए गए फ़ॉन्ट की कोशिश की। हालाँकि, लगता है कि चचेरे भाई ने सबसे अन्य फोंट की तुलना में एक अच्छा प्रतिपादन किया। आखिर में स्क्रीनशॉट देखें

  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 को पुनरारंभ करें और संपादक फ़ॉन्ट के रूप में चचेरे भाई चुनें
  7. बताई गई अमरूद की तरह दत्तक लेने के लिए मत भूलना

स्क्रीनशॉट:


आपका स्क्रीनशॉट ऐसा नहीं लगता कि यह एंटी-अलियासिंग का उपयोग कर रहा है।
Ztyx

नीचे स्केलिंग को रोकने के लिए एक छोटे से स्क्रीनशॉट को बदला। अब आप देख सकते हैं कि एंटी-एलियासिंग का उपयोग किया जाता है
user1185087

1

विंडोज 10 में, मेरे पास समान मुद्दे थे। जांच की जा रही Disable display scaling on high DPI settingsबनाया फोंट चिकनी लेकिन बहुत बड़ा। यह कैसे करना है (किसी अन्य उपयोगकर्ता की पिछली टिप्पणी से):

इसके आइकन पर राइट क्लिक करें, सेलेक्ट करें Properties, Compatibilityटैब पर जाएं और चेक करेंDisable DPI scaling on high DPI settings

विंडोज में जा रहे हैं 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 फ़ॉन्ट निर्धारण ([उर्शुल्यक यारोस्लाव] [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

यह डाउनलोड की गई ज़िप को निकालकर / usr / lib / jvm / पर ले जाएगा। अब टर्मिनल में निम्नलिखित चलाएँ:

cd ~
sudo gedit .bashrc

फिर bashrc फ़ाइल के बहुत नीचे निम्न पंक्तियाँ जोड़ें।

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

इसे सहेजें तो विचार को संपादित करें। (आपकी स्क्रिप्ट का स्थान भिन्न हो सकता है)

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

स्क्रिप्ट के सबसे निचले भाग में पंक्ति को इन दो पंक्तियों के साथ नीचे दिए गए कथन में प्रतिस्थापित करें:

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 "\ $ VM_OPTIONS" -Djb.vmOptionsFile = $ VM_OPTIONS_FILES_USED "\" -XX: ErrorFile = $ HOME / java_errer_in_WEBIDE_% p.log "\ -Djb.restart.code = 88Didea_pidea_pdf" \ $ IDE_JVM_ARGS \ $ REQUIRED_JVM_ARGS \ $ MAIN_CLASS_NAME \ "$ @" EC = $? $ EC का परीक्षण करें 88 && $ EC #test $ से बाहर निकलें? -एक 88 && ब्रेक का निष्पादन "$ 0" "$ @"
माइकलहिंडले

0

आप 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

यह ubuntu 16.04 पर भयानक फ़ॉन्ट प्रतिपादन के साथ कैसा दिखता है:

यह कैसे ubuntu 16.04 पर भयानक फ़ॉन्ट प्रतिपादन के साथ लग रहा है

यदि आप IntelliJ IDEA 2016.X या बाद में बिना बंडल JDK का उपयोग कर रहे हैं, तो आप एक विशिष्ट रनटाइम निर्दिष्ट करने के लिए एक पर्यावरण चर "IDEA_JDK" सेट कर सकते हैं। एंड्रॉइड स्टूडियो के साथ ubuntu 16.04 में फ़ॉन्ट रेंडरिंग एकदम सही है, इसलिए आप उसी जेआरई को इंटेलीज आईडीईए के साथ साझा कर सकते हैं। IntelliJ पहले IDEA_JDK पर्यावरण चर की तलाश करता है, इसलिए इसे एक फ़ाइल जोड़कर सेट करें:

/etc/profile.d/IDEA_SDK.sh

इसे फ़ाइल में जोड़ें:

export IDEA_JDK=/opt/android-studio/jre

अपनी स्थापना के अनुसार समायोजित / विकल्प / एंड्रॉयड-स्टूडियो / jre । लॉगआउट करें और लॉग इन करें और अपने Intellij IDE को आग लगा दें

नए JRE का उपयोग करने के बाद ऐसा दिखता है:

नए JRE का उपयोग करने के बाद ऐसा दिखता है


-1

मैंने महसूस किया कि phpstorm का एंटी-अलियासिंग डिफ़ॉल्ट कॉन्फ़िगरेशन का उपयोग करके काफी अच्छी तरह से काम करता है। दो कमांड्स की तुलना से पता चलता है कि एकमात्र अंतर अपने स्वयं के जावा (/ usr / share / phpstorm / jre64 / बिन / जावा) का उपयोग करके phpstorm है।

मैंने phpstorm के जावा का उपयोग करके इसे बनाने के लिए विचार की स्टार्टअप स्क्रिप्ट को संशोधित किया और यह काम किया और सब कुछ उतना ही अच्छा है जितना कि phpstorm करते हैं। स्क्रीन शॉट


कौन सा शुल्क? क्या आपको इसके लिए phpstorm स्थापित करने की आवश्यकता है?
जर्नीमैन गीक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.