Beispiel #1
0
        public Form1()
        {
            japDict = new Dictionary <string, IJapaneseEntry>();
            var dict = new JapaneseDictionary().GetEntries().ToArray();

            for (int i = 0; i < dict.Length; i++)
            {
                foreach (IKanji k in dict[i].Kanjis)
                {
                    japDict[k.Text] = dict[i];
                }

                foreach (Wacton.Desu.Japanese.IReading r in dict[i].Readings)
                {
                    japDict[r.Text] = dict[i];
                }
            }

            kanjiDict = new Dictionary <string, IKanjiEntry>();
            var kanji = new KanjiDictionary().GetEntries().ToArray();

            for (int i = 0; i < kanji.Length; i++)
            {
                kanjiDict[kanji[i].Literal] = kanji[i];
            }

            tagger = MeCabTagger.Create();

            InitializeComponent();

            furiganaKanaLabel.SelectedTextChangedEvent   += FuriganaKanaLabel_SelectedTextChangedEvent;
            furiganaRomajiLabel.SelectedTextChangedEvent += FuriganaKanaLabel_SelectedTextChangedEvent;
        }
        public void Dispose(bool isTrue)
        {
            KuromojiTokenizer.Dispose();
            JapEngDictionary.Dispose();

            if (KanjiDictionary != null)
            {
                KanjiDictionary.Dispose();
            }

            if (ExampleDictionary != null)
            {
                ExampleDictionary.Dispose();
            }

            if (synth != null)
            {
                synth.Dispose();
            }

            if (UserPrefs != null)
            {
                GeneralPreference.Close();
            }

            if (isTrue)
            {
                if (notifyIcon != null)
                {
                    notifyIcon.Dispose();
                }
                if (notifyIconContextMenu != null)
                {
                    notifyIconContextMenu.Dispose();
                }
            }
        }
Beispiel #3
0
        public RadKey()
        {
            InitializeComponent();

            // Initialize OS-specific components.
            if (Environment.OSVersion.Platform == PlatformID.Win32NT)
            {
                Windows_InitializeComponent();
                restoreHotkey = Windows_CreateRestoreHotkey();
            }
            else
            {
                Linux_InitializeComponent();
            }

            KanjiDictionary kanjiDictionary = new KanjiDictionary("kanjidic"); //loadKanjiDic(); // Making this non-static would mean KanjiData would need to store a static reference to it for sorting?

            Compound.SetKanjiDictionary(kanjiDictionary);

            KanjiToRadicalDictionary kanjiToRadicalDictionary = new KanjiToRadicalDictionary("kradfile");

            SelectionInfoHandler.SetKanjiToRadicalDictionary(kanjiToRadicalDictionary, kanjiDictionary);
            TextConverter.SetKanjiToRadicalDictionary(kanjiToRadicalDictionary);

            kanjiSearchManager = new KanjiSearchHandler(
                new KanjiSearch(
                    new RadkfileDictionary("radkfile")), kanjiDictionary);

            compoundSearchHandler = new CompoundSearchHandler(
                new CompoundSearch(
                    new CompoundDictionary("JMdict_e"), kanjiToRadicalDictionary));



            messageBox.Text = NameToRadicalDictionary.Load(radicalNameFile) + Environment.NewLine + messageBox.Text;
        }
 public static void SetKanjiToRadicalDictionary(KanjiToRadicalDictionary _kanjiToRadicalDictionary, KanjiDictionary _kanjiDictionary)
 {
     kanjiToRadicalDictionary = _kanjiToRadicalDictionary;
     kanjiDictionary          = _kanjiDictionary;
 }