intellij-idea openjdk font-smoothing

intellij idea - Alivio de fuentes Intellie IDEA en Linux



intellij-idea openjdk (7)

Estoy usando IntelliJ IDEA en Arch Linux con KDE. La versión OpenJDK es 1.7.0_40.

Las fuentes IDE enteras (incluye el editor de código) se representan sin antialiasing y suavizado de fuente. Configuré en el archivo idea.use.default.antialiasing.in.editor en true , y agregué en _JAVA_OPTIONS variable -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true sin ningún efecto.

¿Qué más puedo intentar para habilitar el suavizado de fuentes?


Echa un vistazo aquí . Recuerdo haber tenido el mismo problema al ejecutar IDEA, pero después de agregar la línea mencionada en el wiki, el problema desaparece.

export _JAVA_OPTIONS=''-Dawt.useSystemAAFontSettings=setting'' donde la setting puede ser

  • off o false o default - Sin anti-aliasing
  • on - Anti-aliasing completo
  • gasp : use las instrucciones de sugerencias incorporadas de la fuente
  • lcd o lcd_hrgb - Anti-aliasing ajustado para muchos monitores LCD populares
  • lcd_hbgr - lcd_hbgr alternativa del monitor LCD
  • lcd_vrgb - lcd_vrgb alternativa del monitor LCD
  • lcd_vbgr - lcd_vbgr alternativa del monitor LCD

En /usr/share/intellijidea-ce/bin/idea.sh: edite esta línea:

ALL_JVM_ARGS="$VM_OPTIONS $COMMON_JVM_ARGS $IDE_JVM_ARGS $AGENT $REQUIRED_JVM_ARGS"

y hazlo así:

ALL_JVM_ARGS="$VM_OPTIONS $COMMON_JVM_ARGS $IDE_JVM_ARGS $AGENT $REQUIRED_JVM_ARGS -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true"


Como se mencionó, este es un error en el JDK. La buena noticia es que hay un parche para OpenJDK que mejora en gran medida el renderizado de fuentes para IntelliJ en Linux, y aumenta la calidad de las fuentes a la par con lo que he visto en mi Mac.

(Para ser claros, esto es significativamente mejor que lo que se puede obtener modificando idea.properties ).

Para instalarlo, use los paquetes a continuación:

PPA de Ubuntu https://launchpad.net/~no1wantdthisname/+archive/openjdk-fontfix

Arch AUR: https://aur.archlinux.org/packages/jre7-openjdk-headless-fontfix/
(Ejecuto Ubuntu / Elementary OS, así que no puedo responder por este personalmente)


Este es un error conocido en OpenJDK. No creo que ninguna cantidad de ajustes lo solucione, podría mejorarlo un poco, pero la representación de fuentes está rota en OpenJDK.

La solución más desagradable en mi humilde opinión es ir al AUR e instalar jdk7-compat , que está diseñado para funcionar junto a tu JDK normal.

No se preocupe si nunca usó el AUR, es realmente sencillo. Básicamente, lo que haces es

  1. Asegúrate de que tienes base-devel instalado con pacman -S base-devel
  2. descargue el tar de la página AUR que he vinculado anteriormente, descomprímalo.
  3. ejecuta ''makepkg -di'' en la carpeta donde descomprimiste

y está hecho. Ahora, edite /usr/share/intellijidea-ce/bin/idea.sh y cambie la línea que ejecuta el programa (se encuentra en la parte inferior del archivo) para que se vea así.

eval "/opt/java7/bin/java" $ALL_JVM_ARGS -Djb.restart.code=88 $MAIN_CLASS_NAME "$@"

Esto hará que intelliJ se ejecute en ORACLE JVM en lugar de hacerlo en OpenJDK, que soluciona todos los problemas de fuentes.


No funcionará con OpenJDK, incluso con las _JAVA_OPTIONS que elija, así que quítelo con sudo pacman -Rndd jdk7-openjdk jre7-openjdk jre7-openjdk-headless java-rhino e instale Oracle JDK 8 desde Aur . Después de la instalación, debe cerrar la sesión / iniciar sesión para actualizar sus variables de entorno java (fe JAVA_HOME ). Voila, la representación de la fuente está bien.

¡Disfrutar!

PD: pacman -Rndd elimina sin dependencias pero con los archivos de configuración, expandido: pacman --remove --nosave --nodeps --nodeps .


Ya no es necesario nada de esto feo. Descargue el último IntelliJ (2016.1 en adelante) para Linux. Incluye un JRE modificado con el problema de las fuentes corregido. Para arreglar Android Studio también haga un enlace simbólico a la jre de IntelliJ:

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

Alternativamente, simplemente abra su administrador de archivos como root (suponiendo que sus IDE estén instalados en el directorio / opt u otra carpeta del sistema) y cree un acceso directo a jre de IntelliJ y muévalo a la carpeta de instalación de Android Studio, luego cámbiele el nombre a ''jre''. Esto funciona para el último android studio 2.0, pero también debería funcionar con versiones anteriores.

Android Studio ahora viene con el JRE modificado por lo que el enlace simbólico ya no es necesario, solo descarga la última versión.


Encontré otra solución aquí . Funciona para Oracle JDK, pero puede ser útil para las personas que tropiezan con esta pregunta. Tienes que editar el archivo .vmoptions (en mi caso es idea64.vmoptions desde /bin ). Agregue estas tres líneas:

-Dawt.useSystemAAFontSettings=on -Dswing.aatext=true -Dsun.java2d.xrender=true

Si encuentra problemas, puede eliminar la última línea. Puede probar diferentes versiones para la primera configuración (obtenga las opciones de la publicación anterior).

Además, puede editar la fuente que está usando y borrar la sugerencia (el autor de la publicación sugiere utilizar FontForge). No he encontrado que esto sea necesario.