Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I'm having problems getting the Netbeans font to look nice, this has been a problem ever since I tried Ubuntu ~8. For some reason fonts look like they're not getting subpixel smoothing in Netbeans only, for the rest of the applications they look perfect.

Look at how ugly the screenshot is:

enter image description here

It's not just the code area but every font in the application looks this way. I was looking around and apparently adding the following line to the .bashrc file should fix the issue but in my case it didn't:

export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=lcd'

It think it might only affect Java based applications, but I haven't been able to test another Java app to check the fonts out.

Does anyone know what can I do to fix this? How can I make Netbeans use the system font? Thanks in advance!

share|improve this question
    
I've also looked and looked for a fix for this, but there just doesn't seem to be one. Specifically it affects Swing-based applications; you'll find that Eclipse, for example, looks fine. I'm actually not too bothered about the code font (it's changeable, and I find that it looks OK with Droid Sans Mono at 11pt) but the chrome fonts really irk me. –  Jamie Schembri Mar 30 '11 at 18:00
    
Yes it seems to affect only java based apps, I'm thinking about changing my IDE just because of this.. –  javiervd Apr 5 '11 at 15:03
    
Actually, I specifically mentioned Swing because the font problem is not visible in SWT applications, such as Eclipse. Either way, though, it only affects (some) Java applications. Also, I can confirm that the problem is still there in Netbeans 7.0 RC1. –  Jamie Schembri Apr 6 '11 at 20:07
    
You're right I switched to Aptana and they look fine there, hope I can find fix for this I really like Netbeans but those font were driving me crazy. –  javiervd Apr 8 '11 at 3:55
    
I'm using now 'Droid Sans Mono', size 16 with '-J-Dawt.useSystemAAFontSettings=on --laf javax.swing.plaf.nimbus.NimbusLookAndFeel -J-Dsun.java2d.noddraw=true -J-Dsun.java2d.dpiaware=true' –  Karussell Aug 28 at 13:08

12 Answers 12

up vote 27 down vote accepted

As has been stated in the comments, this is a problem with Java Swing apps on Linux. Swing does use Gnome's font smoothing settings (deactivated, greyscale or subpixel) - it disregards the hinting settings though. It always uses full hinting, and if you're running Ubuntu with little or no font hinting (as most people do since little hinting is the default setting) this will make the font appear significantly different than in other applications. SWT applications like Eclipse are fine, but if you like Netbeans this isn't gonna help you.

Caveat: For the following workaround I'm only talking about the editor font, because in an IDE that's what's important to me. You could also apply it to the menu fonts etc, but that might be a little over the top.

The only usable solution I found here somewhere on the web (would love to link the page, but I cannot find it): use Fontforge to edit your editor font of choice and remove all hinting information from the font itself, then save it as a new font and use that in Netbeans.

  1. sudo apt-get install fontforge
  2. Launch Fontforge
  3. Open your font of choice
  4. Ctrl + A to select all characters
  5. Hints -> Clear instructions
  6. Ctrl + Shift + F to open the font info
  7. Rename font (e.g. to original name + '_nohints')
  8. Save edited font in the .fonts directory in your home
  9. Clear font cache fc-cache -rv
  10. Run Netbeans and use the font you created as editor font

No, not perfect and yes, a bit of a hassle, but still a world of difference. Hope that helps.

share|improve this answer
    
Thanks! Worked out very well! –  forker Mar 20 '12 at 21:31
2  
I used Monospace, the default one in NetBeans. I tried to fix Ubuntu Monospace, and it looks better now, but still worse then Monospace. Thanks anyway. If I could find Monospace location on file system, I would try to fix it too. –  umpirsky Dec 19 '12 at 23:16
    
Thank you so much... The only working solution I've found. I was going crazy with this !! –  Stefanos Kalantzis Aug 13 '13 at 9:13

Add

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

or

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

to the file : netbeans.config. You can find it in $NETBEANS_HOME/etc/ folder. Make your application font smaller from system preferences.

Source

share|improve this answer
6  
The config file is usually at /home/<user_name>/<neabeans_folder>/etc/netbeans.conf. –  Bibhas Feb 22 '12 at 12:15
1  
Didn't work for me :( –  szx Jul 20 '13 at 5:41
    
The config file is in /etc/netbeans.conf The first line didn't work for me but the second one did the trick –  Christian Vielma Nov 18 '13 at 23:23
    
I'm not seeing any difference after adding this line. A . is still only one pixel, for example, where it shows up nicely in any other app. –  NoBugs Dec 9 '13 at 6:44

It's not so bad that font..

However, this is a Java application and as a particular way of handling fonts.

If you want only to change font size, you can start Netbeans with "--fontsize" parameter:

netbeans --fontsize 12

If you want change the font type, it is a bit more hard changing environment parameters, and this article explains very well:

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

This is for ArchLinux but I think it will work also in Ubuntu as Java is a universal software.

share|improve this answer

I had the same issue on Ubuntu 12.04 and Netbeans 7.2.

I tried adding -J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcd to the netbeans.conf but it did not solved the problem.

Then I saw the issue comment regarding the line height at Netbeans bug 215785. Setting the editor line height to 1.0 along with AA settings to netbeans.conf solved my problem.

share|improve this answer

I know this is an old question, but in my quest for the same problem, I tried all the tricks here without luck. I thought I was just going to have to live with terrible text in netbeans.

Then I found this: http://youtrack.jetbrains.com/issue/IDEA-57233#comment=27-472038

Basically: Ubuntu 13.10, Netbeans (7.3), Infinality font patches to freetype, OpenJDK7, and patches to it to fix Swings dismal font handling. And it "just worked"!!!

Copied here in case that link dies:

  1. install freetype

    $ sudo apt-get install libfreetype6
    
  2. install infinality patch

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

    I had to do the following afterwards:

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

    To use Windows 7 like font rendering do the following:

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

    Set USE_STYLE to "WINDOWS7" in /etc/profile.d/infinality-settings.sh

  3. install font fixed OpenJDK

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

    In .../etc/netbeans.conf,

    netbeans_default_options includes: -J-Dawt.useSystemAAFontSettings=lcd and -J-Dsun.java2d.xrender=true"

    and set netbeans_jdkhome="/usr/lib/jvm/java-1.7.0-openjdk-amd64"

This changed my Netbeans fonts from 1990's acceptable to modern day awesome. And I can now use the Inconsolata as my Netbeans editor font and it looks GREAT.

share|improve this answer
    
as a footnote: the "-J-Dsun.java2d.xrender=true" introduced some render glitches. setting it to false, fixed the render glitches when rapid scrolling, but did not impact the beautiful fonts. –  Chris Holt Jan 31 at 18:46
    
Thanks! That helped a lot! –  Mati Mar 19 at 20:09
    
A quick followup note: if the openjdk pacakage is updated ahead of the font-fixed one and you apply it, you can revert back like this: for openjdk-7-jdk, openjdk-7-jre and openjdk-7-jre-headless, uninstall them and then install the previous versions from the font fix repo. apt-cache policy <package> will show you the versions. i.e. apt-get remove openjdk-7-jdk openjdk-7-jre openjdk-7-jre-headless apt-get install openjdk-7-jdk=7u51-2.4.4-0ubuntu0.13.10.1ppa2 openjdk-7-jre=7u51-2.4.4-0ubuntu0.13.10.1ppa2 openjdk-7-jre-headless=7u51-2.4.4-0ubuntu0.13.10.1ppa2 –  Chris Holt May 7 at 17:23

Just saw this posts and tried to fix my fonts problem, I had also issue, I could choose only 4 fonts all were lame, and wondered what happened that netbeans give only 4 fonts to choose from and also lame font chooser box, I am a big fan of netbeans and I knew I can find solution here.

any way I followed all possible guid. I use Ubuntu 13.10 and netbeans 7.3 (yes I love the unstable stuff)

  1. create .font folder in my user folder.
  2. copied all fonts I had to that folder.
  3. added the following line to the netbeans.conf file

find it by running:

locate netbeans.conf

edit it and added the following inside the quotes as suggested above

-J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcd --laf Metal
  1. run netbeans update which I think did the magic now I have beautiful font chooser and have more fonts to choose then code to write (unfunny joke).

I hope it will help you.

share|improve this answer

The anti-aliasing of the fonts are not working correctly in Ubuntu Java Swing applications.

Add:

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

to netbeans.config at the end of the netbeans_default_options string.

You can find the config file in the $NETBEANS_HOME/etc/ folder (e.g. /home/<user_name>/<neatbeans_folder>/etc/netbeans.conf)

Example:

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"
share|improve this answer

Changing the application font can do the trick. See post from Thiago here: http://stackoverflow.com/questions/5660515/how-to-fix-netbeanss-look-on-ubunbu?s=86800e58-ba6b-44c4-b762-2468e999005b#new-answer

share|improve this answer
2  
Whilst this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference. –  Mahesh Aug 11 '12 at 13:19
#!/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'
share|improve this answer
6  
Welcome to Ask Ubuntu! This answer would benefit substantially, if you were to edit it to add some explanation (or at least to tell the user exactly what to do with these lines). –  Eliah Kagan Oct 1 '12 at 3:12

I was able to do this like so (I am using Ubuntu 12.10, worked on Ubuntu 13.04 as well):


Step 1 (This probably works in all Ubuntu versions):

First I cleaned up the menus using this plugin Tools -> Plugins -> Settings -> Add:

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

Once that location is added, you need to install the plugin, by searching for Java Ayatana (the description will be in Spanish). This will make the top and context menu the same as the OS.


Step 2 (I don't know if this will work in all Ubuntu versions):

Next you probably want the projects fonts too look nicer, what I did to fix that was run this in the terminal: sudo apt-get install gnome-tweak-tool I launched it and chose a different default font Now Netbeans looks pretty!

Here is a screenshot:

enter image description here

share|improve this answer

Personally, I think the overall default appearance of Netbeans on Linux is a bit disappointing especially considering how nice it looks on other platforms. Thankfully, changing the look & feel (LAF) can be done easily from inside the IDE. Depending on your selection, this will often improve the appearance of fonts.

To change the LAF, do the following: Click on Tools >> Options In the dialog box, select Appearance then the Look and Feel tab Simply select one of the LAFs. My preference is Nimbus, but you may prefer something else.

There are also two 'Dark LAFs' plugins available: Dark Metal and Dark Nimbus.

share|improve this answer

I was having the same issue on Mint 12. I solved it by entering the "Advanced Settings"->"Fonts" and reducing the default font from 11 to 10. I lowered all the fonts in the list to consistency.

There must be some problem with the Cantarell 11 font.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.