bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#19993: 25.0.50; Unicode fonts defective on Windows


From: Ilya Zakharevich
Subject: bug#19993: 25.0.50; Unicode fonts defective on Windows
Date: Tue, 10 Mar 2015 09:29:56 -0700
User-agent: Mutt/1.5.21 (2010-09-15)

On Sun, Mar 08, 2015 at 12:46:07AM -0800, I wrote:
> Interesting tidbit:
> 
>   57  D800 - DFFF     Non-Plane 0. Note that setting this bit implies that
>                       there is at least one supplementary code point
>                       beyond the Basic Multilingual Plane (BMP) that
>                       is supported by this font. See Surrogates and
>                       Supplementary Characters.
> 
> Extrapolating (since there is no other way to treat this), having a
> Subset “identified” may mean just that there is at least 1 character
> in this range supported by the font.  ;-)  :-(

To check this conjecture:
   • I assume that for most fonts, the OS/2 table is created
     automatically by the font editor;
   • I did experiments with the only font editor I know: FontForge.

What I did:
   • created a new font (File/New);
   • changed Encoding to Unicode (Encoding/Reencode/10646-1);
   • made some scribles in ã (U+00e3) and щ (U+0449);
   • Looked into Element⫽Font␣Info⫽OS/2⫽Charsets.

As predicted above, (in Automatic mode)
  Latin Supplement
  Cyrillic & Supplement
are highlighted.  So, I presume, the conjecture above is justified:

  The fact that a Subset is “identified” means just that AT LEAST 1
  character is present.

=======================================================

Which means that the current algorithm used by Emacs (on
Windows?) — at least in the conjectural form outlined in another
message in this thread — is completely bogus.

Choosing the first font which has a subset of a character “identified”
is not a reasonable thing to do.  One must check whether the character
is ACTUALLY present, and scan other “identified” fonts if not.

Ilya
   





reply via email to

[Prev in Thread] Current Thread [Next in Thread]