From fbd7e6641261889d3efec4a75c2b2b88db777a90 Mon Sep 17 00:00:00 2001 From: henrikjust Date: Thu, 14 Aug 2014 12:09:55 +0000 Subject: [PATCH] Replacing old XSLT transform for math with MathJax git-svn-id: svn://svn.code.sf.net/p/writer2latex/code/trunk@161 f0f2a975-2e09-46c8-9428-3b39399b9f3c --- source/distro/changelog.txt | 4 + source/distro/doc/user-manual.odt | Bin 59567 -> 59368 bytes source/distro/xslt/pmathml.xsl | 612 ------------ source/distro/xslt/pmathmlcss.xsl | 872 ------------------ .../da/comp/writer2xhtml/W2XRegistration.java | 12 +- .../comp/writer2xhtml/XhtmlOptionsDialog.java | 14 +- .../writer2xhtml/XhtmlOptionsDialogXsl.java | 52 -- source/java/writer2latex/Application.java | 6 +- .../writer2latex/api/ConverterFactory.java | 3 - source/java/writer2latex/api/MIMETypes.java | 5 +- .../writer2latex/latex/MathConverter.java | 4 +- .../java/writer2latex/office/MIMETypes.java | 4 +- .../java/writer2latex/xhtml/XhtmlConfig.java | 19 +- .../writer2latex/xhtml/XhtmlDocument.java | 31 +- .../xhtml/XhtmlMathMLXSLConverter.java | 35 - source/oxt/writer2xhtml/Options.xcs | 2 +- source/oxt/writer2xhtml/Options.xcu | 4 +- .../W2XDialogs/DialogStrings_ca.properties | 8 +- .../W2XDialogs/DialogStrings_cs_CZ.properties | 8 +- .../W2XDialogs/DialogStrings_da_DK.properties | 6 +- .../W2XDialogs/DialogStrings_de_DE.properties | 6 +- .../W2XDialogs/DialogStrings_en_US.properties | 6 +- .../W2XDialogs/DialogStrings_es_ES.properties | 8 +- .../W2XDialogs/DialogStrings_fa_IR.properties | 8 +- .../W2XDialogs/DialogStrings_fi_FI.properties | 8 +- .../W2XDialogs/DialogStrings_fr_FR.properties | 8 +- .../W2XDialogs/DialogStrings_it_IT.properties | 8 +- .../W2XDialogs/DialogStrings_nl_NL.properties | 8 +- .../W2XDialogs/DialogStrings_nn_NO.properties | 8 +- .../W2XDialogs/DialogStrings_pl_PL.properties | 8 +- .../W2XDialogs/DialogStrings_pt_BR.properties | 8 +- .../W2XDialogs/DialogStrings_ru_RU.properties | 8 +- .../W2XDialogs/DialogStrings_tr_TR.properties | 8 +- .../W2XDialogs/DialogStrings_uk_UA.properties | 8 +- .../writer2xhtml/W2XDialogs/XhtmlOptions.xdl | 38 +- .../W2XDialogs/XhtmlOptionsCalc.xdl | 32 +- .../export.xhp | 17 +- source/oxt/writer2xhtml/w2x_filters.xcu | 14 - source/oxt/writer2xhtml/w2x_types.xcu | 12 - 39 files changed, 128 insertions(+), 1794 deletions(-) delete mode 100644 source/distro/xslt/pmathml.xsl delete mode 100644 source/distro/xslt/pmathmlcss.xsl delete mode 100644 source/java/org/openoffice/da/comp/writer2xhtml/XhtmlOptionsDialogXsl.java delete mode 100644 source/java/writer2latex/xhtml/XhtmlMathMLXSLConverter.java diff --git a/source/distro/changelog.txt b/source/distro/changelog.txt index 514bce3..7c2c577 100644 --- a/source/distro/changelog.txt +++ b/source/distro/changelog.txt @@ -2,6 +2,10 @@ Changelog for Writer2LaTeX version 1.2 -> 1.4 ---------- version 1.3.1 alpha ---------- +[w2x] Support for the obsolete output format XHTML+MahtML+XSL has been removed (replaced by MathJax). As a consequence + the option xslt_path has been removed. Also the vacant spot in the export dialog is now used for the option use_mathjax + (only active for XHTML+MathML and HTML5) + [w2l] Added support for TexMaths equations in LaTeX, XHTML+MathML and HTML5 (the last two only if use_mathjax=true) [all] The command line application now gives an explanation if the source file is not in ODF format diff --git a/source/distro/doc/user-manual.odt b/source/distro/doc/user-manual.odt index 8ac406f343d8956cfb18b52c60fbade506f1c29a..b27f34bd2bff6999c079be2acb95833196b44793 100644 GIT binary patch delta 43390 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%0D6O>_RR-QUyZCO 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
  • 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 diff --git a/source/distro/xslt/pmathml.xsl b/source/distro/xslt/pmathml.xsl deleted file mode 100644 index 97012f1..0000000 --- a/source/distro/xslt/pmathml.xsl +++ /dev/null @@ -1,612 +0,0 @@ - - - - - - - - - - '<!--' - - - - - - - - - - - - - - - - - - - - - - - - -in mpdialog mode, we just write out some JavaScript to display -dialog to the reader asking whether they want to install MathPlayer -Depending on the response we get, we then instantiate an XSL processor -and reprocess the doc, passing $secondpass according to the -reader response. - -Using d-o-e is fairly horrible, but this code is only for IE -anyway, and we need to force HTML semantics in this case. - - -var cookieName = "MathPlayerInstall="; -function MPInstall(){ - var showDialog=true; - var c = document.cookie; - var i = c.indexOf(cookieName); - if (i >= 0) { - if ( c.substr(i + cookieName.length, 1) >= 2) { showDialog=false; } - } - if (showDialog) { - MPDialog(); - c = document.cookie; - i = c.indexOf(cookieName); - } - if (i >= 0) return c.substr(i + cookieName.length, 1); - else return null; -} - -function MPDialog() { - var vArgs=""; - var sFeatures="dialogWidth:410px;dialogHeight:190px;help:off;status:no"; - var text = ""; - text += "javascript:document.write('" - text += '<script>' - text += 'function fnClose(v) { ' - text += 'var exp = new Date();' - text += 'var thirtyDays = exp.getTime() + (30 * 24 * 60 * 60 * 1000);' - text += 'exp.setTime(thirtyDays);' - text += 'var cookieProps = ";expires=" + exp.toGMTString();' - text += 'if (document.forms[0].dontask.checked) v+=2;' - text += 'document.cookie="' + cookieName + '"+v+cookieProps;' - text += 'window.close();' - text += '}' - text += '</' + 'script>' - text += '<head><title>Install MathPlayer?</title></head>' - text += '<body bgcolor="#D4D0C8"><form>' - text += '<table cellpadding=10 style="font-family:Arial;font-size:10pt" border=0 width=100%>' - text += '<tr><td align=left>This page requires Design Science\\\'s MathPlayer&trade;.<br>' - text += 'Do you want to download and install MathPlayer?</td></tr>'; - text += '<tr><td align=center><input type="checkbox" name="dontask">' - text += 'Don\\\'t ask me again</td></tr>' - text += '<tr><td align=center><input id=yes type="button" value=" Yes "' - text += ' onClick="fnClose(1)">&nbsp;&nbsp;&nbsp;' - text += '<input type="button" value=" No " onClick="fnClose(0)"></td></tr>' - text += '</table></form>'; - text += '</body>' - text += "')" - window.showModalDialog( text , vArgs, sFeatures ); -} - -function WaitDialog() { - var vArgs=""; - var sFeatures="dialogWidth:510px;dialogHeight:150px;help:off;status:no"; - var text = ""; - text += "javascript:document.write('" - text += '<script>' - text += 'window.onload=fnLoad;' - text += 'function fnLoad() {document.forms[0].yes.focus();}' - text += 'function fnClose(v) { ' - text += 'window.returnValue=v;' - text += 'window.close();' - text += '}' - text += '</' + 'script>' - text += '<head><title>Wait for Installation?</title></head>' - text += '<body bgcolor="#D4D0C8" onload="fnLoad()"><form><' - text += 'table cellpadding=10 style="font-family:Arial;font-size:10pt" border=0 width=100%>' - text += '<tr><td align=left>Click OK once MathPlayer is installed ' - text += 'to refresh the page.<br>' - text += 'Click Cancel to view the page immediately without MathPlayer.</td></tr>'; - text += '<tr><td align=center><input id=yes type="button" ' - text += 'value=" OK " onClick="fnClose(1)">&nbsp;&nbsp;&nbsp;' - text += '<input type="button" value="Cancel" onClick="fnClose(0)"></td></tr>' - text += '</table></form>'; - text += '</body>' - text += "')" - return window.showModalDialog( text , vArgs, sFeatures ); -} - -var result = MPInstall(); - -var action = "fallthrough"; -if (result == 1 || result == 3) { - window.open("http://www.dessci.com/webmath/mathplayer"); - var wait = WaitDialog(); - if ( wait == 1) { - action = "install"; - document.location.reload(); - - } -} -if (action == "fallthrough") { -var xsl = new ActiveXObject("Microsoft.FreeThreadedXMLDOM"); -xsl.async = false; -xsl.validateOnParse = false; -xsl.load("pmathmlcss.xsl"); -var xslTemplate = new ActiveXObject("MSXML2.XSLTemplate.3.0"); -xslTemplate.stylesheet=xsl.documentElement; -var xslProc = xslTemplate.createProcessor(); -xslProc.input = document.XMLDocument; - -xslProc.transform(); -var str = xslProc.output; - -var repl = "replace"; -if (window.navigator.appVersion.match(/Windows NT 5.1/)) { repl = ""; } -var newDoc = document.open("text/html", repl); -newDoc.write(str); -document.close(); -} - - -mathplayer-dl - -techexplorer-plugin - - - - - - - - techexplorer-plugin - - - - - mathplayer-dl - - - - - - - - - - - - -IE5 hacks -This code will be ignored by an XSLT engine as a top level -element in a foreign namespace. It will be executed by an IE5XSL -engine and insert <!-- into the output stream, ie the start of a -comment. This will comment out all the XSLT code which will be copied -to the output. A similar clause below will close this comment, it is -then followed by the IE5XSL templates to be executed. -This trick is due to Jonathan Marsh of Microsoft, and used in -the stylesheet for -the XPath 2 data model draft. - - -XSLT stylesheet -MSXSL script block - -The following script block implements an extension function that -tests whether a specified ActiveX component is known to the client. -This is used below to test for the existence of MathML rendering -components. - - function isinstalled(ax) - { - try { - var ActiveX = new ActiveXObject(ax); - return "true"; - } catch (e) { - return "false"; - } -} - - -The main bulk of this stylesheet is an identity transformation so... - - - - - - - - - -XHTML elements are copied sans prefix (XHTML is default namespace -here, so these elements will still be in XHTML namespace - - - - - - - -IE's treatment of XHTML as HTML needs a little help here... - - - - - - > - - - - - - - - - - -This just ensures the mathml prefix declaration isn't copied from -the source at this stage, so that the system will use the mml prefix -coming from this stylesheet - - - - - - - -We modify the head element to add code to specify a Microsoft -"Behaviour" if the behaviour component is known to the system. -Test for MathPlayer (Design Science) -Test for Techexplorer (IBM) -Test for Microsoft. In this case we just -output a small HTML file that executes a script that will re-process -the source docuument with a different stylesheet. Doing things this -way avoids the need to xsl:import the second stylesheet, which would -very much increase the processing overhead of running this -stylesheet. -Further tests (eg for netscape/mozilla) could -be added here if necessary - - - - - - - - - - namespace="mml" implementation="#mmlFactory" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Somewhat bizarrely in an otherwise namespace aware system, -Microsoft behaviours are defined to trigger off the -prefix not the Namespace. In the code above -we associated a MathML rendering behaviour (if one was found) with the -prefix mml: so here we ensure that this is the prefix -that actually gets used in the output. - - - - - - - -Copy semantics element through in IE (so mathplayer gets to see -mathplayer annotations, otherwise use first child or a presentation annotation. - - - - - - - - - - - - - - - - - - - - - - - - > - - - - - - - - - /> - - - - - - " - - - - - - " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -IE5XSL stylesheet -In a rare fit of sympathy for users of -the-language-known-as-XSL-in-IE5 this file incorporates a -version of the above code designed to work in the Microsoft dialect. -This is needed otherwise users of a MathML rendering behaviour would -have to make a choice whether they wanted to use this stylesheet -(keeping their source documents conforming XHTML+MathML) or to use -the explicit Microsoft Object code, which is less portable, but would -work in at least IE5.5. - -This entire section of code, down to the end of the stylesheet is -contained within this ie5:if. Thus XSLT sees it as a top level element -from a foreign namespace and silently ignores it. IE5XSL sees it as -"if true" and so executes the code. - - -First close the comment started at the beginning. This ensures -that the bulk of the XSLT code, while being copied to the result tree -by the IE5XSL engine, will not be rendered in the browser. - -Lacking attribute value templates in -xsl:element, and the local-name() function, we resort to constructing -the start and end tags in strings in javascript, then using -no-entities attribute which is the IE5XSL equivalent of disable-output-encoding - - -'-->' - - - - - - function mpisinstalled() - { - try { - var ActiveX = new ActiveXObject("MathPlayer.Factory.1"); - return "true"; - } catch (e) { - return "false"; - } -} - - - - - - - - - - - - - - - - - - - - -'<mml:' + this.nodeName.substring(this.nodeName.indexOf(":")+1) - -' ' + this.nodeName="" - -'>' - -'</mml:' + this.nodeName.substring(this.nodeName.indexOf(":")+1) + '>' - - - - - - - -'<math>' - -'</math>' - - - - -'<mml:' + this.nodeName.substring(this.nodeName.indexOf(":")+1) - -' ' + this.nodeName="" - -'>' - -'</mml:' + this.nodeName.substring(this.nodeName.indexOf(":")+1) + '>' - - - - - - - - - - - namespace="mml" implementation="#mmlFactory" - - - - - - - - - - - - - - - - - diff --git a/source/distro/xslt/pmathmlcss.xsl b/source/distro/xslt/pmathmlcss.xsl deleted file mode 100644 index 27e518e..0000000 --- a/source/distro/xslt/pmathmlcss.xsl +++ /dev/null @@ -1,872 +0,0 @@ - - - - - - - -Dictionary - - The following elements in the x: namespace form an -implementation of an "Operator Dictionary" for this MathML -Implementation. In the case of stretch operators, the element -specifies the symbol parts via the latin-1 equivalent character based -on the encoding in the symbol font. It is a clear "failure to comply -to the spec" that using latin 1 characters (or numeric character -references) in the latin 1 range access glyphs in teh symbol font via -font position, however most of these character parts are not in -Unicode (until 3.2), so there is no standard way to access these characters. - -{ -{ - -( -) - -[ -] - -[[ -]] - -| -|| - - - - -~ -_v_ - - -Remove these for now, as XML parser in IE6 is broken and doesn't -accept plane 1 characters. - - -Grab all of the above into a variable. - - -HTML elements - - -XHTML elements get passed straight through, sans namespace prefix. - - - - - - - - - - - - -Template for the head element copies the original content, aand in -addition adds a script element and CSS style element that implement -the core of the MathML renderer. - - - -The malign function first finds the left most item in the aligngroup, and -then modifies the left margin of each item to make them -align. (Currently only left alignment is supported.) - - - -The mrowStretch function implements stretchy brackets. It is called -repeatedly, once for each mo child,after a span corresponding to an -mrow. The arguments are the id of teh span and the characters to use -for the parts of the stretch operator. -constructed fence. The - - - -Inline CSS style block handles all font and size specification for the -various MathML operators. - - - - - - - - - - - - - - - - -Unimplemented MathML elements get copied literally, in red, mainly as -a debugging aid. - - -<> - -</> - - - -mi: set default font based on string length, otherwise behaviour based -on entries in the operator dictionary if one exists, or content is -copied through to the output unchanged. - - - - -mi1 - - - - - - - - - - - - - - - - -Handling of mathvariant attribute. -The choice of font families here (currently) avoids math-specific -fonts but does use several fionts coming with windows 9.x and/or -office 2000. - - -font-weight: bold; font-style: upright - - -font-style: upright; font-weight: bold; font-style: italic; - - -font-style: italic; - - -font-family: monospace; - - - -font-family: sans-serif; - - -font-family: sans-serif; font-weight: bold; - - - -font-family: old english text mt - - - - -doublestruck - - - - -font-family: brush script mt italic - - - - -mo: Generate a unique ID so that a script at the end of any -surrounding mrow may replace the conent by a suitably stretched -operator if need be. - - - - - - -mn: a simple span - - - - - - -munder: currently only supports underline, with a bottom border - - - - border-width: 0pt 0pt .1em 0pt; border-style: solid;" - - - - - -mover: currently only supports overline, with a top border - - - - border-width: .1em 0pt 0pt 0pt; border-style: solid;" - - - - - -munderover: - - - - - -
    -
    - -mtext: a simple span - - - - - - -mstyle: not many attributes currently supported - - - - color: ; - background-color: ; - - - - - - -mglyph: Uses disable output escaping to construct a numeric -character reference. Uses IE's non conforming behaviour of using this -number to access the font encoding rather than unicode. - - -; - - - -ms: a simple span with left and right character added to the content. - - - " - - " - - - - - - - - - - - - - - - ( - - - - - - ) - - - - - - - - - - , - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\ - - - - - -\ - - - - - - - - - - - - - - - - - -\ - - - - - - - - - - font-size: 75% ; - - - font-size: 100% ; - - - -
    - -
    - -
    -
    - - - - - - - - - - - - - - - - - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - -left - - - - - - -
    diff --git a/source/java/org/openoffice/da/comp/writer2xhtml/W2XRegistration.java b/source/java/org/openoffice/da/comp/writer2xhtml/W2XRegistration.java index 58603bb..fa7c850 100644 --- a/source/java/org/openoffice/da/comp/writer2xhtml/W2XRegistration.java +++ b/source/java/org/openoffice/da/comp/writer2xhtml/W2XRegistration.java @@ -16,11 +16,11 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * - * Copyright: 2002-2011 by Henrik Just + * Copyright: 2002-2014 by Henrik Just * * All Rights Reserved. * - * Version 1.2 (2011-02-21) + * Version 1.4 (2014-08-13) * */ @@ -78,12 +78,6 @@ public class W2XRegistration { multiFactory, regKey); } - else if (implName.equals(XhtmlOptionsDialogXsl.__implementationName)) { - xSingleServiceFactory = FactoryHelper.getServiceFactory(XhtmlOptionsDialogXsl.class, - XhtmlOptionsDialogXsl.__serviceName, - multiFactory, - regKey); - } else if (implName.equals(XhtmlOptionsDialogCalc.__implementationName)) { xSingleServiceFactory = FactoryHelper.getServiceFactory(XhtmlOptionsDialogCalc.class, XhtmlOptionsDialogCalc.__serviceName, @@ -128,8 +122,6 @@ public class W2XRegistration { W2XExportFilter.__serviceName, regKey) & FactoryHelper.writeRegistryServiceInfo(XhtmlOptionsDialog.__implementationName, XhtmlOptionsDialog.__serviceName, regKey) & - FactoryHelper.writeRegistryServiceInfo(XhtmlOptionsDialogXsl.__implementationName, - XhtmlOptionsDialogXsl.__serviceName, regKey) & FactoryHelper.writeRegistryServiceInfo(XhtmlOptionsDialogCalc.__implementationName, XhtmlOptionsDialogCalc.__serviceName, regKey) & FactoryHelper.writeRegistryServiceInfo(EpubOptionsDialog.__implementationName, diff --git a/source/java/org/openoffice/da/comp/writer2xhtml/XhtmlOptionsDialog.java b/source/java/org/openoffice/da/comp/writer2xhtml/XhtmlOptionsDialog.java index b976b77..8cfeec6 100644 --- a/source/java/org/openoffice/da/comp/writer2xhtml/XhtmlOptionsDialog.java +++ b/source/java/org/openoffice/da/comp/writer2xhtml/XhtmlOptionsDialog.java @@ -16,11 +16,11 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * - * Copyright: 2002-2011 by Henrik Just + * Copyright: 2002-2014 by Henrik Just * * All Rights Reserved. * - * Version 1.2 (2011-03-21) + * Version 1.4 (2014-08-14) * */ @@ -87,7 +87,7 @@ public class XhtmlOptionsDialog extends OptionsDialogBase { loadListBoxOption(xProps, "SplitLevel"); loadListBoxOption(xProps, "RepeatLevels"); loadCheckBoxOption(xProps, "SaveImagesInSubdir"); - loadTextFieldOption(xProps, "XsltPath"); + loadCheckBoxOption(xProps, "UseMathjax"); updateLockedOptions(); enableControls(); @@ -148,7 +148,7 @@ public class XhtmlOptionsDialog extends OptionsDialogBase { } saveCheckBoxOption(xProps, helper, "SaveImagesInSubdir", "save_images_in_subdir"); - saveTextFieldOption(xProps, helper, "XsltPath", "xslt_path"); + saveCheckBoxOption(xProps, helper, "UseMathjax", "use_mathjax"); } @@ -196,8 +196,7 @@ public class XhtmlOptionsDialog extends OptionsDialogBase { setControlEnabled("RepeatLevelsLabel",!isLocked("repeat_levels") && !isLocked("split_level") && bSplit); setControlEnabled("RepeatLevels",!isLocked("repeat_levels") && !isLocked("split_level") && bSplit); setControlEnabled("SaveImagesInSubdir",!isLocked("save_images_in_subdir")); - setControlEnabled("XsltPathLabel",(this instanceof XhtmlOptionsDialogXsl) && !isLocked("xslt_path")); - setControlEnabled("XsltPath",(this instanceof XhtmlOptionsDialogXsl) && !isLocked("xslt_path")); + setControlEnabled("UseMathjax",!isLocked("use_mathjax")); } private void enableSplitLevel() { @@ -214,6 +213,3 @@ public class XhtmlOptionsDialog extends OptionsDialogBase { } - - - diff --git a/source/java/org/openoffice/da/comp/writer2xhtml/XhtmlOptionsDialogXsl.java b/source/java/org/openoffice/da/comp/writer2xhtml/XhtmlOptionsDialogXsl.java deleted file mode 100644 index df6bda3..0000000 --- a/source/java/org/openoffice/da/comp/writer2xhtml/XhtmlOptionsDialogXsl.java +++ /dev/null @@ -1,52 +0,0 @@ -/************************************************************************ - * - * XhtmlOptionsDialogXsl.java - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software Foundation. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - * - * Copyright: 2002-2008 by Henrik Just - * - * All Rights Reserved. - * - * Version 1.0 (2008-09-11) - * - */ - -package org.openoffice.da.comp.writer2xhtml; - -import com.sun.star.uno.XComponentContext; - -/** This class provides a uno component which implements a filter ui for the - * Xhtml export (xsl variant) - * This variant of the dialog has the XsltPath setting enabled - */ -public class XhtmlOptionsDialogXsl extends XhtmlOptionsDialog { - /** The component will be registered under this name. - */ - public static String __serviceName = "org.openoffice.da.writer2xhtml.XhtmlOptionsDialogXsl"; - - /** The component should also have an implementation name. - */ - public static String __implementationName = "org.openoffice.da.comp.writer2xhtml.XhtmlOptionsDialogXsl"; - - /** Create a new XhtmlOptionsDialogXsl */ - public XhtmlOptionsDialogXsl(XComponentContext xContext) { - super(xContext); - } - -} - - - diff --git a/source/java/writer2latex/Application.java b/source/java/writer2latex/Application.java index 607e24f..525747b 100644 --- a/source/java/writer2latex/Application.java +++ b/source/java/writer2latex/Application.java @@ -20,7 +20,7 @@ * * All Rights Reserved. * - * Version 1.4 (2014-08-05) + * Version 1.4 (2014-08-13) * */ @@ -54,7 +54,7 @@ import writer2latex.util.Misc; *

    Where the available options are *

      *
    • -latex, -bibtex, -html5, -xhtml, - -xhtml+mathml, -xhtml+mathml+xsl, -epub + -xhtml+mathml, -epub *
    • -recurse *
    • -ultraclean, -clean, -pdfscreen, * -pdfprint, -cleanxhtml @@ -328,7 +328,6 @@ public final class Application { System.out.println(" -xhtml"); System.out.println(" -xhtml11"); System.out.println(" -xhtml+mathml"); - System.out.println(" -xhtml+mathml+xsl"); System.out.println(" -html5"); System.out.println(" -epub"); System.out.println(" -recurse"); @@ -366,7 +365,6 @@ public final class Application { else if ("-xhtml".equals(sArg)) { sTargetMIME = MIMETypes.XHTML; } else if ("-xhtml11".equals(sArg)) { sTargetMIME = MIMETypes.XHTML11; } else if ("-xhtml+mathml".equals(sArg)) { sTargetMIME = MIMETypes.XHTML_MATHML; } - else if ("-xhtml+mathml+xsl".equals(sArg)) { sTargetMIME = MIMETypes.XHTML_MATHML_XSL; } else if ("-epub".equals(sArg)) { sTargetMIME = MIMETypes.EPUB; } else if ("-recurse".equals(sArg)) { bRecurse = true; } else if ("-ultraclean".equals(sArg)) { configFileNames.add("*ultraclean.xml"); } diff --git a/source/java/writer2latex/api/ConverterFactory.java b/source/java/writer2latex/api/ConverterFactory.java index c918722..481e98d 100644 --- a/source/java/writer2latex/api/ConverterFactory.java +++ b/source/java/writer2latex/api/ConverterFactory.java @@ -89,9 +89,6 @@ public class ConverterFactory { else if (MIMETypes.XHTML_MATHML.equals(sMIME)) { converter = createInstance("writer2latex.xhtml.XhtmlMathMLConverter"); } - else if (MIMETypes.XHTML_MATHML_XSL.equals(sMIME)) { - converter = createInstance("writer2latex.xhtml.XhtmlMathMLXSLConverter"); - } else if (MIMETypes.HTML5.equals(sMIME)) { converter = createInstance("writer2latex.xhtml.Html5Converter"); } diff --git a/source/java/writer2latex/api/MIMETypes.java b/source/java/writer2latex/api/MIMETypes.java index 775aa1f..5db4761 100644 --- a/source/java/writer2latex/api/MIMETypes.java +++ b/source/java/writer2latex/api/MIMETypes.java @@ -16,11 +16,11 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * - * Copyright: 2002-2012 by Henrik Just + * Copyright: 2002-2014 by Henrik Just * * All Rights Reserved. * - * Version 1.4 (2012-04-01) + * Version 1.4 (2014-08-13) * */ @@ -51,7 +51,6 @@ public class MIMETypes { /** This is a fake MIME type, for internal use only */ public static final String XHTML11="application/xhtml11"; public static final String XHTML_MATHML="application/xhtml+xml"; - public static final String XHTML_MATHML_XSL="application/xml"; /** This is a fake MIME type, for internal use only */ public static final String HTML5="text/html5"; public static final String EPUB="application/epub+zip"; diff --git a/source/java/writer2latex/latex/MathConverter.java b/source/java/writer2latex/latex/MathConverter.java index df5714b..88c3c21 100644 --- a/source/java/writer2latex/latex/MathConverter.java +++ b/source/java/writer2latex/latex/MathConverter.java @@ -269,7 +269,7 @@ public final class MathConverter extends ConverterHelper { * @param node the paragraph * @return true if this is a display equation */ - public boolean parseDisplayEquation(Node node) { + private boolean parseDisplayEquation(Node node) { theEquation = null; theSequence = null; return doParseDisplayEquation(node); @@ -346,7 +346,7 @@ public final class MathConverter extends ConverterHelper { * @param node the draw:frame * @return the MathML element, or null if this is not a MathML formula */ - public Element getMathmlEquation(Element node) { + private Element getMathmlEquation(Element node) { if (node.getTagName().equals(XMLString.DRAW_FRAME)) { node=Misc.getFirstChildElement(node); } diff --git a/source/java/writer2latex/office/MIMETypes.java b/source/java/writer2latex/office/MIMETypes.java index 0944e63..fd04572 100644 --- a/source/java/writer2latex/office/MIMETypes.java +++ b/source/java/writer2latex/office/MIMETypes.java @@ -20,7 +20,7 @@ * * All Rights Reserved. * - * Version 1.4 (2014-08-05) + * Version 1.4 (2014-08-13) * */ @@ -69,7 +69,6 @@ public final class MIMETypes extends writer2latex.api.MIMETypes { public static final String BIBTEX_EXT = ".bib"; public static final String XHTML_EXT = ".html"; public static final String XHTML_MATHML_EXT = ".xhtml"; - public static final String XHTML_MATHML_XSL_EXT = ".xml"; public static final String PNG_EXT = ".png"; public static final String JPEG_EXT = ".jpg"; // this is the default in graphicx.sty public static final String GIF_EXT = ".gif"; @@ -142,7 +141,6 @@ public final class MIMETypes extends writer2latex.api.MIMETypes { if (BIBTEX.equals(sMIME)) { return BIBTEX_EXT; } if (XHTML.equals(sMIME)) { return XHTML_EXT; } if (XHTML_MATHML.equals(sMIME)) { return XHTML_MATHML_EXT; } - if (XHTML_MATHML_XSL.equals(sMIME)) { return XHTML_MATHML_XSL_EXT; } return ""; } diff --git a/source/java/writer2latex/xhtml/XhtmlConfig.java b/source/java/writer2latex/xhtml/XhtmlConfig.java index 06591d8..1b6ac18 100644 --- a/source/java/writer2latex/xhtml/XhtmlConfig.java +++ b/source/java/writer2latex/xhtml/XhtmlConfig.java @@ -16,11 +16,11 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * - * Copyright: 2002-2012 by Henrik Just + * Copyright: 2002-2014 by Henrik Just * * All Rights Reserved. * - * Version 1.4 (2012-04-12) + * Version 1.4 (2014-08-13) * */ @@ -41,7 +41,7 @@ import writer2latex.util.Misc; public class XhtmlConfig extends writer2latex.base.ConfigBase { // Implement configuration methods - protected int getOptionCount() { return 58; } + protected int getOptionCount() { return 57; } protected String getDefaultConfigPath() { return "/writer2latex/xhtml/config/"; } // Override setOption: To be backwards compatible, we must accept options @@ -152,12 +152,11 @@ public class XhtmlConfig extends writer2latex.base.ConfigBase { private static final int APPLY_PRINT_RANGES = 49; private static final int USE_TITLE_AS_HEADING = 50; private static final int USE_SHEET_NAMES_AS_HEADINGS = 51; - private static final int XSLT_PATH = 52; - private static final int SAVE_IMAGES_IN_SUBDIR = 53; - private static final int UPLINK = 54; - private static final int DIRECTORY_ICON = 55; - private static final int DOCUMENT_ICON = 56; - private static final int ZEN_HACK = 57; // temporary hack for ePub Zen Garden styles + private static final int SAVE_IMAGES_IN_SUBDIR = 52; + private static final int UPLINK = 53; + private static final int DIRECTORY_ICON = 54; + private static final int DOCUMENT_ICON = 55; + private static final int ZEN_HACK = 56; // temporary hack for ePub Zen Garden styles protected ComplexOption xheading = addComplexOption("heading-map"); protected ComplexOption xpar = addComplexOption("paragraph-map"); @@ -284,7 +283,6 @@ public class XhtmlConfig extends writer2latex.base.ConfigBase { options[APPLY_PRINT_RANGES] = new BooleanOption("apply_print_ranges","false"); options[USE_TITLE_AS_HEADING] = new BooleanOption("use_title_as_heading","true"); options[USE_SHEET_NAMES_AS_HEADINGS] = new BooleanOption("use_sheet_names_as_headings","true"); - options[XSLT_PATH] = new Option("xslt_path",""); options[SAVE_IMAGES_IN_SUBDIR] = new BooleanOption("save_images_in_subdir","false"); options[UPLINK] = new Option("uplink",""); options[DIRECTORY_ICON] = new Option("directory_icon",""); @@ -412,7 +410,6 @@ public class XhtmlConfig extends writer2latex.base.ConfigBase { public boolean applyPrintRanges() { return ((BooleanOption) options[APPLY_PRINT_RANGES]).getValue(); } public boolean xhtmlUseTitleAsHeading() { return ((BooleanOption) options[USE_TITLE_AS_HEADING]).getValue(); } public boolean xhtmlUseSheetNamesAsHeadings() { return ((BooleanOption) options[USE_SHEET_NAMES_AS_HEADINGS]).getValue(); } - public String getXsltPath() { return options[XSLT_PATH].getString(); } public boolean saveImagesInSubdir() { return ((BooleanOption) options[SAVE_IMAGES_IN_SUBDIR]).getValue(); } public String getXhtmlUplink() { return options[UPLINK].getString(); } public String getXhtmlDirectoryIcon() { return options[DIRECTORY_ICON].getString(); } diff --git a/source/java/writer2latex/xhtml/XhtmlDocument.java b/source/java/writer2latex/xhtml/XhtmlDocument.java index d89faf7..6e353e5 100644 --- a/source/java/writer2latex/xhtml/XhtmlDocument.java +++ b/source/java/writer2latex/xhtml/XhtmlDocument.java @@ -16,11 +16,11 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * - * Copyright: 2002-2012 by Henrik Just + * Copyright: 2002-2014 by Henrik Just * * All Rights Reserved. * - * Version 1.4 (2012-04-07) + * Version 1.4 (2014-08-13) * */ @@ -69,16 +69,11 @@ public class XhtmlDocument extends DOMDocument { /** Constant to identify XHTML + MathML documents */ public static final int XHTML_MATHML = 2; - /** Constant to identify XHTML + MathML documents using the XSL transformations - * from w3c's math working group (http://www.w3.org/Math/XSL/) - */ - public static final int XHTML_MATHML_XSL = 3; - /** Constant to identify HTML5 documents */ - public static final int HTML5 = 4; + public static final int HTML5 = 3; // Some static data - private static final String[] sExtension = { ".html", ".xhtml", ".xhtml", ".xml", ".html" }; + private static final String[] sExtension = { ".html", ".xhtml", ".xhtml", ".html" }; private static Set blockPrettyPrint; private static Set conditionalBlockPrettyPrint; @@ -97,7 +92,6 @@ public class XhtmlDocument extends DOMDocument { private boolean bNoDoctype = false; private boolean bAddBOM = false; private boolean bPrettyPrint = true; - private String sXsltPath = ""; private String sContentId = "content"; private String sHeaderId = "header"; private String sFooterId = "footer"; @@ -309,7 +303,6 @@ public class XhtmlDocument extends DOMDocument { case XHTML10: return MIMETypes.XHTML; case XHTML11: return MIMETypes.XHTML_MATHML; // TODO: Change the constant names in MIMETypes, this is a bit confusing... case XHTML_MATHML: return MIMETypes.XHTML_MATHML; - case XHTML_MATHML_XSL: return MIMETypes.XHTML_MATHML_XSL; case HTML5: return MIMETypes.HTML5; } return ""; @@ -436,7 +429,6 @@ public class XhtmlDocument extends DOMDocument { sSystemId = "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"; break; case XHTML_MATHML : - case XHTML_MATHML_XSL : sPublicId = "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"; sSystemId = "http://www.w3.org/Math/DTD/mathml2/xhtml-math11-f.dtd"; //sSystemId = "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd"; (old version) @@ -514,7 +506,6 @@ public class XhtmlDocument extends DOMDocument { bPrettyPrint = config.prettyPrint(); bUseNamedEntities = config.useNamedEntities(); bHexadecimalEntities = config.hexadecimalEntities(); - sXsltPath = config.getXsltPath(); String[] sTemplateIds = config.templateIds().split(","); int nIdCount = sTemplateIds.length; @@ -575,15 +566,9 @@ public class XhtmlDocument extends DOMDocument { if (nType!=XHTML10 && nType!=HTML5) { osw.write("\n"); } - // Either specify doctype or xsl transformation (the user may require - // that no doctype is used; this may be desirable for further transformations) - if (nType==XHTML_MATHML_XSL) { - // Original url: http://www.w3.org/Math/XSL/pmathml.xsl - // Add trailing slash if needed - String sSlash = sXsltPath.length()>0 && !sXsltPath.endsWith("/") ? "/" : ""; - osw.write("\n"); - } - else if (!bNoDoctype) { + // Specify DOCTYPE (the user may require that no DOCTYPE is used; + // this may be desirable for further transformations) + if (!bNoDoctype) { if (nType==HTML5) { osw.write("\n"); } @@ -763,7 +748,7 @@ public class XhtmlDocument extends DOMDocument { return; } String s=getMathMLEntity(c); - if (s!=null && (nType==XHTML_MATHML || nType==XHTML_MATHML_XSL)) { + if (s!=null && (nType==XHTML_MATHML)) { // There's a MathML entity to use osw.write(s); return; diff --git a/source/java/writer2latex/xhtml/XhtmlMathMLXSLConverter.java b/source/java/writer2latex/xhtml/XhtmlMathMLXSLConverter.java deleted file mode 100644 index a6e5c07..0000000 --- a/source/java/writer2latex/xhtml/XhtmlMathMLXSLConverter.java +++ /dev/null @@ -1,35 +0,0 @@ -/************************************************************************ - * - * XhtmlMathMLXSLConverter.java - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software Foundation. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - * - * Copyright: 2002-2008 by Henrik Just - * - * All Rights Reserved. - * - * Version 1.0 (2008-09-09) - * - */ - -package writer2latex.xhtml; - -public class XhtmlMathMLXSLConverter extends Converter { - - public XhtmlMathMLXSLConverter() { - super(XhtmlDocument.XHTML_MATHML_XSL); - } - -} \ No newline at end of file diff --git a/source/oxt/writer2xhtml/Options.xcs b/source/oxt/writer2xhtml/Options.xcs index b290684..185b402 100644 --- a/source/oxt/writer2xhtml/Options.xcs +++ b/source/oxt/writer2xhtml/Options.xcs @@ -45,7 +45,7 @@ - + diff --git a/source/oxt/writer2xhtml/Options.xcu b/source/oxt/writer2xhtml/Options.xcu index 9dbc3c5..7bcadd7 100644 --- a/source/oxt/writer2xhtml/Options.xcu +++ b/source/oxt/writer2xhtml/Options.xcu @@ -50,8 +50,8 @@ false - - + + true diff --git a/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_ca.properties b/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_ca.properties index c2fba66..59bbf82 100644 --- a/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_ca.properties +++ b/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_ca.properties @@ -1,4 +1,4 @@ -# Strings for Dialog Library W2XDialogs=Catal\u00e0 +# Strings for Dialog Library W2XDialogs 0.XhtmlOptions.HelpText= 1.XhtmlOptions.Title=Opcions XHTML (Writer2xhtml) 2.XhtmlOptions.StyleLabel.HelpText= @@ -58,10 +58,6 @@ 66.RepeatLevels.StringItemList=5 67.XhtmlOptions.SaveImagesInSubdir.HelpText= 68.XhtmlOptions.SaveImagesInSubdir.Label=Desa les imatges en un subdirectori -69.XhtmlOptions.XsltPathLabel.HelpText= -70.XhtmlOptions.XsltPathLabel.Label=Cam\u00ed XSLT -71.XhtmlOptions.XsltPath.HelpText= -72.XhtmlOptions.XsltPath.Text= 73.XhtmlOptions.ExportButton.HelpText= 74.XhtmlOptions.ExportButton.Label=Exporta 75.XhtmlOptions.CancelButton.HelpText= @@ -129,3 +125,5 @@ 139.Config.StringItemList=Personalitzat 140.Config.StringItemList=Format original 141.Config.StringItemList=Personalitzat +144.XhtmlOptions.UseMathjax.HelpText= +145.XhtmlOptions.UseMathjax.Label=Use MathJax diff --git a/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_cs_CZ.properties b/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_cs_CZ.properties index b2a5783..3bc0af1 100644 --- a/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_cs_CZ.properties +++ b/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_cs_CZ.properties @@ -1,4 +1,4 @@ -# Strings for Dialog Library W2XDialogs=Czech +# Strings for Dialog Library W2XDialogs 0.XhtmlOptions.HelpText= 1.XhtmlOptions.Title=Mo\u017enosti pro XHTML (Writer2xhtml) 2.XhtmlOptions.StyleLabel.HelpText= @@ -58,10 +58,6 @@ 66.RepeatLevels.StringItemList=5 67.XhtmlOptions.SaveImagesInSubdir.HelpText= 68.XhtmlOptions.SaveImagesInSubdir.Label=Ulo\u017eit obr\u00e1zky do podadres\u00e1\u0159e -69.XhtmlOptions.XsltPathLabel.HelpText= -70.XhtmlOptions.XsltPathLabel.Label=Cesta pro XSLT -71.XhtmlOptions.XsltPath.HelpText= -72.XhtmlOptions.XsltPath.Text= 73.XhtmlOptions.ExportButton.HelpText= 74.XhtmlOptions.ExportButton.Label=Exportovat 75.XhtmlOptions.CancelButton.HelpText= @@ -129,3 +125,5 @@ 139.Config.StringItemList=Vlastn\u00ed 140.Config.StringItemList=P\u016fvodn\u00ed form\u00e1tov\u00e1n\u00ed 141.Config.StringItemList=Vlastn\u00ed +144.XhtmlOptions.UseMathjax.HelpText= +145.XhtmlOptions.UseMathjax.Label=Use MathJax diff --git a/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_da_DK.properties b/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_da_DK.properties index 76d16f4..66aef10 100644 --- a/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_da_DK.properties +++ b/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_da_DK.properties @@ -58,10 +58,6 @@ 66.RepeatLevels.StringItemList=5 67.XhtmlOptions.SaveImagesInSubdir.HelpText= 68.XhtmlOptions.SaveImagesInSubdir.Label=Gem billeder i undermappe -69.XhtmlOptions.XsltPathLabel.HelpText= -70.XhtmlOptions.XsltPathLabel.Label=XSLT-sti -71.XhtmlOptions.XsltPath.HelpText= -72.XhtmlOptions.XsltPath.Text= 73.XhtmlOptions.ExportButton.HelpText= 74.XhtmlOptions.ExportButton.Label=Eksporter 75.XhtmlOptions.CancelButton.HelpText= @@ -129,3 +125,5 @@ 139.Config.StringItemList=Brugerdefineret 140.Config.StringItemList=Oprindelig formatering 141.Config.StringItemList=Brugerdefineret +144.XhtmlOptions.UseMathjax.HelpText= +145.XhtmlOptions.UseMathjax.Label=Brug MathJax diff --git a/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_de_DE.properties b/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_de_DE.properties index 53154ed..d0142ab 100644 --- a/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_de_DE.properties +++ b/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_de_DE.properties @@ -58,10 +58,6 @@ 66.RepeatLevels.StringItemList=5 67.XhtmlOptions.SaveImagesInSubdir.HelpText= 68.XhtmlOptions.SaveImagesInSubdir.Label=Bilder in Unterverzeichnis speichern -69.XhtmlOptions.XsltPathLabel.HelpText= -70.XhtmlOptions.XsltPathLabel.Label=XSLT path -71.XhtmlOptions.XsltPath.HelpText= -72.XhtmlOptions.XsltPath.Text= 73.XhtmlOptions.ExportButton.HelpText= 74.XhtmlOptions.ExportButton.Label=Exportieren 75.XhtmlOptions.CancelButton.HelpText= @@ -129,3 +125,5 @@ 139.Config.StringItemList=Benutzerdefiniert 140.Config.StringItemList=Original formatting 141.Config.StringItemList=Benutzerdefiniert +144.XhtmlOptions.UseMathjax.HelpText= +145.XhtmlOptions.UseMathjax.Label=MathJax verwenden diff --git a/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_en_US.properties b/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_en_US.properties index 1b3b2d5..638c588 100644 --- a/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_en_US.properties +++ b/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_en_US.properties @@ -58,10 +58,6 @@ 66.RepeatLevels.StringItemList=5 67.XhtmlOptions.SaveImagesInSubdir.HelpText= 68.XhtmlOptions.SaveImagesInSubdir.Label=Save images in subdirectory -69.XhtmlOptions.XsltPathLabel.HelpText= -70.XhtmlOptions.XsltPathLabel.Label=XSLT path -71.XhtmlOptions.XsltPath.HelpText= -72.XhtmlOptions.XsltPath.Text= 73.XhtmlOptions.ExportButton.HelpText= 74.XhtmlOptions.ExportButton.Label=Export 75.XhtmlOptions.CancelButton.HelpText= @@ -129,3 +125,5 @@ 139.Config.StringItemList=Custom 140.Config.StringItemList=Original formatting 141.Config.StringItemList=Custom +144.XhtmlOptions.UseMathjax.HelpText= +145.XhtmlOptions.UseMathjax.Label=Use MathJax diff --git a/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_es_ES.properties b/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_es_ES.properties index a465bf2..e367b68 100644 --- a/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_es_ES.properties +++ b/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_es_ES.properties @@ -1,4 +1,4 @@ -# Strings for Dialog Library W2XDialogs= +# Strings for Dialog Library W2XDialogs 0.XhtmlOptions.HelpText= 1.XhtmlOptions.Title=Opciones para XHTML (Writer2xhtml) 2.XhtmlOptions.StyleLabel.HelpText= @@ -58,10 +58,6 @@ 66.RepeatLevels.StringItemList=5 67.XhtmlOptions.SaveImagesInSubdir.HelpText= 68.XhtmlOptions.SaveImagesInSubdir.Label=Salvar im\u00e1genes en subdirectorio -69.XhtmlOptions.XsltPathLabel.HelpText= -70.XhtmlOptions.XsltPathLabel.Label=Direcci\u00F3n XSLT -71.XhtmlOptions.XsltPath.HelpText= -72.XhtmlOptions.XsltPath.Text= 73.XhtmlOptions.ExportButton.HelpText= 74.XhtmlOptions.ExportButton.Label=Exportar 75.XhtmlOptions.CancelButton.HelpText= @@ -129,3 +125,5 @@ 139.Config.StringItemList=Personalizado 140.Config.StringItemList=Formato original 141.Config.StringItemList=Personalizado +144.XhtmlOptions.UseMathjax.HelpText= +145.XhtmlOptions.UseMathjax.Label=Use MathJax diff --git a/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_fa_IR.properties b/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_fa_IR.properties index 2f0855e..69cfb1e 100644 --- a/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_fa_IR.properties +++ b/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_fa_IR.properties @@ -1,4 +1,4 @@ -# Strings for Dialog Library W2XDialogs=Persian +# Strings for Dialog Library W2XDialogs 0.XhtmlOptions.HelpText=\u062a\u0646\u0638\u06cc\u0645\u0627\u062a XHTML 1.XhtmlOptions.Title= 2.XhtmlOptions.StyleLabel.HelpText= @@ -58,10 +58,6 @@ 66.RepeatLevels.StringItemList=5 67.XhtmlOptions.SaveImagesInSubdir.HelpText= 68.XhtmlOptions.SaveImagesInSubdir.Label=\u0630\u062e\u06cc\u0631\u0647 \u0634\u06a9\u0644\u0647\u0627 \u062f\u0631 \u06cc\u06a9 \u0632\u06cc\u0631\u067e\u0648\u0634\u0647 -69.XhtmlOptions.XsltPathLabel.HelpText= -70.XhtmlOptions.XsltPathLabel.Label=\u0645\u0633\u06cc\u0631 XSLT -71.XhtmlOptions.XsltPath.HelpText= -72.XhtmlOptions.XsltPath.Text= 73.XhtmlOptions.ExportButton.HelpText= 74.XhtmlOptions.ExportButton.Label=\u0635\u0627\u062f\u0631 \u06a9\u0631\u062f\u0646 75.XhtmlOptions.CancelButton.HelpText= @@ -129,3 +125,5 @@ 139.Config.StringItemList=\u062f\u0644\u062e\u0648\u0627\u0647 140.Config.StringItemList=\u0642\u0627\u0644\u0628 \u0628\u0646\u062f\u06cc \u0627\u0635\u0644\u06cc 141.Config.StringItemList=\u062f\u0644\u062e\u0648\u0627\u0647 +144.XhtmlOptions.UseMathjax.HelpText= +145.XhtmlOptions.UseMathjax.Label=Use MathJax diff --git a/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_fi_FI.properties b/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_fi_FI.properties index 9757eaa..cf1fd7f 100644 --- a/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_fi_FI.properties +++ b/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_fi_FI.properties @@ -1,4 +1,4 @@ -# Strings for Dialog Library W2XDialogs=Your language +# Strings for Dialog Library W2XDialogs 0.XhtmlOptions.HelpText= 1.XhtmlOptions.Title=XHTML asetukset (Writer2xhtml) 2.XhtmlOptions.StyleLabel.HelpText= @@ -58,10 +58,6 @@ 66.RepeatLevels.StringItemList=5 67.XhtmlOptions.SaveImagesInSubdir.HelpText= 68.XhtmlOptions.SaveImagesInSubdir.Label=Tallenna kuva alakansioon -69.XhtmlOptions.XsltPathLabel.HelpText= -70.XhtmlOptions.XsltPathLabel.Label=XSLT polku -71.XhtmlOptions.XsltPath.HelpText= -72.XhtmlOptions.XsltPath.Text= 73.XhtmlOptions.ExportButton.HelpText= 74.XhtmlOptions.ExportButton.Label=Vie 75.XhtmlOptions.CancelButton.HelpText= @@ -129,3 +125,5 @@ 139.Config.StringItemList=Custom 140.Config.StringItemList=Alkuper\u00e4inen muotoilu 141.Config.StringItemList=Custom +144.XhtmlOptions.UseMathjax.HelpText= +145.XhtmlOptions.UseMathjax.Label=Use MathJax diff --git a/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_fr_FR.properties b/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_fr_FR.properties index befb2ac..db05628 100644 --- a/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_fr_FR.properties +++ b/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_fr_FR.properties @@ -1,4 +1,4 @@ -# Strings for Dialog Library W2XDialogs= +# Strings for Dialog Library W2XDialogs 0.XhtmlOptions.HelpText= 1.XhtmlOptions.Title=Options XHTML (Writer2xhtml) 2.XhtmlOptions.StyleLabel.HelpText= @@ -58,10 +58,6 @@ 66.RepeatLevels.StringItemList=5 67.XhtmlOptions.SaveImagesInSubdir.HelpText= 68.XhtmlOptions.SaveImagesInSubdir.Label=Sauver les images dans un sous-r\u00e9pertoire -69.XhtmlOptions.XsltPathLabel.HelpText= -70.XhtmlOptions.XsltPathLabel.Label=Chemin XSLT -71.XhtmlOptions.XsltPath.HelpText= -72.XhtmlOptions.XsltPath.Text= 73.XhtmlOptions.ExportButton.HelpText= 74.XhtmlOptions.ExportButton.Label=Exporter 75.XhtmlOptions.CancelButton.HelpText= @@ -129,3 +125,5 @@ 139.Config.StringItemList=Personnalis\u00e9 140.Config.StringItemList=Format d'origine 141.Config.StringItemList=Personnalis\u00e9 +144.XhtmlOptions.UseMathjax.HelpText= +145.XhtmlOptions.UseMathjax.Label=Utiliser MathJax diff --git a/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_it_IT.properties b/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_it_IT.properties index fbb39bc..a80bb2c 100644 --- a/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_it_IT.properties +++ b/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_it_IT.properties @@ -1,4 +1,4 @@ -# Strings for Dialog Library W2XDialogs=Your language +# Strings for Dialog Library W2XDialogs 0.XhtmlOptions.HelpText= 1.XhtmlOptions.Title=Opzioni XHTML (Writer2xhtml) 2.XhtmlOptions.StyleLabel.HelpText= @@ -58,10 +58,6 @@ 66.RepeatLevels.StringItemList=5 67.XhtmlOptions.SaveImagesInSubdir.HelpText= 68.XhtmlOptions.SaveImagesInSubdir.Label=Salva le immagini in una sottocartella -69.XhtmlOptions.XsltPathLabel.HelpText= -70.XhtmlOptions.XsltPathLabel.Label=Percorso XSLT -71.XhtmlOptions.XsltPath.HelpText= -72.XhtmlOptions.XsltPath.Text= 73.XhtmlOptions.ExportButton.HelpText= 74.XhtmlOptions.ExportButton.Label=Esporta 75.XhtmlOptions.CancelButton.HelpText= @@ -129,3 +125,5 @@ 139.Config.StringItemList=Personalizzato 140.Config.StringItemList=Formattazione originale 141.Config.StringItemList=Personalizzato +144.XhtmlOptions.UseMathjax.HelpText= +145.XhtmlOptions.UseMathjax.Label=Use MathJax diff --git a/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_nl_NL.properties b/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_nl_NL.properties index 12a1601..edf601a 100644 --- a/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_nl_NL.properties +++ b/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_nl_NL.properties @@ -1,4 +1,4 @@ -# Strings for Dialog Library W2XDialogs in dutch +# Strings for Dialog Library W2XDialogs 0.XhtmlOptions.HelpText= 1.XhtmlOptions.Title=XHTML-opties (Writer2xhtml) 2.XhtmlOptions.StyleLabel.HelpText= @@ -58,10 +58,6 @@ 66.RepeatLevels.StringItemList=5 67.XhtmlOptions.SaveImagesInSubdir.HelpText= 68.XhtmlOptions.SaveImagesInSubdir.Label=Sla plaatjes op in subdirectory -69.XhtmlOptions.XsltPathLabel.HelpText= -70.XhtmlOptions.XsltPathLabel.Label=XSLT-pad -71.XhtmlOptions.XsltPath.HelpText= -72.XhtmlOptions.XsltPath.Text= 73.XhtmlOptions.ExportButton.HelpText= 74.XhtmlOptions.ExportButton.Label=Exporteer 75.XhtmlOptions.CancelButton.HelpText= @@ -129,3 +125,5 @@ 139.Config.StringItemList=Aangepast 140.Config.StringItemList=Origineel formaat 141.Config.StringItemList=Aangepast +144.XhtmlOptions.UseMathjax.HelpText= +145.XhtmlOptions.UseMathjax.Label=Gebruik MathJax diff --git a/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_nn_NO.properties b/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_nn_NO.properties index ba0b554..dfdb532 100644 --- a/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_nn_NO.properties +++ b/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_nn_NO.properties @@ -1,4 +1,4 @@ -# Strings for Dialog Library W2XDialogs=Your language +# Strings for Dialog Library W2XDialogs 0.XhtmlOptions.HelpText= 1.XhtmlOptions.Title=XHTML-val (Writer2xhtml) 2.XhtmlOptions.StyleLabel.HelpText= @@ -58,10 +58,6 @@ 66.RepeatLevels.StringItemList=5 67.XhtmlOptions.SaveImagesInSubdir.HelpText= 68.XhtmlOptions.SaveImagesInSubdir.Label=Lagre bilete i undermappe -69.XhtmlOptions.XsltPathLabel.HelpText= -70.XhtmlOptions.XsltPathLabel.Label=XSLT-sti -71.XhtmlOptions.XsltPath.HelpText= -72.XhtmlOptions.XsltPath.Text= 73.XhtmlOptions.ExportButton.HelpText= 74.XhtmlOptions.ExportButton.Label=Eksporter 75.XhtmlOptions.CancelButton.HelpText= @@ -129,3 +125,5 @@ 139.Config.StringItemList=Eigendefinert 140.Config.StringItemList=Opphavleg formatering 141.Config.StringItemList=Eigendefinert +144.XhtmlOptions.UseMathjax.HelpText= +145.XhtmlOptions.UseMathjax.Label=Use MathJax diff --git a/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_pl_PL.properties b/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_pl_PL.properties index ddba07b..d57ccbe 100644 --- a/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_pl_PL.properties +++ b/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_pl_PL.properties @@ -1,4 +1,4 @@ -# Strings for Dialog Library W2XDialogs=Polish (Polski) +# Strings for Dialog Library W2XDialogs 0.XhtmlOptions.HelpText= 1.XhtmlOptions.Title=Opcje XHTML (Writer2xhtml) 2.XhtmlOptions.StyleLabel.HelpText= @@ -58,10 +58,6 @@ 66.RepeatLevels.StringItemList=5 67.XhtmlOptions.SaveImagesInSubdir.HelpText= 68.XhtmlOptions.SaveImagesInSubdir.Label=Zapisz rysunki w podkatalogu -69.XhtmlOptions.XsltPathLabel.HelpText= -70.XhtmlOptions.XsltPathLabel.Label=\u015acie\u017cka XSLT -71.XhtmlOptions.XsltPath.HelpText= -72.XhtmlOptions.XsltPath.Text= 73.XhtmlOptions.ExportButton.HelpText= 74.XhtmlOptions.ExportButton.Label=Eksportuj 75.XhtmlOptions.CancelButton.HelpText= @@ -129,3 +125,5 @@ 139.Config.StringItemList=U\u017cytkownika 140.Config.StringItemList=Formatowanie oryginalne 141.Config.StringItemList=U\u017cytkownika +144.XhtmlOptions.UseMathjax.HelpText= +145.XhtmlOptions.UseMathjax.Label=Use MathJax diff --git a/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_pt_BR.properties b/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_pt_BR.properties index 36d838f..ebc66da 100644 --- a/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_pt_BR.properties +++ b/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_pt_BR.properties @@ -1,4 +1,4 @@ -# Strings for Dialog Library W2XDialogs=Brazilian Portugeuse +# Strings for Dialog Library W2XDialogs 0.XhtmlOptions.HelpText= 1.XhtmlOptions.Title=Op\u00e7\u00f5es de XHTML (Writer2xhtml) 2.XhtmlOptions.StyleLabel.HelpText= @@ -58,10 +58,6 @@ 66.RepeatLevels.StringItemList=5 67.XhtmlOptions.SaveImagesInSubdir.HelpText= 68.XhtmlOptions.SaveImagesInSubdir.Label=Salvar imagens em subdiret\u00f3rio -69.XhtmlOptions.XsltPathLabel.HelpText= -70.XhtmlOptions.XsltPathLabel.Label=Caminho XSLT -71.XhtmlOptions.XsltPath.HelpText= -72.XhtmlOptions.XsltPath.Text= 73.XhtmlOptions.ExportButton.HelpText= 74.XhtmlOptions.ExportButton.Label=Exportar 75.XhtmlOptions.CancelButton.HelpText= @@ -129,3 +125,5 @@ 139.Config.StringItemList=Padr\u00e3o 140.Config.StringItemList=Formata\u00e7\u00e3o original 141.Config.StringItemList=Padr\u00e3o +144.XhtmlOptions.UseMathjax.HelpText= +145.XhtmlOptions.UseMathjax.Label=Use MathJax diff --git a/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_ru_RU.properties b/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_ru_RU.properties index 1b93933..8f4262e 100644 --- a/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_ru_RU.properties +++ b/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_ru_RU.properties @@ -1,4 +1,4 @@ -# Strings for Dialog Library W2XDialogs=(Russian) +# Strings for Dialog Library W2XDialogs 0.XhtmlOptions.HelpText= 1.XhtmlOptions.Title=\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b XHTML (Writer2xhtml) 2.XhtmlOptions.StyleLabel.HelpText= @@ -58,10 +58,6 @@ 66.RepeatLevels.StringItemList=5 67.XhtmlOptions.SaveImagesInSubdir.HelpText= 68.XhtmlOptions.SaveImagesInSubdir.Label=\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0432 \u043f\u043e\u0434\u043a\u0430\u0442\u0430\u043b\u043e\u0433 -69.XhtmlOptions.XsltPathLabel.HelpText= -70.XhtmlOptions.XsltPathLabel.Label=\u041f\u0443\u0442\u044c \u043a XSLT -71.XhtmlOptions.XsltPath.HelpText= -72.XhtmlOptions.XsltPath.Text= 73.XhtmlOptions.ExportButton.HelpText= 74.XhtmlOptions.ExportButton.Label=\u042d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c 75.XhtmlOptions.CancelButton.HelpText= @@ -129,3 +125,5 @@ 139.Config.StringItemList=\u0412\u044b\u0431\u043e\u0440\u043e\u0447\u043d\u044b\u0439 140.Config.StringItemList=\u041e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0435 \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 141.Config.StringItemList=\u0412\u044b\u0431\u043e\u0440\u043e\u0447\u043d\u044b\u0439 +144.XhtmlOptions.UseMathjax.HelpText= +145.XhtmlOptions.UseMathjax.Label=Use MathJax diff --git a/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_tr_TR.properties b/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_tr_TR.properties index a59a051..5fd9622 100644 --- a/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_tr_TR.properties +++ b/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_tr_TR.properties @@ -1,4 +1,4 @@ -# Strings for Dialog Library W2XDialogs=Your language +# Strings for Dialog Library W2XDialogs 0.XhtmlOptions.HelpText= 1.XhtmlOptions.Title=XHTML Se\u00e7enekleri (Writer2xhtml) 2.XhtmlOptions.StyleLabel.HelpText= @@ -58,10 +58,6 @@ 66.RepeatLevels.StringItemList=5 67.XhtmlOptions.SaveImagesInSubdir.HelpText= 68.XhtmlOptions.SaveImagesInSubdir.Label=Resimleri altklas\u00f6re kaydet -69.XhtmlOptions.XsltPathLabel.HelpText= -70.XhtmlOptions.XsltPathLabel.Label=XSLT yolu -71.XhtmlOptions.XsltPath.HelpText= -72.XhtmlOptions.XsltPath.Text= 73.XhtmlOptions.ExportButton.HelpText= 74.XhtmlOptions.ExportButton.Label=\u0130hra\u00e7 et 75.XhtmlOptions.CancelButton.HelpText= @@ -129,3 +125,5 @@ 139.Config.StringItemList=\u00d6zel i\u00e7erik 140.Config.StringItemList=Orjinal formatlama 141.Config.StringItemList=\u00d6zel +144.XhtmlOptions.UseMathjax.HelpText= +145.XhtmlOptions.UseMathjax.Label=Use MathJax diff --git a/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_uk_UA.properties b/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_uk_UA.properties index c23a9f1..ada8265 100644 --- a/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_uk_UA.properties +++ b/source/oxt/writer2xhtml/W2XDialogs/DialogStrings_uk_UA.properties @@ -1,4 +1,4 @@ -# Strings for Dialog Library W2XDialogs (Ukrainian) +# Strings for Dialog Library W2XDialogs 0.XhtmlOptions.HelpText= 1.XhtmlOptions.Title=\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b XHTML (Writer2xhtml) 2.XhtmlOptions.StyleLabel.HelpText= @@ -58,10 +58,6 @@ 66.RepeatLevels.StringItemList=5 67.XhtmlOptions.SaveImagesInSubdir.HelpText= 68.XhtmlOptions.SaveImagesInSubdir.Label=\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u043d\u044f \u0443 \u043f\u0456\u0434\u0442\u0435\u043a\u0443 -69.XhtmlOptions.XsltPathLabel.HelpText= -70.XhtmlOptions.XsltPathLabel.Label=\u0428\u043b\u044f\u0445 \u0434\u043e XSLT -71.XhtmlOptions.XsltPath.HelpText= -72.XhtmlOptions.XsltPath.Text= 73.XhtmlOptions.ExportButton.HelpText= 74.XhtmlOptions.ExportButton.Label=\u0415\u043a\u0441\u043f\u043e\u0440\u0442\u0443\u0432\u0430\u0442\u0438 75.XhtmlOptions.CancelButton.HelpText= @@ -129,3 +125,5 @@ 139.Config.StringItemList=\u0412\u0438\u0431\u0456\u0440\u043a\u043e\u0432\u0438\u0439 140.Config.StringItemList=\u0410\u0432\u0442\u0435\u043d\u0442\u0438\u0447\u043d\u0435 \u0444\u043e\u0440\u043c\u0430\u0442\u0443\u0432\u0430\u043d\u043d\u044f 141.Config.StringItemList=\u0412\u0438\u0431\u0456\u0440\u043a\u043e\u0432\u0438\u0439 +144.XhtmlOptions.UseMathjax.HelpText= +145.XhtmlOptions.UseMathjax.Label=Use MathJax diff --git a/source/oxt/writer2xhtml/W2XDialogs/XhtmlOptions.xdl b/source/oxt/writer2xhtml/W2XDialogs/XhtmlOptions.xdl index 65da698..66b6f11 100644 --- a/source/oxt/writer2xhtml/W2XDialogs/XhtmlOptions.xdl +++ b/source/oxt/writer2xhtml/W2XDialogs/XhtmlOptions.xdl @@ -4,7 +4,7 @@ - + @@ -20,26 +20,26 @@ - + - + - - + + - - + + - - - + + + - + - + @@ -50,7 +50,7 @@ - + @@ -60,12 +60,10 @@ - - - - - - - + + + + + \ No newline at end of file diff --git a/source/oxt/writer2xhtml/W2XDialogs/XhtmlOptionsCalc.xdl b/source/oxt/writer2xhtml/W2XDialogs/XhtmlOptionsCalc.xdl index 841e82c..82c6846 100644 --- a/source/oxt/writer2xhtml/W2XDialogs/XhtmlOptionsCalc.xdl +++ b/source/oxt/writer2xhtml/W2XDialogs/XhtmlOptionsCalc.xdl @@ -4,7 +4,7 @@ - + @@ -12,28 +12,28 @@ - + - + - - + + - - + + - - - - - - + + + + + + - - + + - + \ No newline at end of file diff --git a/source/oxt/writer2xhtml/help/en/org.openoffice.da.writer2xhtml.oxt/export.xhp b/source/oxt/writer2xhtml/help/en/org.openoffice.da.writer2xhtml.oxt/export.xhp index 79acab8..86b9f0e 100644 --- a/source/oxt/writer2xhtml/help/en/org.openoffice.da.writer2xhtml.oxt/export.xhp +++ b/source/oxt/writer2xhtml/help/en/org.openoffice.da.writer2xhtml.oxt/export.xhp @@ -14,7 +14,6 @@ Choose File - Export - XHTML 1.0 strict
      or File - Export - XHTML 1.1
      or File - Export - XHTML 1.1 + MathML 2.0
      - or File - Export - XHTML 1.1 + MathML 2.0 (xsl) or File - Export - HTML5 @@ -195,12 +194,14 @@ store the images. - - XSLT path - Enter the path to pmathml.xsl and pmathmlcss.xsl - If you choose the export filter - XHTML 1.1 + MathML 2.0 (xsl), two XSLT style sheets provided by the World Wide Web Consortium are required. - If they are not available in the same directory as the exported document, you can give the path here. - + + Check this to load the JavaScript library MathJax for viewing mathematical content +
      + Use MathJax + MathJax is a JavaScript library for displaying mathematical content in web pages. + Using MathJax ensures that your mathematical content will display correctly in most browsers. + This includes formulas created with the extension TexMaths. + This option is only available if you export to XHTML 1.1+MathML 2.0 or HTML5. +
      \ No newline at end of file diff --git a/source/oxt/writer2xhtml/w2x_filters.xcu b/source/oxt/writer2xhtml/w2x_filters.xcu index b8cafbf..72d6741 100644 --- a/source/oxt/writer2xhtml/w2x_filters.xcu +++ b/source/oxt/writer2xhtml/w2x_filters.xcu @@ -101,20 +101,6 @@ EXPORT ALIEN 3RDPARTYFILTER
      - - 0 - writer_xhtml_mathml_xsl_File - com.sun.star.text.TextDocument - org.openoffice.da.comp.writer2xhtml.XhtmlOptionsDialogXsl - org.openoffice.da.comp.writer2xhtml.W2XExportFilter unused com.sun.star.comp.Writer.XMLOasisImporter com.sun.star.comp.Writer.XMLOasisExporter staroffice/sxw application/xml - com.sun.star.comp.Writer.XmlFilterAdaptor - - - XHTML 1.1 + MathML 2.0 (xsl) - - EXPORT ALIEN 3RDPARTYFILTER - - 0 writer_epub_File diff --git a/source/oxt/writer2xhtml/w2x_types.xcu b/source/oxt/writer2xhtml/w2x_types.xcu index 81bbe9d..112c7a7 100644 --- a/source/oxt/writer2xhtml/w2x_types.xcu +++ b/source/oxt/writer2xhtml/w2x_types.xcu @@ -51,18 +51,6 @@ - - - - xml - - false - - XHTML 1.1 + MathML 2.0 (xsl) - - - -