public override void LoadDictionaries() { Penalties = new List <int>(); Penalties.Add(kanjiPenaltyLengthTreshold); Penalties.Add(kanjiPenalty); Penalties.Add(otherPenaltyLengthThreshold); Penalties.Add(otherPenalty); try { Fst = FST.NewInstance(AbsoluteFolderPath); ConnectionCosts = ConnectionCosts.NewInstance(AbsoluteFolderPath); TokenInfoDictionary = TokenInfoDictionary.NewInstance(AbsoluteFolderPath); CharacterDefinitions = CharacterDefinitions.NewInstance(AbsoluteFolderPath); if (IsSplitOnNakaguro) { CharacterDefinitions.SetCategories('・', new string[] { "SYMBOL" }); } UnknownDictionary = UnknownDictionary.NewInstance(AbsoluteFolderPath, CharacterDefinitions, totalFeatures); InsertedDictionary = new InsertedDictionary(totalFeatures); } catch (Exception ouch) { throw new Exception("Could not load dictionaries: " + ouch.Message); } }