Open Bug 96057 Opened 20 years ago Updated 11 months ago
Paragraph directionality control UI in Editor
Problem: To create a right-aligned document (e.g. a mostly Hebrew document), a user needs to go to "Page Color and Background" and define the DIR property to be "rtl". Solution: Two buttons should be added to the Composer, one with an arrow pointing to the right (for LTR) and one with an arrow pointing to the left (for LTR). Those buttons should affect the paragraph's BiDi directionality (DIR=LTR / DIR=RTL or the unicode-bidi CSS property).
Another work around is to go to the individual paragraphs tags and set the dir attribute for it via Show All Tags and the advanced properties editor. Steps: Type a few paragraphs. Go to All Tags mode (bottom toolbar or via View menu) double-click the <p> tags add the dir attribute with "rtl"
OS: Linux → All
Hardware: PC → All
Mass-move all BiDi Hebrew and Arabic qa to me, email@example.com. Thank you Gilad for your service to this component, and best of luck to you in the future. Sholom.
QA Contact: giladehven → zach
I would suggest also adding "Default direction" to the New Page Settings preferences tab.
Hmmm, I disagree with new buttons for directionality. This (a) belongs to page properties for the whole document (b) is an element property for local overriding Comment for editor's ex-team : I wonder if the Advanced Properties Dialog could have special handling for the following attributes, applied to all elements : ID, DIR, LANG, TITLE. They could be explicitely described in the advanced attributes panel, what do you think ?
I disagree (as an Israeli user who had enough experience with Hebrew editing): directionality control must be per-paragraph and not per-page. It is likely to have both mostly-english and mostly-hebrew paragraphs in the same page. Also, they must be immediately accessed - THIS IS NOT A STYLING ISSUE WHICH CAN BE HIDDEN IN SOME OBSCURE DIALOGS. Microsoft Word has such paragraph directionality buttons and I think it does an excellent job with it. Also, on Windows, there are Left Ctrl-Shift and Right Ctrl-Shift to change any input widget's direction, keys which could be used in the Composer as well, but that's a different issue.
As a Persian speaker/writer, I agree with Ilya. We need direction controls in the paragraph level. There is a need to switch that a lot in a single bidi document.
About the strong emphasis materialized by the capitals, I am often authoring documents in both english/french and yiddish. I am not the iso-8859-1-centric fanatic you seem to believe I am... I agree with an easy way to see/change dir ; I disagree with an overload of the toolbar with buttons (I am not talking of other UI means) achieving this feature.
Francly, I do not see any other way to have those controls accecible enugh for use without haveing them on the toolbar- It would be a real paint to go into the menu each time I want to set the directionality of the paragraph. Every editor that knows how to deal with Hebrew properly puts those controls on the toolbar: Nisus for Mac, front page express (now discontiniued, leaving a gap since it was the only WYSIWYG html editor that was actaully aware of Hebrew), Qtext for windows, Dagesh, etc etc. As you can see from the partial list above- having those buttons on the toolbar is quite cross-application and cross platform. That is another reason IMO that we should have them there- if they are not there, I wonder how many users who need the option will know it even exsits?
Also, what about objects like lists and form elements? user should be able to defined them as rtl esaly
*** Bug 125580 has been marked as a duplicate of this bug. ***
Any progress here? I have been receving several emails from users wondering how to set paragraphs to RTL in composer- it is a shame that: 1. Many users who need this feature are unable to find it on there own 2. There is no easy answer to give them. After all, people who use composer to create web pages, almost by defenition are not fluent in HTML.
yes, there is (hidden) progress : this is almost ready in my own tree but I had to stop further work on it due to moz1.0 bugs.
I have finished this work on my personal time, because I personnally consider this fix as important for a 1.0 milestone, in the perspective of Israeli and Arabic markets. I'll leave the readers of this comment try getting a nomination for it. The patch adds direction control (a) in composer preferences (b) in mail compose preferences (c) in page properties in Composer (d) in Format menu in both Composer and mail Compose. The menu is always contextual to the selection, as the other Composer's UI controls are. Oh, and if I tell you that this patch is CSS safe and adds the CSS 'direction' property in a STYLE attribute instead of a DIR attribute when the CSS pref is checked, will you believe it ?-)))) /* enjoy */
nominate for nsbeta1 Mike Kaply--Daniel is going to be on holiday until next Tuesday, can you check this in once it gets reviews, etc.?
brade: would you like to own this? nsbeta1 bugs not assigned to @netscape.com addresses can slip through the triage net.
I have partially reviewed this and talked with Daniel about my findings. I'm awaiting a new patch before I can complete the job.
Status: NEW → ASSIGNED
Comment on attachment 77622 [details] [diff] [review] patch v1.1, in answer to Joe's comments r=jfrancis I gave Danile some more suggestions for a final patch
Attachment #77622 - Flags: review+
I have begun testing this patch on Win2K. Composer is working well, but I had error messages and crashes in mail. I see that there are recently fixed bugs in that area, so I have updated my tree, but I will not have a build ready for more tests before the end of the day. I will report further results as soon as I can.
I have now tested mail on Win2K. Everything seems to work correctly, but I have a few issues which should be addressed, if only on the release note level. Most seriously, I couldn't discover any way to set the global direction for a whole mail message (equivalent to setting the direction in Page Title And Properties from Composer) except by setting the preference for default direction. This is awkward, because I doubt if many people write *all* their mail in a right-to-left language. Secondly, the default direction pref only takes effect on restart. After restarting, the direction works fine when composing mail, but is lost when sending, unless one chooses HTML format. I think this behaviour is reasonable (direction for plaintext mail is another issue, see bug 119857 and http://bugzilla.mozilla.org/show_bug.cgi?id=95371#c5) but it could be confusing. Maybe the text in the preference dialog should add something like "(HTML mail only)"
Simon: thanks for testing and useful comments ; working on it to make this patch and feature land as soon as possible.
1. It is possible to retain the directionaly in plain/text too, but only in Unicode plain/text (e.g. UTF-8), since that requires Unicode directionality zero-width characters. I think its a good idea that using those buttons will mark the mail as "rich" and offer to send it as HTML; this "formatting" is rather important for actually understanding the content of the message. 2. There's a need for more accessible means than an option in the Format menu. An option in the Format menu is how you're likely NOT to access this feature. Strip it from the menus -- it just adds more clutter. 3. Lets do it like Outlook does -- two directionality buttons on the toolbar, both in Composer and in the Mail Composer. 4. It would be nice to have Windows / Outlook-like keyboard accelerators for it too: LeftCtrl-Shift setting the paragraph to be left-aligned, RightCtrl-Shift setting the paragraph to be right-aligned. Those accelerators are very comfortable. Please lets not impose a learning curve on the users. 5. If you think my suggestions are THAT bothering for Latin-1 users, add all of those (the toolbar buttons, the accels) only if a single pref checkbox named "Support Right-to-Left (Arabic, Hebrew) languages" is marked. Only a single checkbox -- trust me on this: if someone wants to edit RTL documents / mails, he wants all of those, cause if he ever edited Hebrew documents in the last 5 years, that's how he did it (on MS Office).
[RFE] is deprecated in favor of severity: enhancement. They have the same meaning.
Severity: normal → enhancement
Summary: [RFE] Paragraph directionality control UI in Composer → Paragraph directionality control UI in Composer
unfortunately this patch needs to be updated to deal with editorshell removal :-( Also, is a preference panel change really required? That seems like overkill. I'd rather have us try to be smarter somehow. Lastly, someday when we have configurable toolbars, we should let users add controls for rtl/ltr on the toolbars (a separate bug if this lands soon).
There's also a third workaround which is very similar to the second one: Click the Source tab and manually add the tags: <p dir="rtl"> </p> Obviously, this is hardly as convenient as having toolbar-buttons for direction. Is there any progress with the patch? Prog.
That workround is not good for lists or tables, unless you edit them manully, thus, defiting the whole WYSIWG thing of composer...
A year has gone by since the final patch was submitted. Any chance to see it updated and checked-in? Note that HTML templates are currently broken (Bug 191799), in turn forcing users to go through 4 different menus and dialogs before writing RTL emails. Unfortunately, only Mozilla-fanatics bother to do that. Prog.
adding helpwanted keyword We need someone to make the patch apply to the current tip. We also need someone to (presumably) make these show/hide with the other preferences for composer toolbar controls.
*** Bug 213149 has been marked as a duplicate of this bug. ***
pls, pls, pls - let's get rid of this two-year-old bug !
Asaf, I believe you meant to *ask* for blocking1.8a, not do *deny* it - that should be '?' rather than '-'. More on flags here: http://bugzilla.mozilla.org/flag-help.html Prog.
Flags: blocking1.8a- → blocking1.8a?
*** Bug 231132 has been marked as a duplicate of this bug. ***
review flag is missing for "Patch final"
(In reply to comment #35) > review flag is missing for "Patch final" that's because this patch is so old, bugzilla didn't have the review flag when it was submitted. doesn't it need to be updated?
The patch has already become bitrotted a couple of years ago. See comment 26. As far as I remember, the patch author (Glazou) is nowadays against BiDi UI in Mozilla. It clutters the menus or something. Prog.
that's not what he wrote here: http://www.mozillazine.org/talkback.html?article=4521#1 . daniel, as module owner (at least according to http://www.mozilla.org/owners.html), what is your position on this?
(In reply to comment #38) > daniel, as module owner (at least according to > http://www.mozilla.org/owners.html), what is your position on this? Writing direction control UI will be in Nvu 0.3, as promised.
(In reply to comment #39) > Writing direction control UI will be in Nvu 0.3, as promised. I stand corrected. Thanks for working on this! Prog.
(In reply to comment #39) > (In reply to comment #38) > > > daniel, as module owner (at least according to > > http://www.mozilla.org/owners.html), what is your position on this? > > Writing direction control UI will be in Nvu 0.3, as promised. > And what about a solution for those of that still using the suite (or a platform without an offical build of Nvu)? :-)
Working on it now.
Priority: -- → P1
Daniel, if you need any help in testing this, just ask. Meanwhile, you might want to check the progress of directionality control in Chatzilla (Bug 250864). It would be nice to have consistent BiDi UI across Mozilla components. Prog.
proganthous: please see Nvu 0.30 release. Bidi control is included.
yes, but we would like to see it in Composer too :)
*** Bug 254436 has been marked as a duplicate of this bug. ***
This is clearly a SeaMonkey/Composer issue, not a layout issue.
Component: Layout: BiDi Hebrew & Arabic → Composer
Product: Core → Mozilla Application Suite
Assignee: mozilla → mozeditor
Status: ASSIGNED → NEW
Component: Composer → Editor
Priority: P1 → --
Product: Mozilla Application Suite → Core
QA Contact: zach
Summary: Paragraph directionality control UI in Composer → Paragraph directionality control UI in Editor
Whoa, just noticed this bug... this issue is addressed by the BiDi Mail UI extension: http://bidiui.mozdev.org/mail/ One the migration to toolkit happens, we might consider integrating some of that code into the trunk.
I suspect the last patch is bitrotten, plus, AFAICT it doesn't distinguish between document direction and paragraph direction. There are also several issues with the editor which need to be resolved before proper direction control can be implemented, which have come up over the last few years as bugs for BiDi Mail UI, and need to be addressed as part of the addition of directionality control to the editor: https://www.mozdev.org/bugs/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&product=bidiui&component=General&component=Mail&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&keywords_type=allwords&keywords=&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailassigned_to1=1&emailtype1=substring&email1=&emailassigned_to2=1&emailreporter2=1&emailcc2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&query_based_on=Open+BiDiUI&field0-0-0=noop&type0-0-0=noop&value0-0-0= - paragraph mode vs body text mode as default - auto-reversion to body text mode in some cases - persistence of various aspects of style when changing from paragraph mode to body text mode and vice-versa, or when saving and re-editing a draft - Ctrl+RShfit,Ctrl+LSfhit still not usable - events missing for various state changes / button presses Some other issues have come up but these were solvable on the JS level; they might have better solution if one tinkers also with the C++ under the hood of various interfaces. Anyway, SM is almost toolkitized now, maybe the integration of BiDi Mail UI with the trunk is a viable option.
You need to log in before you can comment on or make changes to this bug.