lagrange: fribidi and harfbuzz dependencies?

OpenSubmitted by Christopher Howard.
Details
4 participants
  • Bengt Richter
  • Christopher Howard
  • Efraim Flashner
  • Liliana Marie Prikler
Owner
unassigned
Severity
normal
C
C
Christopher Howard wrote on 13 Oct 17:22 +0200
(name . Guix Bug Reports)(address . bug-guix@gnu.org)
13dbc4b21d83ed3ffad524bd876f952e84696b2a.camel@librehacker.com
Hi, I like the lagrange gemini client, but I have struggled with somefont display issues since I do a publishing with mixed English andHebrew words. Lagrange does display Hebrew unicode characters, if youswitch to the selectable "Tinos" font in the preferences, but on mysystem, the Hebrew script is displayed in the wrong direction (left-to-right, instead of right-to-left).
According to the Lagrange github README, Lagrange should be able toutilize the fribidi and harfbuzz software to properly display thesesorts of scripts, but it does not seem to be doing this in Guix, eventhough these packages are available.
I attempted running lagrange inside "guix environment --ad-hoc fribidiharfbuzz" but the scripts are still displaying backwards, suggestingthat something needs to be modified in the package definition itself toutilize this software.
Here is a simple gemini test page (contain just a single Hebrew word):
gemini://gem.librehacker.com/gemlog/your-word/test.gmi
On my system, it displays the letters as "bet resh alef" from left toright, rather than from right to left.
https://en.wikipedia.org/wiki/Hebrew_alphabet#Alphabet
-- Christopher HowardGemini capsule: gemini://gem.librehacker.comWeb version: https://portal.mozz.us/gemini/gem.librehacker.com
L
L
Liliana Marie Prikler wrote on 14 Oct 00:56 +0200
9b1d27d01901c0c61c3a02a2c0d36f9e6536d075.camel@gmail.com
Hi,
Am Mittwoch, den 13.10.2021, 07:22 -0800 schrieb Christopher Howard:
Toggle quote (9 lines)> [...]> > According to the Lagrange github README, Lagrange should be able to> utilize the fribidi and harfbuzz software to properly display these> sorts of scripts, but it does not seem to be doing this in Guix, even> though these packages are available.> > I attempted running lagrange inside "guix environment --ad-hoc> fribidi harfbuzz"
That's not how any of this works. Even if Lagrange were to mysticallypick up packages from your environment, which more likely than not itdoesn't, you would still have to include it in said environment for itto make a difference.
Toggle quote (3 lines)> but the scripts are still displaying backwards, suggesting that> something needs to be modified in the package definition itself to> utilize this software.
I suggest trying a variant of lagrange that has harfbuzz to verify thatit indeed does make a difference. You can construct one by editingGuix source or by using the following with the right (use-modules ...)clause on top:
(package (inherit lagrange) (inputs `(("harfbuzz" ,harfbuzz) ,@(package-inputs lagrange))))
Alternatively, someone else might try given the file you've provided,just putting this out there if you want to experiment on your own :)
Regards,Liliana
C
C
Christopher Howard wrote on 14 Oct 01:40 +0200
844b8d8659ee7ff5486c783a4c25243d8653f389.camel@librehacker.com
Hello, the following did NOT work:
```(use-modules (guix packages))(use-modules (gnu packages web-browsers))(use-modules (gnu packages gtk))(use-modules (gnu packages fribidi))
(packages->manifest (list (package (inherit lagrange) (inputs `(("harfbuzz" ,harfbuzz) ("fribidi" , fribidi) ,@(package-inputs lagrange))))))```
The package does build, but the problem remains with the script beingdisplayed in the wrong direction.
I'm am greatly curious if there are more configure time options thatneed to be set in relation to this. This paragraph indicates there arerelated configure options:
https://github.com/skyjake/lagrange#unicode-text-rendering
L
L
Liliana Marie Prikler wrote on 14 Oct 08:55 +0200
a1ac7393379bded0205a416d932f81396ded063f.camel@gmail.com
Hi,
Am Mittwoch, den 13.10.2021, 15:40 -0800 schrieb Christopher Howard:
Toggle quote (26 lines)> Hello, the following did NOT work:> > ```> (use-modules (guix packages))> (use-modules (gnu packages web-browsers))> (use-modules (gnu packages gtk))> (use-modules (gnu packages fribidi))> > (packages->manifest> (list> (package> (inherit lagrange)> (inputs > `(("harfbuzz" ,harfbuzz)> ("fribidi" , fribidi)> ,@(package-inputs lagrange))))))> ```> > The package does build, but the problem remains with the script being> displayed in the wrong direction.> > I'm am greatly curious if there are more configure time options that> need to be set in relation to this. This paragraph indicates there> are related configure options:> > https://github.com/skyjake/lagrange#unicode-text-rendering
By default, Lagrange should have ENABLE_FRIBIDI and ENABLE_HARFBUZZ beON, whereas ENABLE_FRIBIDI_BUILD and ENABLE_HARFBUZZ_MINIMAL are setOFF, just as the script states. It would seem to be a bug elsewherethen.
Try to check the build log to see whether or not harfbuzz and fribidirespectively get correctly detected by CMake. It ought to use pkg-config to do so, but I don't trust CMake on a fundamental level. If itdoes, there might be a problem with how Lagrange uses them?
B
B
Bengt Richter wrote on 14 Oct 12:39 +0200
Re: bug#51183: lagrange: fribidi and harfbuzz dependencies?
(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)
20211014103930.GA10185@LionPure
On +2021-10-14 08:55:49 +0200, Liliana Marie Prikler wrote:
Toggle quote (43 lines)> Hi,> > Am Mittwoch, den 13.10.2021, 15:40 -0800 schrieb Christopher Howard:> > Hello, the following did NOT work:> > > > ```> > (use-modules (guix packages))> > (use-modules (gnu packages web-browsers))> > (use-modules (gnu packages gtk))> > (use-modules (gnu packages fribidi))> > > > (packages->manifest> > (list> > (package> > (inherit lagrange)> > (inputs > > `(("harfbuzz" ,harfbuzz)> > ("fribidi" , fribidi)> > ,@(package-inputs lagrange))))))> > ```> > > > The package does build, but the problem remains with the script being> > displayed in the wrong direction.> > > > I'm am greatly curious if there are more configure time options that> > need to be set in relation to this. This paragraph indicates there> > are related configure options:> > > > https://github.com/skyjake/lagrange#unicode-text-rendering> By default, Lagrange should have ENABLE_FRIBIDI and ENABLE_HARFBUZZ be> ON, whereas ENABLE_FRIBIDI_BUILD and ENABLE_HARFBUZZ_MINIMAL are set> OFF, just as the script states. It would seem to be a bug elsewhere> then.> > Try to check the build log to see whether or not harfbuzz and fribidi> respectively get correctly detected by CMake. It ought to use pkg-> config to do so, but I don't trust CMake on a fundamental level. If it> does, there might be a problem with how Lagrange uses them?> > > >
Is something possibly dependent on GNU extended functionality, that putting #define _GNU_SOURCE 1 in a header file could enable? Also, if there are local files in the same directory as the Makefile, could -I. in the right rule be needed to trigger compiles?
... a couple things that caused me hiccups before, maybe too obvious for others. -- Regards,Bengt Richter
E
E
Efraim Flashner wrote on 17 Oct 21:14 +0200
(name . Christopher Howard)(address . christopher@librehacker.com)(address . 51183@debbugs.gnu.org)
YWx2C/E22fnx15c9@3900XT
On Wed, Oct 13, 2021 at 07:22:18AM -0800, Christopher Howard wrote:
Toggle quote (27 lines)> Hi, I like the lagrange gemini client, but I have struggled with some> font display issues since I do a publishing with mixed English and> Hebrew words. Lagrange does display Hebrew unicode characters, if you> switch to the selectable "Tinos" font in the preferences, but on my> system, the Hebrew script is displayed in the wrong direction (left-to-> right, instead of right-to-left).> > According to the Lagrange github README, Lagrange should be able to> utilize the fribidi and harfbuzz software to properly display these> sorts of scripts, but it does not seem to be doing this in Guix, even> though these packages are available.> > I attempted running lagrange inside "guix environment --ad-hoc fribidi> harfbuzz" but the scripts are still displaying backwards, suggesting> that something needs to be modified in the package definition itself to> utilize this software.> > Here is a simple gemini test page (contain just a single Hebrew word):> > gemini://gem.librehacker.com/gemlog/your-word/test.gmi> > On my system, it displays the letters as "bet resh alef" from left to> right, rather than from right to left.> > https://en.wikipedia.org/wiki/Hebrew_alphabet#Alphabet>
This is something that I've noticed too for years but never got aroundto trying to fix. I actually find that mutt displays Hebrew backwardsfor me too, as does translate-shell.
I've updated lagrange from 1.5.2 to 1.7.2 and I didn't see anyimprovement in how it displays ברא vs ארב.
-- Efraim Flashner <efraim@flashner.co.il> רנשלפ םירפאGPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmFsdggACgkQQarn3Mo9g1FQExAAgBuU2MeYAdVf8SOsRugwQi32xp1XesCCX+SXtnJ1xPji8PFsoIRr3j0r3uBeWK+lMpRmiwxWeXTTTcWOHQjTWQNVrRWVliJVit7CE/4K9WbdB411dqbqSAfx8OU1/82GRzjmXQ5CCYR9sJxEuh+YuyQiUWceK9oy4ThND59WuNTP5ygMc7vxmUPl331DayS9OpwWq0oYEN9af1C5w8VdslZyfNMd/wnM3kFc4QR0hNHB8l0ktO6+XmWniWKo/EUSePmKSU0+w0Hqh/l+yZuRj/Ma7zSqlYSws4BChY3lw/NjUxk5PARTucAjp1E6mwveoya4Wb4uRbNBiUEEqebJ6lCzIpL+uOuwV7Kutzg4RoSbYIjWDmQNqBgOuAeGHspDeHqmMxXE5pHxLxpn83nxNtkpG8ugNuaqEq3+9yp3XjUV8OCYH6zy3sWv/Y/WOaj+lvo7Wq03rNHS1lcum1ocwBLUDTJdx/H3gsXirl/CpOr/UZn4zFYMlaoHQP9B2Z8hT8RPXN8fnFvtfnGmkoj9vAyWwJ6lnOKbJWgyvlcz3s+ssnZRdDNMgjLJky/bZjrktPvwopdOJ33Xg+VIHMjxiAlAYwnPE3CWGI1or3hK95tu2rS1Etzqnr8nNBkXr9YDBU1wUzZZAuhHd1O1LSPAKeRzLSYpOAZejJjGd/8iEls==ZHW6-----END PGP SIGNATURE-----

?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send email to 51183@debbugs.gnu.org