OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <algorithm> | 5 #include <algorithm> |
6 #include <deque> | 6 #include <deque> |
7 #include <fstream> | 7 #include <fstream> |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/base_paths.h" | 10 #include "base/base_paths.h" |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
71 | 71 |
72 // dictionary | 72 // dictionary |
73 base::FilePath dir_temp; | 73 base::FilePath dir_temp; |
74 PathService::Get(base::DIR_TEMP, &dir_temp); | 74 PathService::Get(base::DIR_TEMP, &dir_temp); |
75 std::string path = dir_temp.value() + "/main_en.dict"; | 75 std::string path = dir_temp.value() + "/main_en.dict"; |
76 if (!default_dictionary_) { | 76 if (!default_dictionary_) { |
77 CreatDictFromEmbeddedDataIfNotExist(path); | 77 CreatDictFromEmbeddedDataIfNotExist(path); |
78 default_dictionary_ = scoped_ptr<latinime::Dictionary>( | 78 default_dictionary_ = scoped_ptr<latinime::Dictionary>( |
79 OpenDictionary(path, 0, prediction::kDictFile.size, false)); | 79 OpenDictionary(path, 0, prediction::kDictFile.size, false)); |
80 if (!default_dictionary_) { | 80 if (!default_dictionary_) { |
81 return suggestion_words.Clone().Pass(); | 81 return suggestion_words; |
82 } | 82 } |
83 } | 83 } |
84 | 84 |
85 // dic_traverse_session | 85 // dic_traverse_session |
86 if (!default_session_) { | 86 if (!default_session_) { |
87 default_session_ = scoped_ptr<latinime::DicTraverseSession>( | 87 default_session_ = scoped_ptr<latinime::DicTraverseSession>( |
88 reinterpret_cast<latinime::DicTraverseSession*>( | 88 reinterpret_cast<latinime::DicTraverseSession*>( |
89 latinime::DicTraverseSession::getSessionInstance( | 89 latinime::DicTraverseSession::getSessionInstance( |
90 "en", prediction::kDictFile.size))); | 90 "en", prediction::kDictFile.size))); |
91 latinime::PrevWordsInfo empty_prev_words; | 91 latinime::PrevWordsInfo empty_prev_words; |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
159 j--; | 159 j--; |
160 } | 160 } |
161 } | 161 } |
162 } | 162 } |
163 | 163 |
164 for (std::deque<std::string>::iterator it = suggestion_words_reverse.begin(); | 164 for (std::deque<std::string>::iterator it = suggestion_words_reverse.begin(); |
165 it != suggestion_words_reverse.end(); ++it) { | 165 it != suggestion_words_reverse.end(); ++it) { |
166 suggestion_words.push_back(mojo::String(*it)); | 166 suggestion_words.push_back(mojo::String(*it)); |
167 } | 167 } |
168 | 168 |
169 return suggestion_words.Clone().Pass(); | 169 return suggestion_words; |
170 } | 170 } |
171 | 171 |
172 // modified from Android JniDataUtils::constructPrevWordsInfo | 172 // modified from Android JniDataUtils::constructPrevWordsInfo |
173 latinime::PrevWordsInfo DictionaryService::ProcessPrevWord( | 173 latinime::PrevWordsInfo DictionaryService::ProcessPrevWord( |
174 mojo::Array<PrevWordInfoPtr>& prev_words) { | 174 mojo::Array<PrevWordInfoPtr>& prev_words) { |
175 int prev_word_codepoints[MAX_PREV_WORD_COUNT_FOR_N_GRAM][MAX_WORD_LENGTH] = { | 175 int prev_word_codepoints[MAX_PREV_WORD_COUNT_FOR_N_GRAM][MAX_WORD_LENGTH] = { |
176 {0}}; | 176 {0}}; |
177 int prev_word_codepoint_count[MAX_PREV_WORD_COUNT_FOR_N_GRAM] = {0}; | 177 int prev_word_codepoint_count[MAX_PREV_WORD_COUNT_FOR_N_GRAM] = {0}; |
178 bool are_beginning_of_sentence[MAX_PREV_WORD_COUNT_FOR_N_GRAM] = {false}; | 178 bool are_beginning_of_sentence[MAX_PREV_WORD_COUNT_FOR_N_GRAM] = {false}; |
179 int prevwords_count = std::min( | 179 int prevwords_count = std::min( |
(...skipping 11 matching lines...) Expand all Loading... |
191 prev_word_codepoint_count[i] = prev_word_size; | 191 prev_word_codepoint_count[i] = prev_word_size; |
192 are_beginning_of_sentence[i] = prev_words[i]->is_beginning_of_sentence; | 192 are_beginning_of_sentence[i] = prev_words[i]->is_beginning_of_sentence; |
193 } | 193 } |
194 latinime::PrevWordsInfo prev_words_info = | 194 latinime::PrevWordsInfo prev_words_info = |
195 latinime::PrevWordsInfo(prev_word_codepoints, prev_word_codepoint_count, | 195 latinime::PrevWordsInfo(prev_word_codepoints, prev_word_codepoint_count, |
196 are_beginning_of_sentence, prevwords_count); | 196 are_beginning_of_sentence, prevwords_count); |
197 return prev_words_info; | 197 return prev_words_info; |
198 } | 198 } |
199 | 199 |
200 } // namespace prediction | 200 } // namespace prediction |
OLD | NEW |