[comp.sys.amiga] typing right-to-left

ben@contact.uucp (Ben Eng) (10/23/89)

Does anyone know of a word processing package or a canned format for
TeX that allows for languages that require writing right-to-left.  Of
course this also requires a suitable font for that language.  A friend
of mine is looking for something that is able to do Arabic (?) on the
Amiga.

(Please e-mail me a copy of your response, as my newsfeed appears to
be very unstable at present.)
-- 
Ben Eng                  | UofT Engineering Science engb@ecf.toronto.edu
150 Beverley St. Apt #1L | ben@ziebmef.mef.org  _or_
Toronto, Ontario    //   | ben@contact.uucp
M5T 1Y6           \X/    | Phone: (416)-979-7885, (416)-979-8761

bjc@pollux.UUCP (Betty J. Clay) (10/30/89)

In article <1989Oct22.191705.5211@contact.uucp> ben@contact.UUCP (Ben Eng) writes:
>Does anyone know of a word processing package or a canned format for
>TeX that allows for languages that require writing right-to-left.  Of
>course this also requires a suitable font for that language.  A friend
>of mine is looking for something that is able to do Arabic (?) on the
>Amiga.
>
>Ben Eng                  | UofT Engineering Science engb@ecf.toronto.edu
>150 Beverley St. Apt #1L | ben@ziebmef.mef.org  _or_
>Toronto, Ontario    //   | ben@contact.uucp


Does a word processor exist that can handle both English and Hebrew in the
same document?  There are Hebrew word processors - there is even a PD one
on CompuServe - but it cannot handle the standard alphabet.  
 
I ask because I offered that PD word processor to a Hebrew professor at al
local seminary.  They have over 1000 students studying Hebrew there every
semester, and I felt it would be helpful.  I learned that not only this
seminary, but all of the schools of religion in their association are
searching for a word processor for their teachers and students to use.  They
need to be able to insert Hebrew words into regular text.  THey don't mind
having to allow for the left-right and right-left typing, if only they
can mix the characters.  

If such a program exists, it would be a service to let these people know
about it.

Betty
============================================================================
Betty Clay
.........texbell!pollux!bjc
         CompuServe 76702,337
===========================================================================

mikes@lakesys.lakesys.com (Mike Shawaluk) (10/30/89)

In article <15984@pollux.UUCP> bjc@pollux.UUCP () writes:
>Does a word processor exist that can handle both English and Hebrew in the
>same document?  There are Hebrew word processors - there is even a PD one
>on CompuServe - but it cannot handle the standard alphabet.  
> 
>I ask because I offered that PD word processor to a Hebrew professor at al
>local seminary.  They have over 1000 students studying Hebrew there every
>semester, and I felt it would be helpful.  I learned that not only this
>seminary, but all of the schools of religion in their association are
>searching for a word processor for their teachers and students to use.  They
>need to be able to insert Hebrew words into regular text.  THey don't mind
>having to allow for the left-right and right-left typing, if only they
>can mix the characters.  
>
>If such a program exists, it would be a service to let these people know
>about it.

I would think that just about any word processor that uses standard Amiga
fonts for display/printing of text (such as excellance! or PenPal) should be
able to fill this need.  Of course, you would need an Amiga Hebrew font,
which some enterprising soul would have to create via FontEd, assuming that
there isn't one out there already, and you would have to type in the
characters left-to-right.  (You say in your previous paragraph that this
wouldn't be a problem)

Or would you?  Isn't there an Amiga font attribute specifying which direction
the characters are rendered?  But even if there were such a font with the
appropriate attribute set, I doubt whether any word processor out there would
have been designed to take this into account (which is a bit of a shame,
since these kind of insights are what made the Amiga the unique and powerful
system it is, IMHO.)
-- 
   - Mike Shawaluk             
"Rarely have we seen a mailer  ->  DOMAIN: mikes@lakesys.lakesys.com 
 fail which has thoroughly     ->  UUCP:   ...!uunet!marque!lakesys!mikes 
 followed these paths."        ->  BITNET: 7117SHAWALUK@MUCSD 

rokicki@polya.Stanford.EDU (Tomas G. Rokicki) (10/31/89)

mikes@lakesys.lakesys.com (Mike Shawaluk) writes:
> In article <15984@pollux.UUCP> bjc@pollux.UUCP () writes:
> >Does a word processor exist that can handle both English and Hebrew in the

> I would think that just about any word processor that uses standard Amiga
> fonts for display/printing of text (such as excellance! or PenPal) should be
> able to fill this need.  Of course, you would need an Amiga Hebrew font,
> which some enterprising soul would have to create via FontEd, assuming that
> there isn't one out there already, and you would have to type in the
> characters left-to-right.  (You say in your previous paragraph that this
> wouldn't be a problem)

There's one additional consideration---line breaking.  If I type a roman
alphabet, and then a hebrew alphabet (using caps for the latter), I want
to type

a b c d e f g h i j k l
m n o p q r s t u v w x
y z A B C D E F G H I J
K L M N O P Q R S T U V
W X Y Z

Now, the Hebrew should be read right-to-left, so what I want to see on
output (or on the screen) is

a b c d e f g h i j k l
m n o p q r s t u v w x
y z J I H G F E D C B A
V U T S R Q P O N M L K
Z Y X W

(whether that last line is left or right justified is a separate issue.)
I might be satisfied to type it in as above.  But if I wanted to insert
a word between the two, such as `and', what I get is

a b c d e f g h i j k l
m n o p q r s t u v w x
y z and J I H G F E D C B A
V U T S R Q P O N M L K
Z Y X W

Now the word processor has to be smart enough to `do the right thing', and
give me

a b c d e f g h i j k l
m n o p q r s t u v w x
y z and H G F E D C B A
T S R Q P O N M L K J I
Z Y X W V U

(ie, fill right-to-left in the hebrew sections.)  This can all be done
with a postpass.  You always type the hebrew left to right.  On output,
*after* the formatting, any line of hebrew is reversed before it is
printed.

I could be all wet in everything I'm saying here, but this is what I
understand the problem to be . . .

-tom

fgd3@jc3b21.UUCP (Fabbian G. Dufoe) (11/01/89)

     Your point about line breaking is absolutely correct.  That issue and
several others are discussed in an excellent article in the July 1984 issue
of Scientific American.  It's called "MultiLingual Word Processing" by
Joseph D. Becker.  Becker was manager of international advanced development
at the Xerox Office Systems Division in Palo Alto.  The software he
describes runs on the Xerox Star, but the principles apply to the Amiga as
well.  

     The article, which begins on page 96, is of interest for two reasons.
The theoretical discussion of the problems of multilingual word processing
is excellent.  And for those seriously seeking multilingual word processing
capabilities it might be worth checking with Xerox to see if they have
marketed anything.

--Fabbian Dufoe
  350 Ling-A-Mor Terrace South
  St. Petersburg, Florida  33705
  813-823-2350

UUCP: ...uunet!pdn!jc3b21!fgd3

finkel@TAURUS.BITNET (11/09/89)

Newsgroups: comp.sys.amiga
Subject: Re: typing right-to-left
Summary:
Expires:
References: <1989Oct22.191705.5211@contact.uucp> <15984@pollux.UUCP> <1249@lakes
Sender:
Reply-To: finkel@virgo.UUCP (Udi Finkelstein)
Followup-To:
Distribution:
Organization: Tel-Aviv Univesity Math and CS school, Israel
Keywords: word processors, AmigaTeX, LaTeX

In article <12764@polya.Stanford.EDU> rokicki@polya.Stanford.EDU (Tomas G. Rokic
>
>There's one additional consideration---line breaking.  If I type a roman
>alphabet, and then a hebrew alphabet (using caps for the latter), I want
>to type
>
>a b c d e f g h i j k l
>m n o p q r s t u v w x
>y z A B C D E F G H I J
>K L M N O P Q R S T U V
>W X Y Z
>
>Now, the Hebrew should be read right-to-left, so what I want to see on
>output (or on the screen) is
>
>a b c d e f g h i j k l
>m n o p q r s t u v w x
>y z J I H G F E D C B A
>V U T S R Q P O N M L K
>Z Y X W

For various reasons, it will appear as:

a b c d e f g h i j k l
m n o p q r s t u v w x
y z Z Y X W V U T S R Q
P O N M L K J I H G F E
D C B A

I haven't seen yet a hebrew WP which will handle mixed hebrew-english
sentences __spawning more than one line__ intuitively.

Anyhow, your example is irrelevate, because even though it contains
hebrew and english, it assumes that the cursor moves from left to right!

the more common situation is a hebrew WP in which the cursor is moving
from right to left, and in which you have to insert an english sentence:

L K J I H G F E D C B A
X W V U T S R Q P O N M
q r s t u v w x y z Z Y
e f g h i j k l m n o p
a b c d

As you can see, the english sentence is 'a bit' mixed. This can be solved,
but I never saw a WP which handled this correctly. Since the most common
usage of mixed hebrew/english documents ( from self experience ) is a
ducument which is 99% hebrew, and has only a few isolated english words
inside ( usually these are names or un-translatable technical terms ),
There are very rare situations in which we have a group of more than one
english words inside a hebrew document, spawning more than one line.
BTW, not even all the 'heavy' WP's used in newspapers handle this
correctly.

>(whether that last line is left or right justified is a separate issue.)
>I might be satisfied to type it in as above.  But if I wanted to insert
>a word between the two, such as `and', what I get is
>
>a b c d e f g h i j k l
>m n o p q r s t u v w x
>y z and J I H G F E D C B A
>V U T S R Q P O N M L K
>Z Y X W
>
>Now the word processor has to be smart enough to `do the right thing', and
>give me
>
>a b c d e f g h i j k l
>m n o p q r s t u v w x
>y z and H G F E D C B A
>T S R Q P O N M L K J I
>Z Y X W V U
>
>(ie, fill right-to-left in the hebrew sections.)  This can all be done
>with a postpass.  You always type the hebrew left to right.  On output,
>*after* the formatting, any line of hebrew is reversed before it is
>printed.
>
>I could be all wet in everything I'm saying here, but this is what I
>understand the problem to be . . .
>
>-tom

Most of what you wrote is correct, but you assumed that we type hebrew
from left to right in some kind of 'insert' mode. This is unnatural.
Hebrew WP's move their cursor from left to right, and pressing RETURN
moves the cursor to the rightmost column of the next line.

There are a few approaches to designing a Hebrew/English Word processor
user interface, but generally all the good Hebrew/English WP's share a
few common things:

1. The WP has 2 modes for cursor movement. in one mode, the cursor
starts on the rightmost column and moves to the left as words are
being typed. pressing RETURN would move it to the rightmost column
on the next line. To visualize this, take your english WP, and
place a mirror in front of your monitor, and look at the display
through the mirror. You will get the idea...

2. the WP has 2 modes for character sets. a hebrew/uppercase engligh
mode, and an upper/lowercase english mode. On simple WP's switching
the mode actually switches the character sets. on more advanced
WP's, all 3 types of characters are dibile on the screen at once, but
switching modes changes the keyboard bindings of the keys, so that
hebrew can be typed by pressing the letter keys, and english by
using the SHIFT key.

3. On any decent hebrew WP, it is possible to type any combination
of hebrew/digits/english characters in it's natural reading direction.
for example, suppose we have a hebrew word 'DCBA' ( remember, it's
right to left! ). When I want to type '123456789   DCBA', I will
press the keys according to the natural flow: A,B,C,D,1,2,3,4,5,6,7,8,9 .
and I will see ( '_' denotes the cursor )

Every line here is what displayed on the screen after every key is pressed:

                _   an empty line.
               _A   The cursor moves one character left after pressing A.
              _BA
             _CBA
            _DCBA
           1_DCBA   Note that the digits are 'pushed' into the text.
          12_DCBA
.
.
   123456789_DCBA

Now, If I will press 'A', again, I will see:

_A 123456789 DCBA

Since I finished typing the number, the cursor will move to the end of the
line, since this is where the hebrew letter 'A' is supposed to appear.

This can be discussed much further, but it no longer has anything to do
with the Amiga ...

Tom, I hope you can understand now what kind of clumsy support we have
for hebrew inside TeX documents!

A friend of mine, Asaph Zemach, ( asaph@taurus.BITNET ), has written a
hebrew/english WP , which demonstrates these principals excellently.
In my opinion, this WP has the best user interace on any hebrew WP I
ever saw ( and I saw dozens of them on different machines ). By 'user
interface' I only mean the way the cursor moves and places the words
on the screen. the rest of the program is not so polished, but since
it's only V0.32, this is forgiven ( and we don't have any alternative
hebrew WP on the Amiga anyhow! )

Asaph, if you read this, please comment!

Udi

-------------------------------------------------------------------------------
Udi Finkelstein       | Bitnet:   finkel@taurus.bitnet or finkel@math.tau.ac.il
Tel Aviv University   | Internet: finkel%taurus.bitnet@cunyvm.cuny.edu
Israel                | UUCP:     ...!psuvax1!taurus.bitnet!finkel
-------------------------------------------------------------------------------

lsr@Apple.COM (Larry Rosenstein) (11/17/89)

In article <12764@polya.Stanford.EDU> rokicki@polya.Stanford.EDU (Tomas G. 
Rokicki) writes:
> There's one additional consideration---line breaking.  If I type a roman
> alphabet, and then a hebrew alphabet (using caps for the latter), I want
> to type
> 
> a b c d e f g h i j k l
> m n o p q r s t u v w x
> y z A B C D E F G H I J
> K L M N O P Q R S T U V
> W X Y Z
> 
> Now, the Hebrew should be read right-to-left, so what I want to see on
> output (or on the screen) is
> 
> a b c d e f g h i j k l
> m n o p q r s t u v w x
> y z J I H G F E D C B A
> V U T S R Q P O N M L K
> Z Y X W

Just for fun I tried out the Macintosh Hebrew system, and tried this 
example.  When I typed in the characters in the order shown first, I got 
the output:

a b c d e f g h i j k l
m n o p q r s t u v w x
J I H G F E D C B A y z     etc.

Also, the characters were always right justified.  I seem to recall 
reading that in Hebrew you read from right to left, but that if there is 
an English word embeded, then it is written left to right as a separate 
block of text.

When I click between the English and Hebrew I get a split insertion point, 
since the location of the insertion point is physically split on the 
screen.  Typing removes Hebrew letters from the left edge of the line and 
places then at the right of the following line.

Another interesting effect is that you can make a selection that is 
discontiguous on the screen.  In the example above I can select the z and 
A, which results in both letters being highlighted, even though they are 
not adjacent.  

I wouldn't call this a conclusive test, because there's a Control Panel 
option to modify the Hebrew system, and I can't figure out what the 
options do.  

All this happens via a series of routines called the Script Manager.  I 
nthe case of text, there are routines to map a point to a character, 
highlight text, etc.  All these are documented in Inside Macintosh volume 
5.

There's a lot of work besides handling right-to-let characters, in order 
to localize software for th Hebrew or Arabic market.  For example, in 
Hebrew the menu items are right justified.  In Arabic a letter has several 
glyphs depending on its context; if you type a character, it may change 
the appearance of the preceding character.

Larry Rosenstein, Apple Computer, Inc.
Object Specialist

Internet: lsr@Apple.com   UUCP: {nsc, sun}!apple!lsr
AppleLink: Rosenstein1

lsr@Apple.COM (Larry Rosenstein) (11/17/89)

In article <8911091258.AA17328@virgo.tau.ac.il> finkel@TAURUS.BITNET 
writes:
> the more common situation is a hebrew WP in which the cursor is moving
> from right to left, and in which you have to insert an english sentence:
> 
> L K J I H G F E D C B A
> X W V U T S R Q P O N M
> q r s t u v w x y z Z Y
> e f g h i j k l m n o p
> a b c d

When I tried this on the Mac, it came out as:

L K J I H G F E D C B A
X W V U T S R Q P O N M
a b c d e f g h i j Z Y
l m n o p q r s t u v w
                  x y z

When the word wrap happens in the English sentence, it removes the word 
from the middle of the line (the last English word) and places it at the 
right edge of the following line.


Larry Rosenstein, Apple Computer, Inc.
Object Specialist

Internet: lsr@Apple.com   UUCP: {nsc, sun}!apple!lsr
AppleLink: Rosenstein1