+/*=*/
+
+/***en
+ @brief Get the char-table for a character property.
+
+ The mchar_get_prop_table () function returns a char-table that
+ contains the character property whose key is $KEY. If $TYPE is
+ not NULL, this function stores the type of the property in the
+ place pointed by $TYPE. See mchar_define_property () for types of
+ character property.
+
+ @return
+ If $KEY is a valid character property key, this function returns a
+ char-table. Otherwise NULL is retuned. */
+
+/***ja
+ @brief ʸ»ú¥×¥í¥Ñ¥Æ¥£¤Îʸ»ú¥Æ¡¼¥Ö¥ë¤òÆÀ¤ë.
+
+ ´Ø¿ô mchar_get_prop_table () ¤Ï¡¢¥¡¼¤¬ $KEY ¤Ç¤¢¤ëʸ»ú¥×¥í¥Ñ¥Æ¥£
+ ¤ò´Þ¤àʸ»ú¥Æ¡¼¥Ö¥ë¤òÊÖ¤¹¡£¤â¤· $TYPE ¤¬ NULL ¤Ç¤Ê¤±¤ì¤Ð¡¢ $TYPE ¤Ç
+ »Ø¤µ¤ì¤ë¾ì½ê¤Ë¤½¤Îʸ»ú¤Î¥×¥í¥Ñ¥Æ¥£¤ò³ÊǼ¤¹¤ë¡£Ê¸»ú¥×¥í¥Ñ¥Æ¥£¤Î¼ïÎà
+ ¤Ë´Ø¤·¤Æ¤Ï mchar_define_property () ¤ò¸«¤è¡£
+
+ @return
+ ¤â¤· $KEY ¤¬ÀµÅö¤Êʸ»ú¥×¥í¥Ñ¥Æ¥£¤Î¥¡¼¤Ç¤¢¤ì¤Ð¡¢Ê¸»ú¥Æ¡¼¥Ö¥ë¤¬ÊÖ¤µ
+ ¤ì¤ë¡£¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ï NULL ¤¬ÊÖ¤µ¤ì¤ë¡£ */
+
+MCharTable *
+mchar_get_prop_table (MSymbol key, MSymbol *type)
+{
+ MCharPropRecord *record;
+
+ if (! char_prop_list)
+ return NULL;
+ record = mplist_get (char_prop_list, key);
+ if (! record)
+ return NULL;
+ if (record->mdb)
+ {
+ record->table = (*mdatabase__loader) (record->mdb);
+ if (! record->table)
+ MERROR (MERROR_DB, NULL);
+ record->mdb = NULL;
+ }
+ if (type)
+ *type = record->type;
+ return record->table;
+}
+