[sword-devel] Bug RtoL support in WinSword

Chris Little chrislit at crosswire.org
Wed Oct 25 02:16:29 MST 2006


Differences in display quality on different platforms 
(GnomeSword/BibleTime vs. BibleCS on 9x vs. BibleCS on 2K vs. BibleCS on 
XP) are due to differences in the display controls provided by the OS. 
All of the KDE & GNOME controls are fairly good Unicode controls. On 
Windows, going from 95 > 98 > 2K > XP, the controls have been improving 
steadily, but that means that the really old versions of Windows are 
still using really bad controls with virtually no Unicode support or 
awareness.

We try to fix the bad behavior by reversing differing segments of text 
on different Windows platforms. I don't think we can really predict 
behavior of RtoL scripts on localized versions of Win9x which have some 
notion of RtoL ordering (but I realize that's not your issue).

Peter von Kaehne wrote:
> Win 2000 fails in both modules, though all required fonts are available.

I'm pretty sure the RtoL code was all written under Win2K, so I don't 
understand how it became broken. Our code currently just checks WinNT 
vs. Win9x to determine behavior, so I suspect we will have to start 
checking actual major/minor versions to change behavior for 2K vs. XP+.

> As soon as RtoL is specified the letters are printed mirror-imaged
> 
> Without RtoL the letters and words are ok, but the order of sentences is messed up.
> 
> Win XP (Iranian localisation) The Arabic module displays ok suddenly, while the Farsi, with the same basic configuration) has still teh same problem.
> 
> Could there be a problem with the Unicode procession in the Windows sword engine? While graphically practically the same, Farsi letters are a different range than Arabic letters on UNicode.

BibleCS specifically asks modules about their languages. Currently it 
only knows to handle Hebrew and Arabic specially, so if you just change 
the language code in the .conf file to ar, it should work like the 
Arabic module.

> Gnomesword and Jsword have no problem.
> 
> I can post the module out to anyone who is interested. I will over short or long go to the sword library anyway.
> 
> Peter
> 
> 
> 
> 
> 
> -------- Original-Nachricht --------
> Datum: Tue, 24 Oct 2006 08:28:33 +0200
> Von: "Peter von Kaehne" <refdoc at gmx.net>
> An: SWORD Developers\' Collaboration Forum <sword-devel at crosswire.org>
> Betreff: Re: [sword-devel] Bug RtoL support in WinSword
> 
>> windows 2000
>>
>> -------- Original-Nachricht --------
>> Datum: Mon, 23 Oct 2006 15:15:01 -0700
>> Von: Chris Little <chrislit at crosswire.org>
>> An: SWORD Developers\' Collaboration Forum <sword-devel at crosswire.org>
>> Betreff: Re: [sword-devel] Bug RtoL support in WinSword
>>
>>> Which version of Windows are you using? Which version of MSIE do you 
>>> have installed?  Is your version of Windows a localized version?
>>>
>>> Right to left language support is bad in Windows 9x. There is no 
>>> reasonable way for us to fix this for these versions of Windows which 
>>> aren't even supported by MS any longer.
>>>
>>> Everything works fine in WinXP. I think Win2K is fine too. It sounds 
>>> like there may be a bug in the algorithm that detects whether to reverse
>>> codepoint order in Win9x, but it was never more than a hack anyway.
>>>
>>> --Chris
>>>
>>>
>>> Peter von Kaehne wrote:
>>>> Hi,
>>>>
>>>> I have created (not yet posted to you) a Farsi complete Bible module.
>>>>
>>>> In the process I think I have found a bug within Sword for Windows
>> RtoL
>>> support.
>>>> I am running the newest published version (not a development version
>> but
>>> 1.5.9)
>>>> My module is UTF-8 encoded and needs RtoL support. So I added copying
>>> from arasvd.conf the relevant directions.
>>>> As a result my text is mirror imaged in Sword for Windows, while
>> working
>>> perfectly in Gnomesword. 
>>>> I then took the "Direction=RtoL" out of  farsi.conf and had suddenly
>>> readable RtoL text, but now the verses where ordered all from left to
>> right.
>>>> I then looked at the existing Arabic module which specifically
>> mentions
>>> in its config file "RtoL Support added" or some such and found that it
>> has
>>> the same behaviour in WinSword - while I do not speak Arabic  I am able
>> to
>>> discern enough of the vocabulary dt my Farsi knowledge which shares
>> script
>>> and some vocabulary
>>>> Removing the Direction=RtoL  directive suddenly makes that module also
>>> readable but again the verses as blocks ordered the wrong way round.
>>>> This problem does not appear in gnomesword. I do not think it is in
>>> Bibletime either. 
>>>> In Gnomesword it is actually the other way round - if the
>> Direction=RtoL
>>> is missing the text is ordered wrongly LtoR on a verse block level,
>> though
>>> individual verses are readable RtoL.
>>>> This is a serious bug for the existing Arabic module and makes my
>>> current work on Farsi and some other RtoL modules pretty much unusuable
>> in the
>>> Windows version. I am not sure whether other modules are affected.
>> Presumably
>>> Hebvrew? I can not comment on MacSword
>>>> Peter
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>> _______________________________________________
>>> sword-devel mailing list: sword-devel at crosswire.org
>>> http://www.crosswire.org/mailman/listinfo/sword-devel
>>> Instructions to unsubscribe/change your settings at above page
>> -- 
>> Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen! 
>> Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer
>>
>> _______________________________________________
>> sword-devel mailing list: sword-devel at crosswire.org
>> http://www.crosswire.org/mailman/listinfo/sword-devel
>> Instructions to unsubscribe/change your settings at above page
> 



More information about the sword-devel mailing list