Example #1
0
 private void cbxTo_SelectedIndexChanged(object sender, EventArgs e)
 {
     export = GetExportInterface(cbxTo.Text);
     if (export.ExportConfigForm != null)
     {
         export.ExportConfigForm.ShowDialog();
     }
 }
 public WordLibraryStream(IWordLibraryImport import, IWordLibraryExport export, string path, Encoding encoding,
                          StreamWriter sw)
 {
     this.import   = import;
     this.export   = export;
     this.sw       = sw;
     this.path     = path;
     this.encoding = encoding;
 }
 public WordLibraryStream(IWordLibraryImport import, IWordLibraryExport export, string path, Encoding encoding,
     StreamWriter sw)
 {
     this.import = import;
     this.export = export;
     this.sw = sw;
     this.path = path;
     this.encoding = encoding;
 }
Example #4
0
        private void cbxTo_SelectedIndexChanged(object sender, EventArgs e)
        {
            export = GetExportInterface(cbxTo.Text);
            Form form = new CoreWinFormMapping().GetExportForm(export);

            if (form != null)
            {
                form.ShowDialog();
            }
        }
Example #5
0
        private void btnConvert_Click(object sender, EventArgs e)
        {
            richTextBox1.Clear();

            ignoreWordLength = Convert.ToInt32(toolStripComboBoxIgnoreWordLength.Text);

            if (ignoreSingleWord) //过滤单个字
            {
                minLength = 2;
            }
            if (ignoreLongWord)
            {
                maxLength = ignoreWordLength;
            }

            try
            {
                import = GetImportInterface(cbxFrom.Text);
                export = GetExportInterface(cbxTo.Text);
                if (import is SelfDefining)
                {
                    ((SelfDefining)import).UserDefiningPattern = fromUserSetPattern;
                }
                if (export is SelfDefining)
                {
                    ((SelfDefining)export).UserDefiningPattern = toUserSetPattern;
                }
                if (streamExport)
                {
                    if (saveFileDialog1.ShowDialog() == DialogResult.OK)
                    {
                        exportPath = saveFileDialog1.FileName;
                    }
                    else
                    {
                        ShowStatusMessage("请选择词库保存的路径,否则将无法进行词库导出", true);
                        return;
                    }
                }
                mainBody.Import  = import;
                mainBody.Export  = export;
                mainBody.Filters = GetFilters();
                timer1.Enabled   = true;
                backgroundWorker1.RunWorkerAsync();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        public Form GetExportForm(IWordLibraryExport export)
        {
            if (imeFormMapping == null)
            {
                InitImportFormMapping();
            }
            if (formPropertityMapping == null)
            {
                InitImportPropertityMapping();
            }
            Type t = export.GetType();

            if (imeFormMapping.ContainsKey(t))
            {
                Form form = imeFormMapping[t];

                ime          = export;
                form.Closed += form_Closed;

                return(form);
            }
            return(null);
        }
Example #7
0
        private CommandType RunCommand(string command)
        {
            if (command == "-help" || command == "-?")
            {
                Help();
                return CommandType.Help;
            }
            if (command.StartsWith("-i:"))
            {
                wordLibraryImport = GetImportInterface(command.Substring(3));
                beginImportFile = true;
                return CommandType.Import;
            }

            if (command.StartsWith("-o:"))
            {
                wordLibraryExport = GetExportInterface(command.Substring(3));
                beginImportFile = false;
                return CommandType.Export;
            }
            if (command.StartsWith("-c:")) //code
            {
                codingFile = command.Substring(3);
                UserCodingHelper.FilePath = codingFile;
                pattern.IsPinyinFormat = false;
                beginImportFile = false;
                return CommandType.Coding;
            }
            if (command.StartsWith("-ld2:")) //ld2 encoding
            {
                var ecodes = command.Substring(5);
                var arr = ecodes.Split(',');

                wordEncoding = Encoding.GetEncoding(arr[0]);
                if (arr.Length > 1)
                {
                    xmlEncoding = Encoding.GetEncoding(arr[1]);
                }

                return CommandType.Encoding;
            }
            if (command.StartsWith("-f:")) //format
            {
                format = command.Substring(3);
                beginImportFile = false;
                var sort = new List<int>();
                for (int i = 0; i < 3; i++)
                {
                    char c = format[i];
                    sort.Add(Convert.ToInt32(c));
                }
                pattern.Sort = sort;
                pattern.CodeSplitString = format[3].ToString();
                pattern.SplitString = format[4].ToString();
                string t = format[5].ToString().ToLower();
                beginImportFile = false;
                if (t == "l") pattern.CodeSplitType = BuildType.LeftContain;
                if (t == "r") pattern.CodeSplitType = BuildType.RightContain;
                if (t == "b") pattern.CodeSplitType = BuildType.FullContain;
                if (t == "n") pattern.CodeSplitType = BuildType.None;
                pattern.ContainCode = (format[6].ToString().ToLower() == "y");
                pattern.ContainRank = (format[8].ToString().ToLower() == "y");
                return CommandType.Format;
            }

            if (beginImportFile)
            {
                importPaths.Add(command);
            }
            if (type == CommandType.Export)
            {
                exportPath = command;
            }
            return CommandType.Other;
        }
Example #8
0
        private void cbxTo_SelectedIndexChanged(object sender, EventArgs e)
        {
            export = GetExportInterface(cbxTo.Text);
            if (export.ExportConfigForm != null)
            {
                export.ExportConfigForm.ShowDialog();
            }

         
        }
Example #9
0
        private void btnConvert_Click(object sender, EventArgs e)
        {
            richTextBox1.Clear();

            try
            {
                import = GetImportInterface(cbxFrom.Text);
                export = GetExportInterface(cbxTo.Text);
                if (import is SelfDefining)
                {
                    ((SelfDefining) import).UserDefiningPattern = fromUserSetPattern;
                }
                if (export is SelfDefining)
                {
                    ((SelfDefining) export).UserDefiningPattern = toUserSetPattern;
                }
                if (import is IMultiCodeType)
                {
                    ((IMultiCodeType) import).CodeType = fromCodeType;
                }
                if (export is IMultiCodeType)
                {
                    ((IMultiCodeType) export).CodeType = toCodeType;
                }
                if (import is LingoesLd2)
                {
                    ((LingoesLd2) import).WordEncoding = ld2WordEncoding;
                }
                if (streamExport)
                {
                    if (saveFileDialog1.ShowDialog() == DialogResult.OK)
                        exportPath = saveFileDialog1.FileName;
                    else
                    {
                        ShowStatusMessage("请选择词库保存的路径,否则将无法进行词库导出", true);
                        return;
                    }
                }
                mainBody.Import = import;
                mainBody.Export = export;
                mainBody.Filters = GetFilters();
                timer1.Enabled = true;
                backgroundWorker1.RunWorkerAsync();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Example #10
0
        private CommandType RunCommand(string command)
        {
            if (command == "--help" || command == "-?")
            {
                showHelp(this.cbxImportItems);
                return(CommandType.Help);
            }
            if (command == "--version" || command == "-v")
            {
                Console.WriteLine("Version:" + Assembly.GetExecutingAssembly().GetName().Version);
                return(CommandType.Help);
            }
            if (command.StartsWith("-i:"))
            {
                wordLibraryImport = GetImportInterface(command.Substring(3));
                beginImportFile   = true;
                return(CommandType.Import);
            }

            if (command.StartsWith("-o:"))
            {
                wordLibraryExport = GetExportInterface(command.Substring(3));
                beginImportFile   = false;
                return(CommandType.Export);
            }
            if (command.StartsWith("-c:")) //code
            {
                codingFile = command.Substring(3);
                pattern.MappingTablePath = codingFile;
                pattern.IsPinyinFormat   = false;
                beginImportFile          = false;
                return(CommandType.Coding);
            }
            if (command.StartsWith("-ft:")) //filter
            {
                var   filterStrs = command.Substring(4);
                Regex lenRegex   = new Regex(@"len:(\d+)-(\d+)");
                Regex rankRegex  = new Regex(@"rank:(\d+)-(\d+)");
                Regex rmRegex    = new Regex(@"rm:(\w+)");
                foreach (var filterStr in filterStrs.Split('|'))
                {
                    if (lenRegex.IsMatch(filterStr))
                    {
                        var match        = lenRegex.Match(filterStr);
                        var from         = Convert.ToInt32(match.Groups[1].Value);
                        var to           = Convert.ToInt32(match.Groups[2].Value);
                        var numberFilter = new LengthFilter()
                        {
                            MinLength = from, MaxLength = to
                        };
                        this.filters.Add(numberFilter);
                    }
                    else if (rankRegex.IsMatch(filterStr))
                    {
                        var match   = rankRegex.Match(filterStr);
                        var from    = Convert.ToInt32(match.Groups[1].Value);
                        var to      = Convert.ToInt32(match.Groups[2].Value);
                        var rFilter = new RankFilter()
                        {
                            MinLength = from, MaxLength = to
                        };
                        this.filters.Add(rFilter);
                    }
                    else if (rmRegex.IsMatch(filterStr))
                    {
                        var           match  = rmRegex.Match(filterStr);
                        var           rmType = match.Groups[1].Value;
                        ISingleFilter filter;
                        switch (rmType)
                        {
                        case "eng": filter = new EnglishFilter(); break;

                        case "num": filter = new NumberFilter(); break;

                        case "space": filter = new SpaceFilter(); break;

                        case "pun": filter = new EnglishPunctuationFilter(); break;

                        default: throw new ArgumentException("Unsupport filter type:" + rmType);
                        }
                        this.filters.Add(filter);
                    }
                }
                return(CommandType.Coding);
            }
            if (command.StartsWith("-ct:")) //code type
            {
                var codeType = command.Substring(4).ToLower();
                switch (codeType)
                {
                case "pinyin": pattern.CodeType = CodeType.Pinyin; break;

                case "wubi": pattern.CodeType = CodeType.Wubi; break;

                case "zhengma": pattern.CodeType = CodeType.Zhengma; break;

                case "cangjie": pattern.CodeType = CodeType.Cangjie; break;

                case "zhuyin": pattern.CodeType = CodeType.TerraPinyin; break;

                default: pattern.CodeType = CodeType.Pinyin; break;
                }
                return(CommandType.CodeType);
            }
            if (command.StartsWith("-r:")) //Rank
            {
                var rankType = command.Substring(3).ToLower();
                switch (rankType)
                {
                case "baidu": this.wordRankGenerater = new BaiduWordRankGenerater(); break;

                case "google": this.wordRankGenerater = new GoogleWordRankGenerater(); break;

                default: {
                    var rankNumber = Convert.ToInt32(rankType);
                    var gen        = new DefaultWordRankGenerater();
                    gen.ForceUse           = true;
                    gen.Rank               = rankNumber;
                    this.wordRankGenerater = gen;
                } break;
                }
                return(CommandType.CodeType);
            }
            if (command.StartsWith("-os:")) //code type
            {
                var os = command.Substring(4).ToLower();
                switch (os)
                {
                case "windows": pattern.OS = OperationSystem.Windows; break;

                case "mac":
                case "macos": pattern.OS = OperationSystem.MacOS; break;

                case "linux":
                case "unix": pattern.OS = OperationSystem.Linux; break;

                default: pattern.OS = OperationSystem.Windows; break;
                }
                return(CommandType.OS);
            }
            if (command.StartsWith("-ld2:")) //ld2 encoding
            {
                string   ecodes = command.Substring(5);
                string[] arr    = ecodes.Split(',');

                wordEncoding = Encoding.GetEncoding(arr[0]);
                if (arr.Length > 1)
                {
                    xmlEncoding = Encoding.GetEncoding(arr[1]);
                }

                return(CommandType.Encoding);
            }
            if (command.StartsWith("-f:")) //format
            {
                format          = command.Substring(3);
                beginImportFile = false;
                var sort = new List <int>();
                for (int i = 0; i < 3; i++)
                {
                    char c = format[i];
                    sort.Add(Convert.ToInt32(c));
                }
                pattern.Sort            = sort;
                pattern.CodeSplitString = format[3].ToString();
                pattern.SplitString     = format[4].ToString();
                string t = format[5].ToString().ToLower();
                beginImportFile = false;
                if (t == "l")
                {
                    pattern.CodeSplitType = BuildType.LeftContain;
                }
                if (t == "r")
                {
                    pattern.CodeSplitType = BuildType.RightContain;
                }
                if (t == "b")
                {
                    pattern.CodeSplitType = BuildType.FullContain;
                }
                if (t == "n")
                {
                    pattern.CodeSplitType = BuildType.None;
                }
                pattern.ContainCode = (format[6].ToString().ToLower() == "y");
                pattern.ContainRank = (format[8].ToString().ToLower() == "y");
                return(CommandType.Format);
            }

            if (beginImportFile)
            {
                importPaths.AddRange(FileOperationHelper.GetFilesPath(command));
            }
            if (type == CommandType.Export)
            {
                exportPath = command;
            }
            return(CommandType.Other);
        }
        public Form GetExportForm(IWordLibraryExport export)
        {
            if (imeFormMapping == null)
            {
                InitImportFormMapping();
            }
            if (formPropertityMapping == null)
            {
                InitImportPropertityMapping();
            }
            Type t = export.GetType();
            if (imeFormMapping.ContainsKey(t))
            {
                Form form = imeFormMapping[t];

                ime = export;
                form.Closed += form_Closed;

                return form;
            }
            return null;
        }
Example #12
0
 private void cbxTo_SelectedIndexChanged(object sender, EventArgs e)
 {
     export = GetExportInterface(cbxTo.Text);
     Form form = new CoreWinFormMapping().GetExportForm(export);
     if (form != null)
     {
         form.ShowDialog();
     }
 }
Example #13
0
        private void btnConvert_Click(object sender, EventArgs e)
        {
            richTextBox1.Clear();

            ignoreWordLength = Convert.ToInt32(toolStripComboBoxIgnoreWordLength.Text);

            if (ignoreSingleWord) //过滤单个字
            {
                minLength = 2;
            }
            if (ignoreLongWord)
            {
                maxLength = ignoreWordLength;
            }

            try
            {
                import = GetImportInterface(cbxFrom.Text);
                export = GetExportInterface(cbxTo.Text);
                if (import is SelfDefining)
                {
                    ((SelfDefining) import).UserDefiningPattern = fromUserSetPattern;
                }
                if (export is SelfDefining)
                {
                    ((SelfDefining) export).UserDefiningPattern = toUserSetPattern;
                }
                if (streamExport)
                {
                    if (saveFileDialog1.ShowDialog() == DialogResult.OK)
                        exportPath = saveFileDialog1.FileName;
                    else
                    {
                        ShowStatusMessage("请选择词库保存的路径,否则将无法进行词库导出", true);
                        return;
                    }
                }
                mainBody.Import = import;
                mainBody.Export = export;
                mainBody.Filters = GetFilters();
                timer1.Enabled = true;
                backgroundWorker1.RunWorkerAsync();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Example #14
0
        private CommandType RunCommand(string command)
        {
            if (command == "-help" || command == "-?")
            {
                Help();
                return(CommandType.Help);
            }
            if (command.StartsWith("-i:"))
            {
                wordLibraryImport = GetImportInterface(command.Substring(3));
                beginImportFile   = true;
                return(CommandType.Import);
            }

            if (command.StartsWith("-o:"))
            {
                wordLibraryExport = GetExportInterface(command.Substring(3));
                beginImportFile   = false;
                return(CommandType.Export);
            }
            if (command.StartsWith("-c:")) //code
            {
                codingFile = command.Substring(3);
                UserCodingHelper.FilePath = codingFile;
                pattern.Factory           = new SelfDefiningCodeGenerater();
                beginImportFile           = false;
                return(CommandType.Coding);
            }
            if (command.StartsWith("-f:")) //format
            {
                format          = command.Substring(3);
                beginImportFile = false;
                var sort = new List <int>();
                for (int i = 0; i < 3; i++)
                {
                    char c = format[i];
                    sort.Add(Convert.ToInt32(c));
                }
                pattern.Sort = sort;
                pattern.PinyinSplitString = format[3].ToString();
                pattern.SplitString       = format[4].ToString();
                string t = format[5].ToString().ToLower();
                beginImportFile = false;
                if (t == "l")
                {
                    pattern.PinyinSplitType = BuildType.LeftContain;
                }
                if (t == "r")
                {
                    pattern.PinyinSplitType = BuildType.RightContain;
                }
                if (t == "b")
                {
                    pattern.PinyinSplitType = BuildType.FullContain;
                }
                if (t == "n")
                {
                    pattern.PinyinSplitType = BuildType.None;
                }
                pattern.ContainPinyin = (format[6].ToString().ToLower() == "y");
                pattern.ContainCipin  = (format[8].ToString().ToLower() == "y");
                return(CommandType.Format);
            }

            if (beginImportFile)
            {
                importPaths.Add(command);
            }
            if (type == CommandType.Export)
            {
                exportPath = command;
            }
            return(CommandType.Other);
        }
Example #15
0
        private CommandType RunCommand(string command)
        {
            if (command == "--help" || command == "-?")
            {
                Help();
                return(CommandType.Help);
            }
            if (command == "--version" || command == "-v")
            {
                Console.WriteLine("Version:" + Assembly.GetExecutingAssembly().GetName().Version);
                return(CommandType.Help);
            }
            if (command.StartsWith("-i:"))
            {
                wordLibraryImport = GetImportInterface(command.Substring(3));
                beginImportFile   = true;
                return(CommandType.Import);
            }

            if (command.StartsWith("-o:"))
            {
                wordLibraryExport = GetExportInterface(command.Substring(3));
                beginImportFile   = false;
                return(CommandType.Export);
            }
            if (command.StartsWith("-c:")) //code
            {
                codingFile = command.Substring(3);
                pattern.MappingTablePath = codingFile;
                pattern.IsPinyinFormat   = false;
                beginImportFile          = false;
                return(CommandType.Coding);
            }
            if (command.StartsWith("-ct:")) //code type
            {
                var codeType = command.Substring(4).ToLower();
                switch (codeType)
                {
                case "pinyin": pattern.CodeType = CodeType.Pinyin; break;

                case "wubi": pattern.CodeType = CodeType.Wubi; break;

                case "zhengma": pattern.CodeType = CodeType.Zhengma; break;

                case "cangjie": pattern.CodeType = CodeType.Cangjie; break;

                case "zhuyin": pattern.CodeType = CodeType.TerraPinyin; break;

                default: pattern.CodeType = CodeType.Pinyin; break;
                }
                return(CommandType.CodeType);
            }
            if (command.StartsWith("-os:")) //code type
            {
                var os = command.Substring(4).ToLower();
                switch (os)
                {
                case "windows": pattern.OS = OperationSystem.Windows; break;

                case "mac":
                case "macos": pattern.OS = OperationSystem.MacOS; break;

                case "linux":
                case "unix": pattern.OS = OperationSystem.Linux; break;

                default: pattern.OS = OperationSystem.Windows; break;
                }
                return(CommandType.OS);
            }
            if (command.StartsWith("-ld2:")) //ld2 encoding
            {
                string   ecodes = command.Substring(5);
                string[] arr    = ecodes.Split(',');

                wordEncoding = Encoding.GetEncoding(arr[0]);
                if (arr.Length > 1)
                {
                    xmlEncoding = Encoding.GetEncoding(arr[1]);
                }

                return(CommandType.Encoding);
            }
            if (command.StartsWith("-f:")) //format
            {
                format          = command.Substring(3);
                beginImportFile = false;
                var sort = new List <int>();
                for (int i = 0; i < 3; i++)
                {
                    char c = format[i];
                    sort.Add(Convert.ToInt32(c));
                }
                pattern.Sort            = sort;
                pattern.CodeSplitString = format[3].ToString();
                pattern.SplitString     = format[4].ToString();
                string t = format[5].ToString().ToLower();
                beginImportFile = false;
                if (t == "l")
                {
                    pattern.CodeSplitType = BuildType.LeftContain;
                }
                if (t == "r")
                {
                    pattern.CodeSplitType = BuildType.RightContain;
                }
                if (t == "b")
                {
                    pattern.CodeSplitType = BuildType.FullContain;
                }
                if (t == "n")
                {
                    pattern.CodeSplitType = BuildType.None;
                }
                pattern.ContainCode = (format[6].ToString().ToLower() == "y");
                pattern.ContainRank = (format[8].ToString().ToLower() == "y");
                return(CommandType.Format);
            }

            if (beginImportFile)
            {
                importPaths.AddRange(FileOperationHelper.GetFilesPath(command));
            }
            if (type == CommandType.Export)
            {
                exportPath = command;
            }
            return(CommandType.Other);
        }
Example #16
0
        private CommandType RunCommand(string command)
        {
            if (command == "--help" || command == "-?")
            {
                Help();
                return(CommandType.Help);
            }
            if (command == "--version" || command == "-v")
            {
                Console.WriteLine("Version:" + Assembly.GetExecutingAssembly().GetName().Version);
                return(CommandType.Help);
            }
            if (command.StartsWith("-i:"))
            {
                wordLibraryImport = GetImportInterface(command.Substring(3));
                beginImportFile   = true;
                return(CommandType.Import);
            }

            if (command.StartsWith("-o:"))
            {
                wordLibraryExport = GetExportInterface(command.Substring(3));
                beginImportFile   = false;
                return(CommandType.Export);
            }
            if (command.StartsWith("-c:")) //code
            {
                codingFile = command.Substring(3);
                pattern.MappingTablePath = codingFile;
                pattern.IsPinyinFormat   = false;
                beginImportFile          = false;
                return(CommandType.Coding);
            }
            if (command.StartsWith("-ld2:")) //ld2 encoding
            {
                string   ecodes = command.Substring(5);
                string[] arr    = ecodes.Split(',');

                wordEncoding = Encoding.GetEncoding(arr[0]);
                if (arr.Length > 1)
                {
                    xmlEncoding = Encoding.GetEncoding(arr[1]);
                }

                return(CommandType.Encoding);
            }
            if (command.StartsWith("-f:")) //format
            {
                format          = command.Substring(3);
                beginImportFile = false;
                var sort = new List <int>();
                for (int i = 0; i < 3; i++)
                {
                    char c = format[i];
                    sort.Add(Convert.ToInt32(c));
                }
                pattern.Sort            = sort;
                pattern.CodeSplitString = format[3].ToString();
                pattern.SplitString     = format[4].ToString();
                string t = format[5].ToString().ToLower();
                beginImportFile = false;
                if (t == "l")
                {
                    pattern.CodeSplitType = BuildType.LeftContain;
                }
                if (t == "r")
                {
                    pattern.CodeSplitType = BuildType.RightContain;
                }
                if (t == "b")
                {
                    pattern.CodeSplitType = BuildType.FullContain;
                }
                if (t == "n")
                {
                    pattern.CodeSplitType = BuildType.None;
                }
                pattern.ContainCode = (format[6].ToString().ToLower() == "y");
                pattern.ContainRank = (format[8].ToString().ToLower() == "y");
                return(CommandType.Format);
            }

            if (beginImportFile)
            {
                importPaths.AddRange(FileOperationHelper.GetFilesPath(command));
            }
            if (type == CommandType.Export)
            {
                exportPath = command;
            }
            return(CommandType.Other);
        }