Re: [RFC]refactor Noto CJK fonts packaging

Takashi Iwai <[email protected]> Sat, 08 Apr 2017 09:50:12 +0200
Newsgroups gmane.linux.suse.m17n
Message-ID <[email protected]>
On Sat, 08 Apr 2017 08:54:29 +0200,
Marguerite Su wrote:
> 
> Hi,
> 
> There were some discussions about Noto CJK fonts in the ML and in the
> comments of an SR: SR#446888
> 
> I want to summarize the concerns from different sides here:
> 
> 1. the size limit of the DVD.
> 
> Due to the size limit, someone chose the SuperOTC format to distribute Noto CJK.

See the rpm changelog, it's Frederic's proposal (now Cc'ed).


> And it brought some troubles like:
> 
> Japanese glyphs will be always preferred because of its alphabetical order.
> 
> This was partially resolved using a specific fontconfig configuration,
> which prepends the right order by lang. but this solution didn't take
> into consideration for cases like "how to display CJK chars right in a
> Latin environment".
> 
> We wanted to switch back to the OTF fonts, because it's the only way
> to solve all related issues.
> 
> But we still didn't have a conclusion for the new font names. eg
> google-noto-sans-cjksc-thin-font, google-noto-sans-cjk-thin-fonts,
> google-noto-sans-cjk-basic-fonts...
> 
> Because we want to split the seldom used weights to save space for the DVD.
> 
> 2. the attempt to make it default for CJK.
> 
> I think this need is growing today because Google released Noto Serif
> and gave us the possibility to
> replace the ancient "AR PL UMing" fonts
> 
> And the only concern for this attempt is: Japanese needs its
> Demi-light instead of Regular/Medium weight. I think this can be
> handled with fontconfig.
> 
> 3. the conflicts between Adobe Source Han and Noto CJK
> 
> I received a bug report and I knew our packagers also prepared partial
> support for CJK (TW and JP) from Source Han side.
> 
> This is duplicated actually. Because Google and Adobe actually used
> the same source.
> 
> The only differences are the name and the Latin part.
> 
> Adobe used Source Sans for the Latin part, Google inhibited it  (So
> the two fonts are identical) but wrote a guideline to ask users to
> override the Latin part with Noto Sans/Reboto.
> 
> So a new need is triggered. We need to write a new fontconfig to alias
> Adobe Source Han by Noto CJK and handle the minor weight differences.
> 
> 4. the symbol part.
> 
> openSUSE still used the old URW "Standard Symbol L" or "OpenSymbol"
> from libreOffice to provide symbols.
> 
> But there're a few new modern and even colored symbol fonts available now:
> 
> * Noto provides "Noto Emoji"
> * "EmojiOne Color"
> * Deepin Linux also released a free symbol font "Deepin OpenSymbol"
> which is 100% compatible with Wingdings on Windows
> 
> I think it's time to evaluate our choice for symbol fonts again.
> 
> #################################################
> 
> I'll address 3 and 4 in fonts-config package. for 1 and 2:
> 
> 1. I removed CJK support from google-noto-fonts.
> 
> Because we really need a new namespace for CJK.
> 
> The scalable value and Provides needed to be handled separately and we
> don't want to mess the generate-specfile.sh any more.
> 
> 2. We need to introduce 4 sources (115mb each) to have the monospace font.
> 
> The region specific fonts are small (because each only covers one
> region eg Japanese, which means you can't display any Chinese), but
> they don't provide monospace fonts.
> 
> 3. We need a new namespace for Noto Serif CJK.
> 
> Because it is new and shouldn't have those Provides/Obsoletes.
> 
> 4. We need to have new names.
> 
> I want to write a new script to name the fonts to:
> 
> google-noto-(sans|serif)-cjk(sc|tc|ja|kr)-{weight}-font
> 
> That is, fully separate them first, and then use dummy packages:
> 
> google-noto-(sans|serif)-cjk(sc|tc|ja|kr)-(mini|full)
> 
> to group them again..
> 
> And our DVD will include google-noto-sans-cjk(sc|tc|ja|kr)-mini only.
> 
> which is about 35mb x 4 = 140mb.
> 
> and there'll be a new dummy package:
> 
> google-noto-sans-cjk
> 
> which requires google-noto-sans-cjksc-mini or google-noto-sans-cjkja-mini only.
> 
> because:
> 
> 4.1 Latin people don't care the glyph difference between Chinese and
> Japanese that much

Heh, so this answers your question in the beginning "how to display
CJK chars right in a Latin environment"?  Answer: "they don't care" :)

Apart from kidding, IMO, we still need a fontconfig help no matter
whether CJK fonts are split or not.  The same problem still appears
when you install both Chinese and Japanese fonts on a single system,
for example.


> 4.2 each of the four mini package contains full coverage of CJK, so
> you will not want to install
> another one if you have one.

Well, but this will still introduce a regression when you upgrade a
system containing the old google-noto-sans-cjk.  Basically this meta
package is only for the upgrade, thus we don't need to care much about
the size reduction, i.e. we can take *all* relevant font subpackages.


> 5 Noto Serif CJK
> 
> It'll be easy and don't need that detailed split because it's not an
> UI font....it'll be just named:
> 
> google-noto-serif-cjk{sc|tc|ja|kr}-fonts which contains all seven weights.
> 
> Of course, font configurations are still needed for Japanese because
> the Demi-light issue.

I find these proposals are sensible and feasible.
As long as the upgrades would work smoothly (and I guess so), I'm for
this movement.


thanks,

Takashi
-- 
To unsubscribe, e-mail: [email protected]
To contact the owner, e-mail: [email protected]