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

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

bug#71766: closed (30.0.60; HarfBuzz is not used in the Cygwin-w32 build


From: GNU bug Tracking System
Subject: bug#71766: closed (30.0.60; HarfBuzz is not used in the Cygwin-w32 build)
Date: Tue, 25 Jun 2024 15:38:02 +0000

Your message dated Tue, 25 Jun 2024 11:36:43 -0400
with message-id <1655b8cf-fab5-4df8-9d36-d33513222cb9@cornell.edu>
and subject line Re: bug#71766: 30.0.60; HarfBuzz is not used in the Cygwin-w32 
build
has caused the debbugs.gnu.org bug report #71766,
regarding 30.0.60; HarfBuzz is not used in the Cygwin-w32 build
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs@gnu.org.)


-- 
71766: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=71766
GNU Bug Tracking System
Contact help-debbugs@gnu.org with problems
--- Begin Message --- Subject: 30.0.60; HarfBuzz is not used in the Cygwin-w32 build Date: Mon, 24 Jun 2024 21:18:31 -0400 User-agent: Mozilla Thunderbird The HarfBuzz library is hard-coded as libharfbuzz-0.dll in w32uniscribe.c, but this is only valid on MS-Windows. On Cygwin the library is cygharfbuzz-0.dll. As a result, HarfBuzz is not used in the Cygwin-w32 build. The obvious fix is

diff --git a/src/w32uniscribe.c b/src/w32uniscribe.c
index b3112912c767..dacd6dd766ed 100644
--- a/src/w32uniscribe.c
+++ b/src/w32uniscribe.c
@@ -1527,12 +1527,17 @@ syms_of_w32uniscribe_for_pdumper (void)
     uniscribe_new_apis = false;

 #ifdef HAVE_HARFBUZZ
-  /* Currently, HarfBuzz DLLs are always named libharfbuzz-0.dll, as
+  /* Currently, HarfBuzz DLLs are always named libharfbuzz-0.dll on
+     MS-Windows and cygharfbuzz-0.dll on Cygwin, as
      the project keeps the ABI backward-compatible.  So we can
      hard-code the name of the library here, for now.  If they ever
      break ABI compatibility, we may need to load the DLL that
      corresponds to the HarfBuzz version for which Emacs was built.  */
+# ifdef WINDOWSNT
   HMODULE harfbuzz = LoadLibrary ("libharfbuzz-0.dll");
+# else /* CYGWIN */
+  HMODULE harfbuzz = LoadLibrary ("cygharfbuzz-0.dll");
+# endif /* CYGWIN */
   /* Don't register if HarfBuzz is not available.  */
   if (!harfbuzz)
     return;

Before pushing this, I'd like to test it, but I don't know enough about HarfBuzz to do that. Can someone tell me how to test that HarfBuzz is actually being used as intended? All I've done so far is to start emacs and note that the display looks reasonable.

Ken

P.S. I had a problem sending this email the first time I tried. I apologize in advance if I ended up sending it twice.



--- End Message ---
--- Begin Message --- Subject: Re: bug#71766: 30.0.60; HarfBuzz is not used in the Cygwin-w32 build Date: Tue, 25 Jun 2024 11:36:43 -0400 User-agent: Mozilla Thunderbird
On 6/24/2024 10:34 PM, Eli Zaretskii wrote:
Date: Mon, 24 Jun 2024 21:18:31 -0400
From: Ken Brown <kbrown@cornell.edu>

The HarfBuzz library is hard-coded as libharfbuzz-0.dll in
w32uniscribe.c, but this is only valid on MS-Windows.  On Cygwin the
library is cygharfbuzz-0.dll.  As a result, HarfBuzz is not used in the
Cygwin-w32 build.  The obvious fix is

Please install this on the emacs-30 branch if it's all that is needed.

Done.

Before pushing this, I'd like to test it, but I don't know enough about
HarfBuzz to do that.  Can someone tell me how to test that HarfBuzz is
actually being used as intended?  All I've done so far is to start emacs
and note that the display looks reasonable.

Type "C-u C-x =" on some character, it should tell you what is the
backend (at the beginning of the font name).  I would also use "C-h h"
to compare the display with another configuration where you know
HarfBuzz is being used.

Thanks, it looks good.  Closing.

Ken


--- End Message ---

reply via email to

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