X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Ftext%2Ftext-abstraction%2Fbidirectional-support-impl.cpp;h=5d096c3e8000d816e70070d52779987759cee850;hb=a7033d194d2f9c6a91028abcc3243417b6a82282;hp=10ce56d13c7f8a030536ff7b06ccf38f8067b131;hpb=e7ae0138477b0f724e0a737feaf3ba118a810ef1;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/dali/internal/text/text-abstraction/bidirectional-support-impl.cpp b/dali/internal/text/text-abstraction/bidirectional-support-impl.cpp index 10ce56d..5d096c3 100644 --- a/dali/internal/text/text-abstraction/bidirectional-support-impl.cpp +++ b/dali/internal/text/text-abstraction/bidirectional-support-impl.cpp @@ -295,6 +295,8 @@ struct BidirectionalSupport::Plugin for( CharacterIndex index = 0u; index < numberOfCharacters; ++index ) { CharacterDirection& characterDirection = *( directions + index ); + CharacterDirection nextDirection = false; + characterDirection = false; // Get the bidi direction. @@ -303,14 +305,14 @@ struct BidirectionalSupport::Plugin if( RIGHT_TO_LEFT == bidiDirection ) { characterDirection = true; + nextDirection = true; } else if( NEUTRAL == bidiDirection ) { // For neutral characters it check's the next and previous directions. // If they are equals set that direction. If they are not, sets the paragraph's direction. // If there is no next, sets the paragraph's direction. - - CharacterDirection nextDirection = paragraphDirection; + nextDirection = paragraphDirection; // Look for the next non-neutral character. Length nextIndex = index + 1u; @@ -328,7 +330,9 @@ struct BidirectionalSupport::Plugin characterDirection = previousDirection == nextDirection ? previousDirection : paragraphDirection; // Set the direction to all the neutral characters. + // The indices from currentIndex + 1u to nextIndex - 1u are neutral characters. ++index; + for( ; index < nextIndex; ++index ) { CharacterDirection& nextCharacterDirection = *( directions + index ); @@ -342,7 +346,7 @@ struct BidirectionalSupport::Plugin } } - previousDirection = characterDirection; + previousDirection = nextDirection; } }