main (int argc, char* argv[])
{
CHISE_DS ds;
- CHISE_Decoding_Table *dt;
- CHISE_Feature_Table *ft;
+ CHISE_Decoding_Table *dt_daikanwa;
+ CHISE_Feature_Table *ft_ideographic_structure;
int modemask;
int accessmask = 0;
DBTYPE real_subtype;
CHISE_Char_ID char_id;
CHISE_Value value;
+ /* open a data-source */
status = chise_open_data_source (&ds, CHISE_DS_Berkeley_DB, db_dir);
if (status)
{
return -1;
}
- modemask = 0755; /* rwxr-xr-x */
+ /*
+ * get a character corresponding with Daikanwa number 364
+ */
+
+ modemask = 0755; /* rwxr-xr-x */
real_subtype = DB_HASH;
accessmask = DB_RDONLY;
- status = chise_open_decoding_table (&dt, &ds,
+ /* setup a decoding-table */
+ status = chise_open_decoding_table (&dt_daikanwa, &ds,
"ideograph-daikanwa",
- real_subtype, accessmask, modemask);
+ real_subtype,
+ accessmask, modemask);
if (status)
{
- chise_close_decoding_table (dt);
+ chise_close_decoding_table (dt_daikanwa);
chise_close_data_source (&ds);
return -1;
}
+
+ /* get a character from the decoding-table */
+ char_id = chise_dt_get_char (dt_daikanwa, 364);
+
+ /* close the decoding-table */
+ chise_close_decoding_table (dt_daikanwa);
- char_id = chise_dt_get_char (dt, 20);
- chise_close_decoding_table (dt);
-
- status = chise_open_feature_table (&ft, &ds,
+
+ /*
+ * get a ideographic-structure feature of the character
+ */
+
+ /* setup a feature-table */
+ status = chise_open_feature_table (&ft_ideographic_structure, &ds,
"ideographic-structure",
real_subtype, accessmask, modemask);
if (status)
{
- chise_close_feature_table (ft);
+ chise_close_feature_table (ft_ideographic_structure);
chise_close_data_source (&ds);
return -1;
}
+
+ /* get a feature-value of the character */
+ status = chise_ft_get_value (ft_ideographic_structure, char_id, &value);
- status = chise_ft_get_value (ft, char_id, &value);
if (!status)
printf ("#x%X => %s\n", char_id, chise_value_to_c_string(&value));
else
printf ("#x%X (%d)\n", char_id, status);
- chise_close_feature_table (ft);
+ /* close the feature-table */
+ chise_close_feature_table (ft_ideographic_structure);
+
+
+ /* close the data-source */
chise_close_data_source (&ds);
}