summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeng Wu <alexepico@gmail.com>2024-09-29 14:06:13 +0800
committerPeng Wu <alexepico@gmail.com>2024-09-29 14:06:13 +0800
commit13574d4e9da3cb07fecdce86939f8f3842d6a669 (patch)
tree05d3b8392eda9ada819140964aca1c9532512bc5
parent82c4ecfd79c94a46aa9fe8034f9840ae5bc96fe6 (diff)
downloadlibpinyin-13574d4e9da3cb07fecdce86939f8f3842d6a669.tar.gz
libpinyin-13574d4e9da3cb07fecdce86939f8f3842d6a669.tar.xz
libpinyin-13574d4e9da3cb07fecdce86939f8f3842d6a669.zip
Write generate_punct_table function
-rw-r--r--utils/storage/gen_binary_files.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/utils/storage/gen_binary_files.cpp b/utils/storage/gen_binary_files.cpp
index c4620c4..0d66c45 100644
--- a/utils/storage/gen_binary_files.cpp
+++ b/utils/storage/gen_binary_files.cpp
@@ -83,6 +83,29 @@ bool generate_binary_files(const char * pinyin_table_filename,
return true;
}
+bool generate_punct_table(const char * tablename) {
+ PunctTable punct_table;
+ bool retval = punct_table.attach(tablename, ATTACH_CREATE|ATTACH_READWRITE);
+ if (!retval) {
+ fprintf(stderr, "open %s failed!\n", tablename);
+ exit(ENOENT);
+ }
+
+ gchar * filename = g_build_filename(table_dir, "punct.table", NULL);
+ FILE * tablefile = fopen(filename, "r");
+ if (NULL == tablefile) {
+ fprintf(stderr, "open %s failed!\n", filename);
+ exit(ENOENT);
+ }
+
+ punct_table.load_text(tablefile);
+
+ fclose(tablefile);
+ g_free(filename);
+
+ return true;
+}
+
int main(int argc, char * argv[]){
setlocale(LC_ALL, "");
@@ -120,5 +143,7 @@ int main(int argc, char * argv[]){
ADDON_SYSTEM_PHRASE_INDEX,
phrase_files, type);
+ generate_punct_table(SYSTEM_PUNCT_TABLE);
+
return 0;
}