Re: noto-sans-cjk-fonts' config replaces "serif" with "Noto Sans CJK *" (sans)

Fuminobu TAKEYAMA <[email protected]> Wed, 21 Sep 2016 02:07:48 +0900
Newsgroups gmane.linux.suse.m17n
Message-ID <[email protected]>
Hi,

 > (1)
 >                  <edit name="lang" mode="prepend">
 >                          <string>en</string>
 >                  </edit>

Interesting trick!

 > (2) Another possibility (and maybe real fix (tm)) is to remove latin
 > characters from the cjk font, if license allows.

Creating a new font by forking existing fonts will be fine from the viewpoint
of licenses.

Typical approach similar to this is replacing latin glyphs of a CJK font with ones
from another latin font. There are many mixed fonts created in this approach.


For 42.2, I will keep sans serif the same as before, which uses IPA PGothic
for both latin and CJK characters.

For Tumbleweed, I will test (1). Then I will consider (2) or find a mixed font.

I will do SR of fonts-config and noto-sans-fonts tomorrow.

Thanks,
Fuminobu TAKEYAMA

On 2016/09/19 17:45, Petr Gajdos wrote:
> On Fri, Sep 16, 2016 at 12:21:28AM +0900, Fuminobu TAKEYAMA wrote:
>> The resulting family list will be
>> FooBar Mincho, Robot Slab, IPAPMincho, IPAexMincho, ..., serif
>>
>> However, the font fontconfig selects Robot Slab.
>>
>> This is because the selected font is not the one of the top of the family list
>> but the family that have highest score.
>>
>> The scoring rule of fontconfig is not clear. It seems that its factor might be
>> (a) The position of the family in the family list
>> (b) The character sets provided by the family
>> (c) The strength of binding
>>
>> The rule (b) precedes (a). This is why the CJK font is selected even though
>> there are many latin families before the CJK family.
>
> Yes, thanks for your test. When I try with the simple html (attached)
> and run with
>
> $ LC_ALL=ja_JP firefox index.html
>
>
> with just
>
>          <match target="pattern">
>                  <test name="lang" compare="eq">
>                          <string>ja</string>
>                  </test>
>                  <test name="family">
>                          <string>serif</string>
>                  </test>
>                  <edit name="family" mode="prepend">
>                          <string>Roboto Slab</string>
>                          <family>IPAPMincho</family>
>                          <family>IPAMincho</family>
>                          <family>IPAexMincho</family>
>                  </edit>
>          </match>
>
>
> the latin string in the html rendered by ipa. Perhaps possible
> solutions:
>
> (1)
>
>          <match target="pattern">
>                  <test name="lang" compare="eq">
>                          <string>ja</string>
>                  </test>
>                  <test name="family">
>                          <string>serif</string>
>                  </test>
>                  <edit name="lang" mode="prepend">
>                          <string>en</string>
>                  </edit>
>                  <edit name="family" mode="prepend">
>                          <string>Roboto Slab</string>
>                          <family>IPAPMincho</family>
>                          <family>IPAMincho</family>
>                          <family>IPAexMincho</family>
>                  </edit>
>          </match>
>
> Prepending en before ja so that the requested pattern contains then
>
>          lang: "en"(w) "ja"(w)
>
> will shift up Roboto Slab in the metrics you noted here. The latin
> string in the html is then rendered by to Roboto Slab. I am not
> sure though, how many tools will be confused by the
>
>                  <edit name="lang" mode="prepend">
>                          <string>en</string>
>                  </edit>
>
> snippet. For example, `LC_ALL=ja_JP fc-match serif` will return
> 'Roboto Slab'.
>
> (2) Another possibility (and maybe real fix (tm)) is to remove latin
> characters from the cjk font, if license allows. We do modify fonts
> already, for example, see indic-fonts, where the instructions are
> removed for latin symbols due bsc#977195. I believe that the removing
> of the glyphs could be done via a fontforge script.
>
> I can try to work out, just decide what way we could try. In case of
> (1), I would ask you for trying that for some time for your real
> japanese system and even for sans, perhaps.
>
> Or, we can just give up, as you already wrote.
>
> Thanks,
> Petr
>
-- 
To unsubscribe, e-mail: [email protected]
To contact the owner, e-mail: [email protected]