@@ -75,6 +75,7 @@ public Muc88(work work, MUCInfo mucInfo,iEncoding enc)
7575 , SETFLG
7676 , SETPinPOR
7777 //, SETRTIE
78+ , SETMEMO
7879 } ;
7980 }
8081
@@ -1716,7 +1717,7 @@ private EnmFCOMPNextRtn SETCOLOR()
17161717 mucInfo . srcCPtr ++ ;
17171718
17181719 int ptr = mucInfo . srcCPtr ;
1719- byte n = ( byte ) msub . ERRT ( mucInfo . lin , ref ptr , msg . get ( "E0531 " ) ) ;
1720+ byte n = ( byte ) msub . ERRT ( mucInfo . lin , ref ptr , msg . get ( "E0538 " ) ) ;
17201721 mucInfo . srcCPtr = ptr ;
17211722 work . color = n ;
17221723
@@ -1728,6 +1729,47 @@ private EnmFCOMPNextRtn SETCOLOR()
17281729 return EnmFCOMPNextRtn . fcomp1 ;
17291730 }
17301731
1732+ private EnmFCOMPNextRtn SETMEMO ( )
1733+ {
1734+ mucInfo . srcCPtr ++ ;
1735+
1736+ int ptr = mucInfo . srcCPtr ;
1737+ List < byte > buf = new List < byte > ( ) ;
1738+ char ch ;
1739+ do
1740+ {
1741+ ch = mucInfo . lin . Item2 . Length > ptr ? mucInfo . lin . Item2 [ ptr ++ ] : ( char ) 0 ;
1742+ byte [ ] b = enc . GetSjisArrayFromString ( ch . ToString ( ) ) ;
1743+ if ( ch == '\' ' || ch == 0 ) break ;
1744+ buf . AddRange ( b ) ;
1745+ } while ( true ) ;
1746+
1747+ if ( buf . Count < 1 ) {
1748+ throw new MucException (
1749+ msg . get ( "E0539" )
1750+ , mucInfo . row , mucInfo . col ) ;
1751+ }
1752+ mucInfo . srcCPtr = ptr ;
1753+
1754+ int len = buf . Count + 1 ;
1755+ List < byte > lbuf = new List < byte > ( ) ;
1756+ int n = 0 ;
1757+ for ( int i = 0 ; i < 3 ; i ++ )
1758+ {
1759+ n += 0x7f << ( i * 7 ) ;
1760+ lbuf . Add ( ( byte ) ( ( ( len & ( 0x7f << ( i * 7 ) ) ) >> ( i * 7 ) )
1761+ | ( len > n ? 0x80 : 0x00 ) ) ) ;
1762+ if ( len <= n ) break ;
1763+ }
1764+
1765+ msub . MWRITE ( new MmlDatum ( 0xff ) , new MmlDatum ( 0xfd ) ) ; // IDE向け
1766+ foreach ( byte b in lbuf ) msub . MWRIT2 ( new MmlDatum ( b ) ) ; //Length
1767+ msub . MWRIT2 ( new MmlDatum ( 1 ) ) ; // 1: Memo
1768+ foreach ( byte b in buf ) msub . MWRIT2 ( new MmlDatum ( b ) ) ; //メモデータ
1769+
1770+ return EnmFCOMPNextRtn . fcomp1 ;
1771+ }
1772+
17311773 // ** SOFT ENVELOPE **
17321774
17331775 private EnmFCOMPNextRtn SETSEV ( )
0 commit comments