[10.5x snapshot] Font rendering in 10.50

Forums » Opera for Windows/Mac/Linux » Opera for *nix - Linux/FreeBSD

You need to be logged in to post in the forums. If you do not have an account, please sign up first.

Go to last post

6. April 2010, 12:22:05

pepelemoco

Posts: 103

[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.

6. April 2010, 13:36:06

prd3

Posts: 928

Did you read the known issues?

6. April 2010, 15:24:42

No. I have beautiful font rendering in Opera build 6302 on Debian Squeeze (the systems font rendering is way crappier in Debian). I have selected in Appeareance (the system's, not Opera's) subpixel smoothing and subpixel+full+rgb in Font Rendering Details.

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.

6. April 2010, 19:00:44

pepelemoco

Posts: 103

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).

6. April 2010, 20:15:54

Opera Software

AVL

Posts: 295

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.

7. April 2010, 05:09:38

pepelemoco

Posts: 103

Thanks, AVL.
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...

7. April 2010, 10:13:10

My settings:

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

7. April 2010, 11:33:11

pepelemoco

Posts: 103

Thanks gradinaruvasil. I knew of full hinting settings, but I don't like it because it renders the fonts even slighter (at least on my box. I have a 1377 X 768 resolution on 11.3" screen and things become easily small).

7. April 2010, 17:02:47

Case1

Posts: 136

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)

Pedric

Posts: 108

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

7. April 2010, 18:55:15

pepelemoco

Posts: 103

So I hope that this is the font issue mentioned in the release notes
and hope it's being addressed

7. April 2010, 19:30:06

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

7. April 2010, 20:17:20

Frenzie

Posts: 15541

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.
The DnD Sanctuary — a safety net for My Opera's demise.

7. April 2010, 23:40:41

Case1

Posts: 136

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.

16. April 2010, 23:47:32

pekmop1024

Posts: 2

Build 6317 - font rendering is terrible, again. It ignores my system settings of hinting and anti-aliasing totally! furious

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

17. April 2010, 10:44:02

Case1

Posts: 136

Well, at least you still have *some* form of antialiasing. When I run the last few builds of Opera 10.52 in KDE on Arch 64 (the comparison screenshot above was from Gnome), I don't have antialiasing at all and everything looks terrible:

http://www.edgeoftheworld.cz/images/opera_frender3.png

17. April 2010, 13:32:08

Frenzie

Posts: 15541

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... p
The DnD Sanctuary — a safety net for My Opera's demise.

20. April 2010, 17:38:29

pekmop1024

Posts: 2

10.52 6320. Still ignores system Xft settings. sad
I understand that's dev snapshot, but is it so difficult JUST TO USE SYSTEM SETTINGS?

21. April 2010, 10:29:11 (edited)

Opera Software

ruario

Posts: 980

Originally posted by pekmop1024:

I understand that's dev snapshot, but is it so difficult JUST TO USE SYSTEM SETTINGS?

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. p

21. April 2010, 09:51:28

On Gnome/Debian it looks ok. Its way better than the system default...

23. April 2010, 22:32:46

UseLesS

Posts: 58

Originally posted by ruario:

Originally posted by pekmop1024:

I understand that's dev snapshot, but is it so difficult JUST TO USE SYSTEM SETTINGS?

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. p


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)

arghwashier

Posts: 1333

How to report font problems, I don't see font problems listed anymore in the known issues. I have noticed that fonts still look different between distros and between my different installs of different distros whilst they more or less looked the same with Opera 10.10
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)



24. April 2010, 19:22:12

Moderator

sgunhouse

Volunteer

Posts: 66755

Do you use the same desktop on both machines? I've seen one report that fonts looked good under KDE and poor under Gnome on the same machine ...

24. April 2010, 19:29:12

arghwashier

Posts: 1333

Yes I use mostly Gnome nowadays



4. May 2010, 01:02:41

ppurka

Posts: 73

Is the font rendering fixed for you guys? I am having pretty bad font rendering,- essentially no antialiasing.
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

4. May 2010, 02:14:11

In Debian it wasnt broken.
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.

4. May 2010, 02:46:03

ppurka

Posts: 73

Originally posted by gradinaruvasile:

Launch the following command in a terminal:
xrdb -query Xft
and post the results here.

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/*

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, 19:04:23

Case1

Posts: 136

ppurka: I've had problems with no antialiasing under KDE 4.x and turned out it was because I have always had the KDE antialiasing settings (under System Settings, Appearance, Fonts) set to "System". Once I've set it to "Enabled", Opera started drawing antialiased fonts and now it does that even when I put that setting back to "System". It still doesn't respect other font rendering settings (hinter settings, hinting, subpixel rendering method), but at least it's antialiased now. So if you're on KDE, try this.

4. May 2010, 20:00:04 (edited)

ppurka

Posts: 73

Thank you for this information. I will try it out.

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. bigsmile
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.

5. May 2010, 01:51:59

Case1

Posts: 136

...and I've just tried today's beta and the workaround stopped working for me wink So I'm back to non-antialiased fonts no matter what I do.

BTW yeah, I know what the "System" settings means and how KDE's font rendering settings work, but thanks for explaining anyway smile

5. May 2010, 02:35:52

ppurka

Posts: 73

Originally posted by Case1:

...and I've just tried today's beta and the workaround stopped working for me <img src=" 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