BIDI and special character support are two different things.
They may mean different things, but technically they refer to the same support in Oxygen
. The BIDI property has remained named as such because it was initially named "BiDi support". However, note that the BIDI property may be set to "true", but the support can still be disabled. The BIDI property indicates that there is a character in the text that causes this support to be triggered, so even if you chose to disable the support (or it was forcefully disabled) the BIDI property will still indicate "true".
Basically Java calls this "Bidirectional text support" ("BiDi support" for short), but since it can also be triggered and is needed for combining characters and some special glyphs with ligatures, we chose to rename it to "Support for Special Characters" in the GUI messages. The naming was chosen because there can be no BiDi (or RTL) text but the support is still triggered. While this "Special Characters" naming is rather vague, it covers several situations, not just Bidirectional text. The special characters popup message (the one that prompts you to enable or disable this support) tries to explain the situation and type of text that triggers this.
Regarding folding support, the documentation clearly mentions
When support for special characters is enabled, the folding support is not available.
But I also have files that always open with folding enabled, whether or not they are opened with special chars enabled or not.
I'm not saying it's impossible, maybe you've found a bug that lets the folding support enabled with special characters in some situation. But, by design, if special characters support is indeed enabled, then folding gets disabled on purpose.
Note that even the special characters mode can be forcefully disabled when some limits are exceeded (e.g. size > 300k) due to performance reasons. This is also controlled from the Options > Preferences, Editor > Open
. If the support is forcefully disabled then folding becomes active.
What I'm saying is that you might believe that special characters supports is enabled, when in reality it's not due to this size limitation. This is a more plausible reason for the folding support being enabled.
When oXygen's menus refer to "Asian languages or other special characters" what do they mean, exactly? Are Asian languages in Latin transliteration included in Asian languages? Which special characters?
As mentioned above, "Support for Special Characters" refers to special combining characters and some glyphs with ligatures that are used in South/South-East Asian text (this is in addition to RTL text).
I can't provide an exact list of languages or a table of characters that trigger this. This support (for text mode) is implemented by the underlying Java framework, so if you change the version of Java, it may also slightly change.
Asian languages in Latin transliteration are unlikely to trigger this support, but if you have a single combining character that slipped by in the text, it will be triggered (check the BIDI property).
If you believe there shouldn't be any character in the content that triggers this, a good start is searching for "Combining characters" (Unicode range 0300–036F). Use Find/Replace with "Regular expression" enabled and "[\u0300-\u036f]" (without the quotes). Combining characters are the most encountered and elusive type of characters that trigger the special characters support.
If you can't find anything in the range of "Combining characters" and you know that there shouldn't be any "special characters" in the file, but suspect a random mistake in the text, try the entire Unicode non-ASCII range "[\u0100-\uffff]". Note that very few characters from this range actually trigger BiDi, but it should at least provide a clue if something accidentally slipped by in the Latin text.