dwww Home | Manual pages | Find package

bidiv(1)                             Ivrix                             bidiv(1)

NAME
       bidiv - bidirectional text filter

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

DESCRIPTION
       bidiv is a filter, or viewer, for birectional text stored in logical-or-
       der. 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  (auto-
       matically 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  set-
       ting.

       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
       less.

       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.

OPTIONS
       -p     Paragraph-based  direction  (default): When formatting a bidirec-
              tional 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 ap-
              pears on the left.

              The -p option tells bidiv to choose a base  direction  per  para-
              graph,  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 charac-
              ter) 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 para-
              graph 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 re-
              quired  line width (see the -w option). The -j option tells bidiv
              not to preform this justifications, and  leave  short  lines  un-
              padded.

       -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-just-
              fied 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 vari-
              able are missing, the default of 80 columns is used.

OPERANDS
       The following operand is supported:

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

EXAMPLES
       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
          mail.

ENVIRONMENT
       COLUMNS see -w option.

EXIT STATUS
       The following exit values are returned:

       0   All input files were output successfully.

       >0  An error occurred.

AUTHOR
       Written by Nadav Har'El, http://nadav.harel.org.il.

       Please send bug reports and comments to nyh@math.technion.ac.il.

       The    latest    version    of   this   software   can   be   found   in
       ftp://ftp.ivrix.org.il/pub/ivrix/src/cmdline

SEE ALSO
       cat(1), fribidi(3)

Bidiv                              7 Jan 2006                          bidiv(1)

Generated by dwww version 1.16 on Sat Oct 3 04:49:07 CEST 2026.