You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

78 lines
2.7 KiB

#include <string>
#include <vector>
#include <iostream>
#include <gtkmathview/MathView/SmartPtr.hh>
#include <gtkmathview/MathView/Length.hh>
#include <gtkmathview/MathView/AbstractLogger.hh>
#include <gtkmathview/MathView/defs.h>
#include <gtkmathview/MathView/libxml2_MathView.hh>
typedef libxml2_MathView MathView;
class SimpleSVG {
double width = 21;
double height = 29.7;
Length::Unit unitId = Length::CM_UNIT;
double xMargin = 2;
double yMargin = 2;
double fontSize = DEFAULT_FONT_SIZE;
char* configPath = 0;
SmartPtr<AbstractLogger> logger;
SmartPtr<MathView> view;
struct Pair {
const std::string key;
const std::string val;
};
std::vector<struct Pair> defaultConfiguration {
{"math-engine-configuration/version", "0.8.0"},
{"svg-backend/null-shaper/enabled", "true"},
{"svg-backend/null-shaper/priority", "0"},
{"svg-backend/space-shaper/enabled", "true"},
{"svg-backend/space-shaper/priority", "1"},
{"svg-backend/type1-computer-modern-shaper/enabled", "false"},
{"svg-backend/type1-computer-modern-shaper/priority", "1"},
{"svg-backend/ttf-computer-modern-shaper/enabled", "true"},
{"svg-backend/ttf-computer-modern-shaper/priority", "1"},
{"svg-backend/ttf-computer-modern-shaper/post-shaping", "always"},
{"fonts/computer-modern/font-name", "cmr10"},
{"fonts/computer-modern/font-name", "cmmi10"},
{"fonts/computer-modern/font-name", "cmex10"},
{"fonts/computer-modern/font-name", "cmex10"},
{"fonts/computer-modern/font-name", "cmr10"},
{"fonts/computer-modern/font-name", "cmb10"},
{"fonts/computer-modern/font-name", "cmbx10"},
{"fonts/computer-modern/font-name", "cmbxti10"},
{"fonts/computer-modern/font-name", "cmti10"},
{"fonts/computer-modern/font-name", "cmss10"},
{"fonts/computer-modern/font-name", "cmssi10"},
{"fonts/computer-modern/font-name", "cmssbx10"},
{"fonts/computer-modern/font-name", "cmtt10"},
{"fonts/computer-modern/font-name", "cmsy10"},
{"fonts/computer-modern/font-name", "cmbsy10"},
{"fonts/computer-modern/font-name", "cmmi10"},
{"fonts/computer-modern/font-name", "cmex10"},
{"fonts/computer-modern/font-name", "msam10"},
{"fonts/computer-modern/font-name", "msbm10"},
{"fonts/computer-modern/font-name", "cmmib10"}
};
public:
SimpleSVG();
std::string
process_mathml(const std::string &buffer) ;
std::vector<std::string>
process_mathml(const std::vector<std::string> &mathmlsrcbufs) ;
};