From 57d17e74dc8861396b465d602a8f2eda513d0d61 Mon Sep 17 00:00:00 2001 From: Hans Breuer Date: Sat, 13 Dec 2003 14:31:50 +0000 Subject: moved pango_fc_* to the latter where they live on *nix too. 2003-12-13 Hans Breuer * pango/pango.def pangoft2.def : moved pango_fc_* to the latter where they live on *nix too. * pango/makefile.msc : make it build again (including the Ft2 backend) * pango/module-defs-fc.c.win32 : if PANGO_MODULE_PREFIX is defined include the basic backend shaper * pango/pangowin32.c (pango_win32_render_layout) : initialize iter before first usage to avoid immediate crashing * pango/opentype/makefile.msc pango/modules/makefile.msc : finally build with mscv, too. [completely untested cause I'm not able to type, write or read any of these languages] * modules/modules.def : follow module function renaming/changes * modules/basic/basic-win32.c : register the right engine, i.e. make it compile --- ChangeLog | 24 +++++++++++++++++ ChangeLog.pre-1-10 | 24 +++++++++++++++++ ChangeLog.pre-1-4 | 24 +++++++++++++++++ ChangeLog.pre-1-6 | 24 +++++++++++++++++ ChangeLog.pre-1-8 | 24 +++++++++++++++++ modules/basic/basic-win32.c | 2 +- modules/makefile.msc | 55 +++++++++++++++++++++++++++++++++++++++ modules/module.def | 5 ++-- pango/makefile.msc | 61 +++++++++++++++++++++++++------------------- pango/module-defs-fc.c.win32 | 22 ++++++++++++++++ pango/opentype/makefile.msc | 21 +++++++++++++++ pango/pango.def | 15 ++--------- pango/pangoft2.def | 7 +++++ pango/pangowin32.c | 2 ++ 14 files changed, 268 insertions(+), 42 deletions(-) create mode 100644 modules/makefile.msc create mode 100644 pango/opentype/makefile.msc diff --git a/ChangeLog b/ChangeLog index 1d6fa2ea..3c1f6701 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,27 @@ +2003-12-13 Hans Breuer + + * pango/pango.def pangoft2.def : moved pango_fc_* + to the latter where they live on *nix too. + + * pango/makefile.msc : make it build again (including + the Ft2 backend) + + * pango/module-defs-fc.c.win32 : if PANGO_MODULE_PREFIX is defined + include the basic backend shaper + + * pango/pangowin32.c (pango_win32_render_layout) : + initialize iter before first usage to avoid immediate crashing + + * pango/opentype/makefile.msc + pango/modules/makefile.msc : finally build with mscv, too. + [completely untested cause I'm not able to type, write or read + any of these languages] + + * modules/modules.def : follow module function renaming/changes + + * modules/basic/basic-win32.c : register the right engine, i.e. + make it compile + 2003-12-08 Tor Lillqvist * modules/basic/basic-win32.c (convert_log_clusters_to_byte_offsets): diff --git a/ChangeLog.pre-1-10 b/ChangeLog.pre-1-10 index 1d6fa2ea..3c1f6701 100644 --- a/ChangeLog.pre-1-10 +++ b/ChangeLog.pre-1-10 @@ -1,3 +1,27 @@ +2003-12-13 Hans Breuer + + * pango/pango.def pangoft2.def : moved pango_fc_* + to the latter where they live on *nix too. + + * pango/makefile.msc : make it build again (including + the Ft2 backend) + + * pango/module-defs-fc.c.win32 : if PANGO_MODULE_PREFIX is defined + include the basic backend shaper + + * pango/pangowin32.c (pango_win32_render_layout) : + initialize iter before first usage to avoid immediate crashing + + * pango/opentype/makefile.msc + pango/modules/makefile.msc : finally build with mscv, too. + [completely untested cause I'm not able to type, write or read + any of these languages] + + * modules/modules.def : follow module function renaming/changes + + * modules/basic/basic-win32.c : register the right engine, i.e. + make it compile + 2003-12-08 Tor Lillqvist * modules/basic/basic-win32.c (convert_log_clusters_to_byte_offsets): diff --git a/ChangeLog.pre-1-4 b/ChangeLog.pre-1-4 index 1d6fa2ea..3c1f6701 100644 --- a/ChangeLog.pre-1-4 +++ b/ChangeLog.pre-1-4 @@ -1,3 +1,27 @@ +2003-12-13 Hans Breuer + + * pango/pango.def pangoft2.def : moved pango_fc_* + to the latter where they live on *nix too. + + * pango/makefile.msc : make it build again (including + the Ft2 backend) + + * pango/module-defs-fc.c.win32 : if PANGO_MODULE_PREFIX is defined + include the basic backend shaper + + * pango/pangowin32.c (pango_win32_render_layout) : + initialize iter before first usage to avoid immediate crashing + + * pango/opentype/makefile.msc + pango/modules/makefile.msc : finally build with mscv, too. + [completely untested cause I'm not able to type, write or read + any of these languages] + + * modules/modules.def : follow module function renaming/changes + + * modules/basic/basic-win32.c : register the right engine, i.e. + make it compile + 2003-12-08 Tor Lillqvist * modules/basic/basic-win32.c (convert_log_clusters_to_byte_offsets): diff --git a/ChangeLog.pre-1-6 b/ChangeLog.pre-1-6 index 1d6fa2ea..3c1f6701 100644 --- a/ChangeLog.pre-1-6 +++ b/ChangeLog.pre-1-6 @@ -1,3 +1,27 @@ +2003-12-13 Hans Breuer + + * pango/pango.def pangoft2.def : moved pango_fc_* + to the latter where they live on *nix too. + + * pango/makefile.msc : make it build again (including + the Ft2 backend) + + * pango/module-defs-fc.c.win32 : if PANGO_MODULE_PREFIX is defined + include the basic backend shaper + + * pango/pangowin32.c (pango_win32_render_layout) : + initialize iter before first usage to avoid immediate crashing + + * pango/opentype/makefile.msc + pango/modules/makefile.msc : finally build with mscv, too. + [completely untested cause I'm not able to type, write or read + any of these languages] + + * modules/modules.def : follow module function renaming/changes + + * modules/basic/basic-win32.c : register the right engine, i.e. + make it compile + 2003-12-08 Tor Lillqvist * modules/basic/basic-win32.c (convert_log_clusters_to_byte_offsets): diff --git a/ChangeLog.pre-1-8 b/ChangeLog.pre-1-8 index 1d6fa2ea..3c1f6701 100644 --- a/ChangeLog.pre-1-8 +++ b/ChangeLog.pre-1-8 @@ -1,3 +1,27 @@ +2003-12-13 Hans Breuer + + * pango/pango.def pangoft2.def : moved pango_fc_* + to the latter where they live on *nix too. + + * pango/makefile.msc : make it build again (including + the Ft2 backend) + + * pango/module-defs-fc.c.win32 : if PANGO_MODULE_PREFIX is defined + include the basic backend shaper + + * pango/pangowin32.c (pango_win32_render_layout) : + initialize iter before first usage to avoid immediate crashing + + * pango/opentype/makefile.msc + pango/modules/makefile.msc : finally build with mscv, too. + [completely untested cause I'm not able to type, write or read + any of these languages] + + * modules/modules.def : follow module function renaming/changes + + * modules/basic/basic-win32.c : register the right engine, i.e. + make it compile + 2003-12-08 Tor Lillqvist * modules/basic/basic-win32.c (convert_log_clusters_to_byte_offsets): diff --git a/modules/basic/basic-win32.c b/modules/basic/basic-win32.c index e858f71d..1d50c8c5 100644 --- a/modules/basic/basic-win32.c +++ b/modules/basic/basic-win32.c @@ -1127,7 +1127,7 @@ PANGO_MODULE_ENTRY(init) (GTypeModule *module) if (pango_win32_get_debug_flag ()) pango_win32_debug = TRUE; - basic_engine_register_type (module); + basic_engine_win32_register_type (module); } void diff --git a/modules/makefile.msc b/modules/makefile.msc new file mode 100644 index 00000000..eef35ba9 --- /dev/null +++ b/modules/makefile.msc @@ -0,0 +1,55 @@ +# modles for the ft2 backend, don't include 'basic' +# here it is built-in pangoft.dll, see ../pango/makefile.msc +MODULES = arabic hangul hebrew indic thai + +!IFNDEF MODULE + +# The main target +all : sub-all + +sub-all: + for %d in ($(MODULES)) do nmake -nologo -f makefile.msc sub-one THIS=%d + +sub-one: + cd $(THIS) + nmake -nologo -f ..\makefile.msc libpango-$(THIS)-fc.dll MODULE=$(THIS) OBJ_$(THIS)=1 + cd .. + +clean: + for %d in ($(MODULE)) do nmake -nologo -f makefile.msc sub-clean THIS=%d + +!ELSE + +TOP = ..\..\.. +!INCLUDE $(TOP)\glib\build\win32\make.msc + +!IFDEF OBJ_arabic +OBJECTS = arabic-fc.obj arabic-ot.obj +!ENDIF + +!IFDEF OBJ_hebrew +OBJECTS = hebrew-fc.obj hebrew-shaper.obj +!ENDIF + +!IFDEF OBJ_indic +OBJECTS = indic-fc.obj indic-ot.obj indic-ot-class-tables.obj mprefixups.obj +!ENDIF + +!IFDEF OBJ_thai +OBJECTS = thai-fc.obj thai-shaper.obj +!ENDIF + +!IFNDEF OBJECTS +OBJECTS = $(MODULE)-fc.obj +!ENDIF + +INCLUDES = -I ..\.. -I ..\..\pango $(GLIB_CFLAGS) $(FREETYPE2_CFLAGS) +DEFINES = -DPANGO_ENABLE_ENGINE +LINKS = $(FREETYPE_LIBS) $(GLIB_LIBS) \ + ..\..\pango\pango-1.0.lib ..\..\pango\pangoft2-1.0.lib + +libpango-$(MODULE)-fc.dll : $(OBJECTS) ..\module.def + $(CC) $(CFLAGS) -LD -Fe$@ $(OBJECTS) $(LINKS) $(LDFLAGS) /def:..\module.def + +# MODULE +!ENDIF \ No newline at end of file diff --git a/modules/module.def b/modules/module.def index 23572855..6e673874 100644 --- a/modules/module.def +++ b/modules/module.def @@ -1,4 +1,5 @@ EXPORTS + script_engine_create script_engine_list - script_engine_load - script_engine_unload + script_engine_init + script_engine_exit diff --git a/pango/makefile.msc b/pango/makefile.msc index 8c41a666..ed6726b0 100644 --- a/pango/makefile.msc +++ b/pango/makefile.msc @@ -48,12 +48,11 @@ PKG_CFLAGS = -FImsvc_recommended_pragmas.h -I.. -I. -I$(PRJ_TOP) \ -DPANGO_ENABLE_BACKEND -DPANGO_ENABLE_ENGINE \ -DMODULE_VERSION=\"$(PANGO_MODULE_VERSION)\" \ $(GLIB_CFLAGS) $(LIBICONV_CFLAGS) \ - $(FREETYPE2_CFLAGS) \ $(X11_CFLAGS) -DSYSCONFDIR=\"/etc\" !IFDEF OBJS_pango # don't link with itself -PKG_LINK = $(GLIB_LIBS) +PKG_LINK = $(GLIB_LIBS) $(FONTCONFIG_LIBS) !ENDIF !IFDEF OBJS_pangowin32 @@ -62,9 +61,11 @@ PKG_LINK = $(GLIB_LIBS) $(LIBICONV_LIBS) \ !ENDIF !IFDEF OBJS_pangoft2 -PKG_LINK = $(GLIB_LIBS) $(LIBICONV_LIBS) $(FREETYPE2_LIBS) \ - pango-$(PANGO_VER).lib $(FONTCONFIG_LIBS) -# ..\fontconfig\fcwin32.lib +PKG_CFLAGS = $(PKG_CFLAGS) $(FREETYPE2_CFLAGS) $(FONTCONFIG_CFLAGS) \ + -DPANGO_MODULE_PREFIX=_pango_basic_ft2 + +PKG_LINK = $(GLIB_LIBS) $(LIBICONV_LIBS) $(FREETYPE2_LIBS) $(FONTCONFIG_LIBS) \ + pango-$(PANGO_VER).lib opentype\pango-ot.lib !ENDIF !IFDEF OBJS_pangox @@ -79,28 +80,30 @@ PKG_LINK = $(GLIB_LIBS) $(LIBICONV_LIBS) \ !IFDEF OBJS_pango OBJECTS = \ + pango-enum-types.obj \ + \ break.obj \ fonts.obj \ glyphstring.obj \ mapping.obj \ modules.obj \ pango-attributes.obj \ + pango-engine.obj \ pango-color.obj \ pango-context.obj \ pango-coverage.obj \ pango-fontset.obj \ pango-fontmap.obj \ pango-glyph-item.obj \ - pango-intset.obj \ pango-item.obj \ pango-markup.obj \ pango-layout.obj \ + pango-script.obj \ pango-tabs.obj \ pango-utils.obj \ - pangofc-font.obj \ reorder-items.obj \ shape.obj \ - pango-enum-types.obj \ + \ fribidi.obj \ fribidi_get_type.obj !ENDIF @@ -108,11 +111,11 @@ OBJECTS = \ basic-win32.obj : ..\modules\basic\basic-win32.c $(CC) $(PKG_CFLAGS) -GD -DPANGO_MODULE_PREFIX=_pango_basic_win32 -c ..\modules\basic\basic-win32.c -basic-ft2.obj : ..\modules\basic\basic-ft2.c - $(CC) $(PKG_CFLAGS) -GD -DFT2_MODULE_PREFIX -c ..\modules\basic\basic-ft2.c +basic-fc.obj : ..\modules\basic\basic-fc.c + $(CC) $(PKG_CFLAGS) -GD -DPANGO_MODULE_PREFIX=_pango_basic_ft2 -c ..\modules\basic\basic-fc.c basic-x.obj : ..\modules\basic\basic-x.c - $(CC) $(PKG_CFLAGS) -GD -DX_MODULE_PREFIX -c ..\modules\basic\basic-x.c + $(CC) $(PKG_CFLAGS) -GD -DPANGO_MODULE_PREFIX=_pango_basic_xs -c ..\modules\basic\basic-x.c fribidi.obj : mini-fribidi\fribidi.c @@ -131,10 +134,14 @@ OBJECTS = \ !IFDEF OBJS_pangoft2 OBJECTS = \ - module-defs-ft2.obj \ + module-defs-fc.obj \ + pangofc-font.obj \ + pangofc-fontmap.obj \ pangoft2.obj \ pangoft2-fontmap.obj \ - basic-ft2.obj + basic-fc.obj + +PKG_CFLAGS = $(PKG_CFLAGS) $(FONTCONFIG_CFLAGS) $(FREETYPE2_CFLAGS) !ENDIF !IFDEF OBJS_pangox @@ -159,8 +166,8 @@ OBJECTS = $(PACKAGE).obj module-defs-win32.c : module-defs-win32.c.win32 copy module-defs-win32.c.win32 module-defs-win32.c -module-defs-ft2.c : module-defs-ft2.c.win32 - copy module-defs-ft2.c.win32 module-defs-ft2.c +module-defs-fc.c : module-defs-fc.c.win32 + copy module-defs-fc.c.win32 module-defs-fc.c pango_headers= \ pango.h \ @@ -171,27 +178,29 @@ pango_headers= \ pango-engine.h \ pango-font.h \ pango-fontmap.h \ + pango-fontset.h \ pango-glyph.h \ - pango-indic.h \ + pango-glyph-item.h \ pango-item.h \ pango-layout.h \ pango-modules.h \ + pango-script.h \ pango-tabs.h \ pango-types.h \ pango-utils.h \ - pangox.h - + pangofc-font.h \ + pangofc-fontmap.h -pango-enum-types.h: $(pango_headers) - $(PERL) ..\..\glib\gobject\glib-mkenums \ - --fhead "#ifndef __PANGO_ENUM_TYPES_H__\n#define __PANGO_ENUM_TYPES_H__\n" \ +pango-enum-types.h: $(pango_headers) makefile.msc + $(PERL) $(GLIB)\gobject\glib-mkenums \ + --fhead "#ifndef __PANGO_ENUM_TYPES_H__\n#define __PANGO_ENUM_TYPES_H__\n\n#include \n\nG_BEGIN_DECLS\n" \ --fprod "/* enumerations from \"@filename@\" */\n" \ --vhead "GType @enum_name@_get_type (void);\n#define PANGO_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \ - --ftail "#endif /* __PANGO_ENUM_TYPES_H__ */" \ - $(pango_headers) ) > pango-enum-types.h + --ftail "G_END_DECLS\n#endif /* __PANGO_ENUM_TYPES_H__ */" \ + $(pango_headers) > pango-enum-types.h -pango-enum-types.c: $(pango_headers) pango-enum-types.h - $(PERL) ..\..\glib\gobject\glib-mkenums \ +pango-enum-types.c: $(pango_headers) pango-enum-types.h makefile.msc + $(PERL) $(GLIB)\gobject\glib-mkenums \ --fhead "#include " \ --fprod "\n/* enumerations from \"@filename@\" */" \ --vhead "GType\n@enum_name@_get_type (void)\n{\n static GType etype = 0;\n if (etype == 0) {\n static const GEnumValue values[] = {" \ @@ -217,4 +226,4 @@ $(PRJ_TOP)\config.h: $(PRJ_TOP)\config.h.win32 .c.obj : $(CC) $(CFLAGS) -GD -c $(PKG_CFLAGS) -DPANGO_VERSION=\"$(PANGO_VER)\" $< -!ENDIF #PACKAGE \ No newline at end of file +!ENDIF #PACKAGE diff --git a/pango/module-defs-fc.c.win32 b/pango/module-defs-fc.c.win32 index 429ba869..a6ae1cff 100644 --- a/pango/module-defs-fc.c.win32 +++ b/pango/module-defs-fc.c.win32 @@ -4,6 +4,28 @@ #include "modules.h" +#ifdef PANGO_MODULE_PREFIX +/* by defining PANGO_MODULE_PREFIX the basic module gets include in the + * backend library, here ../modules/basic/basic-fc.c + * It helps the backend to not fall on its nose even with a screwed module + * configuration. There should be at least enough fonts available to show + * an error message ... + */ +void _pango_basic_ft2_script_engine_list (PangoEngineInfo **engines, + gint *n_engines); +void _pango_basic_ft2_script_engine_init (GTypeModule *module); +void _pango_basic_ft2_script_engine_exit (void); +PangoEngine *_pango_basic_ft2_script_engine_create (const char *id); +#endif + PangoIncludedModule _pango_included_fc_modules[] = { +#ifdef PANGO_MODULE_PREFIX + { + _pango_basic_ft2_script_engine_list, + _pango_basic_ft2_script_engine_init, + _pango_basic_ft2_script_engine_exit, + _pango_basic_ft2_script_engine_create + }, +#endif { NULL, NULL, NULL }, }; diff --git a/pango/opentype/makefile.msc b/pango/opentype/makefile.msc new file mode 100644 index 00000000..f30a0fa0 --- /dev/null +++ b/pango/opentype/makefile.msc @@ -0,0 +1,21 @@ +TOP = ..\..\.. +!INCLUDE $(TOP)\glib\build\win32\make.msc + +INCLUDES = -I ..\.. $(FREETYPE2_CFLAGS) $(GLIB_CFLAGS) +DEFINES = -DPANGO_ENABLE_ENGINE + +OBJECTS = \ + ftxgdef.obj \ + disasm.obj \ + ftxgpos.obj \ + ftxgsub.obj \ + ftxopen.obj \ + ottest.obj \ + pango-ot-info.obj \ + pango-ot-ruleset.obj \ + +all : \ + pango-ot.lib + +pango-ot.lib : $(OBJECTS) + lib /out:$@ $(OBJECTS) \ No newline at end of file diff --git a/pango/pango.def b/pango/pango.def index 14ddfa2e..974e50f6 100644 --- a/pango/pango.def +++ b/pango/pango.def @@ -69,13 +69,7 @@ EXPORTS pango_coverage_unref pango_default_break pango_direction_get_type - pango_fc_font_get_glyph - pango_fc_font_get_kerning - pango_fc_font_get_type - pango_fc_font_get_unknown_glyph - pango_fc_font_has_char - pango_fc_font_lock_face - pango_fc_font_unlock_face + pango_engine_shape_get_type pango_find_map pango_find_paragraph_boundary pango_font_describe @@ -155,11 +149,6 @@ EXPORTS pango_glyph_string_new pango_glyph_string_set_size pango_glyph_string_x_to_index - pango_int_set_add - pango_int_set_add_range - pango_int_set_contains - pango_int_set_destroy - pango_int_set_new pango_item_copy pango_item_free pango_item_new @@ -237,7 +226,6 @@ EXPORTS pango_log2vis_get_embedding_levels pango_lookup_aliases pango_map_get_engine - pango_map_get_entry pango_module_register pango_parse_markup pango_parse_stretch @@ -249,6 +237,7 @@ EXPORTS pango_scan_int pango_scan_string pango_scan_word + pango_script_get_type pango_shape pango_skip_space pango_split_file_list diff --git a/pango/pangoft2.def b/pango/pangoft2.def index 82237d9e..2e663a2a 100644 --- a/pango/pangoft2.def +++ b/pango/pangoft2.def @@ -1,4 +1,11 @@ EXPORTS + pango_fc_font_get_glyph + pango_fc_font_get_type + pango_fc_font_get_unknown_glyph + pango_fc_font_has_char + pango_fc_font_kern_glyphs + pango_fc_font_lock_face + pango_fc_font_unlock_face pango_ft2_font_get_coverage pango_ft2_font_get_face pango_ft2_font_get_kerning diff --git a/pango/pangowin32.c b/pango/pangowin32.c index f36029c8..19e3c1c8 100644 --- a/pango/pangowin32.c +++ b/pango/pangowin32.c @@ -818,6 +818,8 @@ pango_win32_render_layout (HDC hdc, g_return_if_fail (hdc != NULL); g_return_if_fail (PANGO_IS_LAYOUT (layout)); + iter = pango_layout_get_iter (layout); + do { PangoRectangle logical_rect; -- cgit v1.2.1