--- luatex-beta-0.70.1/source/texk/web2c/luatexdir/lua/lepdflib.cc +++ luatex-beta-0.70.1/source/texk/web2c/luatexdir/lua/lepdflib.cc @@ -23,6 +23,7 @@ static const char _svn_version[] = "$URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.70.1/source/texk/web2c/luatexdir/lua/lepdflib.cc $"; #include "image/epdf.h" +#include // define DEBUG @@ -89,7 +90,10 @@ new_poppler_userdata(AnnotBorder); new_poppler_userdata(Annots); new_poppler_userdata(Array); new_poppler_userdata(Catalog); +#if POPPLER_VERSION_MAJOR == 0 && (POPPLER_VERSION_MINOR < 17 || \ + ( POPPLER_VERSION_MINOR == 17 && POPPLER_VERSION_MICRO < 2)) new_poppler_userdata(EmbFile); +#endif new_poppler_userdata(Dict); //new_poppler_userdata(GooString); new_poppler_userdata(LinkDest); @@ -393,7 +397,11 @@ static int m_Annot__gc(lua_State * L) printf("\n===== Annot GC ===== uin=<%p>\n", uin); #endif if (uin->atype == ALLOC_LEPDF) +#if POPPLER_VERSION_MAJOR == 0 && POPPLER_VERSION_MINOR < 17 delete(Annot *) uin->d; +#else + ((Annot *) uin->d)->decRefCnt(); +#endif return 0; } @@ -410,6 +418,8 @@ static const struct luaL_Reg Annot_m[] = //********************************************************************** // AnnotBorderStyle +#if POPPLER_VERSION_MAJOR == 0 && POPPLER_VERSION_MINOR < 17 + m_poppler_get_DOUBLE(AnnotBorderStyle, getWidth); m_poppler__tostring(AnnotBorderStyle); @@ -435,6 +445,8 @@ static const struct luaL_Reg AnnotBorder {NULL, NULL} // sentinel }; +#endif + //********************************************************************** // Annots @@ -684,6 +696,8 @@ static int m_Catalog_findDest(lua_State m_poppler_get_poppler(Catalog, Object, getDests); m_poppler_get_INT(Catalog, numEmbeddedFiles); +#if POPPLER_VERSION_MAJOR == 0 && (POPPLER_VERSION_MINOR < 17 || \ + ( POPPLER_VERSION_MINOR == 17 && POPPLER_VERSION_MICRO < 2)) static int m_Catalog_embeddedFile(lua_State * L) { EmbFile *ef; @@ -707,6 +721,7 @@ static int m_Catalog_embeddedFile(lua_St lua_pushnil(L); return 1; } +#endif m_poppler_get_INT(Catalog, numJS); @@ -749,7 +764,9 @@ static const struct luaL_Reg Catalog_m[] {"findDest", m_Catalog_findDest}, {"getDests", m_Catalog_getDests}, {"numEmbeddedFiles", m_Catalog_numEmbeddedFiles}, +#if POPPLER_VERSION_MAJOR == 0 && POPPLER_VERSION_MINOR < 17 {"embeddedFile", m_Catalog_embeddedFile}, +#endif {"numJS", m_Catalog_numJS}, {"getJS", m_Catalog_getJS}, {"getOutline", m_Catalog_getOutline}, @@ -761,6 +778,9 @@ static const struct luaL_Reg Catalog_m[] //********************************************************************** // EmbFile +#if POPPLER_VERSION_MAJOR == 0 && (POPPLER_VERSION_MINOR < 17 || \ + ( POPPLER_VERSION_MINOR == 17 && POPPLER_VERSION_MICRO < 2)) + m_poppler_get_GOOSTRING(EmbFile, name); m_poppler_get_GOOSTRING(EmbFile, description); m_poppler_get_INT(EmbFile, size); @@ -801,6 +821,8 @@ static const struct luaL_Reg EmbFile_m[] {NULL, NULL} // sentinel }; +#endif + //********************************************************************** // Dict @@ -2683,11 +2705,16 @@ int luaopen_epdf(lua_State * L) { register_meta(Annot); // TODO register_meta(AnnotBorder); +#if POPPLER_VERSION_MAJOR == 0 && POPPLER_VERSION_MINOR < 17 register_meta(AnnotBorderStyle); +#endif register_meta(Annots); register_meta(Array); register_meta(Catalog); +#if POPPLER_VERSION_MAJOR == 0 && (POPPLER_VERSION_MINOR < 17 || \ + ( POPPLER_VERSION_MINOR == 17 && POPPLER_VERSION_MICRO < 2)) register_meta(EmbFile); +#endif register_meta(Dict); register_meta(GooString); register_meta(LinkDest);