[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: master bf0aeaa0d7a: Re-enable displaying `han' characters on Android
From: |
Po Lu |
Subject: |
Re: master bf0aeaa0d7a: Re-enable displaying `han' characters on Android |
Date: |
Thu, 01 Aug 2024 08:07:35 +0800 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Eli Zaretskii <eliz@gnu.org> writes:
> I've reverted the above commit. The change which added those
> characters was not an accident: I found that Emacs would choose an
> inappropriate (sub-optimal) font for Chinese characters because it
> generally stops looking once it find the first font that fulfills the
> requirements.
The reason behind your discovery is that with your choice of
`script-representative-chars', no font will ever match this font spec
(in the default fontset):
,(font-spec :registry "iso10646-1" :script 'han)
so that Emacs returns to the preceding ones, which specify a design
language rather than a script:
,(font-spec :registry "iso10646-1" :lang 'ja)
,(font-spec :registry "iso10646-1" :lang 'zh)
which is supported elsewhere than on Android.
> The font Emacs sometimes selects due to those characters missing
> lacked support for important Han blocks because those blocks had no
> characters in script-representative-chars.
I didn't revert your change in whole, only characters beyond the BMP
that seldom appear in real Chinese writing; of the characters that were
deleted:
#x1f210 #x20000 #x2a700 #x2b740 #x2b820 #x2ceb0 #x2f804
the first is "SQUARED CJK UNIFIED IDEOGRAPH-624B", which is a stylized
variant of its base character that is absent from Droid Sans Fallback.
The remainder, #x2a700, #x2b740, #x2b820, #x2ceb0, and #x2f804 are
esoteric characters that are provided by no CJK font on my GNU/Linux
system, or compatibility ideographs that were never designed to be
displayed. Needless to say, neither are they provided by any of the CJK
fonts users will probably install on Android
> If this causes problems to Android, then please implement a fix that
> is specific to Android, without affecting other platforms.
It does affect other platforms, but I'm only in the habit of installing
master regularly on Android.