unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Emacs text shaping using Harfbuzz
@ 2018-12-13 15:39 Eli Zaretskii
  2018-12-13 18:47 ` Paul Eggert
                   ` (6 more replies)
  0 siblings, 7 replies; 27+ messages in thread
From: Eli Zaretskii @ 2018-12-13 15:39 UTC (permalink / raw)
  To: emacs-devel
  Cc: Khaled Hosny, Ebrahim Byagowi, Kenichi Handa, John Wiegley,
	Mohammad Nasirifar, Behdad Esfahbod

Harfbuzz (harfbuzz.org) is an OpenType text shaping engine.  It is a
modern text shaping engine, is actively developed and maintained, and
supports all the modern platforms which can run Emacs.  Using Harfbuzz
as its text shaping engine will thus allow Emacs to remain on the
leading edge of this technology, and enjoy the advanced features that
become available in other text-editing and reading applications, which
currently Emacs cannot support.  Moreover, we could have a single text
shaping engine supported on all platforms, thus all but eliminating
platform-specific text-shaping issues and limitations.

With this in mind, we asked the Harfbuzz developers to help us
integrate Emacs with Harfbuzz.  The first stage of this job, performed
by the Harfbuzz team, is the new 'harfbuzz' branch now available in
the Emacs Git repository.  This branch currently supports only Posix
platforms, and AFAIK was only tested on GNU/Linux.  Support for other
platforms will be added as the development continues.  (Interested
individuals are, of course, welcome to work on adding their preferred
platforms without waiting for others to do that.)

I'd like to encourage people who build Emacs on GNU/Linux to checkout
and build this branch and report any problems you see.  Please report
these problems using "M-x report-emacs-bug RET", and please CC on the
reports Mohammad Nasirifar <far.nasiri.m@gmail.com>, one of the
Harfbuzz developers who volunteered to help us with this integration.
(You will, of course, need to install or build Harfbuzz on your
system, before building this branch.)

I'd also like to encourage people to study the Harfbuzz integration
code and propose improvements and other changes as you see fit.

Finally, I'd like to take this opportunity to thank the Harfbuzz
development team (CC'ed) for their support.

Enjoy.



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Emacs text shaping using Harfbuzz
  2018-12-13 15:39 Emacs text shaping using Harfbuzz Eli Zaretskii
@ 2018-12-13 18:47 ` Paul Eggert
  2018-12-13 19:31   ` Khaled Hosny
  2018-12-13 19:48   ` Eli Zaretskii
  2018-12-13 19:38 ` Kaushal Modi
                   ` (5 subsequent siblings)
  6 siblings, 2 replies; 27+ messages in thread
From: Paul Eggert @ 2018-12-13 18:47 UTC (permalink / raw)
  To: Eli Zaretskii, emacs-devel
  Cc: Khaled Hosny, Ebrahim Byagowi, Behdad Esfahbod, John Wiegley,
	Mohammad Nasirifar, Kenichi Handa

[-- Attachment #1: Type: text/plain, Size: 746 bytes --]

The Emacs harfbuzz branch built fine for me on Fedora 29 (no surprise). 
I saw no problems, not that I would catch many (the Arabic I saw 
displayed OK to me, but I don't read Arabic so am not the best person to 
judge).

One minor tweak proposed in the attached patch, for simplicity/clarity 
in the mainstream-Harbuzz code.

I see that Harbuzz is disabled by default by 'configure', and that 
there's an environment variable to disable it at runtime. I propose 
removing the environment variable, and enabling Harfbuzz by default at 
'configure' time (if the Harbuzz libraries are available), as I don't 
see much point in nudging users away from Harfbuzz.

I see there are some FIXMEs and suchlike comments. Will someone be 
working on them?


[-- Attachment #2: hb.diff --]
[-- Type: text/x-patch, Size: 1169 bytes --]

diff --git a/src/ftfont.c b/src/ftfont.c
index a645bbf029..47442df0e5 100644
--- a/src/ftfont.c
+++ b/src/ftfont.c
@@ -478,28 +478,27 @@ ftfont_get_otf (struct ftfont_info *ftfont_info)
 
 #ifdef HAVE_HARFBUZZ
 
-#ifndef HAVE_HB_FT_FONT_CREATE_REFERENCED
+# ifndef HAVE_HB_FT_FONT_CREATE_REFERENCED
 static void
 ft_face_destroy (void *data)
 {
-  FT_Done_Face ((FT_Face) data);
+  FT_Done_Face (data);
 }
-#endif
+
+static hb_font_t *
+hb_ft_font_create_referenced (FT_Face face)
+{
+  FT_Reference_Face (face);
+  return hb_ft_font_create (face, ft_face_destroy);
+}
+# endif
 
 static hb_font_t *
 ftfont_get_hb_font (struct ftfont_info *ftfont_info)
 {
   if (! ftfont_info->hb_font)
-    {
-      hb_font_t *hb_font;
-#ifdef HAVE_HB_FT_FONT_CREATE_REFERENCED
-      hb_font = hb_ft_font_create_referenced (ftfont_info->ft_size->face);
-#else
-      FT_Reference_Face (ftfont_info->ft_size->face);
-      hb_font = hb_ft_font_create (ftfont_info->ft_size->face, ft_face_destroy);
-#endif
-      ftfont_info->hb_font = hb_font;
-    }
+    ftfont_info->hb_font
+      = hb_ft_font_create_referenced (ftfont_info->ft_size->face);
   return ftfont_info->hb_font;
 }
 

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* Re: Emacs text shaping using Harfbuzz
  2018-12-13 18:47 ` Paul Eggert
@ 2018-12-13 19:31   ` Khaled Hosny
  2018-12-13 19:48   ` Eli Zaretskii
  1 sibling, 0 replies; 27+ messages in thread
From: Khaled Hosny @ 2018-12-13 19:31 UTC (permalink / raw)
  To: Paul Eggert
  Cc: Ebrahim Byagowi, Behdad Esfahbod, John Wiegley,
	Mohammad Nasirifar, emacs-devel, Kenichi Handa, Eli Zaretskii

On Thu, Dec 13, 2018 at 10:47:18AM -0800, Paul Eggert wrote:
> I see that Harbuzz is disabled by default by 'configure', and that there's
> an environment variable to disable it at runtime. I propose removing the
> environment variable, and enabling Harfbuzz by default at 'configure' time
> (if the Harbuzz libraries are available), as I don't see much point in
> nudging users away from Harfbuzz.

The environment variable is to allow for easily switching HarfBuzz
on/off during development without re-compiling, when I ported other
projects to HarfBuzz that was handy in debugging regressions caused by
HarfBuzz integration.

Regards,
Khaled



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Emacs text shaping using Harfbuzz
  2018-12-13 15:39 Emacs text shaping using Harfbuzz Eli Zaretskii
  2018-12-13 18:47 ` Paul Eggert
@ 2018-12-13 19:38 ` Kaushal Modi
  2018-12-13 19:48   ` Paul Eggert
  2018-12-13 21:16 ` Richard Stallman
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 27+ messages in thread
From: Kaushal Modi @ 2018-12-13 19:38 UTC (permalink / raw)
  To: Eli Zaretskii
  Cc: dr.khaled.hosny, ebraminio, behdad, John Wiegley, far.nasiri.m,
	Emacs developers, K. Handa

[-- Attachment #1: Type: text/plain, Size: 1130 bytes --]

On Thu, Dec 13, 2018 at 10:41 AM Eli Zaretskii <eliz@gnu.org> wrote:

> I'd like to encourage people who build Emacs on GNU/Linux to checkout
> and build this branch and report any problems you see.  Please report
> these problems using "M-x report-emacs-bug RET", and please CC on the
> reports Mohammad Nasirifar <far.nasiri.m@gmail.com>, one of the
> Harfbuzz developers who volunteered to help us with this integration.
> (You will, of course, need to install or build Harfbuzz on your
> system, before building this branch.)
>

I do have harfbuzz 1.0.3 installed on my system (RHEL 6.8).

How do I build with harfbuzz? Would I need to pass some switch to configure
to enable that?

Using my regular build script, I get this in the configure step:

  Does Emacs use -lxml2?                                  yes
  Does Emacs use -lfreetype?                              yes
  Does Emacs use HarfBuzz?
no                       <-------------
  Does Emacs use -lm17n-flt?                              yes
  Does Emacs use -lotf?                                   yes
  Does Emacs use -lxft?                                   yes

[-- Attachment #2: Type: text/html, Size: 1872 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Emacs text shaping using Harfbuzz
  2018-12-13 19:38 ` Kaushal Modi
@ 2018-12-13 19:48   ` Paul Eggert
  2018-12-13 19:55     ` Eli Zaretskii
  2018-12-13 20:01     ` Kaushal Modi
  0 siblings, 2 replies; 27+ messages in thread
From: Paul Eggert @ 2018-12-13 19:48 UTC (permalink / raw)
  To: Kaushal Modi, Eli Zaretskii
  Cc: dr.khaled.hosny, ebraminio, K. Handa, John Wiegley, far.nasiri.m,
	Emacs developers, behdad

On 12/13/18 11:38 AM, Kaushal Modi wrote:
> How do I build with harfbuzz? Would I need to pass some switch to 
> configure to enable that?

Yes, run './configure --with-harfbuzz'.

Hmm, there should be something in etc/NEWS about this and about Harfbuzz 
in general.




^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Emacs text shaping using Harfbuzz
  2018-12-13 18:47 ` Paul Eggert
  2018-12-13 19:31   ` Khaled Hosny
@ 2018-12-13 19:48   ` Eli Zaretskii
  2018-12-13 20:01     ` Eli Zaretskii
  2018-12-13 20:23     ` Eli Zaretskii
  1 sibling, 2 replies; 27+ messages in thread
From: Eli Zaretskii @ 2018-12-13 19:48 UTC (permalink / raw)
  To: Paul Eggert
  Cc: dr.khaled.hosny, ebraminio, behdad, johnw, far.nasiri.m,
	emacs-devel, handa

> Cc: Khaled Hosny <dr.khaled.hosny@gmail.com>,
>  Ebrahim Byagowi <ebraminio@gmail.com>, Kenichi Handa <handa@gnu.org>,
>  John Wiegley <johnw@gnu.org>, Mohammad Nasirifar <far.nasiri.m@gmail.com>,
>  Behdad Esfahbod <behdad@behdad.org>
> From: Paul Eggert <eggert@cs.ucla.edu>
> Date: Thu, 13 Dec 2018 10:47:18 -0800
> 
> The Emacs harfbuzz branch built fine for me on Fedora 29 (no surprise). 
> I saw no problems, not that I would catch many (the Arabic I saw 
> displayed OK to me, but I don't read Arabic so am not the best person to 
> judge).

Thanks for trying the branch.

> One minor tweak proposed in the attached patch, for simplicity/clarity 
> in the mainstream-Harbuzz code.

IMO, for such obviously correct fixes, you should just go ahead and
push.

> I see that Harbuzz is disabled by default by 'configure', and that 
> there's an environment variable to disable it at runtime. I propose 
> removing the environment variable, and enabling Harfbuzz by default at 
> 'configure' time (if the Harbuzz libraries are available), as I don't 
> see much point in nudging users away from Harfbuzz.

I agree to enabling it by default if the necessary libraries are
found.

As for disabling at run time, I think this should be reworked to use
the same framework as with other font back-ends, which can be disabled
at runtime by invoking Emacs with the appropriate -xrm switch.  AFAIU,
currently the Harfbuzz code just piggy-backs xftfont, but it really
should be a separate font backend, IMO.

> I see there are some FIXMEs and suchlike comments. Will someone be 
> working on them?

I very much hope so ;-)  The branch is supposed to be WIP, not a
finished result, not yet anyway.



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Emacs text shaping using Harfbuzz
  2018-12-13 19:48   ` Paul Eggert
@ 2018-12-13 19:55     ` Eli Zaretskii
  2018-12-13 20:01     ` Kaushal Modi
  1 sibling, 0 replies; 27+ messages in thread
From: Eli Zaretskii @ 2018-12-13 19:55 UTC (permalink / raw)
  To: Paul Eggert
  Cc: dr.khaled.hosny, ebraminio, handa, johnw, far.nasiri.m,
	emacs-devel, behdad, kaushal.modi

> Cc: dr.khaled.hosny@gmail.com, ebraminio@gmail.com, behdad@behdad.org,
>  John Wiegley <johnw@gnu.org>, far.nasiri.m@gmail.com,
>  Emacs developers <emacs-devel@gnu.org>, "K. Handa" <handa@gnu.org>
> From: Paul Eggert <eggert@cs.ucla.edu>
> Date: Thu, 13 Dec 2018 11:48:10 -0800
> 
> Yes, run './configure --with-harfbuzz'.
> 
> Hmm, there should be something in etc/NEWS about this and about Harfbuzz 
> in general.

Yes.  Patches are welcome.



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Emacs text shaping using Harfbuzz
  2018-12-13 19:48   ` Paul Eggert
  2018-12-13 19:55     ` Eli Zaretskii
@ 2018-12-13 20:01     ` Kaushal Modi
  1 sibling, 0 replies; 27+ messages in thread
From: Kaushal Modi @ 2018-12-13 20:01 UTC (permalink / raw)
  To: Paul Eggert
  Cc: dr.khaled.hosny, ebraminio, K. Handa, John Wiegley, far.nasiri.m,
	Emacs developers, behdad, Eli Zaretskii

[-- Attachment #1: Type: text/plain, Size: 1197 bytes --]

On Thu, Dec 13, 2018 at 2:48 PM Paul Eggert <eggert@cs.ucla.edu> wrote:

Yes, run './configure --with-harfbuzz'.
>

Thanks. That worked. This time the configure detected harfbuzz and it's
compiling right now.

To the Harfbuzz devs:

I have some specific notes on how to install Harfbuzz. I made these when I
installed 1.0.3.

Notes::

/freetype - last downloaded version -- 2.6/
/harfbuzz - last downloaded version -- 1.0.3/

https://bugs.freedesktop.org/show_bug.cgi?id=75652

freetype depends on harfbuzz and vice versa. To solve this chicken and egg
problem, do this.

1. First install freetype *without harfbuzz*
   #+BEGIN_SRC shell
   make distclean
   ./configure --prefix=$HOME/usr_local/${MY_OSREV} --without-harfbuzz
   make
   make install
   #+END_SRC
2. Then install harfbuzz
   #+BEGIN_SRC shell
   make distclean
   ./configure --prefix=$HOME/usr_local/${MY_OSREV}
   make
   make install
   #+END_SRC
3. Reinstall freetype *with harfbuzz*
   #+BEGIN_SRC shell
   make distclean
   ./configure --prefix=$HOME/usr_local/${MY_OSREV}
   make
   make install
   #+END_SRC

====

Does this harfbuzz/freetype cross-dependency still apply if trying to
install the latest harfbuzz version?

[-- Attachment #2: Type: text/html, Size: 1868 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Emacs text shaping using Harfbuzz
  2018-12-13 19:48   ` Eli Zaretskii
@ 2018-12-13 20:01     ` Eli Zaretskii
  2018-12-13 20:23     ` Eli Zaretskii
  1 sibling, 0 replies; 27+ messages in thread
From: Eli Zaretskii @ 2018-12-13 20:01 UTC (permalink / raw)
  To: eggert
  Cc: dr.khaled.hosny, ebraminio, handa, johnw, far.nasiri.m,
	emacs-devel, behdad

> Date: Thu, 13 Dec 2018 21:48:24 +0200
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: dr.khaled.hosny@gmail.com, ebraminio@gmail.com, behdad@behdad.org,
> 	johnw@gnu.org, far.nasiri.m@gmail.com, emacs-devel@gnu.org, handa@gnu.org
> 
> > Cc: Khaled Hosny <dr.khaled.hosny@gmail.com>,
> >  Ebrahim Byagowi <ebraminio@gmail.com>, Kenichi Handa <handa@gnu.org>,
> >  John Wiegley <johnw@gnu.org>, Mohammad Nasirifar <far.nasiri.m@gmail.com>,
> >  Behdad Esfahbod <behdad@behdad.org>
> > From: Paul Eggert <eggert@cs.ucla.edu>
> > Date: Thu, 13 Dec 2018 10:47:18 -0800
> > 
> > The Emacs harfbuzz branch built fine for me on Fedora 29 (no surprise). 
> > I saw no problems, not that I would catch many (the Arabic I saw 
> > displayed OK to me, but I don't read Arabic so am not the best person to 
> > judge).
> 
> Thanks for trying the branch.

Btw, we should be able to get support for popular features that will
benefit users of simple scripts as well, like colored emoji and
ligatures.  We just need to extend Emacs itself for that, but AFAIK
Harfbuzz does support these features.  Work in these areas will be
greatly appreciated.



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Emacs text shaping using Harfbuzz
  2018-12-13 19:48   ` Eli Zaretskii
  2018-12-13 20:01     ` Eli Zaretskii
@ 2018-12-13 20:23     ` Eli Zaretskii
  1 sibling, 0 replies; 27+ messages in thread
From: Eli Zaretskii @ 2018-12-13 20:23 UTC (permalink / raw)
  To: eggert
  Cc: dr.khaled.hosny, ebraminio, handa, johnw, far.nasiri.m,
	emacs-devel, behdad

> Date: Thu, 13 Dec 2018 21:48:24 +0200
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: dr.khaled.hosny@gmail.com, ebraminio@gmail.com, behdad@behdad.org,
> 	johnw@gnu.org, far.nasiri.m@gmail.com, emacs-devel@gnu.org, handa@gnu.org
> 
> > Cc: Khaled Hosny <dr.khaled.hosny@gmail.com>,
> >  Ebrahim Byagowi <ebraminio@gmail.com>, Kenichi Handa <handa@gnu.org>,
> >  John Wiegley <johnw@gnu.org>, Mohammad Nasirifar <far.nasiri.m@gmail.com>,
> >  Behdad Esfahbod <behdad@behdad.org>
> > From: Paul Eggert <eggert@cs.ucla.edu>
> > Date: Thu, 13 Dec 2018 10:47:18 -0800
> > 
> As for disabling at run time, I think this should be reworked to use
> the same framework as with other font back-ends, which can be disabled
> at runtime by invoking Emacs with the appropriate -xrm switch.

And also by using the corresponding font-backend frame parameter.



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Emacs text shaping using Harfbuzz
  2018-12-13 15:39 Emacs text shaping using Harfbuzz Eli Zaretskii
  2018-12-13 18:47 ` Paul Eggert
  2018-12-13 19:38 ` Kaushal Modi
@ 2018-12-13 21:16 ` Richard Stallman
  2018-12-13 21:43 ` Ken Brown
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 27+ messages in thread
From: Richard Stallman @ 2018-12-13 21:16 UTC (permalink / raw)
  To: Eli Zaretskii
  Cc: dr.khaled.hosny, ebraminio, behdad, johnw, far.nasiri.m,
	emacs-devel, handa

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

Thank you, all of you, for working on this.

-- 
Dr Richard Stallman
President, Free Software Foundation (https://gnu.org, https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)





^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Emacs text shaping using Harfbuzz
  2018-12-13 15:39 Emacs text shaping using Harfbuzz Eli Zaretskii
                   ` (2 preceding siblings ...)
  2018-12-13 21:16 ` Richard Stallman
@ 2018-12-13 21:43 ` Ken Brown
  2018-12-13 23:23   ` Eric Abrahamsen
  2018-12-14  7:35   ` Eli Zaretskii
  2018-12-14  1:11 ` Florian Beck
                   ` (2 subsequent siblings)
  6 siblings, 2 replies; 27+ messages in thread
From: Ken Brown @ 2018-12-13 21:43 UTC (permalink / raw)
  To: Eli Zaretskii, emacs-devel@gnu.org
  Cc: Khaled Hosny, Ebrahim Byagowi, Behdad Esfahbod, John Wiegley,
	Mohammad Nasirifar, Kenichi Handa

On 12/13/2018 10:39 AM, Eli Zaretskii wrote:
> I'd like to encourage people who build Emacs on GNU/Linux to checkout
> and build this branch and report any problems you see.

It builds on Cygwin (both 32-bit and 64-bit) and appears to run fine.  I tested 
by visiting etc/HELLO, and nothing jumped out at me on visual comparison with 
Emacs built from master.

Ken

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Emacs text shaping using Harfbuzz
  2018-12-13 21:43 ` Ken Brown
@ 2018-12-13 23:23   ` Eric Abrahamsen
  2018-12-14  0:55     ` Amin Bandali
  2018-12-14  7:40     ` Eli Zaretskii
  2018-12-14  7:35   ` Eli Zaretskii
  1 sibling, 2 replies; 27+ messages in thread
From: Eric Abrahamsen @ 2018-12-13 23:23 UTC (permalink / raw)
  To: Ken Brown
  Cc: Khaled Hosny, Ebrahim Byagowi, Kenichi Handa, John Wiegley,
	Mohammad Nasirifar, emacs-devel@gnu.org, Behdad Esfahbod,
	Eli Zaretskii

Ken Brown <kbrown@cornell.edu> writes:

> On 12/13/2018 10:39 AM, Eli Zaretskii wrote:
>> I'd like to encourage people who build Emacs on GNU/Linux to checkout
>> and build this branch and report any problems you see.
>
> It builds on Cygwin (both 32-bit and 64-bit) and appears to run fine.  I tested 
> by visiting etc/HELLO, and nothing jumped out at me on visual comparison with 
> Emacs built from master.

Likewise on arch linux. Thai and Chinese (the two languages I'm familiar
with) look just fine.



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Emacs text shaping using Harfbuzz
  2018-12-13 23:23   ` Eric Abrahamsen
@ 2018-12-14  0:55     ` Amin Bandali
  2018-12-14  7:41       ` Eli Zaretskii
  2018-12-14 14:40       ` Basil L. Contovounesios
  2018-12-14  7:40     ` Eli Zaretskii
  1 sibling, 2 replies; 27+ messages in thread
From: Amin Bandali @ 2018-12-14  0:55 UTC (permalink / raw)
  To: Eric Abrahamsen
  Cc: Khaled Hosny, Ebrahim Byagowi, Ken Brown, Behdad Esfahbod,
	John Wiegley, Mohammad Nasirifar, emacs-devel@gnu.org,
	Kenichi Handa, Eli Zaretskii

On 2018-12-13  3:23 PM, Eric Abrahamsen wrote:
> Ken Brown <kbrown@cornell.edu> writes:
>
>> On 12/13/2018 10:39 AM, Eli Zaretskii wrote:
>>> I'd like to encourage people who build Emacs on GNU/Linux to checkout
>>> and build this branch and report any problems you see.
>>
>> It builds on Cygwin (both 32-bit and 64-bit) and appears to run fine.  I tested 
>> by visiting etc/HELLO, and nothing jumped out at me on visual comparison with 
>> Emacs built from master.
>
> Likewise on arch linux. Thai and Chinese (the two languages I'm familiar
> with) look just fine.
>

Same goes for Persian and English on my Parabola GNU/Linux-libre setup.

I’d also like to thank everyone on both sides of this collaboration for
working on this.



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Emacs text shaping using Harfbuzz
  2018-12-13 15:39 Emacs text shaping using Harfbuzz Eli Zaretskii
                   ` (3 preceding siblings ...)
  2018-12-13 21:43 ` Ken Brown
@ 2018-12-14  1:11 ` Florian Beck
  2018-12-14  2:35   ` Kaushal Modi
  2018-12-14  7:46   ` Eli Zaretskii
  2018-12-16 14:09 ` Benjamin Riefenstahl
  2018-12-16 17:27 ` Mike Kupfer
  6 siblings, 2 replies; 27+ messages in thread
From: Florian Beck @ 2018-12-14  1:11 UTC (permalink / raw)
  To: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 148 bytes --]

Nice. Build on ubuntu 18.10.

A couple of examples from HELLO (left Harfbuzz, right master). I'm kind 
of suspicious about Burmese and Maldivian.



[-- Attachment #2: burmese.png --]
[-- Type: image/png, Size: 4381 bytes --]

[-- Attachment #3: gujarati.png --]
[-- Type: image/png, Size: 4400 bytes --]

[-- Attachment #4: hindi.png --]
[-- Type: image/png, Size: 4790 bytes --]

[-- Attachment #5: kannada.png --]
[-- Type: image/png, Size: 5316 bytes --]

[-- Attachment #6: lao.png --]
[-- Type: image/png, Size: 5781 bytes --]

[-- Attachment #7: malayalam.png --]
[-- Type: image/png, Size: 5518 bytes --]

[-- Attachment #8: maldivian.png --]
[-- Type: image/png, Size: 5189 bytes --]

[-- Attachment #9: tamil.png --]
[-- Type: image/png, Size: 3788 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Emacs text shaping using Harfbuzz
  2018-12-14  1:11 ` Florian Beck
@ 2018-12-14  2:35   ` Kaushal Modi
  2018-12-14  7:46   ` Eli Zaretskii
  1 sibling, 0 replies; 27+ messages in thread
From: Kaushal Modi @ 2018-12-14  2:35 UTC (permalink / raw)
  To: Florian Beck; +Cc: Emacs developers

[-- Attachment #1: Type: text/plain, Size: 413 bytes --]

On Thu, Dec 13, 2018, 9:12 PM Florian Beck <fb@fbeck.net wrote:

> Nice. Build on ubuntu 18.10.
>
> A couple of examples from HELLO (left Harfbuzz, right master). I'm kind
> of suspicious about Burmese and Maldivian.
>

I know Gujarati and Hindi. The compound glyphs get rendered correctly in
Hindi but not in Gujarati. The discussion on this issue is here:
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=33729

>

[-- Attachment #2: Type: text/html, Size: 967 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Emacs text shaping using Harfbuzz
  2018-12-13 21:43 ` Ken Brown
  2018-12-13 23:23   ` Eric Abrahamsen
@ 2018-12-14  7:35   ` Eli Zaretskii
  1 sibling, 0 replies; 27+ messages in thread
From: Eli Zaretskii @ 2018-12-14  7:35 UTC (permalink / raw)
  To: Ken Brown
  Cc: dr.khaled.hosny, ebraminio, behdad, johnw, far.nasiri.m,
	emacs-devel, handa

> From: Ken Brown <kbrown@cornell.edu>
> CC: Khaled Hosny <dr.khaled.hosny@gmail.com>, Ebrahim Byagowi
> 	<ebraminio@gmail.com>, Kenichi Handa <handa@gnu.org>, John Wiegley
> 	<johnw@gnu.org>, Mohammad Nasirifar <far.nasiri.m@gmail.com>, Behdad Esfahbod
> 	<behdad@behdad.org>
> Date: Thu, 13 Dec 2018 21:43:41 +0000
> 
> On 12/13/2018 10:39 AM, Eli Zaretskii wrote:
> > I'd like to encourage people who build Emacs on GNU/Linux to checkout
> > and build this branch and report any problems you see.
> 
> It builds on Cygwin (both 32-bit and 64-bit) and appears to run fine.  I tested 
> by visiting etc/HELLO, and nothing jumped out at me on visual comparison with 
> Emacs built from master.

Thanks for testing.



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Emacs text shaping using Harfbuzz
  2018-12-13 23:23   ` Eric Abrahamsen
  2018-12-14  0:55     ` Amin Bandali
@ 2018-12-14  7:40     ` Eli Zaretskii
  1 sibling, 0 replies; 27+ messages in thread
From: Eli Zaretskii @ 2018-12-14  7:40 UTC (permalink / raw)
  To: Eric Abrahamsen
  Cc: dr.khaled.hosny, ebraminio, kbrown, handa, johnw, far.nasiri.m,
	emacs-devel, behdad

> From: Eric Abrahamsen <eric@ericabrahamsen.net>
> Cc: Eli Zaretskii <eliz@gnu.org>,  "emacs-devel\@gnu.org" <emacs-devel@gnu.org>,  Khaled Hosny <dr.khaled.hosny@gmail.com>,  Ebrahim Byagowi <ebraminio@gmail.com>,  Behdad Esfahbod <behdad@behdad.org>,  John Wiegley <johnw@gnu.org>,  Mohammad Nasirifar <far.nasiri.m@gmail.com>,  Kenichi Handa <handa@gnu.org>
> Date: Thu, 13 Dec 2018 15:23:55 -0800
> 
> > It builds on Cygwin (both 32-bit and 64-bit) and appears to run fine.  I tested 
> > by visiting etc/HELLO, and nothing jumped out at me on visual comparison with 
> > Emacs built from master.
> 
> Likewise on arch linux. Thai and Chinese (the two languages I'm familiar
> with) look just fine.

Thanks for testing the branch.



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Emacs text shaping using Harfbuzz
  2018-12-14  0:55     ` Amin Bandali
@ 2018-12-14  7:41       ` Eli Zaretskii
  2018-12-14 14:40       ` Basil L. Contovounesios
  1 sibling, 0 replies; 27+ messages in thread
From: Eli Zaretskii @ 2018-12-14  7:41 UTC (permalink / raw)
  To: Amin Bandali
  Cc: dr.khaled.hosny, ebraminio, kbrown, behdad, eric, johnw,
	far.nasiri.m, emacs-devel, handa

> From: Amin Bandali <bandali@gnu.org>
> Cc: Ken Brown <kbrown@cornell.edu>,  Khaled Hosny <dr.khaled.hosny@gmail.com>,  Ebrahim Byagowi <ebraminio@gmail.com>,  Kenichi Handa <handa@gnu.org>,  John Wiegley <johnw@gnu.org>,  Mohammad Nasirifar <far.nasiri.m@gmail.com>,  "emacs-devel\@gnu.org" <emacs-devel@gnu.org>,  Behdad Esfahbod <behdad@behdad.org>,  Eli Zaretskii <eliz@gnu.org>
> Date: Thu, 13 Dec 2018 19:55:51 -0500
> 
> Same goes for Persian and English on my Parabola GNU/Linux-libre setup.

Thanks for testing.



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Emacs text shaping using Harfbuzz
  2018-12-14  1:11 ` Florian Beck
  2018-12-14  2:35   ` Kaushal Modi
@ 2018-12-14  7:46   ` Eli Zaretskii
  2018-12-15  0:49     ` Paul Eggert
  1 sibling, 1 reply; 27+ messages in thread
From: Eli Zaretskii @ 2018-12-14  7:46 UTC (permalink / raw)
  To: Florian Beck; +Cc: emacs-devel

> From: Florian Beck <fb@fbeck.net>
> Date: Fri, 14 Dec 2018 02:11:34 +0100
> 
> A couple of examples from HELLO (left Harfbuzz, right master). I'm kind 
> of suspicious about Burmese and Maldivian.

Thanks for testing, but please report any issues you found using
report-emacs-bug, and please CC on such reports Mohammad Nasirifar
<far.nasiri.m@gmail.com>.



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Emacs text shaping using Harfbuzz
  2018-12-14  0:55     ` Amin Bandali
  2018-12-14  7:41       ` Eli Zaretskii
@ 2018-12-14 14:40       ` Basil L. Contovounesios
  2018-12-14 14:55         ` Eli Zaretskii
  1 sibling, 1 reply; 27+ messages in thread
From: Basil L. Contovounesios @ 2018-12-14 14:40 UTC (permalink / raw)
  To: Amin Bandali
  Cc: Khaled Hosny, Ebrahim Byagowi, Ken Brown, Kenichi Handa,
	Eric Abrahamsen, John Wiegley, Mohammad Nasirifar,
	emacs-devel@gnu.org, Behdad Esfahbod, Eli Zaretskii

Amin Bandali <bandali@gnu.org> writes:

> On 2018-12-13  3:23 PM, Eric Abrahamsen wrote:
>> Ken Brown <kbrown@cornell.edu> writes:
>>
>>> On 12/13/2018 10:39 AM, Eli Zaretskii wrote:
>>>> I'd like to encourage people who build Emacs on GNU/Linux to checkout
>>>> and build this branch and report any problems you see.
>>>
>>> It builds on Cygwin (both 32-bit and 64-bit) and appears to run fine.  I tested 
>>> by visiting etc/HELLO, and nothing jumped out at me on visual comparison with 
>>> Emacs built from master.
>>
>> Likewise on arch linux. Thai and Chinese (the two languages I'm familiar
>> with) look just fine.
>>
>
> Same goes for Persian and English on my Parabola GNU/Linux-libre setup.
>
> I’d also like to thank everyone on both sides of this collaboration for
> working on this.

Sorry if this is getting annoying, but the harfbuzz branch builds on
Debian x86_64 GNU/Linux buster/sid and renders Greek just fine.

Thanks to everyone working on this.

-- 
Basil



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Emacs text shaping using Harfbuzz
  2018-12-14 14:40       ` Basil L. Contovounesios
@ 2018-12-14 14:55         ` Eli Zaretskii
  0 siblings, 0 replies; 27+ messages in thread
From: Eli Zaretskii @ 2018-12-14 14:55 UTC (permalink / raw)
  To: Basil L. Contovounesios
  Cc: dr.khaled.hosny, ebraminio, kbrown, behdad, eric, johnw, bandali,
	far.nasiri.m, emacs-devel, handa

> From: "Basil L. Contovounesios" <contovob@tcd.ie>
> Date: Fri, 14 Dec 2018 14:40:57 +0000
> Cc: Khaled Hosny <dr.khaled.hosny@gmail.com>,
> 	Ebrahim Byagowi <ebraminio@gmail.com>,
> 	Ken Brown <kbrown@cornell.edu>, Kenichi Handa <handa@gnu.org>,
> 	Eric Abrahamsen <eric@ericabrahamsen.net>, John Wiegley <johnw@gnu.org>,
> 	Mohammad Nasirifar <far.nasiri.m@gmail.com>,
> 	"emacs-devel@gnu.org" <emacs-devel@gnu.org>,
> 	Behdad Esfahbod <behdad@behdad.org>, Eli Zaretskii <eliz@gnu.org>
> 
> Sorry if this is getting annoying

It doesn't.

> the harfbuzz branch builds on Debian x86_64 GNU/Linux buster/sid and
> renders Greek just fine.

Thanks for testing.



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Emacs text shaping using Harfbuzz
  2018-12-14  7:46   ` Eli Zaretskii
@ 2018-12-15  0:49     ` Paul Eggert
  0 siblings, 0 replies; 27+ messages in thread
From: Paul Eggert @ 2018-12-15  0:49 UTC (permalink / raw)
  To: Eli Zaretskii, Florian Beck; +Cc: Mohammad Nasirifar, emacs-devel

On 12/13/18 11:46 PM, Eli Zaretskii wrote:
>> A couple of examples from HELLO (left Harfbuzz, right master). I'm kind
>> of suspicious about Burmese and Maldivian.
> Thanks for testing, but please report any issues you found using
> report-emacs-bug, and please CC on such reports Mohammad Nasirifar
> <far.nasiri.m@gmail.com>.
>
Good advice for future reports. To try to help out for this particular 
report, I cited it here:

https://bugs.gnu.org/33729#26

and this email was cc'ed to Mohammad. The issues appear to be related to 
Bug#33729 though I'm no expert.




^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Emacs text shaping using Harfbuzz
  2018-12-13 15:39 Emacs text shaping using Harfbuzz Eli Zaretskii
                   ` (4 preceding siblings ...)
  2018-12-14  1:11 ` Florian Beck
@ 2018-12-16 14:09 ` Benjamin Riefenstahl
  2018-12-16 15:27   ` Eli Zaretskii
  2018-12-16 17:27 ` Mike Kupfer
  6 siblings, 1 reply; 27+ messages in thread
From: Benjamin Riefenstahl @ 2018-12-16 14:09 UTC (permalink / raw)
  To: Eli Zaretskii
  Cc: Khaled Hosny, Ebrahim Byagowi, Behdad Esfahbod, John Wiegley,
	Mohammad Nasirifar, emacs-devel, Kenichi Handa

Hi all,

Eli Zaretskii writes:
> With this in mind, we asked the Harfbuzz developers to help us
> integrate Emacs with Harfbuzz.  The first stage of this job, performed
> by the Harfbuzz team, is the new 'harfbuzz' branch now available in
> the Emacs Git repository.

This is very cool, thanks for that.

I compiled and superficially tested the branch, and it generally seems
to work fine.  Is there yet a feature boolean or a frame parameter to
check whether it is enabled?

I will add remarks to the bug reports that already exist about an issue
that I have seen in my test.

benny



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Emacs text shaping using Harfbuzz
  2018-12-16 14:09 ` Benjamin Riefenstahl
@ 2018-12-16 15:27   ` Eli Zaretskii
  0 siblings, 0 replies; 27+ messages in thread
From: Eli Zaretskii @ 2018-12-16 15:27 UTC (permalink / raw)
  To: Benjamin Riefenstahl
  Cc: dr.khaled.hosny, ebraminio, behdad, johnw, far.nasiri.m,
	emacs-devel, handa

> From: Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
> Cc: emacs-devel@gnu.org,  Khaled Hosny <dr.khaled.hosny@gmail.com>,  Ebrahim Byagowi <ebraminio@gmail.com>,  Kenichi Handa <handa@gnu.org>,  John Wiegley <johnw@gnu.org>,  Mohammad Nasirifar <far.nasiri.m@gmail.com>,  Behdad Esfahbod <behdad@behdad.org>
> Date: Sun, 16 Dec 2018 15:09:16 +0100
> 
> This is very cool, thanks for that.

Thanks for testing the branch.

> Is there yet a feature boolean or a frame parameter to check whether
> it is enabled?

Not yet, this is still very much WIP.  Eventually, I think we should
make Harfbuzz be one of the available font backends, and then you will
be able to see if it's used by looking at frame-parameters.

> I will add remarks to the bug reports that already exist about an issue
> that I have seen in my test.

Thanks.



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Emacs text shaping using Harfbuzz
  2018-12-13 15:39 Emacs text shaping using Harfbuzz Eli Zaretskii
                   ` (5 preceding siblings ...)
  2018-12-16 14:09 ` Benjamin Riefenstahl
@ 2018-12-16 17:27 ` Mike Kupfer
  2018-12-16 17:30   ` Eli Zaretskii
  6 siblings, 1 reply; 27+ messages in thread
From: Mike Kupfer @ 2018-12-16 17:27 UTC (permalink / raw)
  To: Eli Zaretskii
  Cc: Khaled Hosny, Ebrahim Byagowi, Behdad Esfahbod, John Wiegley,
	Mohammad Nasirifar, emacs-devel, Kenichi Handa

Eli Zaretskii wrote:

> I'd like to encourage people who build Emacs on GNU/Linux to checkout
> and build this branch and report any problems you see.

Are reports for other POSIX systems welcome at this time, or would you
rather shake out the issues on GNU/Linux before worrying about other
platforms?

cheers,
mike



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Emacs text shaping using Harfbuzz
  2018-12-16 17:27 ` Mike Kupfer
@ 2018-12-16 17:30   ` Eli Zaretskii
  0 siblings, 0 replies; 27+ messages in thread
From: Eli Zaretskii @ 2018-12-16 17:30 UTC (permalink / raw)
  To: Mike Kupfer
  Cc: dr.khaled.hosny, ebraminio, behdad, johnw, far.nasiri.m,
	emacs-devel, handa

> From: Mike Kupfer <mkupfer@alum.berkeley.edu>
> cc: emacs-devel@gnu.org, Khaled Hosny <dr.khaled.hosny@gmail.com>,
>         Ebrahim Byagowi <ebraminio@gmail.com>, Kenichi Handa <handa@gnu.org>,
>         John Wiegley <johnw@gnu.org>,
>         Mohammad Nasirifar <far.nasiri.m@gmail.com>,
>         Behdad Esfahbod <behdad@behdad.org>
> Date: Sun, 16 Dec 2018 09:27:23 -0800
> 
> Are reports for other POSIX systems welcome at this time

Of course.  Thanks in advance.



^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2018-12-16 17:30 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-12-13 15:39 Emacs text shaping using Harfbuzz Eli Zaretskii
2018-12-13 18:47 ` Paul Eggert
2018-12-13 19:31   ` Khaled Hosny
2018-12-13 19:48   ` Eli Zaretskii
2018-12-13 20:01     ` Eli Zaretskii
2018-12-13 20:23     ` Eli Zaretskii
2018-12-13 19:38 ` Kaushal Modi
2018-12-13 19:48   ` Paul Eggert
2018-12-13 19:55     ` Eli Zaretskii
2018-12-13 20:01     ` Kaushal Modi
2018-12-13 21:16 ` Richard Stallman
2018-12-13 21:43 ` Ken Brown
2018-12-13 23:23   ` Eric Abrahamsen
2018-12-14  0:55     ` Amin Bandali
2018-12-14  7:41       ` Eli Zaretskii
2018-12-14 14:40       ` Basil L. Contovounesios
2018-12-14 14:55         ` Eli Zaretskii
2018-12-14  7:40     ` Eli Zaretskii
2018-12-14  7:35   ` Eli Zaretskii
2018-12-14  1:11 ` Florian Beck
2018-12-14  2:35   ` Kaushal Modi
2018-12-14  7:46   ` Eli Zaretskii
2018-12-15  0:49     ` Paul Eggert
2018-12-16 14:09 ` Benjamin Riefenstahl
2018-12-16 15:27   ` Eli Zaretskii
2018-12-16 17:27 ` Mike Kupfer
2018-12-16 17:30   ` Eli Zaretskii

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).