You need to be logged in to post in the forums. If you do not have an account, please sign up first.
[10.5x snapshot] Font rendering in 10.50
Premise: I had a better font rendering in Opera 10.10.I've read that 10.50 has font problems but now I'm no longer sure that those problems are my problem.
I've attached a screenshot. Is this font rendering (sub par, too much thin) common to all UNIX users now?
opera.png
Thank you.
Also, make sure you use the latest version (build 6302 ATM).
Opera older versions depended on Qt for font rendering - the latest versions of Qt have very good font rendering, so naturally Opera had it too. But in the 10.5x series everything was remade from scratch, the Qt toolkit is not needed anymore so they had to remake 100% the font rendering engine.
Originally posted by prd3:
Did you read the known issues?
Did you read my post?
Originally posted by pepelemoco:
I've read that 10.50 has font problems but now I'm no longer sure that those problems are my problem.
Originally posted by gradinaruvasile:
No. I have beautiful font rendering in Opera build 6302 on Debian Squeeze
I'm using Linux Mint. System fonts are fine but unfortunately Opera's are not. I do have Opera build 6302 and the font rendering is mediocre. I didn't understand if it was a local (mine) problem or if it was due to the beta stage (even if we are now at 10.52).
Originally posted by pepelemoco:
I'm using Linux Mint. System fonts are fine but unfortunately Opera's are not. I do have Opera build 6302 and the font rendering is mediocre. I didn't understand if it was a local (mine) problem or if it was due to the beta stage (even if we are now at 10.52).
Starting at build 6302, Opera will read your system settings and set up freetype so that it respects those settings when rendering fonts. Which settings do you currently use? You can list them by typing
$ xrdb -query Xft
in your terminal.
Fonts will look different on different systems; for example, Freetype on Ubuntu and Debian has a patented hinting algorithm built in, while it might not have that on Mint. Experimenting with the hinting settings and/or subpixel rendering settings might help.
If you are convinced Opera is not using your system settings correctly, post your settings and a screenshot of Opera rendering the same font at the same size as another application on your system that respects the font rendering settings.
These are the settings listed:
Xcursor.size: 18 Xcursor.theme: Human Xcursor.theme_core: true Xft.antialias: 1 Xft.dpi: 100 Xft.hinting: 1 Xft.hintstyle: hintslight Xft.lcdfilter: lcddefault Xft.rgba: rgb
I've taken a screenshot with Firefox, Chromium and Opera.
Firefox.png
Chromium.png
Opera.png
The difference is evident...
Xcursor.size: 18
Xcursor.theme: default
Xcursor.theme_core: true
Xft.antialias: 1
Xft.dpi: 89
Xft.hinting: 1
Xft.hintstyle: hintfull
Xft.rgba: rgb
Notice the Xft.hintstyle differences. If you have LCD screen, you should set the hinting to full+subpixel rendering+rgb.
In Gnome there is the Preferences/Appeareance menu that has a Fonts tab, Rendering subsection, where you have these options.
Screenshot-Font Rendering Details.png
Screenshot-Appearance Preferences.png
Originally posted by gradinaruvasile:
If you have LCD screen, you should set the hinting to full+subpixel rendering+rgb.
Now that's quite a generalization, if I may say so. There's no such rule about setting full hinting for LCD. You might like full hinting on your setup and that's perfectly fine. But that's just your opinion, not a rule. There are many reasons why full hinting might not be the best idea for everyone on every setup, the most prominent being that it tends to distort glyph shapes quite a lot, both with Freetype's autohinter and bytecode hinter. Yes, it produces the sharpest looking glyphs, but there's a price to pay for that. For example, look at the capital R's in your first screenshot - they look almost like P's (a common problem with fonts like Verdana and Tahoma when using bytecode hinter on Linux - small 'k' tends to be a problem too, but many other characters are distorted/look bad as well).
As for Opera itself, I believe it is still stuck in using the bytecode hinter, no matter what your true settings are, even with the latest 10.52 snapshot that claims to follow the Xft settings. I've posted this screenshot in the comments of that build (from left to right FF 3.6.2, Opera 10.10, Opera 10.52):
http://www.edgeoftheworld.cz/images/opera_frender1.png
I'm using Freetype's autohinter with medium hinting and lcddefault subpixel rendering algorithm, but, as you can clearly see, Opera 10.52 tends to ignore that.
7. April 2010, 17:40:26 (edited)
Xcursor.size: 18 Xcursor.theme: default Xcursor.theme_core: true Xft.antialias: 1 Xft.dpi: 100 Xft.hinting: 1 Xft.hintstyle: hintslight Xft.lcdfilter: lcddefault Xft.rgba: rgb
a screenshot showing 10.10, FF and 10.52_6302:
opera-xft.png
and my .fonts.conf
.fonts.conf
Originally posted by Case1:
Originally posted by gradinaruvasile:
If you have LCD screen, you should set the hinting to full+subpixel rendering+rgb.
Now that's quite a generalization, if I may say so. There's no such rule about setting full hinting for LCD. You might like full hinting on your setup and that's perfectly fine. But that's just your opinion, not a rule. There are many reasons why full hinting might not be the best idea for everyone on every setup, the most prominent being that it tends to distort glyph shapes quite a lot, both with Freetype's autohinter and bytecode hinter. Yes, it produces the sharpest looking glyphs, but there's a price to pay for that. For example, look at the capital R's in your first screenshot - they look almost like P's (a common problem with fonts like Verdana and Tahoma when using bytecode hinter on Linux - small 'k' tends to be a problem too, but many other characters are distorted/look bad as well).
As for Opera itself, I believe it is still stuck in using the bytecode hinter, no matter what your true settings are, even with the latest 10.52 snapshot that claims to follow the Xft settings. I've posted this screenshot in the comments of that build (from left to right FF 3.6.2, Opera 10.10, Opera 10.52):
http://www.edgeoftheworld.cz/images/opera_frender1.png
I'm using Freetype's autohinter with medium hinting and lcddefault subpixel rendering algorithm, but, as you can clearly see, Opera 10.52 tends to ignore that.
My screenshots are from the system - Debian squeeze. They look ugly compared to Ubuntu's font rendering. But Opera renders way better. Ok, this is on my computers - on all 3 of them - one laptop - Dell D630/Nvidia Quadro NVS 135M - 1440x900, 2 desktops - one with Nvidia 8200 - 17"/1280x1024, one with Nvidia 210 - 22"/1680x1050. But this is on Debian Squeeze, all displays are LCD.
This is how Opera looks on my laptop with full hinting and all that:
803 - Post Reply - [10.5x snapshot] Font rendering in 10.50 - Opera for UNIX - Linux, Solaris, FreeBSD - Opera Community - Opera.png
Originally posted by Case1:
Yes, it produces the sharpest looking glyphs, but there's a price to pay for that.
I tend to like the subpixel stuff, but they're blurrier, not sharper.
System is Arch Linux, x86_64, with KDE (but GTK libs is installed too).
Font rendering settings are:
Xft.lcdfilter: lcddefault
Xft.dpi: 96
Xft.antialias: true
Xft.rgba: rgb
Xft.hinting: true
Xft.hintstyle: hintnone
Screenshots with normal 10.10 fonts and terrible 10.52 in attachments.
opera1010.png
opera1052.png
http://www.edgeoftheworld.cz/images/opera_frender3.png
Originally posted by Case1:
Frenzie: You misunderstood me. I was just talking about the hinting options, meaning that whatever your other settings are, full hinting always produces sharper glyphs than any other hinting setting. I wasn't comparing the sharpness of glyphs with subpixel vs. greyscale antialiasing or with native atuohinter vs. BCI or anything like that. Just relative, one hinting setting to another.
Except for the "off" hinting setting...


I understand that's dev snapshot, but is it so difficult JUST TO USE SYSTEM SETTINGS?
21. April 2010, 10:29:11 (edited)
Originally posted by ruario:
Originally posted by pekmop1024:
There is more work to do before we can do that. We will fix it but writing in bold caps won't make it happen any faster.I understand that's dev snapshot, but is it so difficult JUST TO USE SYSTEM SETTINGS?
Is it supposed to be fixed now?
The current snapshot (this one) removed "font problems" from the list of known issues. However font-rendering is obviously still broken, especially hinting doesn't match the system settings at all.
Debian users might enjoy Opera having its own way of rendering fonts, as debian refuses to include the "good" lcdfilter, but imho this is debian's fault. On Ubuntu & Co Opera's rendering is clearly inferior to all other applications.
24. April 2010, 10:00:13 (edited)
eg. the bolds on this page still look very bad http://www.nu.nl/ but only on one of my mandriva installs
on http://forum.mandriva.com/index.php the orange bolds look very bad on this page too (too big and too much space between the letters), also in eg the phrase on that page "Become a registered member of the Mandriva community.It takes only 5 mns and it's free ... Learn more ..." the lower case r looks weird (much smaller than the other letters)
And also here on the forum the fonts on the edit and preview button don't look right (too big)
The attached screenshot shows the problems.
Some info on my system:
Version 10.53 Internal Build 6330 Platform Linux System x86_64, 2.6.33-zen1
~/.Xdefaults:
~> grep -vE '^(|!.*)$' .Xdefaults Xcursor.theme: ComixCursors-White-Regular Xcursor.size: 20 *antialias: true *color0: #222222 *color1: #993333 *color2: #009966 *color3: #bb8855 *color4: #007799 *color5: #ffb5c5 *color6: #00ccbb *color7: #777777 *color8: #999999 *color9: #bb4444 *color10: #00bb88 *color11: #dddd66 *color12: #5094f3 *color13: #ffaeb9 *color14: #00eedd *color15: #80b8b8 *borderColor: white *internalBorder: 0 *jumpScroll: true *loginShell: false *saveLines: 1000 *scrollColor: black *scrollTtyOutput: false *utmpInhibit: True *visualBell: false XTerm*allowSendEvents: True XTerm*background: #222222 XTerm*cursorColor: rgb:00/80/00 XTerm*faceName: monaco:size=8 XTerm*foreground: #a7a7a7 XTerm*geometry: 80x40 XTerm*multiScroll: true XTerm*on3Clicks: regex [^ \n]+ XTerm*on4Clicks: regex [^"'\n]+ XTerm*on5Clicks: line XTerm*rightScrollBar: false XTerm*sessionMgt: false XTerm*scrollKey: true UXTerm*allowSendEvents: True UXTerm*cursorColor: rgb:00/80/00 UXTerm*faceName: monaco:size=8 UXTerm*foreground: #a7a7a7 UXTerm*geometry: 80x40 UXTerm*multiScroll: true UXTerm*on3Clicks: regex [^ \n]+ UXTerm*on4Clicks: regex [^"'\n]+ UXTerm*on5Clicks: line UXTerm*rightScrollBar: false UXTerm*sessionMgt: false UXTerm*scrollKey: true alpine*faceName: monaco:size=7 URxvt*background: rgba:2222/2222/2222/eeee URxvt*borderLess: True URxvt*cursorBlink: False URxvt*cursorColor: grey URxvt*depth: 32 URxvt*fading: 20 URxvt*font: xft:monaco:size=7:antialias=true URxvt*foreground: #a7a7a7 URxvt*perl-ext: matcher URxvt*scrollBar: False URxvt*scrollTtyKeypress: True URxvt*scrollWithBuffer: True URxvt*shading: 15 URxvt*internalBorder: 0 URxvt*termName: rxvt-unicode URxvt*transparent: False URxvt*urlLauncher: firox yeahconsole*screenWidth: 800 yeahconsole*toggleKey: Alt+grave yeahconsole*handleWidth: 1 yeahconsole*xOffset: 450 yeahconsole*consoleHeight: 40 yeahconsole*aniDelay: 1 yeahconsole*term: urxvt xdvi*background: #ececec
~/.fonts.conf
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<alias>
<family>monospace</family>
<prefer>
<family>Monaco</family>
<family>DejaVu Sans Mono</family>
</prefer>
</alias>
<match target="pattern" name="family" >
<test name="family" qual="any" >
<string>Courier</string>
</test>
<edit mode="assign" name="family" >
<string>monospace</string>
</edit>
</match>
<match target="font" >
<edit mode="assign" name="hintstyle" >
<const>hintfull</const>
</edit>
</match>
<match target="font" >
<edit mode="assign" name="antialias" >
<bool>true</bool>
</edit>
</match>
<match target="font" >
<test compare="more" name="weight" >
<const>medium</const>
</test>
<edit mode="assign" name="autohint" >
<bool>false</bool>
</edit>
</match>
<match target="pattern">
<test name="family">
<string>Nimbus Roman No9 L</string>
</test>
<edit name="weight" mode="append">
<const>regular</const>
</edit>
</match>
<match target="pattern">
<test name="family">
<string>Nimbus Roman No9 L</string>
</test>
<test name="weight" compare="more_eq">
<const>medium</const>
</test>
<edit name="weight" mode="assign">
<const>medium</const>
</edit>
</match>
</fontconfig>
Does anyone have any hints on how antialiasing can be enabled? It is already enabled in opera according to opera:config.
http://img62.imageshack.us/img62/3996/58780439.png
In your case it seems that hinting+antialiasing is off.
Launch the following command in a terminal:
xrdb -query Xft
and post the results here.
Originally posted by gradinaruvasile:
In my case it spits out everything that is there in the ~/.Xdefaults (perhaps because most of the lines have * in them). I haven't defined any Xft variables in ~/.Xdefaults or anywhere else. But it is clear that antialias is set to true in ~/.Xdefaults. I presume opera should at least read ~/.fonts.conf and /etc/fonts/*Launch the following command in a terminal:
xrdb -query Xft
and post the results here.
Anyway, just FYI, here is the output of the command you suggested:
~> xrdb -query Xft Xcursor.theme: ComixCursors-White-Regular Xcursor.size: 20 *antialias: true *color0: #222222 *color1: #993333 *color2: #009966 *color3: #bb8855 *color4: #007799 *color5: #ffb5c5 *color6: #00ccbb *color7: #777777 *color8: #999999 *color9: #bb4444 *color10: #00bb88 *color11: #dddd66 *color12: #5094f3 *color13: #ffaeb9 *color14: #00eedd *color15: #80b8b8 *borderColor: white *internalBorder: 0 *jumpScroll: true *loginShell: false *saveLines: 1000 *scrollColor: black *scrollTtyOutput: false *utmpInhibit: True *visualBell: false XTerm*allowSendEvents: True XTerm*background: #222222 XTerm*cursorColor: rgb:00/80/00 XTerm*faceName: monaco:size=8 XTerm*foreground: #a7a7a7 XTerm*geometry: 80x40 XTerm*multiScroll: true XTerm*on3Clicks: regex [^ \n]+ XTerm*on4Clicks: regex [^"'\n]+ XTerm*on5Clicks: line XTerm*rightScrollBar: false XTerm*sessionMgt: false XTerm*scrollKey: true UXTerm*allowSendEvents: True UXTerm*cursorColor: rgb:00/80/00 UXTerm*faceName: monaco:size=8 UXTerm*foreground: #a7a7a7 UXTerm*geometry: 80x40 UXTerm*multiScroll: true UXTerm*on3Clicks: regex [^ \n]+ UXTerm*on4Clicks: regex [^"'\n]+ UXTerm*on5Clicks: line UXTerm*rightScrollBar: false UXTerm*sessionMgt: false UXTerm*scrollKey: true alpine*faceName: monaco:size=7 URxvt*background: rgba:2222/2222/2222/eeee URxvt*borderLess: True URxvt*cursorBlink: False URxvt*cursorColor: grey URxvt*depth: 32 URxvt*fading: 20 URxvt*font: xft:monaco:size=7:antialias=true URxvt*foreground: #a7a7a7 URxvt*perl-ext: matcher URxvt*scrollBar: False URxvt*scrollTtyKeypress: True URxvt*scrollWithBuffer: True URxvt*shading: 15 URxvt*internalBorder: 0 URxvt*termName: rxvt-unicode URxvt*transparent: False URxvt*urlLauncher: firox yeahconsole*screenWidth: 800 yeahconsole*toggleKey: Alt+grave yeahconsole*handleWidth: 1 yeahconsole*xOffset: 450 yeahconsole*consoleHeight: 40 yeahconsole*aniDelay: 1 yeahconsole*term: urxvt xdvi*background: #ececec
4. May 2010, 20:00:04 (edited)
I am currently using enlightenment DR17 as my WM. The missing antialiasing is present irrespective of the dialog toolkit: x11, gtk, qt, or kde. But, the antialiasing settings in kde's system settings is set to "System" for me. I will try "Enabled" along with kde dialog toolkit.
By "System" it signifies that kde will will just read your settings from ~/.fonts.conf. In fact, if you change the font settings in that kde's system settings, it directly modifies ~/.fonts.conf.
EDIT: Doesn't make any change in enlightenment DR17. Opera is still not antialiased.
EDIT 2: Thank you! It worked! But only after I reset the font settings in the kde's system settings to "System" (back from "Enabled"). Finally antialiased fonts.

As you noted, opera does not read the rest of ~/.fonts.conf. For example, it shows the Bold fonts as too bold, and I have workarounds in my ~/.fonts.conf.
Originally posted by Case1:
...and I've just tried today's beta and the workaround stopped working for me
" width="17" height="17"> So I'm back to non-antialiased fonts no matter what I do.
Actually, I am back to non-antialiased fonts after a reboot. I guess this was just a temporary hack.
Forums » Opera for Windows/Mac/Linux » Opera for *nix - Linux/FreeBSD
" width="17" height="17"> So I'm back to non-antialiased fonts no matter what I do.