public void TBLLoad(string fullfilename, SystemTextEncoderTBLEncode inner)
        {
            this.FE6Inner = inner;
            using (StreamReader reader = File.OpenText(fullfilename))
            {
                string line;
                while ((line = reader.ReadLine()) != null)
                {
                    if (U.IsComment(line))
                    {
                        continue;
                    }
                    string[] sp    = line.Split('\t');
                    int      count = (sp.Length / 2) * 2;
                    for (int i = 0; i < count; i += 2)
                    {
                        DicC d = new DicC();
                        d.English         = U.Reverse(sp[i + 0]);
                        d.Arabian         = sp[i + 1];
                        d.ArabianIsolated = sp[1];

                        if (!CheckAlready(d))
                        {
                            Dic.Add(d);
                        }
                    }
                }
            }
            Dic.Sort((a, b) => { return((int)(b.English.Length - a.English.Length)); });
        }
        bool LoadTBL(OptionForm.textencoding_enum textencoding, ROM rom)
        {
            if (rom == null)
            {
                return(false);
            }

            if (textencoding == OptionForm.textencoding_enum.ZH_TBL)
            {
                string resoucefilename = System.IO.Path.Combine(Program.BaseDirectory, "config", "translate", "zh_tbl", rom.RomInfo.TitleToFilename() + ".tbl");
                if (!File.Exists(resoucefilename))
                {
                    Log.Error("tbl not found. filename:{0}", resoucefilename);
                    return(false);
                }
                this.TBLEncode = new SystemTextEncoderTBLEncode(resoucefilename);
                this.Encoder   = null;
                return(true);
            }
            else if (textencoding == OptionForm.textencoding_enum.EN_TBL)
            {
                string resoucefilename = System.IO.Path.Combine(Program.BaseDirectory, "config", "translate", "en_tbl", rom.RomInfo.TitleToFilename() + ".tbl");
                if (!File.Exists(resoucefilename))
                {
                    Log.Error("tbl not found. filename:{0}", resoucefilename);
                    return(false);
                }
                this.TBLEncode = new SystemTextEncoderTBLEncode(resoucefilename);
                this.Encoder   = null;
                return(true);
            }
            else if (textencoding == OptionForm.textencoding_enum.AR_TBL)
            {
                string resoucefilename = System.IO.Path.Combine(Program.BaseDirectory, "config", "translate", "ar_tbl", rom.RomInfo.TitleToFilename() + ".arabic_tbl");
                if (!File.Exists(resoucefilename))
                {
                    Log.Error("tbl not found. filename:{0}", resoucefilename);
                    return(false);
                }
                SystemTextEncoderTBLEncode inner = null;
                if (Program.ROM.RomInfo.version() == 6)
                {
                    string resoucefilename_inner = System.IO.Path.Combine(Program.BaseDirectory, "config", "translate", "en_tbl", rom.RomInfo.TitleToFilename() + ".tbl");
                    if (!File.Exists(resoucefilename))
                    {
                        return(false);
                    }
                    inner = new SystemTextEncoderTBLEncode(resoucefilename_inner);
                }
                this.TBLEncode = new SystemTextEncoderArabianTBLEncode(resoucefilename, inner);
                this.Encoder   = null;
                return(true);
            }
            return(false);
        }
        public SystemTextEncoderArabianTBLEncode(string fullfilename, SystemTextEncoderTBLEncode inner)
        {
            this.SJISEncoder = System.Text.Encoding.GetEncoding("Shift_jis");

            TBLLoad(fullfilename, inner);
        }