diff --git a/CMakeLists.txt b/CMakeLists.txt index e69b29b..2472991 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,8 +14,8 @@ set(PDF2HTMLEX_VERSION "0.1") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wunused-function") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x") -#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2") -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ggdb") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2") +#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ggdb") configure_file (src/config.h.in src/config.h) diff --git a/src/BackgroundRenderer.cc b/src/BackgroundRenderer.cc index aad7f99..2a6dd3f 100644 --- a/src/BackgroundRenderer.cc +++ b/src/BackgroundRenderer.cc @@ -18,6 +18,6 @@ void BackgroundRenderer::drawChar(GfxState *state, double x, double y, double originX, double originY, CharCode code, int nBytes, Unicode *u, int uLen) { - SplashOutputDev::drawChar(state,x,y,dx,dy,originX,originY,code, nBytes, u, uLen); +// SplashOutputDev::drawChar(state,x,y,dx,dy,originX,originY,code, nBytes, u, uLen); } diff --git a/src/util.h b/src/util.h index 89bcf13..d44f74a 100644 --- a/src/util.h +++ b/src/util.h @@ -13,6 +13,7 @@ #include #include #include +#include #include #include @@ -27,6 +28,7 @@ using std::ostream; using std::noskipws; using std::endl; using std::flush; +using std::cerr; // mute gcc warning of unused function namespace @@ -75,6 +77,19 @@ static inline bool isLegalUnicode(Unicode u) static inline Unicode check_unicode(Unicode * u, int len, CharCode code, GfxFont * font) { Unicode private_mapping = (Unicode)(code + 0xE000); + if(private_mapping > 0xF8FF) + { + private_mapping = (Unicode)((private_mapping - 0xF8FF) + 0xF0000); + if(private_mapping > 0xFFFFD) + { + private_mapping = (Unicode)((private_mapping - 0xFFFFD) + 0x100000); + if(private_mapping > 0x10FFFD) + { + cerr << "Warning: all private use unicode are used" << endl; + } + } + } + if(len == 0) return private_mapping;