Skip to content

Commit 93fe827

Browse files
committed
fix(dict_compiler): build prism with loaded syllabary when not rebuilding primary table
1 parent 930074c commit 93fe827

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

src/rime/dict/dict_compiler.cc

+8-3
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,6 @@ bool DictCompiler::Compile(const string &schema_file) {
158158
}
159159
if (rebuild_prism &&
160160
!BuildPrism(schema_file,
161-
syllabary,
162161
dict_file_checksum,
163162
schema_file_checksum)) {
164163
return false;
@@ -289,13 +288,19 @@ bool DictCompiler::BuildReverseDb(DictSettings* settings,
289288
}
290289

291290
bool DictCompiler::BuildPrism(const string &schema_file,
292-
const Syllabary& syllabary,
293291
uint32_t dict_file_checksum,
294292
uint32_t schema_file_checksum) {
295293
LOG(INFO) << "building prism...";
296294
prism_ = New<Prism>(RelocateToUserDirectory(prefix_, prism_->file_name()));
297295

298-
// apply spelling algebra and prepare corrections (if enabled)
296+
// get syllabary from primary table, which may not be rebuilt
297+
Syllabary syllabary;
298+
const auto& primary_table = tables_[0];
299+
if (!primary_table->Load() ||
300+
!primary_table->GetSyllabary(&syllabary) ||
301+
syllabary.empty())
302+
return false;
303+
// apply spelling algebra and prepare corrections (if enabled)
299304
Script script;
300305
if (!schema_file.empty()) {
301306
Config config;

src/rime/dict/dict_compiler.h

-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ class DictCompiler {
4242
const vector<string>& dict_files,
4343
uint32_t dict_file_checksum);
4444
bool BuildPrism(const string& schema_file,
45-
const Syllabary& syllabary,
4645
uint32_t dict_file_checksum,
4746
uint32_t schema_file_checksum);
4847
bool BuildReverseDb(DictSettings* settings,

0 commit comments

Comments
 (0)