Beispiel #1
0
        private string MakeTalkToString(string sourceStr, bool bNextFurigana)
        {
            // 会話か否か
            string strDest;

            try
            {
                // prevTime = ModuleReuseClass.GetVoiceTime(sourceStr);
                strDest = sourceStr + "\r\n";
                // よみがなの追加
                if (!bNextFurigana)
                {
                    var strYomigana = ModuleReuseClass.OutputYomigana(sourceStr);
                    if (!string.IsNullOrEmpty(strYomigana))
                    {
                        strDest += ":" + strYomigana + "\r\n";
                    }
                    else
                    {
                        strYomigana = ModuleReuseClass.GetNMeCabToFurigana(sourceStr);
                        if (!string.IsNullOrEmpty(strYomigana))
                        {
                            strDest += ":" + strYomigana + "\r\n";
                        }
                    }
                }
            }
            catch
            {
                strDest = "";
            }
            return(strDest);
        }
Beispiel #2
0
        public static string GetNMeCabToFurigana(string strInput)
        {
            string str = string.Empty, strYomi;

            try
            {
                MeCabParam  mcp = new MeCabParam();
                MeCabTagger mct = MeCabTagger.Create();
                MeCabNode   mcn = mct.ParseToNode(strInput);
                MecabResult mcr = new MecabResult(mcn);

                foreach (MecabResult.MecabResultItem mcri in mcr.nodes)
                {
                    strYomi = String.Empty;
                    if (String.Compare(mcri.読み, "*") == 0)
                    {
                        // 形態素解析を持ってしても読めない場合、OutputYomiganaを使用する。
                        strYomi = ModuleReuseClass.OutputYomigana(mcri.表層形);
                    }
                    else
                    {
                        strYomi = mcri.読み;
                    }
                    str += strYomi;
                }
                //カタカナをひらがなに変換する
                str = Strings.StrConv(str, VbStrConv.Hiragana, 0x411);
                //あいうえおかきくけこサシスセソnaninuneno
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            return(str);
        }