@@ -200,8 +200,15 @@ namespace pdf_lib
200200 auto itr = src.begin ();
201201 c = utf8::next (itr, src.end ());
202202 }
203- assert (_range.first <=c and c<=_range.second );
203+ // assert(_range.first<=c and c<=_range.second);
204204
205+ if (c<_range.first or _range.second <c)
206+ {
207+ logging_lib::warn (" pdf-parser" ) << __FILE__ << " :" << __LINE__
208+ << " \t char-index " << c << " for " << tgt
209+ << " is out of range [" << _range.first << " , " << _range.second << " ]" ;
210+ }
211+
205212 _map[c] = tgt;
206213
207214 return *this ;
@@ -239,8 +246,15 @@ namespace pdf_lib
239246 {
240247 for (uint32_t i = 0 ; i < end - begin + 1 ; i++)
241248 {
242- assert (_range.first <=begin+i and begin+i<=_range.second );
249+ // assert(_range.first<=begin+i and begin+i<=_range.second);
243250
251+ if (begin+i<_range.first or _range.second <begin+i)
252+ {
253+ logging_lib::warn (" pdf-parser" ) << __FILE__ << " :" << __LINE__
254+ << " \t char-index " << begin+i // << " for " << tgt.at(i)
255+ << " is out of range [" << _range.first << " , " << _range.second << " ]" ;
256+ }
257+
244258 try
245259 {
246260 std::string tmp (16 , 0 );
@@ -254,6 +268,9 @@ namespace pdf_lib
254268 }
255269 catch (...)
256270 {
271+ logging_lib::error (" pdf-parser" ) << __FILE__ << " :" << __LINE__ << " \t "
272+ << " could not determine char-value for cmap at index " << (begin+i);
273+
257274 _map[begin + i] = " UNICODE<" +std::to_string (begin+i)+" >" ;
258275 }
259276 }
@@ -262,8 +279,15 @@ namespace pdf_lib
262279 {
263280 for (uint32_t i = 0 ; i < end - begin + 1 ; i++)
264281 {
265- assert (_range.first <=begin+i and begin+i<=_range.second );
282+ // assert(_range.first<=begin+i and begin+i<=_range.second);
266283
284+ if (begin+i<_range.first or _range.second <begin+i)
285+ {
286+ logging_lib::warn (" pdf-parser" ) << __FILE__ << " :" << __LINE__
287+ << " \t char-index " << begin+i // << " for " << tgt.at(i)
288+ << " is out of range [" << _range.first << " , " << _range.second << " ]" ;
289+ }
290+
267291 try
268292 {
269293 std::string tmp (128 , 0 );
@@ -280,6 +304,8 @@ namespace pdf_lib
280304 }
281305 catch (...)
282306 {
307+ logging_lib::error (" pdf-parser" ) << __FILE__ << " :" << __LINE__ << " \t "
308+ << " could not determine char-value for cmap at index " << (begin+i);
283309 _map[begin + i] = " UNICODE<" +std::to_string (begin+i)+" >" ;
284310 }
285311
@@ -336,8 +362,15 @@ namespace pdf_lib
336362 // if(begin + i>255)
337363 // std::cout << src_begin << "\t" << tgt.at(i) << "\t" << __FUNCTION__ << "\n" ;
338364
339- assert (_range.first <=begin+i and begin+i<=_range.second );
365+ // assert(_range.first<=begin+i and begin+i<=_range.second);
340366
367+ if (begin+i<_range.first or _range.second <begin+i)
368+ {
369+ logging_lib::warn (" pdf-parser" ) << __FILE__ << " :" << __LINE__
370+ << " \t char-index " << begin+i << " for " << tgt.at (i)
371+ << " is out of range [" << _range.first << " , " << _range.second << " ]" ;
372+ }
373+
341374 _map[begin + i] = tgt.at (i);
342375
343376 // std::cout << __FUNCTION__ << "-2\t[" << src_begin << ":" << src_end
0 commit comments