all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Ilya Zakharevich <ilya@math.berkeley.edu>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 19993@debbugs.gnu.org
Subject: bug#19993: 25.0.50; Unicode fonts defective on Windows
Date: Fri, 6 Mar 2015 14:08:01 -0800	[thread overview]
Message-ID: <20150306220801.GA16266@math.berkeley.edu> (raw)
In-Reply-To: <83r3t1nax7.fsf@gnu.org>

On Fri, Mar 06, 2015 at 10:11:32PM +0200, Eli Zaretskii wrote:
> > Date: Fri, 6 Mar 2015 08:21:36 -0800
> > From: Ilya Zakharevich <ilya@math.berkeley.edu>
> > Cc: 19993@debbugs.gnu.org
> > 
> > On Fri, Mar 06, 2015 at 04:00:27PM +0200, Eli Zaretskii wrote:
> > > > Practically nothing “non-banal” is shown.  Let me try…  No U+1D49C,
> > > > U+2099 ₙ, U+1D552, U+27e8 U+27e9 ⟨⟩ (just looking into my recent
> > > > “real-life” file of notices).
> > > 
> > > U+2099, U+27e8, and U+27e9 are displayed here (I have the STIX fonts
> > > installed, and they are used for that).  The rest indeed aren't.
> > 
> > > Do you have fonts installed that cover these codepoints?
> > 
> > As I said, «Unifont Smooth» has everything in BMP of v7.0.  Many fonts
> > (including «Symbola») have Math chars. 
> 
> Emacs on Windows needs a font to support the entire range of a script,
> or else it won't use the font.  It finds out which scripts are
> supported by a font by looking at the fsUsb member of the
> FONTSIGNATURE structure for each font.  See font_supported_scripts,
> and also font_matches_spec which uses it, for the details.  So maybe
> the fonts you have don't announce in their signature that they support
> these Unicode ranges.  E.g., U+1D49C is in "Mathematical ALphanumeric
> Symbols", whose subrange bit is 89 -- does Symbola set this bit in its
> font signature?

This does not make any sense…  Before we go to the details of a font
structure, let’s discuss it semantically.

  What can it mean that a font “supports a script”?

Theoretically, it may mean that
  • it “knows” all the characters in the script, and
  • has enough extra infrastructure to shape these characters
    into a correct glyphic representation.

I may see that the second part may be described by one bit per
script.  But what about the first one?  A repertoir of a script
changes every year (sometimes several times per year).  How can this
be encapsulated into a bit?

-------

But anyway:
  • I open Symbola.ttf with fontforge;
  • Go to Element⫽Font␣Info;
  • Go to OS/2;
  • Go to Charsets;
  • And there, deep in the list, “Mathematical Alphanumeric Symbols”
    are highlighted. 

AND: Symbola IS listed in `font-show-log'…

> Or maybe we could add some more heuristics to the code in w32font.c,
> to be smarter about font selection for Symbol script.  I really don't
> know enough about all this stuff.

I’m not sure one can fix this mess incrementally….

Ilya





  parent reply	other threads:[~2015-03-06 22:08 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-03 22:02 bug#19993: 25.0.50; Unicode fonts defective on Windows Ilya Zakharevich
2015-03-04 17:59 ` Eli Zaretskii
2015-03-05 21:49   ` Ilya Zakharevich
2015-03-05 22:05   ` Ilya Zakharevich
2015-03-06 10:45     ` Eli Zaretskii
2015-03-06 11:38       ` Ilya Zakharevich
2015-03-06 14:00         ` Eli Zaretskii
2015-03-06 16:21           ` Ilya Zakharevich
2015-03-06 20:11             ` Eli Zaretskii
2015-03-06 21:12               ` Eli Zaretskii
2015-03-06 22:13                 ` Ilya Zakharevich
2015-03-07  8:18                   ` Eli Zaretskii
2015-03-08  7:45                     ` Ilya Zakharevich
2015-03-08 15:52                       ` Eli Zaretskii
2015-03-08  8:38                     ` Ilya Zakharevich
2015-03-08  8:46                       ` Ilya Zakharevich
2015-03-10 16:29                         ` Ilya Zakharevich
2015-03-10 17:05                           ` Eli Zaretskii
2015-03-10 17:41                             ` Eli Zaretskii
2015-03-10 20:32                               ` Ilya Zakharevich
2015-03-11  4:28                                 ` Eli Zaretskii
2015-03-11 19:49                               ` Ilya Zakharevich
2015-03-11 20:21                                 ` Eli Zaretskii
2015-03-12 18:16                                   ` Eli Zaretskii
2015-03-13  1:52                                     ` Ilya Zakharevich
2015-03-13  7:34                                       ` Eli Zaretskii
2015-03-13  4:50                                     ` Ilya Zakharevich
2015-03-13  6:16                                       ` Eli Zaretskii
2015-03-08 15:55                       ` Eli Zaretskii
2015-03-06 22:08               ` Ilya Zakharevich [this message]
2015-03-07  8:14                 ` Eli Zaretskii
2015-03-08  7:41                   ` Ilya Zakharevich
2015-03-08 15:51                     ` Eli Zaretskii
2015-03-08 16:20                       ` Ilya Zakharevich
2015-03-08 17:01                         ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150306220801.GA16266@math.berkeley.edu \
    --to=ilya@math.berkeley.edu \
    --cc=19993@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.