public PartialWordLookup(JMDictLookup jmDictLookup, IRadicalSearcher searcher, KanjiRadicalLookup lookup) { this.searcher = searcher; this.lookup = lookup; allWords = string.Join("", jmDictLookup.AllEntries() .SelectMany(entry => entry.KanjiEntries.Select(k => k.Kanji).Concat(entry.ReadingEntries.Select(r => r.Reading))) .Distinct() .Select(word => start + word + end)); }
public void Setup() { this.kanjiDict = KanjiDict.Create(Path.Combine(TestDataPaths.BaseDir, "character", "kanjidic2.xml.gz")); using (var reader = File.OpenText(Path.Combine(TestDataPaths.BaseDir, "character", "radkfile1_plus_2_utf8"))) this.kanjiRadicalLookup = new KanjiRadicalLookup(Radkfile.Parse(reader), kanjiDict); this.jmdict = JMDictLookup.Create(TestDataPaths.JMDict, TestDataPaths.JMDictCache); this.radkfileKanjiAliveCorrelator = new RadkfileKanjiAliveCorrelator(Path.Combine(TestDataPaths.BaseDir, "character", "radkfile_kanjilive_correlation_data.txt")); this.radicalSearcher = new RadicalSearcher( kanjiRadicalLookup.AllRadicals, KanjiAliveJapaneseRadicalInformation.Parse(Path.Combine(TestDataPaths.BaseDir, "character", "japanese-radicals.csv")), radkfileKanjiAliveCorrelator); }
public KanjiLookupService( IKanjiRadicalLookup radicalLookup, IRadicalSearcher radicalSearcher, IKanjiProperties kanjiProperties, KanjiAliveJapaneseRadicalInformation kanjiAliveInfo, RadkfileKanjiAliveCorrelator correlator, IReadOnlyDictionary <CodePoint, string> textForms = null) { this.radicalLookup = radicalLookup; this.radicalSearcher = radicalSearcher; this.kanjiProperties = kanjiProperties; this.kanjiAliveInfo = CreateKanjiAliveMapping( radicalLookup.AllRadicals, kanjiAliveInfo, correlator); this.textForms = textForms; }