I'm in touch with the nano (pico clone) developers about adding Hebrew support. They've asked for some help and advice which I know that some of you are much better equipped than myself to give.
The conversation so far is quoted below. The things that they particularly need help with are : Example files in ISO-8859-8 and UTF-8 with a mix of Hebrew and English An example programme that uses fribidi (with source, of course) Or best of all, somebody write a bidi patch for nanu and send it to them. The problem I foresee with the latter is that nano is developed for debian, and unless I am out of date fribidi is not yet .deb packaged. Anyone wishing to contribute any of the above please contact me personally. On Tue, 17 Dec 2002, David Benbennick wrote: > > Feature Request: > > > > Hebrew language support. > > I presume you know Hebrew, and have some sort of Hebrew keyboard? Anyway, > could you send some example files? I want a sample file in UTF-8, with > some Hebrew text mixed in with English. Also an all-Hebrew file. And two > images showing how they should be displayed (if you are using Linux, the > xwd command takes a screen shot, assuming you have a program that can > display the text correctly). > > I am almost totally ignorant about how non-English software works. To > make Nano support Hebrew, we need to know what it should do. Some > questions: > > In a file with mixed Hebrew/English, in the Hebrew areas should the right > arrow key make the cursor go left? > > In an all Hebrew file, should the text be aligned at the right edge of the > window? > > As far as I can tell, FriBidi takes a UTF-8 string, and inverts some of it > to produce a displayable string. Do you know of any other features of > FriBidi? In particular, can it tell us where the cursor should go? A > non-trivial example program using FriBidi would be helpful if you know of > one. > On Wed, 18 Dec 2002, Jordi Mallach wrote: > > Bug 1: > > > > Does not handle xterm resizing correctly - exhibits all kinds of strange > > behaviour, both when enlarging and shrinking the window. > > > > Bug 2: > > > > Character position command (Ctrl-C), does not work after resuming from > > suspend. > > After resuming from suspend, if Ctrl-C is pressed, there is no visible > > response whatsoever, and nano continues as if the keystroke had not been > > issued. > > I can't reproduce these bugs in 1.1.12. Can you test that version and > confirm? We'd rather get 1.2.0 out some day and not concentrate on 1.0.x > bugs at this point. > > > Feature Request: > > > > Hebrew language support. > > > > The main challenge with Hebrew is that it is written right to left. A > > library has been written to handle the requirements of Semitic (Hebrew, > > Arabic, Farsi) languages and other (left to right) languages in the same > > document (this concept known as bi-directional text). Basically as soon as > > you add bidi support it will work with all Semitic languages. The > > library's homepage is below. > > Hmm. If the bidi community can help us in some way (like patches), I guess > it'll be done at some point. UTF-8 support in nano is a planned feature, > but nobody has started working on it... so imagine bidi support... Then I wrote : > Thanks for the prompt replies, > > > I presume you know Hebrew, and have some sort of Hebrew keyboard? Anyway, > > could you send some example files? I want a sample file in UTF-8, with > > some Hebrew text mixed in with English. Also an all-Hebrew file. And two > > images showing how they should be displayed (if you are using Linux, the > > xwd command takes a screen shot, assuming you have a program that can > > display the text correctly). > > Fribidi comes with a demo hebrew file and shows what it should > look like (ISO-8859-8 though, not unicode). > > I'll get to work on providing you with some more extensive samples. > > > In a file with mixed Hebrew/English, in the Hebrew areas should the right > > arrow key make the cursor go left? > > No, the cursor key functionality should remain the same. > > > In an all Hebrew file, should the text be aligned at the right edge of the > > window? > > Yes. > > > As far as I can tell, FriBidi takes a UTF-8 string, and inverts some of it > > to produce a displayable string. Do you know of any other features of > > FriBidi? > > In particular, can it tell us where the cursor should go? > > Yes it can. As I understand it all the skeleton stuff needed for a > bidi editor is in there, not just the displaying of text. A quick check > through the .h files gives a good idea. > > > An example of one of the things it can do (taken from fribidi.h) : > > // fribidi_xpos_resolve() does the complicated translation of > // an x-coordinate, e.g. as received through a mouse press event, > // to the logical and the visual position the xcoordinate is closest > // to. It will also resolve the direction of the cursor according > // to the embedding level of the closest character. > > > > This function translates between 'visual' and 'logical' positions. > > e.g. if we say capitals are an RTL character set > > 12345678901 > logical : abc DEF ghi > visual : abc FED ghi > > x-position 7 visually is actually position 5 logically (ie as stored in > memory or on disk). > > > A non-trivial example program using FriBidi would be helpful if you > > know of one. > > There are other people better equipped than me to answer this, for > example the people who added bidi support to Mozilla and > OpenOffice. I'll pass on your request to the Israeli Linux mailing list. -- Blessings, ,&tav;&vav;&kaf;&resh;&bet; Daniel &lamed;&alef;&yod;&resh;&alef; &lamed;&alef;&yod;&nun;&dalet; - Trust in the Lord with all your heart &fkaf;&bet;&lamed;¯&lamed;&kaf;&bet; &yod;&yod; &lamed;&alef; &het;&tet;&bet; do not rely on your own understanding &fnun;&ayin;&shin;&tav;¯&lamed;&alef; &fkaf;&tav;&nun;&yod;&bet;¯&lamed;&alef;&vav; Proverbs 3:5 &he;:ℷ &yod;&lamed;&shin;&mem; ================================================================To unsubscribe, send mail to [EMAIL PROTECTED] with the word "unsubscribe" in the message body, e.g., run the command echo unsubscribe | mail [EMAIL PROTECTED]