<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div dir="ltr"><br></div><div dir="ltr"><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;">I've done an update to the ECMA-48 styling: proposed update.<o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;"><a href="https://github.com/kent-karlsson/control/blob/main/ecma-48-style-modernisation-2024.pdf" style="color: rgb(5, 99, 193);">https://github.com/kent-karlsson/control/blob/main/ecma-48-style-modernisation-2024.pdf</a><o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;">The major updates are:<o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;">1) Additional bidi modes: KISS (eliminating the odd tweeks),<o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;">   KISS2 (also eliminate the nestable bidi controls), and<o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;">   a mode where only "pure RTL runs in same script" are bidi<o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;">   reversed. The last mode (though not necessarily the control<o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;">   sequence) is suitable for editors of program *source code*<o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;">   (C++, Perl, PHP, bash, Java, ...) and data *source code*<o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;">   (HTML, XML, CSV, ..., custom). The "source code mode" is<o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;">   similar to how bidi must be handled in math expressions.<o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;">   <o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;">2) Variants for having arrow directions follow the text layout<o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;">   order (mirroring, rotation) which is given as default, and a<o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;">   temporary variant (end at bidi B or bidi S char) for not to<o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;">   mirror nor rotate arrows (arrows refer to external directions).<o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;">   (Note that mirroring and rotation data in Unicode take different<o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;">   approaches here; default (as yet) in Unicode for mirroring is<o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;">   that arrows refer to external (to the text) directions, whereas<o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;">   rotation (for CJK vertical) is that arrows refer to the text<o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;">   itself.<o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;">   <o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;">3) In Annex B, the wretched and totally unhelpful general category<o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;">   Cc is completely overridden by more useful general categories;<o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;">   similarly for bidi and line break properties.<o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;">   (Yes, "default-ignorable" should also be, well, ignored.)<o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;">As hinted in point 2 above, arrow mirroring data<o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;">(<a href="https://www.unicode.org/L2/L2022/22026r-non-bidi-mirroring.pdf" style="color: rgb(5, 99, 193);">https://www.unicode.org/L2/L2022/22026r-non-bidi-mirroring.pdf</a>)<o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;">would be helpful... It was called "non-bidi" because at the time<o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;">it was intended only for math expressions, as an edit support, there<o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;">must be no automatic (non-explicit) mirroring in math expressions<o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;">or source code. But as you see in point 2, I now think it should<o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;">be used also for bidi automatic mirroring; note again that automatic<o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;">(implicit) bidi mirroring does not apply at all to math expressions,<o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;">nor to source code.<o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;">I've also done an update to the (independent!) math expression<o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;">representation proposal. <o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;"><a href="https://github.com/kent-karlsson/control/blob/main/math-layout-controls-2024.pdf" style="color: rgb(5, 99, 193);">https://github.com/kent-karlsson/control/blob/main/math-layout-controls-2024.pdf</a><o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;">Minor updates, but I included the data in <o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;"><a href="https://www.unicode.org/L2/L2022/22026r-non-bidi-mirroring.pdf" style="color: rgb(5, 99, 193);">https://www.unicode.org/L2/L2022/22026r-non-bidi-mirroring.pdf</a><o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;">in an annex; I don't know what is happening, if anything, to that<o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;">poposal.<o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;">/Kent Karlsson<o:p></o:p></p><p class="MsoNormal" style="-webkit-text-size-adjust: auto; margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;"><br></p></div></body></html>