windows-nt/Source/XPSP1/NT/windows/richedit/re30/bidifsm.htm
2020-09-26 16:20:57 +08:00

151 lines
6.4 KiB
HTML

<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1252">
<META NAME="Generator" CONTENT="Microsoft Word 97">
<TITLE>State machine for RE10 embedding level</TITLE>
</HEAD>
<BODY LINK="#0000ff" VLINK="#800080" BGCOLOR="#ffffff">
<P>BiDi level Finite State Machine <FONT SIZE=2><EM>(wchao: 12-22-98)</P></FONT></EM>
<TABLE BORDER CELLSPACING=1 CELLPADDING=5 WIDTH=626>
<TR><TD WIDTH="16%" VALIGN="MIDDLE">
<P><FONT FACE="Courier New" SIZE=1><STRONG>Run</FONT></STRONG></TD>
<TD WIDTH="8%" VALIGN="MIDDLE">
<FONT FACE="Courier New" SIZE=1><STRONG><P>A(0)</FONT></STRONG></TD>
<TD WIDTH="14%" VALIGN="MIDDLE">
<FONT FACE="Courier New" SIZE=1><STRONG><P>B(1)</FONT></STRONG></TD>
<TD WIDTH="14%" VALIGN="MIDDLE">
<FONT FACE="Courier New" SIZE=1><STRONG><P>C(2)</FONT></STRONG></TD>
<TD WIDTH="3%" VALIGN="MIDDLE">
<P>&nbsp;</TD>
<TD WIDTH="8%" VALIGN="MIDDLE">
<FONT FACE="Courier New" SIZE=1><STRONG><P>X(1)</FONT></STRONG></TD>
<TD WIDTH="19%" VALIGN="MIDDLE">
<FONT FACE="Courier New" SIZE=1><STRONG><P>Y(2)</FONT></STRONG></TD>
<TD WIDTH="19%" VALIGN="MIDDLE">
<FONT FACE="Courier New" SIZE=1><STRONG><P>Z(2)</FONT></STRONG></TD>
</TR>
<TR><TD WIDTH="16%" VALIGN="MIDDLE">
<FONT FACE="Courier New" SIZE=1><STRONG><P>chLTR</FONT></STRONG></TD>
<TD WIDTH="8%" VALIGN="MIDDLE">
<FONT FACE="Courier New" SIZE=1><P>0/A</FONT></TD>
<TD WIDTH="14%" VALIGN="MIDDLE">
<FONT FACE="Courier New" SIZE=1><P>0/A</FONT></TD>
<TD WIDTH="14%" VALIGN="MIDDLE">
<FONT FACE="Courier New" SIZE=1><P>0/A</FONT></TD>
<TD WIDTH="3%" VALIGN="MIDDLE">
<P>&nbsp;</TD>
<TD WIDTH="8%" VALIGN="MIDDLE">
<FONT FACE="Courier New" SIZE=1><P>2/Y</FONT></TD>
<TD WIDTH="19%" VALIGN="MIDDLE">
<FONT FACE="Courier New" SIZE=1><P>2/Y</FONT></TD>
<TD WIDTH="19%" VALIGN="MIDDLE">
<FONT FACE="Courier New" SIZE=1><P>2*/Y</FONT></TD>
</TR>
<TR><TD WIDTH="16%" VALIGN="MIDDLE">
<FONT FACE="Courier New" SIZE=1><STRONG><P>chRTL</FONT></STRONG></TD>
<TD WIDTH="8%" VALIGN="MIDDLE">
<FONT FACE="Courier New" SIZE=1><P>1/B</FONT></TD>
<TD WIDTH="14%" VALIGN="MIDDLE">
<FONT FACE="Courier New" SIZE=1><P>1/B</FONT></TD>
<TD WIDTH="14%" VALIGN="MIDDLE">
<FONT FACE="Courier New" SIZE=1><P>1/B</FONT></TD>
<TD WIDTH="3%" VALIGN="MIDDLE">
<P>&nbsp;</TD>
<TD WIDTH="8%" VALIGN="MIDDLE">
<FONT FACE="Courier New" SIZE=1><P>1/X</FONT></TD>
<TD WIDTH="19%" VALIGN="MIDDLE">
<FONT FACE="Courier New" SIZE=1><P>1/X</FONT></TD>
<TD WIDTH="19%" VALIGN="MIDDLE">
<FONT FACE="Courier New" SIZE=1><P>1/X</FONT></TD>
</TR>
<TR><TD WIDTH="16%" VALIGN="MIDDLE">
<FONT FACE="Courier New" SIZE=1><STRONG><P>digitLTR</FONT></STRONG></TD>
<TD WIDTH="8%" VALIGN="MIDDLE">
<FONT FACE="Courier New" SIZE=1><P>0/A</FONT></TD>
<TD WIDTH="14%" VALIGN="MIDDLE">
<FONT FACE="Courier New" SIZE=1><P>0/A</FONT></TD>
<TD WIDTH="14%" VALIGN="MIDDLE">
<FONT FACE="Courier New" SIZE=1><P>0/A</FONT></TD>
<TD WIDTH="3%" VALIGN="MIDDLE">
<P>&nbsp;</TD>
<TD WIDTH="8%" VALIGN="MIDDLE">
<FONT FACE="Courier New" SIZE=1><P>2/Y</FONT></TD>
<TD WIDTH="19%" VALIGN="MIDDLE">
<FONT FACE="Courier New" SIZE=1><P>2/Y</FONT></TD>
<TD WIDTH="19%" VALIGN="MIDDLE">
<FONT FACE="Courier New" SIZE=1><P>2*/Y</FONT></TD>
</TR>
<TR><TD WIDTH="16%" VALIGN="MIDDLE">
<FONT FACE="Courier New" SIZE=1><STRONG><P>digitRTL</FONT></STRONG></TD>
<TD WIDTH="8%" VALIGN="MIDDLE">
<FONT FACE="Courier New" SIZE=1><P>2/C</FONT></TD>
<TD WIDTH="14%" VALIGN="MIDDLE">
<FONT FACE="Courier New" SIZE=1><P>2/C</FONT></TD>
<TD WIDTH="14%" VALIGN="MIDDLE">
<FONT FACE="Courier New" SIZE=1><P>2/C</FONT></TD>
<TD WIDTH="3%" VALIGN="MIDDLE">
<P>&nbsp;</TD>
<TD WIDTH="8%" VALIGN="MIDDLE">
<FONT FACE="Courier New" SIZE=1><P>2/Z</FONT></TD>
<TD WIDTH="19%" VALIGN="MIDDLE">
<FONT FACE="Courier New" SIZE=1><P>2*/Z</FONT></TD>
<TD WIDTH="19%" VALIGN="MIDDLE">
<FONT FACE="Courier New" SIZE=1><P>2/Z</FONT></TD>
</TR>
<TR><TD WIDTH="16%" VALIGN="MIDDLE">
<FONT FACE="Courier New" SIZE=1><STRONG><P>control</FONT></STRONG></TD>
<TD WIDTH="8%" VALIGN="MIDDLE">
<FONT FACE="Courier New" SIZE=1><P>0/A</FONT></TD>
<TD WIDTH="14%" VALIGN="MIDDLE">
<FONT FACE="Courier New" SIZE=1><P>0/A</FONT></TD>
<TD WIDTH="14%" VALIGN="MIDDLE">
<FONT FACE="Courier New" SIZE=1><P>0/A</FONT></TD>
<TD WIDTH="3%" VALIGN="MIDDLE">
<P>&nbsp;</TD>
<TD WIDTH="8%" VALIGN="MIDDLE">
<FONT FACE="Courier New" SIZE=1><P>1/X</FONT></TD>
<TD WIDTH="19%" VALIGN="MIDDLE">
<FONT FACE="Courier New" SIZE=1><P>1/X</FONT></TD>
<TD WIDTH="19%" VALIGN="MIDDLE">
<FONT FACE="Courier New" SIZE=1><P>1/X</FONT></TD>
</TR>
</TABLE>
<P>&nbsp;</P>
<TABLE CELLSPACING=0 BORDER=0 WIDTH=779>
<TR><TD WIDTH="34%" VALIGN="MIDDLE">
<P><FONT SIZE=2><STRONG>A : </STRONG><EM>(LTR char in LTR para)</FONT></EM></TD>
<TD WIDTH="66%" VALIGN="MIDDLE">
<FONT SIZE=2><STRONG><P>\ltrpara "</STRONG>ab<STRONG>", "</STRONG>+-<STRONG>", "</STRONG>12<STRONG>"</FONT></STRONG></TD>
</TR>
<TR><TD WIDTH="34%" VALIGN="MIDDLE">
<FONT SIZE=2><STRONG><P>B : </STRONG><EM>(RTL char in LTR para) </FONT></EM></TD>
<TD WIDTH="66%" VALIGN="MIDDLE">
<FONT SIZE=2><STRONG><P>\ltrpara "{</STRONG>AB<STRONG>", "{</STRONG>-+<STRONG>"</FONT></STRONG></TD>
</TR>
<TR><TD WIDTH="34%" VALIGN="MIDDLE">
<FONT SIZE=2><STRONG><P>C : </STRONG><EM>(AN in LTR para)</FONT></EM></TD>
<TD WIDTH="66%" VALIGN="MIDDLE">
<FONT SIZE=2><STRONG><P>\ltrpara "{</STRONG>AB<STRONG>{</STRONG>34<STRONG>"</FONT></STRONG></TD>
</TR>
<TR><TD WIDTH="34%" VALIGN="MIDDLE">
<FONT SIZE=2><STRONG><P>X : </STRONG><EM>(RTL char in RTL para)</FONT></EM></TD>
<TD WIDTH="66%" VALIGN="MIDDLE">
<FONT SIZE=2><STRONG><P>\rtlpara "</STRONG>{AB<STRONG>", "</STRONG>{-+<STRONG>"</FONT></STRONG></TD>
</TR>
<TR><TD WIDTH="34%" VALIGN="MIDDLE">
<FONT SIZE=2><STRONG><P>Y : </STRONG><EM>(LTR char in RTL para)</FONT></EM></TD>
<TD WIDTH="66%" VALIGN="MIDDLE">
<FONT SIZE=2><STRONG><P>\rtlpara "</STRONG>{<STRONG>{</STRONG>ab<STRONG>", "</STRONG>{<STRONG>{</STRONG>+-<STRONG>", "</STRONG>{<STRONG>{</STRONG>12<STRONG>", "</STRONG>{<STRONG>{</STRONG>ab12<STRONG>", "</STRONG>{<STRONG>{</STRONG>34<STRONG>}{</STRONG>ab<STRONG>"</FONT></STRONG></TD>
</TR>
<TR><TD WIDTH="34%" VALIGN="MIDDLE">
<FONT SIZE=2><STRONG><P>Z : </STRONG><EM>(AN in RTL para)</FONT></EM></TD>
<TD WIDTH="66%" VALIGN="MIDDLE">
<FONT SIZE=2><STRONG><P>\rtlpara "</STRONG>{<STRONG>{</STRONG>34<STRONG>", "</STRONG>{AB<STRONG>{</STRONG>34<STRONG>", "</STRONG>{<STRONG>{</STRONG>ab<STRONG>}{</STRONG>34<STRONG>"</FONT></STRONG></TD>
</TR>
</TABLE>
<U><FONT SIZE=1><P>where</U>: 12 : digitLTR; 34 : digitRTL; ab : chLTR; AB : chRTL; * : disconnect from preceding run</P></FONT></BODY>
</HTML>