diff --git a/src/pdf2htmlEX.cc b/src/pdf2htmlEX.cc index 8bec400..1024206 100644 --- a/src/pdf2htmlEX.cc +++ b/src/pdf2htmlEX.cc @@ -12,6 +12,8 @@ #include #include +#include + #include #include @@ -24,6 +26,7 @@ #include "HTMLRenderer/HTMLRenderer.h" #include "util/ArgParser.h" #include "util/path.h" +#include "util/ffw.h" using namespace std; using namespace pdf2htmlEX; @@ -31,11 +34,17 @@ using namespace pdf2htmlEX; Param param; ArgParser argparser; -void show_usage_and_exit(const char * dummy = nullptr) +void show_version() { - cerr << "pdftohtmlEX version " << PDF2HTMLEX_VERSION << endl; + cerr << "pdftohtmlEX version " << PDF2HTMLEX_VERSION; + cerr << " (poppler " << POPPLER_VERSION; + cerr << ", libfontforge " << ffw_get_version() << ")"; cerr << endl; cerr << "Copyright 2012 Lu Wang " << endl; +} + +void show_usage() +{ cerr << endl; cerr << "Usage: pdf2htmlEX [Options] []" << endl; cerr << endl; @@ -47,11 +56,24 @@ void show_usage_and_exit(const char * dummy = nullptr) exit(EXIT_FAILURE); } +void show_usage_and_exit(const char * dummy = nullptr) +{ + show_version(); + show_usage(); + exit(EXIT_FAILURE); +} + +void show_version_and_exit(const char * dummy = nullptr) +{ + show_version(); + exit(EXIT_FAILURE); +} + void parse_options (int argc, char **argv) { argparser .add("help,h", "show all options", &show_usage_and_exit) - .add("version,v", "show copyright and version info", &show_usage_and_exit) + .add("version,v", "show copyright and version info", &show_version_and_exit) .add("owner-password,o", ¶m.owner_password, "", "owner password (for encrypted files)", nullptr, true) .add("user-password,u", ¶m.user_password, "", "user password (for encrypted files)", nullptr, true) diff --git a/src/util/ffw.c b/src/util/ffw.c index d0e0858..6bf2982 100644 --- a/src/util/ffw.c +++ b/src/util/ffw.c @@ -400,3 +400,10 @@ void ffw_auto_hint(void) FVAutoHint(cur_fv); FVAutoInstr(cur_fv); } + +char* ffw_get_version(void) +{ + char* str = (char*)malloc(sizeof(char) * 20); + printf("%d", library_version_configuration.library_source_versiondate); + return str; +} \ No newline at end of file diff --git a/src/util/ffw.h b/src/util/ffw.h index d388677..ae2758b 100644 --- a/src/util/ffw.h +++ b/src/util/ffw.h @@ -23,6 +23,7 @@ extern "C" { // global void ffw_init(int debug); void ffw_finalize(void); +char* ffw_get_version(void); //////////////////////// // load & save