+2007-10-12 Kenichi Handa <handa@m17n.org>
+
+ * plist.c (read_mtext_element): Simplify the code.
+
+ * m17n.h: Move database related declarations to m17n-core.h
+ (Mharset): Don't extern it.
+
+ * m17n.c (m17n_init): Don't call mdatabase__init.
+
+ * m17n-gd.c (read_rgb_txt): Check also /etc/X11/rgb.txt. Downcase
+ color names.
+
+ * m17n-flt.c: Include m17n-core.h instead of m17n.h.
+ (Mexist): New variable.
+ (enum FontLayoutCmdRuleSrcType): New enum SRC_EXIST.
+ (FontLayoutCmdRule): New member src.exist.
+ (parse_otf_command): Handle gsub_count and gpos_count separately.
+ (load_otf_command): Adjusted for the change of MFLTOtfSpec.
+ (load_command): Handle the command "exist".
+ (free_flt_command): Adjusted for the change of MFLTOtfSpec.
+ (run_rule): Handle the case SRC_EXIST.
+ (run_otf): Adjusted for the change of MFLTOtfSpec.
+ (run_command): Check the range of FROM.
+ (check_otf_spec): Delete it.
+ (m17n_init_flt): Call m17n_init_core instead of m17n_init.
+ Initialize Mexist.
+ (m17n_fini_flt): Call m17n_fini_core instead of m17n_fiini.
+ (mflt_find): Call font->check_otf instead of check_otf_spec.
+ (mflt_run): Keep the metrics in 26.6 fixed point.
+
+ * m17n-core.c (mdatabase__finder, mdatabase__loader): Delete them.
+ (m17n_init_core): Call mdatabase__init.
+
+ * m17n-X.c (device_open): Use mplist_add, not mplist_push.
+
+ * internal.h (mdatabase__finder, mdatabase__loader): Delete externs
+ of them.
+
+ * font-flt.c (Mexist): New variable.
+ (enum FontLayoutCmdRuleSrcType): New enum SRC_EXIST.
+ (FontLayoutCmdRule): New member src.exist.
+ (load_category_table): Use isalnum, not isalpha.
+ (load_command): Check the command "exist".
+ (run_rule): Hande the case SRC_EXIST.
+ (run_command): Check the range of FROM.
+ (mfont__flt_init): Initialize Mexist.
+
+ * draw.c (layout_glyphs): Fix calculation of off_x and off_y.
+
+ * database.h (mdatabase__load_charset_func): Extern it.
+
+ * database.c: Include m17n-core.h instead of m17n.h.
+ (load_chartable): Use mtext__from_data.
+ (load_charset): Moved to charset.c
+ (load_database): Call mdatabase__load_charset_func instead of
+ load_charset.
+ (mdatabase__load_charset_func): New variable.
+ (mdatabase__init): Initialize mdatabase__load_charset_func and
+ Mcharset. Don't set mdatabase__finder and mdatabase__loader.
+ (mdatabase__save): Use fwrite, not mconv_encode_stream.
+ (Mcharset): Declare it here.
+
+ * charset.c: Include "database.h.".
+ (load_charset): Moved from database.c.
+ (mcharset__init): Initialize mdatabase__load_charset_func, don't
+ initialize Mcharset.
+
+ * character.c (mchar_define_property): Call mdatabase_find directly.
+ (mchar_get_prop): Call mdatabase_add directly.
+ (mchar_put_prop): Call mdatabase_load directly.
+ (mchar_get_prop_table): Likewise.
+
+ * Makefile.am (libm17n_core_la_SOURCES): Add database.[ch].
+ (libm17n_la_SOURCES): Remove database.[ch].
+ (libm17n_flt_la_LIBADD): Delete libm17n.la, add libm17n-core.la.
+
2007-09-18 Kenichi Handa <handa@m17n.org>
* face.c (mface__realize): Try Freetype based font at first.