Netbeans中的丑陋字体 – 如何让它使用系统字体?

我在让Netbeans字体看起来很好看时遇到了问题,自从我尝试Ubuntu~8以来,这一直是个问题。 由于某种原因,字体看起来只是在Netbeans中没有得到亚像素平滑,对于其他应用程序,它们看起来很完美。

看看截图是多么丑陋:

在此处输入图像描述

它不仅仅是代码区域,而且应用程序中的每种字体都是这样的。 我环顾四周,显然在.bashrc文件中添加以下行应该解决问题,但在我的情况下它没有:

 export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=lcd' 

它认为它可能只会影响基于Java的应用程序,但我无法测试另一个Java应用程序来检查字体。

有谁知道我该怎么做才能解决这个问题? 如何让Netbeans使用系统字体?

正如评论中所述,这是Linux上的Java Swing应用程序的问题。 Swing确实使用了Gnome的字体平滑设置(停用,灰度或子像素) – 但它忽略了提示设置。 它总是使用完全提示,如果你运行Ubuntu很少或没有字体提示(因为大多数人做的,因为很少暗示是默认设置)这将使字体显得与其他应用程序显着不同。 像Eclipse这样的SWT应用程序很好,但如果你喜欢Netbeans,这对你没有帮助。

警告:对于以下解决方法,我只讨论编辑器字体,因为在IDE中,这对我来说很重要。 您也可以将它应用于菜单字体等,但这可能有点超过顶部。

我在这里找到唯一可用的解决方案:使用Fontforge编辑您选择的编辑器字体,并从字体本身中删除所有提示信息,然后将其保存为新字体并在Netbeans中使用。

  1. sudo apt-get install fontforge
  2. 启动Fontforge
  3. 打开您选择的字体
  4. 按Ctrl + Aedit -> Select -> Select all以选择所有字符
  5. 提示⇒清除说明
  6. 按Ctrl + Shift + Felement -> font info打开字体信息
  7. 重命名字体(例如,原始名称+’_nohints’)
  8. 将编辑后的字体保存在家中的.fonts目录中,通过file -> generate fonts ,确保使用Ubuntu读取的格式(参见下一步)
  9. 清除字体缓存fc-cache -rv – 跟随其输出以确保拾取新的字体文件(例如.sfd不会,但.ttf )。
  10. 运行Netbeans并使用您创建的字体作为编辑器字体

不,不完美,是的,有点麻烦,但仍然是一个不同的世界。 希望有所帮助。

 --laf Nimbus -J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcd 

要么

 -J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcd --laf Metal 

到文件:netbeans.config。 你可以在$ NETBEANS_HOME / etc /文件夹中找到它。 从系统首选项中缩小应用程序字体。

资源

我知道这是一个老问题,但在我寻求同样的问题时,我在这里尝试了所有的技巧而没有运气。 我以为我只能忍受netbeans中可怕的文字。

然后我发现了这个:http: //youtrack.jetbrains.com/issue/IDEA-57233#comment=27-472038

基本上:Ubuntu 13.10,Netbeans(7.3),Infinality字体补丁到freetype,OpenJDK7,以及补丁来修复Swings惨淡的字体处理。 它“只是工作”!!!

如果链接死亡,请在此处复制:

  1. 安装freetype

     $ sudo apt-get install libfreetype6 
  2. 安装无限补丁

     $ sudo add-apt-repository ppa:no1wantdthisname/ppa $ sudo apt-get update $ sudo apt-get install fontconfig-infinality 

    之后我不得不做以下事情:

     $ sudo rm /etc/fonts/conf.avail/52-infinality.conf $ sudo ln -s /etc/fonts/infinality/infinality.conf /etc/fonts/conf.avail/52-infinality.conf 

    要使用Windows 7,如字体渲染,请执行以下操作:

     $ sudo /etc/fonts/infinality/infctl.sh setstyle win7 

    在/etc/profile.d/infinality-settings.sh中将USE_STYLE设置为“WINDOWS7”

  3. 安装字体修复了OpenJDK

     $ sudo add-apt-repository ppa:no1wantdthisname/openjdk-fontfix $ sudo apt-get update $ sudo apt-get install openjdk-7-jdk 

    .../etc/netbeans.conf

    netbeans_default_options包括: -J-Dawt.useSystemAAFontSettings=lcd-J-Dsun.java2d.xrender=true"

    并设置netbeans_jdkhome="/usr/lib/jvm/java-1.7.0-openjdk-amd64"

这改变了我的Netbeans字体从1990年代可接受到现代的真棒。 我现在可以使用Inconsolata作为我的Netbeans编辑器字体,它看起来很棒。

按要求进行屏幕截图:(实际文本比此捕获更清晰。捕获中的某些内容略微模糊)。 在此处输入图像描述

在Ubuntu Java Swing应用程序中,字体的抗锯齿function无法正常工作。

加:

 -J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcd 

netbeans_default_options字符串末尾的netbeans_default_options

你可以在$ NETBEANS_HOME / etc /文件夹中找到配置文件(例如/home///etc/netbeans.conf

例:

 netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-Dnetbeans.logger.console=true -J-ea -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.java2d.dpiaware=true -J-Dsun.zip.disableMemoryMapping=true -J-Dnetbeans.extbrowser.manual_chrome_plugin_install=yes -J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcd" 

字体不是那么糟糕..

但是,这是一个Java应用程序,并作为处理字体的特殊方式。

如果只想更改字体大小,可以使用“–fontsize”参数启动Netbeans:

 netbeans --fontsize 12 

如果你想改变字体类型,那么改变环境参数会有点困难,本文解释得非常好:

https://wiki.archlinux.org/index.php/Java_Runtime_Environment_Fonts

这是针对ArchLinux的,但我认为它也适用于Ubuntu,因为Java是一个通用软件。

我在Ubuntu 12.04和Netbeans 7.2上遇到了同样的问题。

我尝试将-J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcdnetbeans.conf但它没有解决问题。

然后我看到关于Netbeans bug 215785的行高的问题评论。 将编辑器行高设置为1.0以及netbeans.conf AA设置解决了我的问题。

我能够这样做(我使用Ubuntu 12.10,也在Ubuntu 13.04上工作):

第1步(这可能适用于所有Ubuntu版本):

首先,我使用此插件Tools -> Plugins -> Settings -> Add清理菜单:

http://java-swing-ayatana.googlecode.com/files/netbeans-catalog.xml

添加该位置后,您需要通过搜索Java Ayatana来安装插件(说明将使用西class牙语)。 这将使顶部菜单和上下文菜单与操作系统相同。

第2步(我不知道这是否适用于所有Ubuntu版本):

接下来你可能希望项目字体看起来更好看,我做的修复是在终端中运行的: sudo apt-get install gnome-tweak-tool我启动它并选择了一个不同的default font现在Netbeans看起来很漂亮!

这是一个截图:

在此处输入图像描述

刚刚看到这个post,并试图修复我的字体问题,我也发了,我只能选择4种字体都是蹩脚的,并想知道发生了什么,netbeans只提供4种字体可供选择,也是蹩脚的字体选择框,我是一个netbeans的忠实粉丝,我知道我可以在这里找到解决方案。

无论如何我都遵循所有可能的指导。 我使用Ubuntu 13.10和netbeans 7.3(是的,我喜欢不稳定的东西)

  1. 在我的用户文件夹中创建.font文件夹。
  2. 将我拥有的所有字体复制到该文件夹​​中。
  3. 将以下行添加到netbeans.conf文件中

通过运行找到它:

 locate netbeans.conf 

编辑它并在引号内添加以下内容

 -J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcd --laf Metal 
  1. 运行netbeans更新,我认为现在做了魔术我有漂亮的字体选择器,并有更多的字体选择然后编写代码(不假笑话)。

我希望它会对你有所帮助。

 #!/bin/sh gsettings set org.gnome.desktop.interface font-name 'Ubuntu 10' sh /home/xxx/netbeans-7.2/bin/netbeans & sleep 5 gsettings set org.gnome.desktop.interface font-name 'Ubuntu 11' 

就个人而言,我认为Netbeans在Linux上的整体默认外观有点令人失望,特别是考虑到它在其他平台上看起来有多好。 值得庆幸的是,可以从IDE内部轻松更改外观(LAF)。 根据您的选择,这通常会改善字体的外观。

要更改LAF,请执行以下操作:单击工具>>选项在对话框中,选择外观,然后选择外观和选项选项卡只需选择一个LAF。 我的偏好是Nimbus,但你可能更喜欢别的东西。

还有两个’Dark LAFs’插件:Dark Metal和Dark Nimbus。

进一步采用手动方式,我准备了一个名为“Ubuntu Mono Nohinting”的专用字体来解决Java Swing应用程序(如NetBeans IDE,IntelliJ IDEA和PyCharm)的渲染问题。 字体提示信息已从原始Ubuntu Mono字体系列中删除。

如何安装

  • 从这里下载zip文件
  • 提取它
  • 打开* .ttf并使用Font Viewer进行安装。
  • 或者您可以手动将* .ttf复制到~/.local/share/fonts/

如何使用

  • 在编辑器配置中选择“Ubuntu Mono Nohinting”。

截图

Ubuntu Mono字体与PyCharm Monokai主题

Ubuntu Mono字体与PyCharm Monokai主题

Ubuntu Mono Nohinting字体与PyCharm Monokai主题

Ubuntu Mono Nohinting字体与PyCharm Monokai主题

我本人做了一些不同的事情:在我的例子中,谈到NetBeans 8.0.1版 ,问题是系统上安装了JDK(Oracle JDK 8.0)。 移动到OpenJDK后,用户界面元素中出现了更好的字体。

我不知道这是否是一个好的答案,因为它可能无处不在,但肯定 – 尝试通过切换JDK(无论是OpenJDK还是Oracle JDK),您可能会看到不同之处。

将以下代码添加到netbeans_default_options netbeans.conf文件的末尾。

 -J-Dawt.useSystemAAFontSettings=on 

这将使用系统字体。

除了使用不同的默认JDK for NetBeans之外,我已经尝试过我能找到的所有解决方案,但没有解决方案。

Oracle的JDK不能很好地渲染字体。 OpenJDK似乎也不适用于NetBeans,但却为IntelliJ及其兄弟姐妹创造了奇迹。

适用于NetBeans的那个名为TuxJDK ,它基本上是为在Linux上工作的Java开发人员增强的OpenJDK。 其中一项增强function是出色的字体渲染

以下是如何使用它:

  1. 从这里下载TuxJDK二进制文件。 (撰写本文时为“tuxjdk-static-8.92.03.tar.xz”)
  2. 随时随地解压缩tar.xz。
  3. 复制TuxJDK目录的位置。
  4. 打开位于NetBeansInstallationDirectory / etc /中的netbeans.conf。
  5. 找到以“netbeans_jdkhome”开头的行,并将路径替换为步骤3中复制的路径。
  6. 启动和NetBeans并用一些漂亮的字体对待你的眼睛!

之前: 使用TuxJDK之前的NetBeans

之后: 使用TuxJDK后的NetBeans

只需从http://zulu.org安装zulu jdk 🙂

我在Mint 12上遇到了同样的问题。我通过输入“高级设置” – >“字体”并将默认字体从11减少到10来解决它。我将列表中的所有字体降低到一致性。

Cantarell 11字体肯定存在一些问题。