Man Linux: Main Page and Category List


       bidiv - bidirectional text filter


       bidiv [ -plj ] [ -w width ] [file...]


       bidiv  is  a filter, or viewer, for birectional text stored in logical-
       order. It converts such text into visual-order text which can be viewed
       on  terminals  that  do not handle bidirectionality. The output visual-
       order text is formatted assuming a fixed number of characters per  line
       (automatically determined or given with the -w parameter).

       bidiv  is oriented towards Hebrew, and assumes the input to be a Hebrew
       and  ASCII  text  encoded  in  one  of  the  two  common  logical-order
       encodings:  ISO-8859-8-i or UTF-8. Actually, bidiv guesses the encoding
       of its input at a character by character basis, so the input might be a
       mix  of  ISO-8859-8-i and Hebrew UTF-8.  bidiv’s output is visual-order
       text, in either the ISO-8859-8 or UTF-8  encoding,  depending  on  your
       locale setting.

       bidiv  reads  each  file in sequence, converts it into visual order and
       writes it on the standard output.  Thus:

              $ bidiv file

       prints file on your terminal (assuming it has  the  appropriate  fonts,
       but no bidirectionality support), and:

              $ bidiv file1 file2 | less

       concatenates  file1  and  file2,  and shows the results using the pager

       If no input file is given, bidiv reads from the standard input file.

       For more ideas on how to use bidiv, see the EXAMPLES section below.


       -p     Paragraph-based   direction   (default):   When   formatting   a
              bidirectional  output  line,  bidiv  needs  to  be aware of that
              line’s base direction. A line whose base direction is RTL (right
              to  left)  gets right-justified and its first element appears on
              the right. Otherwise, the line is left-justified and  its  first
              element appears on the left.

              The  -p  option  tells  bidiv  to  choose  a  base direction per
              paragraph, where a paragraph is delimited by an empty line. This
              is  bidiv’s  default  behavior,  and  usually gives the expected
              results on most texts and emails.

              The direction of the entire paragraph is chosen according to the
              first   strongly-directioned   character  (i.e.,  an  alphabetic
              character) appearing in the paragraph. Currently, if  the  first
              output  line of a paragraph has no directional characters (e.g.,
              a line of minus signs before  an  email  signature,  or  a  line
              containing  only  numbers)  that  line  is  output with the same
              direction of the previous paragraph, but it does  not  determine
              the direction of the rest of the paragraph. If the first line of
              the first paragraph does not have a direction, the RTL direction
              is arbitrarily chosen.

       -l     Line-based  direction:  This option choose an alternative method
              of choosing each output line’s base direction. When this  option
              is enabled, the base direction of each output line is determined
              on its own (again, according to the first character on the  line
              with  a strong direction). This method may give wrong results in
              the case where a  line  starts  with  a  word  of  the  opposite
              direction. This case is rare, but does happen under random line-
              splitting circumstances, or when the text is defining words of a
              foreign language.

       -j     Do not justify: By default, RTL lines are right-justified, i.e.,
              they are padded with spaces on the left when  shorter  than  the
              required  line  width  (see  the -w option). The -j option tells
              bidiv not to preform this justifications, and leave short  lines

       -w width
              bidiv formats its output for lines of the given width. Lines are
              split when longer than this width,  and  RTL  lines  are  right-
              justfied to fill that width unless the -j option is given.

              When  the  -w  option  is not given, bidiv uses the value of the
              COLUMNS variable, which is usually automatically defined by  the
              user’s  shell.   When  that  both  the -w option and the COLUMNS
              variable are missing, the default of 80 columns is used.


       The following operand is supported:

       file    A path name of an input file.  If no  file  is  specified,  the
               standard input is used.


       1. bidiv README | less

       2. man something | bidiv | less

          (or groff -man -Tlatin1 something.1 |sed ’s/.^H\(.\)/\1/g’ |../bidiv
          -w 65)

       3. set "bidiv" as a filter for your mail program (mutt, pine, etc.) for
          viewing  mail  with the ISO 8859-8-i character set, and Hebrew UTF-8


       COLUMNS see -w option.


       The following exit values are returned:

       0   All input files were output successfully.

       >0  An error occurred.


       Written by Nadav Har’El,

       Please send bug reports and comments to

       The   latest   version   of   this   software   can   be    found    in


       cat(1), fribidi(3)