Recent

Author Topic: BiDi support in the native widgetset?  (Read 6939 times)

vicot

  • Full Member
  • ***
  • Posts: 114
Re: BiDi support in the native widgetset?
« Reply #15 on: May 23, 2013, 05:35:04 pm »
Yes, I know that most toolkits have this problem, including the native Windows GUI.
But the two best toolkits Qt and Gtk manage it right.
Thanks for your help, Avishai. I appreciate it.

Avishai

  • Hero Member
  • *****
  • Posts: 1021
Re: BiDi support in the native widgetset?
« Reply #16 on: May 23, 2013, 06:26:12 pm »
I disagree that it is "Right".  The meaning of the Left arrow key (in English) is to move to the previous letter of a word.  What you seem to want is that when it is in an Arabic word sequence, it should move to the Next letter.  I think most Middle Easterners would see that as very strange.

Also, when you activate BiDiMode, the Right/Left arrow keys reverse there meaning.  Left means Next and Right mean Previous.  You can test this in NotePad.  Type in some English text on one line and some Arabic text on another line.  Then press Ctrl/RightShift to activate Right To Left Reading Order.  Move to the end of what you typed in English and press the Left Arrow Key.  Then do the same in the Arabic text.
Lazarus Trunk / fpc 2.6.2 / Win32

taazz

  • Hero Member
  • *****
  • Posts: 5363
Re: BiDi support in the native widgetset?
« Reply #17 on: May 24, 2013, 02:03:04 am »
since lcl uses the native controls of the OS the behavior you describe is not considered a bug you can report it if you like but you will get the same response from the team as well. In any case lcl can use both gtk and QT as the underline widgetset even on windows but you have to share those dlls with your application as well you shouldn't expect them to be installed by default. In any case open "project\Project Options" menu and select the "Build Modes" on the tree at the left on second grid at the right with the title "IDE macro Values" select the LCLWidgetType as the macro name and as a macro value you will be able to select gtk, qt or any other supported widgetset.

Make sure that you have GTK/QT installed on your system or your application will not run.
Good judgement is the result of experience … Experience is the result of bad judgement.

OS : Windows 7 64 bit
Laz: Lazarus 1.4.4 FPC 2.6.4 i386-win32-win32/win64