Bugzilla – Bug 5062
Hebrew string appears incorrectly on player UI
Last modified: 2009-02-17 13:37:28 UTC
Plugin Applications - bad reading order in title 5. Some long items (the are scrolled in the display) are shown when the last part is first, and the item is scrolled to the left (where most of the items are shown from the start and they scroll to the right). For example: Server http port number under Server info. Michael H reply: Major change. Post 6.5.2. No screenshot
At present the scolling logic does not take account of the language set - it it quesses the direction to scroll based on on the unicode direction of the string - currently only going right to left if there are bidiR but no bidiL characters in the string. Should we take account of the language too?
targetting localisations for 6.5.3 so it can be dealt with and we can move on. Anything requiring more complicated changes may get punted.
How difficult would it be to make this change? i.e. check the Slimserver language to decide the scrolling direction.
Its trivial to change, but I wanted to check this is the desired operation - for a Hebrew user with European named song's I got feedback before that this should scroll right to left. So at present the scrolling direction is automatically based on the unicode direction indicators with the caveat that the mixed case is fixed to right to left. I think the desired change would be for the mixed case to use the default direction for the current language?
I agree with you, Triode. It makes sense to me.
committed to 6.5.3 as change 12293 - please confirm this looks correct.
Moving 6.5.3 target bugs to 6.5.4.
Mickey - My view is that this is fixed?
When using the Hebrew language option and try reading RSS feeds in the squeezebox, or even playing song, the text is going from left to right. Hebrew is a right to left language
At present RSS news will always be left to right, but all other displays should do l->r or r->l depending on the string being shown.
Moving open 6.5.x bugs along to 7.0
Moving post 7.0 - SC7 doesn't feature any update Hebrew localization
It not clear to me what the remaining bug is here - could we describe it in more detail?
Yes, let's close this bug and re-open if needed. The logic seems correct to me.
This bug appears to have been fixed in the latest release! If you are still experiencing this problem, feel free to reopen the bug with your new comments and we'll have another look. Make sure to include the version number of the software you are seeing the error with.
This issue is still present when viewing RSS feeds. Marking this for evaluation to either reopen, or create a separate bug.
Can you confirm where the RSS feeds are being viewed - which menu? Is this for the feed name or the contents - are the incorrect ones split into multiple lines?
Customer provided this list of RSS feeds: http://rotter.net/rss/rotternews.xml http://www.ynet.co.il/Integration/StoryRss1854.xml http://www.magazin.org.il/news_xml.asp When customer enters these into SC 7.3.2 and sets his SB3 to display RSS he sees hebrew characters traveling right to left-- it should be reversed. This is on the display of the SB3. Not sure how he's inducing the RSS display. I tried this also and can confirm. I reproduced by setting the RSS screensaver to display when idle.
So if this is with RSS screensaver then I know why - the scolling mode ("ticker") does not currently support scrolling in the reverse direction. One of the reasons is that I didn't know how this should work for mixes of right to left and left to right text. It may be possible if we assume all the text is reversed, but its not supported by the current code. Suggest we make this an enhancement request?
It would be best to scroll right-to-left for languages with that characteristic, regardless of whether some left-to-right text appears in the middle of it. From my quick googling, RSS feeds specify language. However, Hebrew is not a defined language code. http://www.rssboard.org/rss-language-codes Neither is Arabic, another right-to-left language. Someone would need to look at the specific Hebrew RSS feeds to figure out what they're specifying as language. Definitely an enhancement request.
We can get the langugage from the unicode encoding of the string. The problem is what happens if you have some feeds which are Hebrew and some which are not. Does the scolling clear the screen and then restart in the other direction? What if there are multiple entries from one feed which are in different directions?
I did some more googling. The link above specifies the language codes allowable by the W3C, which leads to this document: http://www.ietf.org/rfc/rfc1766.txt and http://www.w3.org/TR/REC-html40/struct/dirlang.html#langcodes The Hebrew language code is "he", and Arabic is "ar". Regarding right-to-left and left-to-right ... clearing the screen when a reverse direction text is encountered would not be a great idea. In Hebrew, a direction reversal can happen if English is embedded in the text. Possibly appears frequently in an RSS feed. In these cases, the scrolling should continue from right-to-left, but with the English shown correctly from left-to-right. In all cases, sticking with right-to-left scrolling would be appropriate.
We already get the direction from the encoding of the string (its in S:D:Lib:Fonts) "Regarding right-to-left and left-to-right ... clearing the screen when a reverse direction text is encountered would not be a great idea." Ticker mode deals with a stream of text strings, the proposal is to drain the screen before displaying the next text string if it is of a differnt direction from the previous one. This will occur if an RSS feed has a mix of text types. Otherwise one story would come back the other way when if the next one should scroll the other way!
I think clearing the screen sounds reasonable. Mickey points out that if there is Hebrew characters in the middle of the string of English characters, for instance, that this will cause some strange behavior.
I've added trial support for right to left scrolling of Hebrew/other languages in RSS screensaver to 7.4. Please try the latest 7.4 nightly to see if it works. Note - if you have an RSS feed which includes both left to right and right to left languages then it may reverse direction, but if a feed is always the same way round then it should continue scrolling that way.