Hi @JiHong88 , the editor is impressive and covers nearly all of our requirements. But I don't see a config option for RTL (right to left) text direction in the editor.
Is this something on the roadmap or already existing option? (I didn't see this in the docs). The rtl configuration is defined as..
In a right-to-left, top-to-bottom script (commonly shortened to right to left or abbreviated RTL), writing starts from the right of the page and continues to the left. This can be contrasted against left-to-right writing systems, where writing starts from the left of the page and continues to the right.
Arabic, Hebrew, Pashto, Persian, Urdu, and Sindhi are the most widespread RTL writing systems in modern times.
Example Toolbar button on other editor:
Configuration Example:

Hi @BrianJVarley
Thank for your suggestion.
I'll add RTL option and button to next version.
Hey JiHong88. Looking at the RTL support on different editors, the RTL button seems to be a common approach to flipping the editor content direction. But another thing to consider is order and direction of toolbar buttons.
When I've tested in this editor an other that support RTL fully. You can see that certain toolbar icons are re-ordered and flipped backwards on language change to arabic: (see bold, italic, strikethrough format buttons and toolbar labels)
@JiHong88 will the upcoming implementation of RTL include flipping and re-organising toolbar icons? In addition to flipping the editor content that I mentioned originally. I think the Material Docs give a good explanation of the different factors for icons.

@JiHong88 I see the commit above for RTL. Is this available to test on a public released version? https://github.com/JiHong88/SunEditor/commit/c43b5c511507025c152a1ef4fc5b50355bc29369
@BrianJVarley I will upload it to the test server.
Check and giving me feedback will help for develop.
@JiHong88 sure, How can I check this change on the test server? Is there a link to access it?
@BrianJVarley I'll notify you at the this week after update.
Hi, @BrianJVarley
I uploaded RTL options under development.
It is still being modified.
Modal window, the title at the bottom of the toolbar, and the table selector are being modified.
Please tell me know if there are any further modifications to be made.
Ex) Image modify box, etc...
Hi @JiHong88 I tested the RTL feature above. The editor contents alignment and text typing direction look great for RTL.
But I notice some bugs with toolbar button direction, label direction and dropdown lists contents. When I compare it to this editor implementation of RTL - https://ckeditor.com/ckeditor-4/demo/(To test RTL change browser language to Arabic).
Here is some feedback on RTL feature that I think will improve it. I think if you can make the below changes it will make RTL feature it will be more complete:



@BrianJVarley I updated to the test page.
And please comment on these components.



Also the color picker is modified

@JiHong88 The above changes look correct apart from some changes to icon order (should be reverse order for RTL). A good test to verify RTL is implemented correctly is to open Google Docs and change keyboard language to Arabic to check what toolbar options change.
I do notice some minor bugs on label and toolbar buttons as follows. I think the following changes would improve RTL feature further:
1) Undo / Redo button: These buttons should be pointing same direction as in LTR mode. SO non change to icon, (left arrow = undo, right arrow - redo) See correct implementation here:

2) Indent / Out-dent button: The English part of the label here is backwards, should be LTR:
3) Link Button: should be mirrored:
Undo / redo, more buttons: should be placed on left side of editor:

4) Image Insert Dialog: These button positions should differ from LTR mode (the same way as it was implemented for the general toolbar) – just reverse button positions:

5) Table Insert DIalog: These button positions should differ from LTR mode (the same way as it was implemented for the general toolbar) – just reverse button positions:

Hi @JiHong88 ,
Since some time I keep an eye on your wonderful wysiwyg library, it's really great!
I consider the RTL support as a must-have in modern content editors, it's amazing you've decided to implement it for the SunEditor.
The suggestions from @BrianJVarley are quite precise 👍 .
During the implementation of RTL feature in my project I have found the following resources as comprehensively informative to refer to:
Several useful suggestions:

Don't hesitate to reach out in case of questions!
I'll try to have some more walkthrough meantime,
Thanks,
Andrey.
@BrianJVarley @impulsgraw
I updated RTL mode of the test page. http://suneditor.com/test/index.html
The creation of all controllers and tables has also been modified with RTL.
And the list of align buttons has been modified so that the right sort is at the top by default.
At the bottom of the test page is a list of buttons used when creating the editor.
I created a button module by reversing the order of the button list in RTL mode, but I am not sure if it is the correct operation.
And.. I'm confused if the Math plugin should also be RTL.
@BrianJVarley @impulsgraw
The 2.34.0 version has been updated.
If this issue has not been resolved, please reopen this issue.
Thank you.
@JiHong88 great! I'll take a run through your linked test page this week to verify. @impulsgraw what's your thoughts on this latest RTL release?
I do see _three_ things that could be addressed on RTL feature:
Toolbar Arabic label text: It's very small, take a look at indent / outdent buttons. Maybe a different font here such as Andrei suggested could be more legible. Such as - https://www.google.com/get/noto/
Toolbar Short Cut Text English: On the indent and outdent toolbar buttons the shortcut text is not clear, I can't read which shortcut combination that is. Is there any way you can use a different font or use more whitespace?


RTL User Function:
On a different note, I think there is a benefit to exposing a "User Function" for the RTL prop similar to editorInstance.enabled();. At the moment we would have to re-create the editorInstance in order to update rtl mode at runtime. But if you exposed an editorInstance.rtl.enable() editorInstance.rtl.disable() it would allow the client to update to RTL mode dynamically when browser locale is changed to Arabic language.
Is this something you have considered as an enhancement?
Most helpful comment
Hi @JiHong88 ,
Since some time I keep an eye on your wonderful wysiwyg library, it's really great!
I consider the RTL support as a must-have in modern content editors, it's amazing you've decided to implement it for the SunEditor.
The suggestions from @BrianJVarley are quite precise 👍 .
During the implementation of RTL feature in my project I have found the following resources as comprehensively informative to refer to:
Several useful suggestions:
So I think it's better to reconsider the font-family. I have found the Noto Sans family as the great alternative.
Don't hesitate to reach out in case of questions!
I'll try to have some more walkthrough meantime,
Thanks,
Andrey.