public HSTaskPane(Hunspell oHunspell) { InitializeComponent(); m_oEncoder = new HySpellEncoder.Wrapper(); m_oHunspell = oHunspell; sCustomDictPath = Globals.ThisAddIn.CustomDictPath; this.LostFocus += new EventHandler(HSTaskPane_LostFocus); this.VisibleChanged += new EventHandler(HSTaskPane_VisibleChanged); }
private bool CheckSpelling(string sWord, ref ArrayList arrAnals) { bool bFoundStem = false; HySpellEncoder.Wrapper oEncoder = new HySpellEncoder.Wrapper(); if (Globals.ThisAddIn.HSWrapper == null) { //Globals.ThisAddIn.Wrapper = new Wrapper(); Globals.ThisAddIn.InitializeWrapper(); } int nRetFlag = -1; ArrayList arrEncoded = new ArrayList(); nRetFlag = oEncoder.Encode_U(sWord, arrEncoded); if (arrEncoded.Count != 0) { string sOutWord = arrEncoded[0].ToString(); if (nRetFlag > 0) { int nAccIndex = sWord.IndexOfAny(Globals.ThisAddIn.IsArmenianAccent); if (nAccIndex != -1) { string sAcc = sWord.Substring(nAccIndex, 1); if (nRetFlag < 2) { sAcc = Globals.ThisAddIn.DecodeAccent(sAcc); } if (nRetFlag == 2) { sOutWord = sOutWord.Remove(nAccIndex, 1); } } // check if stem-affix is found in dic List <string> anals = Globals.ThisAddIn.HSWrapper.Analyze(sOutWord); //if (Globals.ThisAddIn.Wrapper.Analyze_U(arrAnals, sOutWord) > 0) if (anals.Count > 0) { foreach (string anal in anals) { arrAnals.Add(anal); } bFoundStem = true; } } } return(bFoundStem); }