Active Topics

 



Notices


Reply
Thread Tools
Posts: 47 | Thanked: 78 times | Joined on May 2008
#1
I have noticed that the fonts in Maemo could gain a little from better hinting, so I've rebuilt the freetype library with bytecode interpreter enabled.

Note that in some countries the involved algorithms are patented by m$ and apple, so it is illegal to use them without paying a few megabucks to them. So if the respective patent is valid in your country - don't use it. I personally don't care since US patents do not work in my country.

here is it.

After installing the package you'd better reboot, you'll notice the difference immediately after rebooting.

Here's a example screenshot before and after installing the modified library:

Before:


After:


You may notice that some fonts (e.g. the one on titlebar and on the statusbar) significantly changed, while other (the fixed font used by the terminal) is just like before. That's because the terminal font is unhinted, so it does not benefit from the bytecode interpreter (the "dejavu sans mono" font has hinting, but I haven't tried it yet).

If you decide to roll back, execute as root "apt-get -f install" which should eventually install the old version. If this doesn't work, get this.

Last edited by anpaza; 2008-07-11 at 14:29.
 

The Following 3 Users Say Thank You to anpaza For This Useful Post:
qwerty12's Avatar
Posts: 4,274 | Thanked: 5,358 times | Joined on Sep 2007 @ Looking at y'all and sighing
#2
Hmm, there was already one with bytecode enabled on the itt wiki, but it messed up my terminal (dpad wouldn't work), does this exhibit same behaviour?
 
Posts: 47 | Thanked: 78 times | Joined on May 2008
#3
Try it again ;-)

Well, I'm running it for about a hour and I haven't observed any side effects :-)

By the way, the fonts in browser imho become much better, more contrasty and such...
 

The Following User Says Thank You to anpaza For This Useful Post:
Posts: 393 | Thanked: 112 times | Joined on Jul 2007
#4
Don't think we need it as the antialiasing is good already but a good hack nontheless!

Any idea on possible performance hits?
 
Posts: 168 | Thanked: 51 times | Joined on Jun 2007
#5
Originally Posted by qwerty12 View Post
Hmm, there was already one with bytecode enabled on the itt wiki, but it messed up my terminal (dpad wouldn't work), does this exhibit same behaviour?

change your terminal font

btw, I wrote the wiki
 

The Following User Says Thank You to coffeedrinker For This Useful Post:
Posts: 47 | Thanked: 78 times | Joined on May 2008
#6
Originally Posted by yabbas View Post
Don't think we need it as the antialiasing is good already
Try it, you'll see the difference, I promise :-) Dunno if you'll like it, but it's more noticeable than on my screenshots... I used mc because I forgot to make some screenshots before installing it.

Originally Posted by yabbas View Post
Any idea on possible performance hits?
There aren't any noticeable changes in speed, although I *think* (with my limited understanding of freetype) that with bytecode interpreter it should be actually faster. The reason is that if freetype doesn't use the bytecode interpreter, it will use the auto-hinter which has to perform some analysis of every glyph... with bytecode hinting the analysis is performed beforehand by the font designer.

By the way, are there any benchmarks for ITOS? I would be interested to see one...

Here's a animated gif from the Russian internet-tablet forum:



You can see that the renderer with bytecode interpreter gives sharper glyphs with less grayscale pixels around. Especially note the font from the URL bar, it seems properly hinted so it gains most from enabled bci. At the same time, you can see the font on titlebar has not changed at all - this is because not all Cyrillic glyphs in Nokia fonts contain proper hints.

Last edited by anpaza; 2008-07-07 at 11:36.
 
pakr's Avatar
Posts: 21 | Thanked: 13 times | Joined on Jun 2008 @ Germany
#7
anpaza, would it be possible to keep the package name consistent with the maemo package? So apt-get would not complain all the time and as soon as a newer version would overwrite your package, one could come here to bug you for an update...

Code:
# apt-get upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run `apt-get -f install' to correct these.
The following packages have unmet dependencies:
  osso-software-version-rx34: Depends: libfreetype6 (= 2.3.5-1osso1) but 2.3.5-1maemo2 is installed
E: Unmet dependencies. Try using -f.
 
Posts: 3,841 | Thanked: 1,079 times | Joined on Nov 2006
#8
In my opinion the way dependencies are set for osso-software-version-rx34 is broken. In practice it enforces a frozen installation as far as Nokia-provided packages are concerned (note that it says '=', not '>=', so no no naming convention will fix that problem for this libfreetype6 package, save from using the exact same package/version name and deliberately --reinstall'ing the new package (to overwrite the existing one)).

I can see the reasoning from Nokia's point of view, but in practice it just leads to pain for the end user.
__________________
N800/OS2007|N900/Maemo5
-- Metalayer-crawler delenda est.
-- Current state: Fed up with everything MeeGo.
 
qwerty12's Avatar
Posts: 4,274 | Thanked: 5,358 times | Joined on Sep 2007 @ Looking at y'all and sighing
#9
apt-get install osso-software-version-rx34-unlocked.

Problem solved.
 

The Following 2 Users Say Thank You to qwerty12 For This Useful Post:
Posts: 47 | Thanked: 78 times | Joined on May 2008
#10
qwert12, thank you for the hint. I'll try to either add osso-software-version-rx34-unlocked as a dependency for libfreetype6, or try to play with the Provides: tag
 
Reply


 
Forum Jump


All times are GMT. The time now is 22:37.