Your message dated Thu, 09 Sep 2010 05:32:48 +0000
with message-id <[email protected]>
and subject line Bug#577798: fixed in fluxbox 1.1.1+git20100908.df2f51b-2
has caused the Debian Bug report #577798,
regarding fluxbox: Add fribidi support
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
577798: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=577798
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: fluxbox
Version: 1.1.1-7
Severity: wishlist
Tags: patch

It would be nice to have more window managers in Debian that support
bidirectional Hebrew window titles. To that end, please add fribidi
support to Fluxbox using the attached patch.

-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-4-amd64 (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages fluxbox depends on:
ii  libc6                   2.10.2-6         Embedded GNU C Library: Shared lib
ii  libfontconfig1          2.8.0-2          generic font configuration library
ii  libfreetype6            2.3.11-1         FreeType 2 font engine, shared lib
ii  libgcc1                 1:4.4.3-7        GCC support library
ii  libice6                 2:1.0.6-1        X11 Inter-Client Exchange library
ii  libimlib2               1.4.2-8+b1       powerful image loading and renderi
ii  libsm6                  2:1.1.1-1        X11 Session Management library
ii  libstdc++6              4.4.3-7          The GNU Standard C++ Library v3
ii  libx11-6                2:1.3.3-3        X11 client-side library
ii  libxext6                2:1.1.1-3        X11 miscellaneous extension librar
ii  libxft2                 2.1.14-2         FreeType-based font drawing librar
ii  libxinerama1            2:1.1-3          X11 Xinerama extension library
ii  libxpm4                 1:3.5.8-1        X11 pixmap library
ii  libxrandr2              2:1.3.0-3        X11 RandR extension library
ii  libxrender1             1:0.9.5-2        X Rendering Extension client libra
ii  menu                    2.1.43           generates programs menu for all me
ii  zlib1g                  1:1.2.3.4.dfsg-3 compression library - runtime

Versions of packages fluxbox recommends:
ii  xfonts-terminus               4.30-2     Fixed-width fonts for fast reading

Versions of packages fluxbox suggests:
pn  fbdesk                        <none>     (no description available)
pn  fbpager                       <none>     (no description available)
pn  fluxconf                      <none>     (no description available)

-- no debconf information
>From 412063d025e728cef88ec6acde42f5a4f188f211 Mon Sep 17 00:00:00 2001
From: Ken Bloom <[email protected]>
Date: Fri, 5 Jun 2009 10:42:29 -0500
Subject: [PATCH] Bidi Support

Add support for bidirectional text using the fribidi library.
The function FbTk::FbStringUtil::BidiLog2Vis is based on the function
utils::makebidi from the newsbeuter console text reader
(git://github.com/akrennmair/newsbeuter.git, www.newsbeuter.org),
copyright Andreas Krennmair, released under what appears to be the same
license as FluxBox.

Bidi support is enabled by default, but can be disabled with the
--disable-fribidi configure switch.
---
 configure.in         |   22 ++++++++++++++++++++++
 src/FbTk/FbString.cc |   37 +++++++++++++++++++++++++++++++++++++
 src/FbTk/FbString.hh |    5 +++++
 src/FbTk/Font.cc     |    7 ++++++-
 4 files changed, 70 insertions(+), 1 deletions(-)

diff --git a/configure.in b/configure.in
index 73662ae..b209dde 100644
--- a/configure.in
+++ b/configure.in
@@ -141,7 +141,29 @@ dnl Check if iconv uses const in prototype declaration
     fi
 fi
 
+#fribidi support - OPTIONAL!
+
+want_fribidi="auto"
+AC_ARG_ENABLE(fribidi,
+ AC_HELP_STRING(
+   [--disable-fribidi],
+   [disable bidirectional text support. [[default=enabled]]]
+ ),
+ [ want_fribidi=$enableval ]
+)
 
+if test "x$want_fribidi" = "xyes" -o "x$want_fribidi" = "xauto" ; then
+ # Check if really available
+ PKG_CHECK_MODULES(FRIBIDI, fribidi,
+   [
+     AC_DEFINE(HAVE_FRIBIDI, 1, [have fribidi support])
+   ],
+   [
+     AC_MSG_ERROR([Fribidi not found (strict dependencies checking)])
+   ])
+fi
+LIBS="$LIBS $FRIBIDI_LIBS"
+CFLAGS="$CFLAGS $FRIBIDI_CFLAGS"
 
 AC_CHECK_LIB(nsl, t_open, LIBS="$LIBS -lnsl")
 AC_CHECK_LIB(socket, socket, LIBS="$LIBS -lsocket")
diff --git a/src/FbTk/FbString.cc b/src/FbTk/FbString.cc
index 0164afd..1cef002 100644
--- a/src/FbTk/FbString.cc
+++ b/src/FbTk/FbString.cc
@@ -45,6 +45,11 @@
 
 #include <iostream>
 
+#ifdef HAVE_FRIBIDI
+#include <fribidi/fribidi.h>
+#endif
+
+
 using std::string;
 
 #ifdef DEBUG
@@ -239,6 +244,37 @@ bool haveUTF8() {
 }
 
 
+#ifdef HAVE_FRIBIDI
+
+FbString BidiLog2Vis (const FbString& src){
+       FriBidiChar * us, * out_us;
+       FriBidiCharType base;
+       FbString r;
+       char * out;
+
+       us = new FriBidiChar[src.size()+1];
+       out_us = new FriBidiChar[src.size()+1];
+
+       unsigned int len = fribidi_charset_to_unicode(FRIBIDI_CHAR_SET_UTF8, 
const_cast<char *>(src.c_str()), src.length(), us);
+
+       base = FRIBIDI_TYPE_N;
+       fribidi_log2vis(us, len, &base, out_us, NULL, NULL, NULL);
+
+       out = new char[4*src.size()+1];
+
+       fribidi_unicode_to_charset(FRIBIDI_CHAR_SET_UTF8, out_us, len, out);
+
+       r = out;
+
+       delete[] out_us;
+       delete[] us;
+       delete[] out;
+
+       return r;
+}
+
+#endif
+
 } // end namespace StringUtil
 
 StringConvertor::StringConvertor(EncodingTarget target):
@@ -289,4 +325,5 @@ string StringConvertor::recode(const string &src) {
 #endif
 }
 
+
 } // end namespace FbTk
diff --git a/src/FbTk/FbString.hh b/src/FbTk/FbString.hh
index 1e473cc..e1a5dc5 100644
--- a/src/FbTk/FbString.hh
+++ b/src/FbTk/FbString.hh
@@ -52,6 +52,11 @@ std::string FbStrToX(const FbString &src);
 FbString LocaleStrToFb(const std::string &src);
 std::string FbStrToLocale(const FbString &src);
 
+#ifdef HAVE_FRIBIDI
+/// Make Bidi
+FbString BidiLog2Vis (const FbString& src);
+#endif
+
 bool haveUTF8();
 
 } // namespace FbStringUtil
diff --git a/src/FbTk/Font.cc b/src/FbTk/Font.cc
index f0951ff..7773430 100644
--- a/src/FbTk/Font.cc
+++ b/src/FbTk/Font.cc
@@ -297,8 +297,13 @@ void Font::drawText(const FbDrawable &w, int screen, GC gc,
         }
     }
 
-    m_fontimp->drawText(w, screen, gc, text, len, x, y, orient);
+#ifdef HAVE_FRIBIDI
+    FbString visualorder=FbTk::FbStringUtil::BidiLog2Vis(text);
 
+    m_fontimp->drawText(w, screen, gc, visualorder, len, x, y, orient);
+#else
+    m_fontimp->drawText(w, screen, gc, text, len, x, y, orient);
+#endif
 }
 
 };
-- 
1.6.3.1


                 

--- End Message ---
--- Begin Message ---
Source: fluxbox
Source-Version: 1.1.1+git20100908.df2f51b-2

We believe that the bug you reported is fixed in the latest version of
fluxbox, which is due to be installed in the Debian FTP archive:

fluxbox_1.1.1+git20100908.df2f51b-2.debian.tar.gz
  to main/f/fluxbox/fluxbox_1.1.1+git20100908.df2f51b-2.debian.tar.gz
fluxbox_1.1.1+git20100908.df2f51b-2.dsc
  to main/f/fluxbox/fluxbox_1.1.1+git20100908.df2f51b-2.dsc
fluxbox_1.1.1+git20100908.df2f51b-2_amd64.deb
  to main/f/fluxbox/fluxbox_1.1.1+git20100908.df2f51b-2_amd64.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Dmitry E. Oboukhov <[email protected]> (supplier of updated fluxbox package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: RIPEMD160

Format: 1.8
Date: Thu, 09 Sep 2010 08:52:29 +0400
Source: fluxbox
Binary: fluxbox
Architecture: source amd64
Version: 1.1.1+git20100908.df2f51b-2
Distribution: unstable
Urgency: low
Maintainer: Dmitry E. Oboukhov <[email protected]>
Changed-By: Dmitry E. Oboukhov <[email protected]>
Description: 
 fluxbox    - Highly configurable and low resource X11 Window manager
Closes: 577798
Changes: 
 fluxbox (1.1.1+git20100908.df2f51b-2) unstable; urgency=low
 .
   * Enable fribidi support, thanks for Chanoch (Ken) Bloom <[email protected]>
     for bugreport, closes: #577798.
Checksums-Sha1: 
 62cc818c3a38eae5b176ba1d71b846d97946a994 1954 
fluxbox_1.1.1+git20100908.df2f51b-2.dsc
 10fca178f95f7ebe3fdc4206ca914d688fb1a2e1 22290 
fluxbox_1.1.1+git20100908.df2f51b-2.debian.tar.gz
 380122fc12c74fa618bef2c3860eb32c46d4b735 1558358 
fluxbox_1.1.1+git20100908.df2f51b-2_amd64.deb
Checksums-Sha256: 
 10f8937656a6f60b8d4bd45e249e83fcd7b955d0e5ea97d580381a9e5bcf64de 1954 
fluxbox_1.1.1+git20100908.df2f51b-2.dsc
 d2d5aec4132c978af8b075a39b4ccee0978dc512dd2e85a409c55f2986f12c82 22290 
fluxbox_1.1.1+git20100908.df2f51b-2.debian.tar.gz
 288ecba42ed61106f6fcbd190cb49f8e115cc2384d80b5f1f7f4dd1b96d08453 1558358 
fluxbox_1.1.1+git20100908.df2f51b-2_amd64.deb
Files: 
 33219ebc1aaa8b500b49b2445e4c1e84 1954 x11 optional 
fluxbox_1.1.1+git20100908.df2f51b-2.dsc
 608b64c2aa3eb64447c30eeea78cf148 22290 x11 optional 
fluxbox_1.1.1+git20100908.df2f51b-2.debian.tar.gz
 d60a6b3b0ea7ef95b7ac24d78a00e90f 1558358 x11 optional 
fluxbox_1.1.1+git20100908.df2f51b-2_amd64.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)

iEYEAREDAAYFAkyIbcEACgkQq4wAz/jiZTf6KACgxueoWHAOCT2DxnF8JFuQgY5L
+h0AnRIzQB4q8mvORmNQttSBIAOWYRG7
=hv2m
-----END PGP SIGNATURE-----



--- End Message ---

Reply via email to