9 db_create(&kPartsdbDatabase, NULL, 0);
10 kPartsdbDatabase->open(kPartsdbDatabase, NULL, partsdbFileName, NULL, DB_HASH, DB_RDONLY, 0644);
11 db_create(&kIdsdbDatabase, NULL, 0);
12 kIdsdbDatabase->open(kIdsdbDatabase, NULL, idsdbFileName, NULL, DB_HASH, DB_RDONLY, 0644);
13 db_create(&kAliasdbDatabase, NULL, 0);
14 kAliasdbDatabase->open(kAliasdbDatabase, NULL, aliasdbFileName, NULL, DB_HASH, DB_RDONLY, 0644);
19 kPartsdbDatabase->close(kPartsdbDatabase, 0);
20 kIdsdbDatabase->close(kIdsdbDatabase, 0);
21 kAliasdbDatabase->close(kAliasdbDatabase, 0);
25 void searchPartsData(const KGString *in, KGString *out){
28 KGString *temp, *temp2;
30 //cut off the end '-0000' if 'in' end with it
31 temp = kg_string_new(in->str);
32 // if(strncmp(temp->str + temp->len - 5, "-0000", 5) == 0) kg_string_set_size(temp, temp->len - 5);
33 if((temp->str)[0] == 'u'){
34 if(strncmp(temp->str + temp->len - 4, "-j00", 4) == 0) kg_string_set_size(temp, temp->len - 4);
35 else if(strncmp(temp->str + temp->len - 4, "-g00", 4) == 0) kg_string_set_size(temp, temp->len - 2);
36 else if(strncmp(temp->str + temp->len - 4, "-t00", 4) == 0) kg_string_set_size(temp, temp->len - 2);
37 else if(strncmp(temp->str + temp->len - 4, "-k00", 4) == 0) kg_string_set_size(temp, temp->len - 2);
38 else if(strncmp(temp->str + temp->len - 4, "-v00", 4) == 0) kg_string_set_size(temp, temp->len - 2);
39 else if(strncmp(temp->str + temp->len - 4, "-u00", 4) == 0) kg_string_set_size(temp, temp->len - 2);
42 memset(&dbkey,0,sizeof(DBT));
43 memset(&dbdata,0,sizeof(DBT));
44 dbkey.data = temp->str;
45 dbkey.size = temp->len;
46 kg_string_set_size(out, 0);
47 kPartsdbDatabase->get(kPartsdbDatabase, NULL, &dbkey, &dbdata, 0);
49 //for temporary : shares glyph both Mincho and Gothic
50 buf = (char *)malloc(dbdata.size + 1);
51 strncpy(buf, dbdata.data, dbdata.size);
52 buf[dbdata.size] = '\0';
53 temp2 = kg_string_new(buf);
54 //fprintf(stderr,"%s\n",buf);
56 convert99(temp2, out);
61 void searchAliasData(const KGString *in, KGString *out){
66 //cut off the end '-0000' if 'in' end with it
67 temp = kg_string_new(in->str);
68 // if(strncmp(temp->str + temp->len - 5, "-0000", 5) == 0) kg_string_set_size(temp, temp->len - 5);
69 if((temp->str)[0] == 'u'){
70 if(strncmp(temp->str + temp->len - 4, "-j00", 4) == 0) kg_string_set_size(temp, temp->len - 4);
71 else if(strncmp(temp->str + temp->len - 4, "-g00", 4) == 0) kg_string_set_size(temp, temp->len - 2);
72 else if(strncmp(temp->str + temp->len - 4, "-t00", 4) == 0) kg_string_set_size(temp, temp->len - 2);
73 else if(strncmp(temp->str + temp->len - 4, "-k00", 4) == 0) kg_string_set_size(temp, temp->len - 2);
74 else if(strncmp(temp->str + temp->len - 4, "-v00", 4) == 0) kg_string_set_size(temp, temp->len - 2);
75 else if(strncmp(temp->str + temp->len - 4, "-u00", 4) == 0) kg_string_set_size(temp, temp->len - 2);
78 memset(&dbkey,0,sizeof(DBT));
79 memset(&dbdata,0,sizeof(DBT));
80 dbkey.data = temp->str;
81 dbkey.size = temp->len;
82 kg_string_set_size(out, 0);
83 kAliasdbDatabase->get(kAliasdbDatabase, NULL, &dbkey, &dbdata, 0);
85 buf = (char *)malloc(dbdata.size + 1);
86 strncpy(buf, dbdata.data, dbdata.size);
87 buf[dbdata.size] = '\0';
88 //fprintf(stderr,"%s\n",buf);
89 kg_string_append(out, buf);
94 memset(&dbkey,0,sizeof(DBT));
95 memset(&dbdata,0,sizeof(DBT));
96 dbkey.data = temp->str;
97 dbkey.size = temp->len;
98 kg_string_set_size(out, 0);
99 kIdsdbDatabase->get(kIdsdbDatabase, NULL, &dbkey, &dbdata, 0);
100 if(dbdata.size != 0){
101 buf = (char *)malloc(dbdata.size + 1);
102 strncpy(buf, dbdata.data, dbdata.size);
103 buf[dbdata.size] = '\0';
104 //fprintf(stderr,"%s\n",buf);
105 kg_string_append(out, buf);