[prev in list] [next in list] [prev in thread] [next in thread] 

List:       batik-users
Subject:    Re: text - rtl examples
From:       Thomas DeWeese <Thomas.DeWeese () Kodak ! com>
Date:       2003-10-29 12:52:43
[Download RAW message or body]

rajesh@elansoft.com wrote:

> I am using j2sdk1.4.1_04, batik-1.5. that file displaying in the batik
> browser. I think we have to use jdk1.3.1 or later versions. See the
> attached file.

    I've done some checking and I am 99% certain this is a bug in the
1.4.1 JDK, and the work around in Batik would be extremely nasty.

    However I can suggest some content workarounds.
Basically the 1.4 Bidi code doesn't like it when you set the BIDI_EMBEDING
property for the first character in a 'paragraph' contrary to what it
considers the default BIDI direction for that character.

    To work around this you can ensure that the first character in the
text element has no BIDI attributes (probably by making it a space in
a tspan with xml:space="preserve"), you can then use x/y etc to arrange
for the rest of the text to appear where you want and how you want:

   <text><tspan xml:space="preserve"> </tspan><textPath xlink:href="#t_32"
       ><tspan unicode-bidi="bidi-override" direction="rtl"
         >mxet</tspan></textPath></text>

    I am still looking at a possible workaround but it would fairly
significantly negatively impact the performance of the normal case so I
am extremely reluctant to do so.

>>Thanks for sticking with me on this, Thomas.  That's a nuisance for me - I
>>can't go back to 1.3.1 for lots of reasons, but I could go for a later
>>version of 1.4. Does anyone else have any experience of this - does it
>>work
>>with other flavours of 1.4 ?
>>
>>Cheers
>>
>>Chris
>>
>>
>>>-----Original Message-----
>>>From: Thomas DeWeese [mailto:Thomas.DeWeese@Kodak.com]
>>>Sent: 23 October 2003 14:33
>>>To: Batik Users
>>>Subject: Re: text - rtl examples
>>>
>>>
>>>Chris Faulkner wrote:
>>>
>>>
>>>>Thanks for giving me the example. I added a white rectangle to
>>>
>>>it so that I
>>>
>>>>could read the text ! The text remains "txet" (the adobe plugin
>>>
>>>gives "extt"
>>>
>>>>!) when viewed but it should be "text". I rasterise with "java -jar
>>>>batik-rasteriser.jar <file>" and create the png. I am on batik
>>>
>>>1.5 with JDK
>>>
>>>>1.4.1_02  - my image is attached.
>>>
>>>   Hmm, I was using 1.3.1 and it works with that.  It does not work with
>>>JDK 1.4.1 - We have seen some similar problems in the past because they
>>>'upgraded' the bidi engine in 1.4 in the past when we have had problems
>>>we were doing 'bad things' - however in this case I think we are doing
>>>the 'right thing'.  If you are interested in looking into this we
>>>set all the BIDI attributes on the text in
>>>xml-batik/sources/org/apache/batik/bridge/SVGTextElementBridge.java:1439
>>>
>>>    I don't know if I'll have time to look at this in more depth
>>>right now.
>>>
>>>><?xml version="1.0" standalone="no"?>
>>>><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
>>>>   "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
>>>><svg width="100" height="100" viewBox="498355 252780 50 50"
>>>>      xmlns="http://www.w3.org/2000/svg"
>>>>      xmlns:xlink="http://www.w3.org/1999/xlink">
>>>>
>>>><rect x="498355" y="252780" width="50" height="50" fill="white"/>
>>>><path id="t_32" d="M498376,252804 L498399,252818 L498627,253000"
>>>>  fill="none" stroke="white"/>
>>>><text>
>>>><textPath xlink:href="#t_32">
>>>><tspan unicode-bidi="bidi-override" direction="rtl">txet</tspan>
>>>></textPath>
>>>></text>
>>>></svg>
>>>>
>>>>Chris
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>>-----Original Message-----
>>>>>From: Thomas DeWeese [mailto:Thomas.DeWeese@Kodak.com]
>>>>>Sent: 23 October 2003 13:37
>>>>>To: Batik Users
>>>>>Subject: Re: text - rtl examples
>>>>>
>>>>>
>>>>>Hi Chris,
>>>>>
>>>>>   Works for me:
>>>>>
>>>>><?xml version="1.0" standalone="no"?>
>>>>><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
>>>>>  "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
>>>>><svg width="100" height="100" viewBox="498355 252780 50 50"
>>>>>     xmlns="http://www.w3.org/2000/svg"
>>>>>     xmlns:xlink="http://www.w3.org/1999/xlink">
>>>>><path id="t_32" d="M498376,252804 L498399,252818 L498627,253000"
>>>>> fill="none" stroke="red"/>
>>>>><text>
>>>>><textPath xlink:href="#t_32">
>>>>><tspan unicode-bidi="bidi-override"
>>>>>direction="rtl">txet</tspan></textPath>
>>>>></text>
>>>>></svg>
>>>>>
>>>>>
>>>>>Chris Faulkner wrote:
>>>>>
>>>>>
>>>>>
>>>>>>Hi
>>>>>>
>>>>>>I now have this but it still fails.
>>>>>>
>>>>>><path id="t_32" d="M498376,252804L498399,252818L498627,253000"
>>>>>>class="invis"/>
>>>>>><text>
>>>>>><textPath xlink:href="#t_32">
>>>>>><tspan unicode-bidi="bidi-override"
>>>>>
>>>>>direction="rtl">txet</tspan></textPath>
>>>>>
>>>>>></text>
>>>>>>
>>>>>>
>>>>>>Any ideas ?
>>>>>>
>>>>>>Thanks
>>>>>>
>>>>>>
>>>>>>Chris
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>>-----Original Message-----
>>>>>>>From: Thomas DeWeese [mailto:Thomas.DeWeese@Kodak.com]
>>>>>>>Sent: 23 October 2003 12:28
>>>>>>>To: Batik Users
>>>>>>>Subject: Re: text - rtl examples
>>>>>>>
>>>>>>>
>>>>>>>Chris Faulkner wrote:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>>Hello
>>>>>>>>
>>>>>>>>I am trying to get rtl-oriented text to work. I have batik
>>>
>>>1.5 - in the
>>>
>>>>>>>>readme it says that rtl text should work. Is there anything
>>>>>>>
>>>>>>>wrong with my
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>>example below ?
>>>>>>>
>>>>>>>  You need to add set the "unicode-bidi" property to
>>>
>>>"bidi-override".
>>>
>>>>>>>
>>>>>>>
>>>>>>>><path id="t_32" d="M498376,252804L498399,252818L498627,253000"
>>>>>>>>class="invis"/>
>>>>>>>><text>
>>>>>>>><textPath xlink:href="#t_32">
>>>>>>>><tspan direction="rtl">My Text</tspan></textPath>
>>>>>>>></text>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>---------------------------------------------------------------------
>>>>>>>To unsubscribe, e-mail: batik-users-unsubscribe@xml.apache.org
>>>>>>>For additional commands, e-mail: batik-users-help@xml.apache.org
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>---------------------------------------------------------------------
>>>>>>To unsubscribe, e-mail: batik-users-unsubscribe@xml.apache.org
>>>>>>For additional commands, e-mail: batik-users-help@xml.apache.org
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>---------------------------------------------------------------------
>>>>>To unsubscribe, e-mail: batik-users-unsubscribe@xml.apache.org
>>>>>For additional commands, e-mail: batik-users-help@xml.apache.org
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>
>>>------------------------------------------------------------------------
>>>
>>>>>
>>>>>------------------------------------------------------------------------
>>>>>
>>>>>---------------------------------------------------------------------
>>>>>To unsubscribe, e-mail: batik-users-unsubscribe@xml.apache.org
>>>>>For additional commands, e-mail: batik-users-help@xml.apache.org
>>>
>>>
>>>
>>>---------------------------------------------------------------------
>>>To unsubscribe, e-mail: batik-users-unsubscribe@xml.apache.org
>>>For additional commands, e-mail: batik-users-help@xml.apache.org
>>>
>>>
>>
>>
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: batik-users-unsubscribe@xml.apache.org
>>For additional commands, e-mail: batik-users-help@xml.apache.org
>>
>>
>>
>>
>> ------------------------------------------------------------------------
>>
>>
>>------------------------------------------------------------------------
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: batik-users-unsubscribe@xml.apache.org
>>For additional commands, e-mail: batik-users-help@xml.apache.org




---------------------------------------------------------------------
To unsubscribe, e-mail: batik-users-unsubscribe@xml.apache.org
For additional commands, e-mail: batik-users-help@xml.apache.org

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic