From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: HarfBuzz is available on MS-Windows Date: Fri, 07 Jun 2019 23:00:13 +0300 Message-ID: <83o939p3n6.fsf@gnu.org> References: <83o93iwwtn.fsf@gnu.org> Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="166116"; mail-complaints-to="usenet@blaine.gmane.org" Cc: emacs-devel@gnu.org To: Andy Moreton Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Jun 07 22:03:41 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1hZL5P-000gq7-Oi for ged-emacs-devel@m.gmane.org; Fri, 07 Jun 2019 22:03:39 +0200 Original-Received: from localhost ([::1]:52560 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hZL44-000372-3r for ged-emacs-devel@m.gmane.org; Fri, 07 Jun 2019 16:02:16 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:47929) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hZL2O-000320-9P for emacs-devel@gnu.org; Fri, 07 Jun 2019 16:00:33 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:54870) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hZL2M-0004M2-Qh; Fri, 07 Jun 2019 16:00:30 -0400 Original-Received: from [176.228.60.248] (port=3776 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1hZL2D-0006lC-Vu; Fri, 07 Jun 2019 16:00:23 -0400 In-reply-to: (message from Andy Moreton on Fri, 07 Jun 2019 18:05:23 +0100) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:237309 Archived-At: > From: Andy Moreton > Date: Fri, 07 Jun 2019 18:05:23 +0100 > > I've tested this with an MSYS2 64bit build on Windows 10. Thanks, you can now just build the master branch. > It appears to work ok, but is noticeably slower compared to the > master branch. I didn't see any tangible slowdown with HarfBuzz on my system. Can you post some benchmarks with timings? (I assume both branches were built using the same optimization switches.) > a) On harfbuzz and master branches from "emacs -Q", a machine without > the Symbola font does not display the emoji U+1F44B WAVING HAND SIGN (no > font available). Babelmap shows that this character is available using > the built-in "Segoe UI Symbol" or "Segoe UI Emoji" fonts (or by > installing Symbola). > > b) On the harfbuzz branch from "emacs -Q", the lao U+EC3 LAO VOWEL SIGN > AY and U+EC3 LAO VOWEL SIGN O characters are not displayed (no font > available). Babelmap shows that this character is available using the > built-in "Leelawadee UI" font. BabelMap just shows coverage, but Emacs also tests additional features of the fonts (although I don't think we have any special requirements for Emoji; Lao certainly does require some OTF features). In any case, the font backend has nothing whatsoever to do with how Emacs searches for a suitable font, at least on Windows. What the above means is that Leelawadee somehow doesn't fit the criteria for the Lao script and/or the features bits these fonts exhibit don't announce that they cover the respective codepoint ranges. The way to improve the font search is to customize the fontsets. > I use the following to speed up finding built-in fonts on Windows 10: > > (pcase-dolist > (`(,font-spec . ,targets) > '(;; Unicode blocks --------------------------------------- > ("Segoe UI Emoji" > (#x1f900 . #x1f9ff)) ; Supplemental Symbols and Pictographs > ;; Unicode scripts -------------------------------------- > ("Segoe UI Symbol" braille mathematical symbol) > ("Leelawadee UI" khmer thai lao) > ("Nirmala UI" bengali devanagari gujarati kannada > malayalam oriya sinhala tamil telugu) > ("Microsoft Himalaya" tibetan) > ("Myanmar Text" burmese) > ("Ebrima" ethiopic) > ("Gadugi" canadian-aboriginal cherokee))) > (dolist (target targets) > (set-fontset-font "fontset-default" target font-spec nil 'prepend))) > > Perhaps the built in fonts should be added to the default mappings for > Windows 10. I think the policy is not to mention non-free fonts in our fontsets.