diff -cr inkscape-0.48.2/src/extension/internal/cairo-ps-out.cpp inkscape-0.48.2.patched/src/extension/internal/cairo-ps-out.cpp *** inkscape-0.48.2/src/extension/internal/cairo-ps-out.cpp 2011-07-08 20:25:09.000000000 +0200 --- inkscape-0.48.2.patched/src/extension/internal/cairo-ps-out.cpp 2012-10-17 13:13:00.000000000 +0200 *************** *** 195,201 **** // Create LaTeX file (if requested) if (new_textToLaTeX) { ! ret = latex_render_document_text_to_file(doc, filename, new_exportId, new_areaDrawing, new_areaPage, false); if (!ret) throw Inkscape::Extension::Output::save_failed(); --- 195,208 ---- // Create LaTeX file (if requested) if (new_textToLaTeX) { ! bool new_textToLaTeXFontSize = FALSE; ! try { ! new_textToLaTeXFontSize = mod->get_param_bool("textToLaTeXFontSize"); ! } ! catch(...) { ! g_warning("Parameter might not exist"); ! } ! ret = latex_render_document_text_to_file(doc, filename, new_exportId, new_areaDrawing, new_areaPage, false, new_textToLaTeXFontSize); if (!ret) throw Inkscape::Extension::Output::save_failed(); *************** *** 278,284 **** // Create LaTeX file (if requested) if (new_textToLaTeX) { ! ret = latex_render_document_text_to_file(doc, filename, new_exportId, new_areaDrawing, new_areaPage, false); if (!ret) throw Inkscape::Extension::Output::save_failed(); --- 285,298 ---- // Create LaTeX file (if requested) if (new_textToLaTeX) { ! bool new_textToLaTeXFontSize = FALSE; ! try { ! new_textToLaTeXFontSize = mod->get_param_bool("textToLaTeXFontSize"); ! } ! catch(...) { ! g_warning("Parameter might not exist"); ! } ! ret = latex_render_document_text_to_file(doc, filename, new_exportId, new_areaDrawing, new_areaPage, false, new_textToLaTeXFontSize); if (!ret) throw Inkscape::Extension::Output::save_failed(); diff -cr inkscape-0.48.2/src/extension/internal/cairo-renderer-pdf-out.cpp inkscape-0.48.2.patched/src/extension/internal/cairo-renderer-pdf-out.cpp *** inkscape-0.48.2/src/extension/internal/cairo-renderer-pdf-out.cpp 2011-07-08 20:25:09.000000000 +0200 --- inkscape-0.48.2.patched/src/extension/internal/cairo-renderer-pdf-out.cpp 2012-10-17 13:13:35.000000000 +0200 *************** *** 158,163 **** --- 158,171 ---- g_warning("Parameter might not exist"); } + bool new_textToLaTeXFontSize = FALSE; + try { + new_textToLaTeXFontSize = mod->get_param_bool("textToLaTeXFontSize"); + } + catch(...) { + g_warning("Parameter might not exist"); + } + bool new_blurToBitmap = FALSE; try { new_blurToBitmap = mod->get_param_bool("blurToBitmap"); *************** *** 213,219 **** // Create LaTeX file (if requested) if (new_textToLaTeX) { ! ret = latex_render_document_text_to_file(doc, filename, new_exportId, new_exportDrawing, new_exportCanvas, true); if (!ret) throw Inkscape::Extension::Output::save_failed(); --- 221,227 ---- // Create LaTeX file (if requested) if (new_textToLaTeX) { ! ret = latex_render_document_text_to_file(doc, filename, new_exportId, new_exportDrawing, new_exportCanvas, true, new_textToLaTeXFontSize); if (!ret) throw Inkscape::Extension::Output::save_failed(); *************** *** 244,249 **** --- 252,258 ---- "\n" "false\n" "false\n" + "false\n" "true\n" "90\n" "false\n" diff -cr inkscape-0.48.2/src/extension/internal/latex-text-renderer.cpp inkscape-0.48.2.patched/src/extension/internal/latex-text-renderer.cpp *** inkscape-0.48.2/src/extension/internal/latex-text-renderer.cpp 2011-07-08 20:25:09.000000000 +0200 --- inkscape-0.48.2.patched/src/extension/internal/latex-text-renderer.cpp 2012-10-17 13:26:34.000000000 +0200 *************** *** 56,62 **** bool latex_render_document_text_to_file( SPDocument *doc, gchar const *filename, const gchar * const exportId, bool exportDrawing, bool exportCanvas, ! bool pdflatex) { sp_document_ensure_up_to_date(doc); --- 56,62 ---- bool latex_render_document_text_to_file( SPDocument *doc, gchar const *filename, const gchar * const exportId, bool exportDrawing, bool exportCanvas, ! bool pdflatex, bool fontsizesupport) { sp_document_ensure_up_to_date(doc); *************** *** 78,84 **** return false; /* Create renderer */ ! LaTeXTextRenderer *renderer = new LaTeXTextRenderer(pdflatex); bool ret = renderer->setTargetFile(filename); if (ret) { --- 78,84 ---- return false; /* Create renderer */ ! LaTeXTextRenderer *renderer = new LaTeXTextRenderer(pdflatex, fontsizesupport); bool ret = renderer->setTargetFile(filename); if (ret) { *************** *** 94,103 **** return ret; } ! LaTeXTextRenderer::LaTeXTextRenderer(bool pdflatex) : _stream(NULL), _filename(NULL), ! _pdflatex(pdflatex) { push_transform(Geom::identity()); } --- 94,104 ---- return ret; } ! LaTeXTextRenderer::LaTeXTextRenderer(bool pdflatex, bool fontsizesupport) : _stream(NULL), _filename(NULL), ! _pdflatex(pdflatex), ! _fontsizesupport(fontsizesupport) { push_transform(Geom::identity()); } *************** *** 199,204 **** --- 200,211 ---- "%%\n" "\\begingroup%\n" " \\makeatletter%\n" + " \\ifx\\SetFigFont\\undefined%\n" + " \\gdef\\SetFigFont#1#2#3#4#5{%\n" + " \\reset@font\\fontsize{#1}{#2pt}%\n" + " \\fontfamily{#3}\\fontseries{#4}\\fontshape{#5}%\n" + " \\selectfont}%\n" + " \\fi\n" " \\providecommand\\color[2][]{%\n" " \\errmessage{(Inkscape) Color is used for the text in Inkscape, but the package \'color.sty\' is not loaded}%\n" " \\renewcommand\\color[2][]{}%\n" *************** *** 331,337 **** os << "\\rotatebox{" << degrees << "}{"; } os << "\\makebox(0,0)" << alignment << "{"; ! os << "\\smash{" << str << "}"; // smash the text, to be able to put the makebox coordinates at the baseline if (has_rotation) { os << "}"; // rotatebox end } --- 338,348 ---- os << "\\rotatebox{" << degrees << "}{"; } os << "\\makebox(0,0)" << alignment << "{"; ! os << "\\smash{"; ! if (style->font_size.set && _fontsizesupport) { ! os << "\\SetFigFont{" << (0.833*style->font_size.computed) << "}{" << style->font_size.computed << "}{\\familydefault}{\\mddefault}{\\updefault}"; //second argument should be 20% bigger than first one ! } ! os << str << "}"; // smash the text, to be able to put the makebox coordinates at the baseline if (has_rotation) { os << "}"; // rotatebox end } diff -cr inkscape-0.48.2/src/extension/internal/latex-text-renderer.h inkscape-0.48.2.patched/src/extension/internal/latex-text-renderer.h *** inkscape-0.48.2/src/extension/internal/latex-text-renderer.h 2011-07-08 20:25:09.000000000 +0200 --- inkscape-0.48.2.patched/src/extension/internal/latex-text-renderer.h 2012-10-17 13:00:56.000000000 +0200 *************** *** 29,39 **** bool latex_render_document_text_to_file(SPDocument *doc, gchar const *filename, const gchar * const exportId, bool exportDrawing, bool exportCanvas, ! bool pdflatex); class LaTeXTextRenderer { public: ! LaTeXTextRenderer(bool pdflatex); virtual ~LaTeXTextRenderer(); bool setTargetFile(gchar const *filename); --- 29,39 ---- bool latex_render_document_text_to_file(SPDocument *doc, gchar const *filename, const gchar * const exportId, bool exportDrawing, bool exportCanvas, ! bool pdflatex, bool fontsizesupport); class LaTeXTextRenderer { public: ! LaTeXTextRenderer(bool pdflatex, bool fontsizesupport); virtual ~LaTeXTextRenderer(); bool setTargetFile(gchar const *filename); *************** *** 50,55 **** --- 50,56 ---- gchar * _filename; bool _pdflatex; /** true if ouputting for pdfLaTeX*/ + bool _fontsizesupport; void push_transform(Geom::Matrix const &transform); Geom::Matrix const & transform();