RTL for FireMonkey | info

Usage Guide

How to use

a. Create a FireMonkey project.

b. Put a TFMXRTL component from RTL group, on your main form. This solves every FireMonkey's malfuction, against complex scripts and right to left texts.

c. If you want to make a bidiRightToLeft form, you can use a RTL style, which is provided by "RTLStyle Maker".


You can contact us at support@fmxrtl.com.

What TFMXRTL affecting?

TFMXRTL, changes some core objects of FireMonkey, which are responsible for text presentation. Because of the fact that we correct, core classes almost every text related action, in FireMonkey will be corrected. For example any of the commands below will work as expected.

Label1.Text := 'some arabic text';
(live binding)
Canvas.FillText(ARect, 'some right to left text', True, 1, [RightToLeft], TTextAlign.Trailing);


Does it affect text generation, in any way?

Processing a bidi text is a lot more complex than processing a single direction text. But with our fast algorithm the effect is minimized the way that you won't feel it in a real environment.

Usage Guide and Tips

The easiest way to create a right to left, bidi aware application, with FireMonkey.

How to create a complete right to left application

Be sure that you installed FMXRTL package.

Make sure that you have some right to left FireMonkey-Styles. If you don't use "RTLStyle-Maker.exe" to create some from an existing FireMonkey-Styles (remember that by installing RTLFixer package you shall get 3 rtl styles in "\Windows\". Which are Win7Style, Win8Style and Win10Style

Create a FireMonkey project (Multi-Device or Metropolis-UI).

Put a TStyleBook in your form, and set a rtl style for each platform.

Design your forms as you want it.

Test your program on windows.

Put TFMXRTL on your main form.

Change BidiMode of your forms, to bidiRightToLeft.

For all components (except TTreeViewItem) which has TextSettings.HorzAlign, change TextSettings.HorzAlign to Trailing. For example if you put TEdit in your form, change its TextSettings.HorzAlign to Trailing.

If you wanted to use listview, be sure to check our provided rtl presentation, of items. To do so simply put TListViewAppearanceRTL in your main form, and look at the ItemAppearance.ItemAppearnce list. Currently there is an issue with using this component, in IDE, so be sure to check our video before using this component.

If you are using TTreeView, put TTreeViewRTL in your form, to make it right to left. Just remember, you shall always put your TTreeView in your form and save it, before using TTreeViewRTL.

Put a TTabControlRTL in a form with a TTabControl, to make order of the tabs, right to left. Note: you shall save your form with TTabControl on it before using TTabControlRTL.

Debugging and Reporting issues

How to find is the issue, bidi related or not.
How to report an issue.

First, ensure that the issue is related to the bidi components

Normally, an project will work exactly the same with or without FMXRTL components, except of course the way they are shown. So, test if they are the cause of any problem or not, you can simply remove them from your form, then remove their units (any unit starting with "rtl") and then run your project again. If problem still exists, you shall search for the problem elsewhere, otherwise contact us, reporting the issue.

To report bugs

To report bugs, misfunctions, or any misbehviors please email us at support@fmxrtl.com or use our contact form.

We will report it back to you, when the fixation being ready.

The best way to create and test an Android app

Well, it is hard to tell you what is the best way, but we are providing you some videos and sample codes, which giving you some good practices, of how you can create and test your app the RAD way.