[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#473244: manpages: wrong conversion of non-breaking spaces



Package: docbook-xsl
Version: 1.73.2.dfsg.1-3
Severity: normal
Tags: patch

Hello,

This bug causes wrong formatting in the French manpages of (at least)
aptitude or shadow (e.g. "«ptitude install..." or "«\fIYou have new mail. »")

Currently, the non breaking spaces (0x00a0) are converted to the groff
sequence "\ " in other.xsl (xsl:template name="convert.nobreak-space").

Unfortunately, the space following '\' is removed, and bad groff sequences
are generated.


The non breaking spaces are also converted in charmap.groff.xsl, and I
propose to remove the conversion done in other.xsl, and keep the one in
charmap.groff.xsl (this one works correctly).

I got good results with the shadow manpages applying the attached patch.

-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 2.6.24-1-686 (SMP w/2 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages docbook-xsl depends on:
ii  xml-core                      0.11       XML infrastructure and XML catalog

Versions of packages docbook-xsl recommends:
ii  docbook-xml              4.5-5           standard XML documentation system,
ii  docbook-xsl-doc-html [do 1.73.2.dfsg.1-3 stylesheets for processing DocBook

-- no debconf information

Best Regards,
-- 
Nekral
diff -rau ../orig/docbook-xsl-1.73.2.dfsg.1/manpages/other.xsl ./docbook-xsl-1.73.2.dfsg.1/manpages/other.xsl
--- ../orig/docbook-xsl-1.73.2.dfsg.1/manpages/other.xsl	2007-06-23 11:07:45.000000000 +0200
+++ ./docbook-xsl-1.73.2.dfsg.1/manpages/other.xsl	2008-03-29 15:17:57.422038192 +0100
@@ -191,8 +191,6 @@
 
 <xsl:template name="escape.roff.specials">
   <xsl:param name="content"/>
-  <xsl:call-template name="convert.nobreak-space">
-    <xsl:with-param name="content">
       <xsl:call-template name="escape.apostrophe">
         <xsl:with-param name="content">
           <xsl:call-template name="escape.dash">
@@ -208,8 +206,6 @@
           </xsl:call-template>
         </xsl:with-param>
       </xsl:call-template>
-    </xsl:with-param>
-  </xsl:call-template>
 </xsl:template>
 
 <xsl:template name="escape.backslash">
@@ -252,30 +248,6 @@
   </xsl:call-template>
 </xsl:template>
 
-<xsl:template name="convert.nobreak-space">
-  <xsl:param name="content"/>
-  <xsl:call-template name="string.subst">
-    <xsl:with-param name="string" select="$content"/>
-    <xsl:with-param name="target">&#x00a0;</xsl:with-param>
-    <!-- * A no-break space can be written two ways in roff; the -->
-    <!-- * difference, according to the "Page Motions" node in the -->
-    <!-- * groff info page, is: -->
-    <!-- *  -->
-    <!-- *   "\ " = -->
-    <!-- *   An unbreakable and unpaddable (i.e. not expanded -->
-    <!-- *   during filling) space. -->
-    <!-- *  -->
-    <!-- *   "\~" = -->
-    <!-- *   An unbreakable space that stretches like a normal -->
-    <!-- *   inter-word space when a line is adjusted."  -->
-    <!-- *  -->
-    <!-- * Unfortunately, roff seems to do some weird things with -->
-    <!-- * long lines that only have words separated by "\~" -->
-    <!-- * spaces, so it's safer just to stick with the "\ " space -->
-    <xsl:with-param name="replacement">\ </xsl:with-param>
-  </xsl:call-template>
-</xsl:template>
-
 <!-- ==================================================================== -->
 
 <!-- * top.comment generates a comment containing metadata for the man -->

Reply to: