From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#19993: 25.0.50; Unicode fonts defective on Windows Date: Sat, 07 Mar 2015 10:14:16 +0200 Message-ID: <83lhj9mdgn.fsf@gnu.org> References: <20150303220228.GA28969@math.berkeley.edu> <83egp4prs3.fsf@gnu.org> <20150305220502.GA4096@math.berkeley.edu> <83a8zqo15d.fsf@gnu.org> <20150306113804.GA11886@math.berkeley.edu> <83385ins3o.fsf@gnu.org> <20150306162136.GA14179@math.berkeley.edu> <83r3t1nax7.fsf@gnu.org> <20150306220801.GA16266@math.berkeley.edu> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8BIT X-Trace: ger.gmane.org 1425716123 10201 80.91.229.3 (7 Mar 2015 08:15:23 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 7 Mar 2015 08:15:23 +0000 (UTC) Cc: 19993@debbugs.gnu.org To: Ilya Zakharevich Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Mar 07 09:15:12 2015 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1YU9t9-00060n-RC for geb-bug-gnu-emacs@m.gmane.org; Sat, 07 Mar 2015 09:15:12 +0100 Original-Received: from localhost ([::1]:33698 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YU9t8-0000Be-Oa for geb-bug-gnu-emacs@m.gmane.org; Sat, 07 Mar 2015 03:15:10 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59041) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YU9t4-00007n-Vi for bug-gnu-emacs@gnu.org; Sat, 07 Mar 2015 03:15:07 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YU9t1-0007rM-MA for bug-gnu-emacs@gnu.org; Sat, 07 Mar 2015 03:15:06 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:39519) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YU9t1-0007r1-Ip for bug-gnu-emacs@gnu.org; Sat, 07 Mar 2015 03:15:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1YU9t0-0004Hm-Tz for bug-gnu-emacs@gnu.org; Sat, 07 Mar 2015 03:15:03 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 07 Mar 2015 08:15:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 19993 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 19993-submit@debbugs.gnu.org id=B19993.142571606216408 (code B ref 19993); Sat, 07 Mar 2015 08:15:02 +0000 Original-Received: (at 19993) by debbugs.gnu.org; 7 Mar 2015 08:14:22 +0000 Original-Received: from localhost ([127.0.0.1]:38087 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YU9sL-0004GZ-Rj for submit@debbugs.gnu.org; Sat, 07 Mar 2015 03:14:22 -0500 Original-Received: from mtaout23.012.net.il ([80.179.55.175]:34935) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YU9sI-0004GK-PS for 19993@debbugs.gnu.org; Sat, 07 Mar 2015 03:14:20 -0500 Original-Received: from conversion-daemon.a-mtaout23.012.net.il by a-mtaout23.012.net.il (HyperSendmail v2007.08) id <0NKU00M001JIZ800@a-mtaout23.012.net.il> for 19993@debbugs.gnu.org; Sat, 07 Mar 2015 10:14:12 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout23.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NKU00MY91JNUX70@a-mtaout23.012.net.il>; Sat, 07 Mar 2015 10:14:12 +0200 (IST) In-reply-to: <20150306220801.GA16266@math.berkeley.edu> X-012-Sender: halo1@inter.net.il X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:100221 Archived-At: > Date: Fri, 6 Mar 2015 14:08:01 -0800 > From: Ilya Zakharevich > Cc: 19993@debbugs.gnu.org > > > 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? All I know about this is what the MSDN documentation says: FONTSIGNATURE structure Contains information identifying the code pages and Unicode subranges for which a given font provides glyphs. [...] Members fsUsb A 128-bit Unicode subset bitfield (USB) identifying up to 126 Unicode subranges. Each bit, except the two most significant bits, represents a single subrange. The most significant bit is always 1 and identifies the bitfield as a font signature; the second most significant bit is reserved and must be 0. Unicode subranges are numbered in accordance with the ISO 10646 standard. For more information, see Unicode Subset Bitfields.