summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Breuer <hans@breuer.org>2003-12-13 14:31:50 +0000
committerHans Breuer <hans@src.gnome.org>2003-12-13 14:31:50 +0000
commit57d17e74dc8861396b465d602a8f2eda513d0d61 (patch)
tree60b409039d867261f3b025857d3bcebd15174c61
parentbcbb2cad9eee80f00ea25fd879347544f62a5a03 (diff)
downloadpango-57d17e74dc8861396b465d602a8f2eda513d0d61.tar.gz
moved pango_fc_* to the latter where they live on *nix too.
2003-12-13 Hans Breuer <hans@breuer.org> * 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
-rw-r--r--ChangeLog24
-rw-r--r--ChangeLog.pre-1-1024
-rw-r--r--ChangeLog.pre-1-424
-rw-r--r--ChangeLog.pre-1-624
-rw-r--r--ChangeLog.pre-1-824
-rw-r--r--modules/basic/basic-win32.c2
-rw-r--r--modules/makefile.msc55
-rw-r--r--modules/module.def5
-rw-r--r--pango/makefile.msc61
-rw-r--r--pango/module-defs-fc.c.win3222
-rw-r--r--pango/opentype/makefile.msc21
-rw-r--r--pango/pango.def15
-rw-r--r--pango/pangoft2.def7
-rw-r--r--pango/pangowin32.c2
14 files changed, 268 insertions, 42 deletions
diff --git a/ChangeLog b/ChangeLog
index 1d6fa2ea..3c1f6701 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,27 @@
+2003-12-13 Hans Breuer <hans@breuer.org>
+
+ * 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 <tml@iki.fi>
* 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 <hans@breuer.org>
+
+ * 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 <tml@iki.fi>
* 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 <hans@breuer.org>
+
+ * 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 <tml@iki.fi>
* 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 <hans@breuer.org>
+
+ * 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 <tml@iki.fi>
* 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 <hans@breuer.org>
+
+ * 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 <tml@iki.fi>
* 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 <glib-object.h>\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 <pango.h>" \
--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;