Discussion:
[XeTeX] new version of HarfBuzz
maxwell
2017-04-21 16:37:04 UTC
Permalink
I believe (correct me if I'm wrong!) that xetex uses the HarfBuzz
engine. There was a bug in this engine that prevented a new Nastaliq
font from SIL from working properly. A fix for this bug has just been
accepted (I believe it's this one:
https://github.com/behdad/harfbuzz/pull/475). It's not clear to me
whether this can get into xetex before the next TeXLive release, given
the schedule here:
https://www.tug.org/texlive/

Mike Maxwell


--------------------------------------------------
Subscriptions, Archive, and List information, etc.:
http://tug.org/mailman/listinfo/xetex
Jonathan Kew
2017-04-21 17:46:15 UTC
Permalink
I believe that xetex should be unaffected by that bug, because that was
an issue with the harfbuzz interface to graphite, but xetex uses
graphite directly without going through the harfbuzz layer (provided you
load the font with the /GR option, or whatever the fontspec equivalent
of that is).
Post by maxwell
I believe (correct me if I'm wrong!) that xetex uses the HarfBuzz
engine. There was a bug in this engine that prevented a new Nastaliq
font from SIL from working properly. A fix for this bug has just been
https://github.com/behdad/harfbuzz/pull/475). It's not clear to me
whether this can get into xetex before the next TeXLive release, given
https://www.tug.org/texlive/
Mike Maxwell
--------------------------------------------------
http://tug.org/mailman/listinfo/xetex
--------------------------------------------------
Subscriptions, Archive, and List information, etc.:
http://tug.org/mailman/listinfo/xetex
maxwell
2017-04-21 18:53:58 UTC
Permalink
Post by Jonathan Kew
I believe that xetex should be unaffected by that bug, because that
was an issue with the harfbuzz interface to graphite, but xetex uses
graphite directly without going through the harfbuzz layer (provided
you load the font with the /GR option, or whatever the fontspec
equivalent of that is).
There is certainly a bug in the way certain sequences of characters are
output by xe(la)tex. Whether the bug is in xetex, or harfbuzz, or the
font itself is beyond my ken. Martin Hosken (who submitted the harfbuzz
bug fix) seemed to think that would fix the issue in xetex, but I'm not
sure he actually tested it with xetex, which I suppose would require
re-compiling xetex.

I can supply a simple XeLaTeX file for testing; it requires having the
Awami Nastaliq beta font from SIL. I can also put you (or anyone else)
in touch with the other developers of that font, although I suppose
Martin is the expert on this issue.

I can also take this off-line if that would be more appropriate.

Mike Maxwell


--------------------------------------------------
Subscriptions, Archive, and List information, etc.:
http://tug.org/mailman/listinfo/xetex
Jonathan Kew
2017-04-22 07:36:28 UTC
Permalink
Post by maxwell
Post by Jonathan Kew
I believe that xetex should be unaffected by that bug, because that
was an issue with the harfbuzz interface to graphite, but xetex uses
graphite directly without going through the harfbuzz layer (provided
you load the font with the /GR option, or whatever the fontspec
equivalent of that is).
There is certainly a bug in the way certain sequences of characters are
output by xe(la)tex. Whether the bug is in xetex, or harfbuzz, or the
font itself is beyond my ken. Martin Hosken (who submitted the harfbuzz
bug fix) seemed to think that would fix the issue in xetex, but I'm not
sure he actually tested it with xetex, which I suppose would require
re-compiling xetex.
It sounds from some off-line discussion as though it does in fact fix
the issue in xetex, as the shaping back-end was refactored to handle
graphite via the harfbuzz wrapper some time ago -- my initial response
was based on how the code used to be, back when it was first written.
Sorry for misleading!

So pulling a harfbuzz update into texlive/xetex and rebuilding would
indeed be beneficial.

JK
Post by maxwell
I can supply a simple XeLaTeX file for testing; it requires having the
Awami Nastaliq beta font from SIL. I can also put you (or anyone else)
in touch with the other developers of that font, although I suppose
Martin is the expert on this issue.
I can also take this off-line if that would be more appropriate.
Mike Maxwell
--------------------------------------------------
Subscriptions, Archive, and List information, etc.:
http://tug.org/mailman/listinfo/xetex
Bobby de Vos
2017-04-24 14:36:18 UTC
Permalink
Post by Jonathan Kew
So pulling a harfbuzz update into texlive/xetex and rebuilding would
indeed be beneficial.
Am I correct that I could avoid rebuilding xetex on my Ubuntu Linux
system? The binary /usr/bin/xetex is dynamically linked, and I have
HarfBuzz and Graphite2 compiled from source and installed in /usr/local.
The ldd command (ldd /usr/bin/xetex) reports those two libraries are
loaded from /usr/local, and xetex -version reports

Compiled with Graphite2 version 1.3.6; using 1.3.9
Compiled with HarfBuzz version 1.0.1; using 1.4.5

The xetex binary as installed by the Tex Live installer in /usr/local
does not seem to load those two libraries. Which means that in order to
have a xetex in /usr/bin (as packaged by Debian/Ubuntu) that has the
update that JK did in the first part of 2016 to enable cross-space
contextual rendering (needed for the Awami Nastaliq font) you would need
Ubuntu 16.10 (yakkety) or later in order to have TeX Live 2016. Or maybe
you can update /usr/bin/xetex with the PPA at
ppa:jonathonf/texlive-2016, but I have not tested this to see if it
would dynamically load the needed libraries.

Bobby
--
Bobby de Vos
/***@gmail.com/


--------------------------------------------------
Subscriptions, Archive, and List information, etc.:
http://tug.org/mailman/listinfo/xetex
Jonathan Kew
2017-04-24 15:15:41 UTC
Permalink
Post by Bobby de Vos
Post by Jonathan Kew
So pulling a harfbuzz update into texlive/xetex and rebuilding would
indeed be beneficial.
Am I correct that I could avoid rebuilding xetex on my Ubuntu Linux
system? The binary /usr/bin/xetex is dynamically linked, and I have
HarfBuzz and Graphite2 compiled from source and installed in /usr/local.
The ldd command (ldd /usr/bin/xetex) reports those two libraries are
loaded from /usr/local, and xetex -version reports
Compiled with Graphite2 version 1.3.6; using 1.3.9
Compiled with HarfBuzz version 1.0.1; using 1.4.5
OK, it sounds like if you update your locally-installed harfbuzz to
1.4.6, that version of xetex should immediately benefit from the fix.
Post by Bobby de Vos
The xetex binary as installed by the Tex Live installer in /usr/local
does not seem to load those two libraries.
Right; the TL-distributed binaries avoid dynamic linking as far as
possible, in order to maximize portability and consistency. The other
side of this, of course, is that they don't automatically benefit from
library updates.
Post by Bobby de Vos
Which means that in order to
have a xetex in /usr/bin (as packaged by Debian/Ubuntu) that has the
update that JK did in the first part of 2016 to enable cross-space
contextual rendering (needed for the Awami Nastaliq font) you would need
Ubuntu 16.10 (yakkety) or later in order to have TeX Live 2016. Or maybe
you can update /usr/bin/xetex with the PPA at
ppa:jonathonf/texlive-2016, but I have not tested this to see if it
would dynamically load the needed libraries.
Bobby
--------------------------------------------------
Subscriptions, Archive, and List information, etc.:
http://tug.org/mailman/listinfo/xetex
maxwell
2017-04-24 15:21:13 UTC
Permalink
Post by Jonathan Kew
Post by Bobby de Vos
The xetex binary as installed by the Tex Live installer in /usr/local
does not seem to load those two libraries.
Right; the TL-distributed binaries avoid dynamic linking as far as
possible, in order to maximize portability and consistency. The other
side of this, of course, is that they don't automatically benefit from
library updates.
Which brings me back to my original question: will xetex as distributed
in TeXLive 2017 include this harfbuzz update? Or is it too late for
that?

Mike Maxwell


--------------------------------------------------
Subscriptions, Archive, and List information, etc.:
http://tug.org/mailman/listinfo/xetex
Jonathan Kew
2017-04-24 15:34:21 UTC
Permalink
Post by maxwell
Post by Jonathan Kew
Post by Bobby de Vos
The xetex binary as installed by the Tex Live installer in /usr/local
does not seem to load those two libraries.
Right; the TL-distributed binaries avoid dynamic linking as far as
possible, in order to maximize portability and consistency. The other
side of this, of course, is that they don't automatically benefit from
library updates.
Which brings me back to my original question: will xetex as distributed
in TeXLive 2017 include this harfbuzz update? Or is it too late for that?
As of today, the updated harfbuzz is now in the TL source tree. And
final binaries for the distribution are not yet done.

So I think we made it.

JK



--------------------------------------------------
Subscriptions, Archive, and List information, etc.:
http://tug.org/mailman/listinfo/xetex
Ulrike Fischer
2017-04-25 12:10:11 UTC
Permalink
Post by Jonathan Kew
Post by maxwell
Which brings me back to my original question: will xetex as distributed
in TeXLive 2017 include this harfbuzz update? Or is it too late for that?
As of today, the updated harfbuzz is now in the TL source tree. And
final binaries for the distribution are not yet done.
So I think we made it.
I get

Compiled with HarfBuzz version 1.4.6; using 1.4.6

after the last update.
--
Ulrike Fischer
http://www.troubleshooting-tex.de/



--------------------------------------------------
Subscriptions, Archive, and List information, etc.:
http://tug.org/mailman/listinfo/xetex
Loading...