Beispiel #1
0
 public bool setFirst()
 {
     this.currentTableNumber = 1;
     this.currentTable       = this.aribTableList[this.currentTableNumber];
     this.startChar          = this.aribTableList[1].myRange.top;
     this.endChar            = this.aribTableList.Last().myRange.bottom;
     this.currentChar        = this.startChar;
     return(true);
 }
Beispiel #2
0
        /// <summary>
        /// 文字コード表からJISコードが取れるので、ByteArrayにして返す。
        /// </summary>
        /// <param name="ret"></param>
        /// <returns></returns>
        public Int32 getNextCharAryJIS(ref List <byte> ret)
        {
            while (currentChar <= this.endChar)
            {
                if (this.currentTable.getNextChar(ref this.currentChar) == INCLUDECHECK.BIG)
                {
                    this.currentTableNumber++;
                    if (this.aribTableList.Count > this.currentTableNumber) // 0はdummy
                    {
                        this.currentTable = this.aribTableList[this.currentTableNumber];
                        this.currentChar  = this.currentTable.myRange.top;
                    }
                    else
                    {
                        return(-1);
                    }
                }
                switch (this.currentTable.isInclude(this.currentChar))
                {
                case INCLUDECHECK.OK:
                    //jisAry = this.currentTable.getByteAry(this.currentChar);
                    //ret.AddRange(this.exchangeJISAryToSJISAry(jisAry));
                    ret.AddRange(this.currentTable.getByteAryJIS(this.currentChar));
                    return(0);

                // break;
                case INCLUDECHECK.BIG:
                    break;

                case INCLUDECHECK.SMALL:
                    break;

                case INCLUDECHECK.NG:
                    break;
                }
            }
            return(-1);
        }