mirror of
https://github.com/pdf2htmlEX/pdf2htmlEX.git
synced 2024-10-06 12:01:39 +00:00
64 lines
1.3 KiB
C
64 lines
1.3 KiB
C
|
/*
|
||
|
* Misc functions
|
||
|
*
|
||
|
*
|
||
|
* by WangLu
|
||
|
* 2012.08.10
|
||
|
*/
|
||
|
|
||
|
|
||
|
#ifndef UTIL_H__
|
||
|
#define UTIL_H__
|
||
|
|
||
|
#include <algorithm>
|
||
|
#include <ostream>
|
||
|
|
||
|
#include <UTF8.h>
|
||
|
|
||
|
#include "Consts.h"
|
||
|
|
||
|
static inline bool _equal(double x, double y) { return std::abs(x-y) < EPS; }
|
||
|
static inline bool _is_positive(double x) { return x > EPS; }
|
||
|
static inline bool _tm_equal(const double * tm1, const double * tm2, int size = 6)
|
||
|
{
|
||
|
for(int i = 0; i < size; ++i)
|
||
|
if(!_equal(tm1[i], tm2[i]))
|
||
|
return false;
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
static inline void outputUnicodes(std::ostream & out, const Unicode * u, int uLen)
|
||
|
{
|
||
|
for(int i = 0; i < uLen; ++i)
|
||
|
{
|
||
|
switch(u[i])
|
||
|
{
|
||
|
case '&':
|
||
|
out << "&";
|
||
|
break;
|
||
|
case '\"':
|
||
|
out << """;
|
||
|
break;
|
||
|
case '\'':
|
||
|
out << "'";
|
||
|
break;
|
||
|
case '<':
|
||
|
out << "<";
|
||
|
break;
|
||
|
case '>':
|
||
|
out << ">";
|
||
|
break;
|
||
|
default:
|
||
|
{
|
||
|
char buf[4];
|
||
|
auto n = mapUTF8(u[i], buf, 4);
|
||
|
out.write(buf, n);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
#endif //UTIL_H__
|