Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2017-11

BiDi mode support

1 message · 1 person ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Giuliano Colla

I have a family of application which must support the change of language on the fly. This we're doing since a lot of time, and everything works just fine.

Now I face the problem of providing support also for right to left languages, such as Arabic.

Application.BidiMode can be set true or false, depending on the selected language, and that's ok, but setting up the proper alignment is rather cumbersome, IMO.

You can use flipchildren() but after that I didn't find a way to detect if control alignment is the original one at design time, or it has been flipped. One should add a flag to each form in order to keep track of the flipping history.

A more general solution to properly support right to left languages and layouts, IMHO, would be to add an isFlipped property to Tcontrol, which is toggled each time the control is flipped. It wouldn't be Delphi compatible, but also flipchildren() isn't Delphi compatible, so this shouldn't be an issue.

However, before submitting a patch I'd like to know if I'm missing something, and the solution is already there.

Giuliano

Reply by email