[haiku-commits] Re: haiku: hrev50959 - src/servers/app/font src/servers/app docs/interface_guidelines 3rdparty/mmu_man/scripts src/add-ons/translators/rtf

  • From: "Adrien Destugues" <pulkomandy@xxxxxxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sun, 19 Feb 2017 09:10:26 +0000

18 février 2017 23:51 "waddlesplash" <waddlesplash@xxxxxxxxx> a écrit:

The first of these has been significantly improved by disabling the 
average-based subpixel filter
in app_server. The second turned out to be false -- while Noto has fonts for 
any language, DejaVu
actually has support for a lot more languages in a single font (see commit 
message). So that turned
out to not be true either, and having DejaVu be default with Noto available 
in a package is a much
better solution.

If you know something I don't, please speak up.

Plain DejaVu: 242 languages according to 
Plain Noto (without CJK - what we are using by default now): 583 languages 
according to https://www.google.com/get/noto/#sans-lgc ;

So even without the extra coverage of Noto CJK, etc, Noto is already 2x more 
languages than DejaVu.

Also, this misses the point. The nice thing about Noto is that we can get a 
common look for all locales. Not a single *font file*, but a single *look*. The 
situation without Noto is that we have DejaVu, but also microhei (for Chinese) 
and VL-Gothic (for Japanese), and should probably include more (for Korean, 
etc). We can just include all the Noto fonts and be done with that.

The next step is to enable FontConfig and use it to select a font matching the 
system language. Note that this is required either way: either we switch 
between different Noto variants, or we switch between different fonts (DejaVu, 
microhei, VL-Gothic). Except switching between different fonts looks ugly when 
you mix Japanese and Latin characters (try running Haiku in Japanese, without 
switching to VL-Gothic, you  will see how digits are rendered with DejaVu and 
everything else with VL-Gothic).

Moreover, by switching the fallback font from VL-Gothic to Noto Sans CJK JP 
(JOP because historically this is where we have most CJK users - but feel free 
to prove me wrong on that), we can get some of this working at least for our 
Japanese users by default. Not as good as going with FontConfig, but it's an 
easy change.

As far as I understand for better font rendering we need a modern font and 
then improve our font
rendering. Much better commit messages than 'we just chatted a bit' please 
for any commits like

DejaVu *is* a modern font, it's still under active development and looks 
great on, say, Ubuntu's
font rendering. We just need to improve our font rendering by using freetype 
differently, although
the tweaks I made to app_server already helped significantly.

Also, I elaborated quite a lot in the commit message about why Noto isn't 
actually better than
DejaVu. What should I have included?

There was already a discussion on the dev ML and the agreement was on switching 
to Noto. If you want to switch back, the proper way would be:
1) Start a new discussion, bringing new facts such as:
- Users don't like it
- It doesn't work as expected
- DejaVu looks was improved in the meantime

And only then,
2) If people agree with the new arguments, switch back to DejaVu

My vote still goes +1 to Noto for the reasons explained in the first part of 
this message, and because it provides a simple way forward when we get 
fontconfig: it is much easier and nice-looking to switch between different Noto 
variants, than to switch between an assortment of random fonts, for which we 
must research language coverage, licensing, completeness, and looks.


Other related posts: