GNU bug report logs - #51183
lagrange: fribidi and harfbuzz dependencies?

Previous Next

Package: guix;

Reported by: Christopher Howard <christopher <at> librehacker.com>

Date: Wed, 13 Oct 2021 15:23:02 UTC

Severity: normal

To reply to this bug, email your comments to 51183 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#51183; Package guix. (Wed, 13 Oct 2021 15:23:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Christopher Howard <christopher <at> librehacker.com>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Wed, 13 Oct 2021 15:23:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Christopher Howard <christopher <at> librehacker.com>
To: Guix Bug Reports <bug-guix <at> gnu.org>
Subject: lagrange: fribidi and harfbuzz dependencies?
Date: Wed, 13 Oct 2021 07:22:18 -0800
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

-- 
Christopher Howard
Gemini capsule: gemini://gem.librehacker.com
Web version: https://portal.mozz.us/gemini/gem.librehacker.com






Information forwarded to bug-guix <at> gnu.org:
bug#51183; Package guix. (Wed, 13 Oct 2021 22:57:02 GMT) Full text and rfc822 format available.

Message #8 received at 51183 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: Christopher Howard <christopher <at> librehacker.com>, 51183 <at> debbugs.gnu.org
Subject: Re: lagrange: fribidi and harfbuzz dependencies?
Date: Thu, 14 Oct 2021 00:56:10 +0200
Hi,

Am Mittwoch, den 13.10.2021, 07:22 -0800 schrieb Christopher Howard:
> [...]
> 
> 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 mystically
pick up packages from your environment, which more likely than not it
doesn't, you would still have to include it in said environment for it
to make a difference.

> 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 that
it indeed does make a difference.  You can construct one by editing
Guix 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





Information forwarded to bug-guix <at> gnu.org:
bug#51183; Package guix. (Wed, 13 Oct 2021 23:41:01 GMT) Full text and rfc822 format available.

Message #11 received at 51183 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Howard <christopher <at> librehacker.com>
To: Liliana Marie Prikler <liliana.prikler <at> gmail.com>, 51183 <at> debbugs.gnu.org
Subject: Re: lagrange: fribidi and harfbuzz dependencies?
Date: Wed, 13 Oct 2021 15:40:07 -0800
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





Information forwarded to bug-guix <at> gnu.org:
bug#51183; Package guix. (Thu, 14 Oct 2021 06:56:02 GMT) Full text and rfc822 format available.

Message #14 received at 51183 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: Christopher Howard <christopher <at> librehacker.com>, 51183 <at> debbugs.gnu.org
Subject: Re: lagrange: fribidi and harfbuzz dependencies?
Date: Thu, 14 Oct 2021 08:55:49 +0200
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?





Information forwarded to bug-guix <at> gnu.org:
bug#51183; Package guix. (Thu, 14 Oct 2021 10:40:02 GMT) Full text and rfc822 format available.

Message #17 received at 51183 <at> debbugs.gnu.org (full text, mbox):

From: Bengt Richter <bokr <at> bokr.com>
To: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Cc: Christopher Howard <christopher <at> librehacker.com>, 51183 <at> debbugs.gnu.org
Subject: Re: bug#51183: lagrange: fribidi and harfbuzz dependencies?
Date: Thu, 14 Oct 2021 12:39:30 +0200
On +2021-10-14 08:55:49 +0200, Liliana Marie Prikler wrote:
> 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




Information forwarded to bug-guix <at> gnu.org:
bug#51183; Package guix. (Sun, 17 Oct 2021 19:16:02 GMT) Full text and rfc822 format available.

Message #20 received at 51183 <at> debbugs.gnu.org (full text, mbox):

From: Efraim Flashner <efraim <at> flashner.co.il>
To: Christopher Howard <christopher <at> librehacker.com>
Cc: 51183 <at> debbugs.gnu.org
Subject: Re: bug#51183: lagrange: fribidi and harfbuzz dependencies?
Date: Sun, 17 Oct 2021 22:14:19 +0300
[Message part 1 (text/plain, inline)]
On Wed, Oct 13, 2021 at 07:22:18AM -0800, Christopher Howard wrote:
> 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 around
to trying to fix. I actually find that mutt displays Hebrew backwards
for me too, as does translate-shell.

I've updated lagrange from 1.5.2 to 1.7.2 and I didn't see any
improvement in how it displays ברא vs ארב.

-- 
Efraim Flashner   <efraim <at> flashner.co.il>   רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]

This bug report was last modified 2 years and 189 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.