Task #2867 - The online editor: Adding a new plugin asciimath for entering mathematical formulas, based on the ASCIIMathML.js library.

skala
Ivan Tcholakov 16 years ago
parent be18ba8efd
commit f42ed072f3
  1. 1
      documentation/changelog.html
  2. 1
      main/inc/global.inc.php
  3. 3513
      main/inc/lib/asciimath/ASCIIMathML.js
  4. 363
      main/inc/lib/asciimath/asciimath.html
  5. 118
      main/inc/lib/asciimath/asciimathcalculator.html
  6. 227
      main/inc/lib/asciimath/asciimathchanges.txt
  7. 117
      main/inc/lib/asciimath/asciimathdemo.html
  8. 76
      main/inc/lib/asciimath/asciimathextend.html
  9. 38
      main/inc/lib/asciimath/asciimathsample.html
  10. 506
      main/inc/lib/asciimath/asciimathsyntax.html
  11. 8
      main/inc/lib/asciimath/d.svg
  12. 44
      main/inc/lib/asciimath/filter.php
  13. 8
      main/inc/lib/asciimath/index.html
  14. 28
      main/inc/lib/asciimath/javascript.php
  15. 37
      main/inc/lib/asciimath/readme.txt
  16. BIN
      main/inc/lib/fckeditor/editor/plugins/asciimath/asciimath.gif
  17. 268
      main/inc/lib/fckeditor/editor/plugins/asciimath/fck_asciimath.html
  18. 334
      main/inc/lib/fckeditor/editor/plugins/asciimath/fck_asciimath.js
  19. 341
      main/inc/lib/fckeditor/editor/plugins/asciimath/fckplugin.js
  20. 8
      main/inc/lib/fckeditor/editor/plugins/asciimath/index.html
  21. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/af.js
  22. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/ar.js
  23. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/bg.js
  24. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/bn.js
  25. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/bs.js
  26. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/ca.js
  27. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/cs.js
  28. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/da.js
  29. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/de.js
  30. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/el.js
  31. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/en-au.js
  32. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/en-ca.js
  33. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/en-uk.js
  34. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/en.js
  35. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/eo.js
  36. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/es.js
  37. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/et.js
  38. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/eu.js
  39. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/fa.js
  40. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/fi.js
  41. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/fo.js
  42. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/fr-ca.js
  43. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/fr.js
  44. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/gl.js
  45. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/gu.js
  46. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/he.js
  47. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/hi.js
  48. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/hr.js
  49. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/hu.js
  50. 8
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/index.html
  51. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/is.js
  52. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/it.js
  53. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/ja.js
  54. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/km.js
  55. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/ko.js
  56. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/lt.js
  57. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/lv.js
  58. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/mn.js
  59. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/ms.js
  60. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/nb.js
  61. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/nl.js
  62. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/no.js
  63. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/pl.js
  64. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/pt-br.js
  65. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/pt.js
  66. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/ro.js
  67. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/ru.js
  68. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/sk.js
  69. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/sl.js
  70. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/sr-latn.js
  71. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/sr.js
  72. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/sv.js
  73. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/th.js
  74. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/tr.js
  75. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/uk.js
  76. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/vi.js
  77. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/zh-cn.js
  78. 22
      main/inc/lib/fckeditor/editor/plugins/asciimath/lang/zh.js
  79. 165
      main/inc/lib/fckeditor/editor/plugins/asciimath/lgpl-3.0.txt
  80. 13
      main/inc/lib/fckeditor/editor/plugins/asciimath/readme.txt
  81. 82
      main/inc/lib/fckeditor/editor/plugins/customizations/fckplugin_load.js
  82. 4
      main/inc/lib/fckeditor/fckeditor.php
  83. 26
      main/inc/lib/fckeditor/myconfig.js
  84. 9
      main/inc/lib/fckeditor/myconfig.php
  85. 2
      main/inc/lib/fckeditor/toolbars/default/admin_templates.php
  86. 2
      main/inc/lib/fckeditor/toolbars/default/documents.php
  87. 2
      main/inc/lib/fckeditor/toolbars/default/documents_student.php
  88. 2
      main/inc/lib/fckeditor/toolbars/default/learning_path_documents.php
  89. 2
      main/inc/lib/fckeditor/toolbars/default/wiki.php
  90. 2
      main/inc/lib/fckeditor/toolbars/default/wiki_student.php
  91. 4
      main/inc/lib/fckeditor/toolbars/extended/documents.php
  92. 4
      main/inc/lib/fckeditor/toolbars/extended/documents_student.php
  93. 4
      main/inc/lib/fckeditor/toolbars/extended/learning_path_documents.php
  94. 4
      main/inc/lib/fckeditor/toolbars/extended/wiki.php
  95. 4
      main/inc/lib/fckeditor/toolbars/extended/wiki_student.php
  96. 14
      main/inc/lib/media.lib.php
  97. 13
      tests/main/inc/lib/media.lib.test.php

@ -40,6 +40,7 @@
<li>Online editor: Preview tabs have been added to the dialogs for inserting video, flv-video, and YouTube video. (FS#2867)</li>
<li>Online editor: The <b>audio</b> plugin has been activated by default as an implementation of the "Insert audio / Audio properties" dialog. This new plugin is intended to replace the "MP3" plugin. (FS#2867)</li>
<li>Online editor: Configuration of the <b>mimetex</b> plugin has been reworked to gain simplicity. The procedure for configuration has been updated, see <a href="http://www.dokeos.com/forum/viewtopic.php?t=29594" target="_blank">the related forum topic</a>. (FS#2867)</li>
<li>Online editor: A new <b>asciimath</b> plugin for inserting mathematical formulas has been added. It is based on the <a href="http://mathcs.chapman.edu/~jipsen/mathml/asciimath.html" target="_blank">ASCIIMathML.js</a> library. (FS#2867)</li>
<li>Online editor: The toolbar icons have been upgraded to those from CKEditor 3.0. (FS#2867)</li>
<li>A solution has been implemented for fixing the <a href="http://bugs.adobe.com/jira/browse/FP-529" target="_blank">"__flash__removeCallback" bug</a>, which affects the media player on Internet Explorer browser. (FS#4378 and FS#2867)</li>
<li>Implement new sub-language feature by which language terms redefinition becomes possible through the admin section (FS#4321)</li>

@ -219,6 +219,7 @@ require_once($lib_path.'display.lib.php');
require_once($lib_path.'text.lib.php');
require_once($lib_path.'security.lib.php');
require_once($lib_path.'events.lib.inc.php');
require_once($lib_path.'media.lib.php');
// @todo: this shouldn't be done here. It should be stored correctly during installation
if(empty($_configuration['statistics_database']) && $already_installed)

File diff suppressed because it is too large Load Diff

@ -0,0 +1,363 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>ASCIIMathML: Math on the web for everyone</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript" src="ASCIIMathML.js"></script>
<style type="text/css">
#menu, #title, #subtitle, #author, .display {text-align: center}
body {font-family: Arial; background-color:beige}
p,table {font-family: Times}
</style>
</head>
<body>
<div id="menu">
| <a href="asciimath.html">Home Page</a> |
<a href="asciimathsyntax.html">Syntax</a> |
<a href="asciimathdemo.html">Try it</a> |
<a href="asciimathcalculator.html">Calculator</a> |
<a href="http://mathcs.chapman.edu/~jipsen/mathml/asciimathdownload.html">Download</a> |
<a href="http://mathcs.chapman.edu/~jipsen/math/index.php/ASCIIMathML/ASCIIMathGraphs.html">Graphs</a> |
<a href="http://mathcs.chapman.edu/~jipsen/math/index.php/ASCIIMathML/ASCIIMathFAQ.html">ASCIIMath FAQ</a> |
<a href="http://mathcs.chapman.edu/~jipsen/math/index.php/ASCIIMathML/ASCIIMathMLSandbox.html">Sandbox</a> |
<a href="http://mathcs.chapman.edu/~jipsen/math/index.php/ASCIIMathML/ASCIIMathCommentsAndSuggestions.html">Comments</a> |
</div>
<hr/>
<h2 id="title">
ASCIIMathML.js (ver 2.0): Translating ASCII math notation to MathML
and graphics</h2>
<h4 align="center">
Would you or your students like to <i>easily</i> produce
<i>good-looking</i> math formulas on webpages<br/>
using a <i>simple</i> calculator-style syntax and your
own ASCII or HTML editor?
<br/>
Here is a free multi-platform solution (and if you prefer it,
LaTeX-style formulas also work).
</h4>
<center>
<b><font color="red">Now even easier to use:</font>
<font color="green"> just add one line to your
HTML file to load ASCIIMathML.js
</font></b><p>
ASCIIMathML.js is mentioned on the <a
href="http://www.w3.org/Math/">MathML</a> page of the <a
href="http://www.w3.org/">World Wide Web Consortium</a>, also on <a
href="http://mathforge.net/index.jsp">mathforge.net</a> and <a
href="http://mathforum.org/library/resource_types/typesetting/">The
Math Forum.</a>
</p>
<font color="red"><b>New:</b></font> Now with <b>automatic math recognition</b>
mode, better LaTeX support and graphics integration<br/>
A <a href="http://mathcs.chapman.edu/~jipsen/math/index.php/ASCIIMathML/ASCIIMathMLMoodleFilter.html">Moodle filter</a> and a <a href="http://mathcs.chapman.edu/~jipsen/math/index.php/ASCIIMathML/ASCIIMathMLPmWikiCookbook.html">PmWiki cookbook</a> are also available<br/>
<a href="http://www.pierce.ctc.edu/dlippman/asciimathtex/AMT.html">ASCIIMath Image Fallback Scripts</a> by David Lippman (including a Moodle filter)<br/>
and a <a href="http://www.maths.nottingham.ac.uk/personal/drw/lm.html">LaTeXMathML</a> version of ASCIIMathML by <a href="http://www.maths.nottingham.ac.uk/personal/drw/">Dr Douglas R. Woodall</a>
(<a href="http://www.maths.nott.ac.uk/personal/drw/lmtest.html">examples</a>)
<br />
<a href="http://math.chapman.edu/~jipsen/asciencepad/asciencepad.html">ASciencePad</a> is a WYSIWYG editor that integrates
<a href="http://www.tiddlywiki.com/">TiddlyWiki</a>, ASCIIMathML and ASCIIsvg graphs.<br />
It's free and works locally (no installation or server required).<br />
Useful information about <a
href="http://www.maths.ed.ac.uk/~james/ASCIIMathMLinfo.html">ASCIIMathML</a>
by <a href="http://www.maths.ed.ac.uk/~james/">James Gray</a>, including
a nice <a href="http://www.maths.ed.ac.uk/~james/ASCIIMathTutorial.html">tutorial</a>.<br />
ASCIIMathML also works with <a href="http://www.meyerweb.com/eric/tools/s5/">S5</a> (CSS
Presentation slide show; <a href="http://math.chapman.edu/~jipsen/talks/MathFest2005/JipsenMathFestSlides2005.html">S5 ASCIIMath example</a>)<br/>
and in valid
<a href="http://math.chapman.edu/~jipsen/mathml/asciimathandmathmlsvg.xhtml">
XHTML pages with standard MathML and SVG</a> in several browsers.
<br/>
ASCIIMathML is being used with Movable Type, WordPress, phpBB, and many wikis.
<br/>
Also available: A PHP port of ASCIIMathML.js to <a
href="http://www.jcphysics.com/ASCIIMath/">ASCIIMathPHP</a> by <a
href="mailto:kc56@cornell.edu">Steven Chan</a>.
</center>
<p>
This is the main page (HTML version) for the ASCIIMathML.js script which allows
incorporating mathematical formulas on webpages with a minimum of
fuss (just add one line to a webpage to load the script).
If you like what you see, choose <b>Save As...</b> in your browser
and this page should work equally well locally on your machine.
</p>
<p class="display">
<b>
This page requires Internet Explorer 6 + <a href=
"http://www.dessci.com/en/products/mathplayer/welcome.asp">MathPlayer</a>
or Netscape7.1/Mozilla/Firefox.
</b>
</p>
<p>
ASCIIMathML.js is freely available under the <a
href="http://www.gnu.org/licenses/lgpl.html">GNU Lesser General Public
License</a>. You can get your own copy from the <a href=
"http://www.chapman.edu/~jipsen/mathml/asciimathdownload/">ASCIIMathML.js
download page</a>. The script works with both HTML and XHTML webpages.
(The homepage for an XML
version is at <a href="asciimath.xml">asciimath.xml</a> but is no
longer maintained).
</p>
<p>
If you use it on a webpage, please send me an email at <a
href="mailto:jipsen@chapman.edu">jipsen@chapman.edu</a> with the URL
so that I can add a link to it on the <a
href="http://math.chapman.edu/cgi-bin/mathxml.pl?Webpages_that_use_ASCIIMathML.js">users page</a>.
(Also send me an
email if you have problems or would like to provide some feedback.)
I'm currently using ASCIIMathML on a Wikiserver for lecture notes and
<!--a href="http://math.chapman.edu/cgi-bin/mathxml.pl?Calculus_Text_Puzzles">Text
Puzzles</a>. M-->my students are also using it in Moodle
for writing and reading homework in their calculus class and
discrete mathematics class.
<font color="red">
If you just want to display MathML on HTML pages using
Netscape/Mozilla/Firefox or IE+MathPlayer, have a look at <a
href="http://www1.chapman.edu/~jipsen/mathml/mathhtml">mathhtmltest</a>
(the page includes a 50 line JavaScript program that does the trick).
</font>
</p>
<hr/>
<p>
<b>Let's test the ASCIIMathML.js translator on a simple example.</b>
</p>
<p>amath
<b>Example:</b> Solving the quadratic equation.
Suppose a x^2+b x+c=0 and a!=0. We first
divide by \a to get x^2+b/a x+c/a=0.
Then we complete the square and obtain x^2+b/a x+(b/(2a))^2-(b/(2a))^2+c/a=0.
The first three terms factor to give (x+b/(2a))^2=(b^2)/(4a^2)-c/a.
Now we take square roots on both sides and get
x+b/(2a)=+-sqrt((b^2)/(4a^2)-c/a).
Finally we subtract b/(2a) from both sides and simplify to get
the two solutions: x_(1,2)=(-b+-sqrt(b^2 - 4a c))/(2a)
</p>
endamath
<p>
<b>Here is the text that was typed in (<font color="red">using the new
auto-math-recognize mode</font> started by "a``math"):</b>
</p>
<pre>amath
<b>Example:</b> Solving the quadratic equation.
Suppose a x^2+b x+c=0 and a!=0. We first divide by \a to get x^2+b/a x+c/a=0.
Then we complete the square and obtain x^2+b/a x+(b/(2a))^2-(b/(2a))^2+c/a=0.
The first three terms factor to give (x+b/(2a))^2=(b^2)/(4a^2)-c/a.
Now we take square roots on both sides and get x+b/(2a)=+-sqrt((b^2)/(4a^2)-c/a).
Finally we move the b/(2a) to the right and simplify to get
the two solutions: x_(1,2)=(-b+-sqrt(b^2-4a c))/(2a)
</pre>
<hr/>
<center>
<b>
If you don't believe this, copy the text and paste it on the
<a href="asciimathdemo.html">ASCIIMathML.js: Try it yourself</a> demo page.
</b>
</center>
<hr/>
<h4>
Here are a few more examples:
</h4>
<table id="examples" border="5" cellpadding="10">
<tr>
<th>Type this</th>
<th>See that</th>
<th>Comment</th>
</tr>
<tr>
<td>\`x^2+y_1+z_12^34\`</td>
<td>`x^2+y_1+z_12^34`</td>
<td>subscripts as in TeX, but numbers are treated as a unit</td>
</tr>
<tr>
<td>\`sin^-1(x)\`</td>
<td>`sin^-1(x)`</td>
<td>function names are treated as constants</td>
</tr>
<tr>
<td>\`d/dxf(x)=lim_(h->0)(f(x+h)-f(x))/h\`</td>
<td>`d/dxf(x)=lim_(h->0)(f(x+h)-f(x))/h`</td>
<td>complex subscripts are bracketed, displayed under lim</td>
</tr>
<tr>
<td>\$\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}\$</td>
<td>$\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$</td>
<td>standard LaTeX notation is an alternative</td>
</tr>
<tr>
<td>\`f(x)=sum_(n=0)^oo(f^((n))(a))/(n!)(x-a)^n\`</td>
<td>`f(x)=sum_(n=0)^oo(f^((n))(a))/(n!)(x-a)^n`</td>
<td>f^((n))(a) must be bracketed, else the numerator is only `a`</td>
</tr>
<tr>
<td>\$f(x)=\sum_{n=0}^\infty\frac{f^{(n)}(a)}{n!}(x-a)^n\$</td>
<td>$f(x)=\sum_{n=0}^\infty\frac{f^{(n)}(a)}{n!}(x-a)^n$</td>
<td>standard LaTeX produces the same result</td>
</tr>
<tr>
<td>\`int_0^1f(x)dx\`</td>
<td>`int_0^1f(x)dx`</td>
<td>subscripts must come before superscripts</td>
</tr>
<tr>
<td>\`[[a,b],[c,d]]((n),(k))\`</td>
<td>`[[a,b],[c,d]]((n),(k))`</td>
<td>matrices and column vectors are simple to type</td>
</tr>
<tr>
<td>\`x/x={(1,if x!=0),(text{undefined},if x=0):}\`</td>
<td>`x/x={(1,if x!=0),(text{undefined},if x=0):}`</td>
<td>piecewise defined function are based on matrix notation</td>
</tr>
<tr>
<td>\`a//b\`</td>
<td>`a//b`</td>
<td>use // for inline fractions</td>
</tr>
<tr>
<td>\`(a/b)/(c/d)\`</td>
<td>`(a/b)/(c/d)`</td>
<td>with brackets, multiple fraction work as expected</td>
</tr>
<tr>
<td>\`a/b/c/d\`</td>
<td>`a/b/c/d`</td>
<td>without brackets the parser chooses this particular expression</td>
</tr>
<tr>
<td>\`((a*b))/c\`</td>
<td>`((a*b))/c`</td>
<td>only one level of brackets is removed; * gives standard product</td>
</tr>
<tr>
<td>\`sqrt sqrt root3x\`</td>
<td>`sqrt sqrt root3x`</td>
<td>spaces are optional, only serve to split strings that should not match</td>
</tr>
<tr>
<td>\`<< a,b >> and {:(x,y),(u,v):}\`</td>
<td>`<< a,b >> and {:(x,y),(u,v):}`</td>
<td>angle brackets and invisible brackets</td>
</tr>
<tr>
<td>\`(a,b]={x in RR | a < x <= b}\`</td>
<td>`(a,b]={x in RR | a < x <= b}`</td>
<td>grouping brackets don't have to match</td>
</tr>
<tr>
<td>\`abc-123.45^-1.1\`</td>
<td>`abc-123.45^-1.1`</td>
<td>non-tokens are split into single characters,<br/>
but decimal numbers are parsed with possible sign</td>
</tr>
<tr>
<td>\`hat(ab) bar(xy) ulA vec v dotx ddot y\`</td>
<td>`hat(ab) bar(xy) ulA vec v dotx ddot y`</td>
<td>accents can be used on any expression (work well in IE)</td>
</tr>
<tr>
<td>\`bb{AB3}.bbb(AB].cc(AB).fr{AB}.tt[AB].sf(AB)\`</td>
<td>`bb{AB3}.bbb(AB].cc(AB).fr{AB}.tt[AB].sf(AB)`</td>
<td>font commands; can use any brackets around argument</td>
</tr>
<tr>
<td>\`stackrel"def"= or \stackrel{\Delta}{=}" "("or ":=)\`</td>
<td>`stackrel"def"= or \stackrel{\Delta}{=}" "("or ":=)`</td>
<td>symbols can be stacked</td>
</tr>
<tr>
<td>\`{::}_(\ 92)^238U\`</td>
<td>`{::}_(\ 92)^238U`</td>
<td>prescripts simulated by subsuperscripts</td>
</tr>
</table>
<p>
If you are familiar with MathML, you can appreciate that this ASCII
input form is less verbose and more readable. If you are familiar with
TeX, this is still somewhat less cluttered. The aim is to have input
notation that is close to graphing calculator notation, so that
students are able to use it on webpages and in emails without having
to learn another specialized syntax.
</p>
<p>
For an explicit description of the input syntax see <a
href="asciimathsyntax.html">ASCIIMathML.js Syntax and List of
Constants</a>.
</p>
<p>
<b>Acknowledgements:</b> Many thanks to the numerous people who have
contributed to the fantastic MathML standard. Without such a
well designed standard, a project like this would be impossible.<br/>
Thanks to the many volunteers who implemented MathML in the
Gecko layout engine for Netscape7/Mozilla/Firefox.<br/>
Thanks to the people at Design Science for producing the excellent
MathPlayer plugin and making it freely available.<br/>
Finally, thanks to the designers and implementors of JavaScript. All
these tools work together fairly seemlessly to allow us to put
mathematical formulas on webpages in a convenient and inexpensive way.<br/>
And thanks to Andrew White for making a logo for ASCIIMathML (see below).
</p>
<hr/>
<div id="author">
<a href="http://www.chapman.edu/~jipsen/">Peter Jipsen</a>,
<a href="http://www.chapman.edu/">Chapman University</a>, September 2007
<a href="http://validator.w3.org/check/referer"><img border="0"
src="http://www.w3.org/Icons/valid-html401"
alt="Valid HTML 4.01!" height="31" width="88"></a>
</div>
<p><div class="display">
<a style="color:white" href="../asciimath.html">
<img src="asciimathml.jpeg" alt="ASCIIMathML"></a>
</div>
</body>
</html>

@ -0,0 +1,118 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>ASCIIMath Calculator Demo</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript" src="ASCIIMathML.js"></script>
<!--script type="text/javascript">mathfontsize=".9em"</script-->
<style type="text/css">
#menu, #title, #subtitle, #author {text-align: center}
body {font-family: Arial; background-color:beige}
p,table {font-family: Times}
</style>
</head>
<body>
<div id="menu">
| <a href="asciimath.html">Home Page</a> |
<a href="asciimathsyntax.html">Syntax</a> |
<a href="asciimathdemo.html">Try it</a> |
<a href="asciimathcalculator.html">Calculator</a> |
<a href="http://mathcs.chapman.edu/~jipsen/mathml/asciimathdownload.html">Download</a> |
<a href="http://mathcs.chapman.edu/~jipsen/math/index.php/ASCIIMathML/ASCIIMathGraphs.html">Graphs</a> |
<a href="http://mathcs.chapman.edu/~jipsen/math/index.php/ASCIIMathML/ASCIIMathFAQ.html">ASCIIMath FAQ</a> |
<a href="http://mathcs.chapman.edu/~jipsen/math/index.php/ASCIIMathML/ASCIIMathMLSandbox.html">Sandbox</a> |
<a href="http://mathcs.chapman.edu/~jipsen/math/index.php/ASCIIMathML/ASCIIMathCommentsAndSuggestions.html">Comments</a> |
</div>
<hr/>
<h2 id="title">
ASCIIMath Scientific Calculator (ver 1.2)
</h2>
<h4 align="center">
A free webpage calculator with live MathML display
</h4>
<h4 align="center">
This page requires Internet Explorer 6+<a
href="http://www.dessci.com/en/products/mathplayer">MathPlayer</a>
or Mozilla/Firefox/Netscape 7+.
</h4>
<div class="ASCIIMathCalculator"></div>
<p>
More calculator areas:<br>
<textarea id="in1" rows="2" cols="40" onkeyup="calculate('in1','out1')">
2sin^-1(1)</textarea> &nbsp; <span id="out1"></span>
<p/>
<p>
<textarea id="in2" rows="2" cols="30"
onkeyup="calculate('in2','out2');calculate('in3','out3')">
a=5; b=4; c=-1; (-b+sqrt(b^2-4a*c))/(2a)
</textarea> &nbsp; <span id="out2"></span>
<br/>
<textarea id="in3" rows="1" cols="30"
onkeyup="calculate('in2','out2');calculate('in3','out3')">
(-b-sqrt(b^2-4a*c))/(2a)</textarea> &nbsp; <span id="out3"></span>
</p>
<p>
<b>Note that this is dynamic HTML running locally on your machine.</b>
<br/>
Right-click on the output to copy or view the MathML code (or have it
<b>spoken</b> in IE+MathPlayer).
</p>
<p>
<b>Some technical remarks:</b> This calculator works only in radians.
(Multiply angles by pi/180 to convert from degrees to radians.)
<br/>
The syntax is loosely based on JavaScript and a subset of ASCIIMathML.
<br/>
The multiplication symbol * can be omitted after a digit (0-9)
or a closing parenthesis.
<br/>
Available constants and functions:
<br/>
&nbsp; &nbsp; +, -, *, /, ^, pi, e, sqrt(), ln(), abs(), sign(),
floor(), ceil(), n!, C(n,k), ran(a,b,n)
<br/>
&nbsp; &nbsp; sin(), cos(), tan(), sin^-1(), cos^-1(), tan^-1(),
sinh(), cosh(), tanh(), sinh^-1(), cosh^-1(), tanh^-1()
<br/>
&nbsp; &nbsp; sec(), csc(), cot(), sec^-1(), csc^-1(), cot^-1(),
sech(), csch(), coth(), sech^-1(), csch^-1(), coth^-1()
<br/>
Values can be assigned to (legal JavaScript) variable names.
Use ";" to separate expressions.
<br/>
Any number of calculator textareas can be placed anywhere on <b>your own</b>
webpages.
</p>
ASCIIMathML and this calculator are freely available under the
<a href="http://www.gnu.org/licenses/lgpl.html">GNU Lesser General
Public License</a>. Please include a link to <a
href="http://asciimathml.sourceforge.net">asciimathml.sourceforge.net</a>
on any webpage that makes use of them, and send a link of your webpage
to <a href="mailto:jipsen@chapman.edu">jipsen@chapman.edu</a>.
<hr/>
<div id="author">
<a href="http://www.chapman.edu/~jipsen/">Peter Jipsen</a>,
<a href="http://www.chapman.edu/">Chapman University</a>, May 2007
<a href="http://validator.w3.org/check/referer"><img border="0"
src="http://www.w3.org/Icons/valid-html401"
alt="Valid HTML 4.01!" height="31" width="88"></a>
</div>
</body>
</html>

@ -0,0 +1,227 @@
Changes file for ASCIIMathML.js
===============================
Sep 27, 2007 Version 2.0
(at http://www.chapman.edu/~jipsen/mathml/ASCIIMathML20.js)
- included LaTeXMathML.js and ASCIIsvg.js in the ASCIIMathML script
- changed license to GNU LGPL 2.1
- Added auto-math-recognize mode (amath ... endamath)
- Added some LaTeX environments and simple formatting
- Created Moodle filter and PmWiki cookbook
- Added MathML text labels to SVG graphs
- Fixed SVG cursor tracking in Firefox
- Added stroke/fillopacity to graphs
- Simplified syntax for graph inclusion
- SVG mouseevents are now added in the scope of the graph code
- MathML fontsize can now be magnified relative to surrounding text
-------------------------------
Aug 7, 2005 Version 1.4.7
(at http://www.chapman.edu/~jipsen/mathml/ASCIIMathML147.js)
- changed IE MathML prefix from mml: to m: (default of MathPlayer, so now
<html> works without the xmlns attribute)
- for IE the script now writes out the <object ...> and <?import ...> tags
simplifying the header file significantly
- script now uses a generic onload (by www.brothercake.com) so
no need for onload="translate()" in <body> (but earlier pages still work)
- ASCIIMathML.js can now be used on any HTML page by just adding one line to
load the script. So validating your HTML pages is now possible, and use
of HTML editors is simple.
- added unparametrized macros: put <script>newcommand("short","long")</script>
on your webpage and each occurrence of "short" is replaced by "long"
- added /_ (\angle) and :. (\therefore) as symbols
- made an ASCIIMath plugin for Xinha HTML editor (see editor link on homepage)
with instant preview, template popup and builtin calculator
-------------------------------
Apr 23, 2005 Version 1.4.6
(at http://www.chapman.edu/~jipsen/mathml/ASCIIMathML146.js)
- added "showasciiformulaonhover" variable; if true then pointing at a MathML
expression shows the ascii form that produces the expression
- added "decimalsign" variable; default is "."
- removed "separatetokens" option (to speed up token recognition)
- changed |-, |=, |_, _| to |--, |==, |__, __| to avoid parsing problems
e.g. |-x|, |x|=a, ||A||_1 now parse as expected
- changed parser so that "-" is unary if previous token is INFIX
e.g. now x^-y works like x^(-y) (but x-y is same as x - y)
- added "spanclassAM" option; invoked by translate(true), all math should
then be delimited by <span class="AM">...</span>; translate() works as before
-------------------------------
Jan 30, 2005 Version 1.4.5
(at http://www.chapman.edu/~jipsen/mathml/ASCIIMathML145.js)
- added TEXT token type for \text{...}, \mbox{...} and "..."
- changed sin, cos, tan, ..., lcm to UNARY type (func); now 1/sinx works
- changed parser so that ^, _ have priority over /
now x_1/3^2 works like (x_1)/(3^2)
-------------------------------
Jan 14, 2005 Version 1.4.4
(at http://www.chapman.edu/~jipsen/mathml/ASCIIMathML144.js)
- added "mathfontfamily" variable (default "serif")
- mathcolor and mathfontfamily can be "" to inherit values of surrounding text
- added "AMdelimiter" variables to set math delimiters (default "`" and "$")
- added LEFTRIGHT token type for "|"; now `|x|` displays like `{:|x|:}`;
a single | still parses as \mid e.g. in {x | x > 0}
-------------------------------
Dec 28, 2004 Version 1.4.3
(at http://www.chapman.edu/~jipsen/mathml/ASCIIMathML143.js)
- added mapsto |->
- fixed a parsing error that was generated by incomplete fractions (1/)
- fixed parsing of negative numbers (<mn>-1</mn> is now translated to
<mrow><mo>-</mo><mn>1</mn></mrow>)
- added notifyIfNoMathML flag. If false, no note is inserted at top of page.
- included ASCIIMathCalculator.js: a small script that implements a
webpage calculator with live MathML preview
-------------------------------
Nov 12, 2004 Version 1.4.2
(at http://www.chapman.edu/~jipsen/mathml/ASCIIMathML142.js)
- added constants for: setminus, vdots, ddots, glb, lub
-------------------------------
Aug 16, 2004 Version 1.4.1
(at http://www.chapman.edu/~jipsen/mathml/ASCIIMathML141.js)
- fixed a typo to make the check for MathML capability work correctly
- added stackrel command (mover in MathML), e.g. stackrel{def}{=}
- added := as binary relation to get spacing right in Mozilla/Firefox/Netscape
-------------------------------
July 13, 2004 Version 1.4
(at http://www.chapman.edu/~jipsen/mathml/ASCIIMathML4.js)
- cleaned up the js code, thanks to some very helpful suggestions by Alex V.
- most global variables prefixed with "AM" to avoid conflict with ASCIIsvg.js
- added macro definition ability to define dx, dy, dz, ...
e.g. now dx is replaced by {d x}, so `d/dx` can be used rather than `d/(dx)`.
Users can add their own (parameterless) macros.
- added check for MathML capability. If absent, inserts note at top of page.
- unmatched right bracket no longer ends expression. E.g. in `cosx]_0^1`
the "]" is treated simply as a constant symbol (better to use `{:cosx]_0^1`).
- numeric unicode entity names can be used for unnamed symbols, e.g. `&#x2270;`
-------------------------------
Mar 26, 2004 Version 1.3
(at http://www.chapman.edu/~jipsen/mathml/ASCIIMathML3.js)
- fixed parser so that unary/binary symbols without arguments are treated
as constants (previously generated js error)
- noticed that ASCIIMathML.js does not require XML, actually works in HTML
on multiple browsers (required no change to the script)
- added `"any"` as alternative to `text{any}`
- added min, max as standard function names (subscripts go underneath)
- added o. (\odot) as symbol
- added separatetokens flag: lowercase tokens must be separated by nonletters
(if true, `sinx` is a sequence of 4 variables, instead use `sin x`)
switched off by default, can be switched on (see top of ASCIIMathML.js)
- added (experimental) doubleblankmathdelimiter so a+b is same as `a+b`
switched off by default, can be switched on (see top of ASCIIMathML.js)
-------------------------------
Feb 8, 2004 Version 1.2
(at http://www.chapman.edu/~jipsen/mathml/ASCIIMathML2.js)
- added accents: hat bar ul vec dot ddot
- added sans-serif font: sf
- both `...` and $...$ are now allowed as math delimiters
- \$ and \` can now be used to insert $ or ` in plain text
- `a text{ sometext }b` now shows the space around "sometext"
- blocks of ASCIIMathML + text can be enclosed in comments <!-- -->
in which case blank lines are converted to paragraph breaks;
inside comments the < character can be used (does not cause XML error)
(use this "comment mode" with caution; future versions of IE or
Mozilla may not display it the same way)
-------------------------------
Jan 9, 2004 Version 1.1
(at http://www.chapman.edu/~jipsen/mathml/ASCIIMathML1.js)
- added \vdash, \models (actually &vDash;!), \vartheta, \bigwedge, \bigvee,
\bigcup, \bigcap, \propto, \oint to symbol table, with ASCII equivalents
- renamed "subset, supset" to their entity names "sube, supe",
added "sub, sup" and their LaTeX equivalents \subset, \supset
- updated webpages
-------------------------------
Jan 6, 2004 Version 1.0
(now at http://www.chapman.edu/~jipsen/mathml/ASCIIMathML0.js)
- calligraphic, black board bold and fraktur fonts are finally working
also in Mozilla/Netscape 7
- added a download page
- added GNU GPL notices
===============================

@ -0,0 +1,117 @@
<html>
<head>
<title>ASCIIMathML.js demo</title>
<script type="text/javascript" src="ASCIIMathML.js"></script>
<script type="text/javascript">
translateOnLoad=false;
function display() {
var str = document.getElementById("inputText").value;
var outnode = document.getElementById("outputNode");
var n = outnode.childNodes.length;
for (var i=0; i<n; i++)
outnode.removeChild(outnode.firstChild);
outnode.appendChild(document.createTextNode(str));
AMprocessNode(outnode);
}
</script>
<style type="text/css">
#menu, #title, #subtitle, #author {text-align: center}
body {font-family: Arial; background-color:beige;}
</style>
</head>
<body onload="display()">
<div id="menu">
| <a href="asciimath.html">Home Page</a> |
<a href="asciimathsyntax.html">Syntax</a> |
<a href="asciimathdemo.html">Try it</a> |
<a href="asciimathcalculator.html">Calculator</a> |
<a href="http://mathcs.chapman.edu/~jipsen/mathml/asciimathdownload.html">Download</a> |
<a href="http://mathcs.chapman.edu/~jipsen/math/index.php/ASCIIMathML/ASCIIMathGraphs.html">Graphs</a> |
<a href="http://mathcs.chapman.edu/~jipsen/math/index.php/ASCIIMathML/ASCIIMathFAQ.html">ASCIIMath FAQ</a> |
<a href="http://mathcs.chapman.edu/~jipsen/math/index.php/ASCIIMathML/ASCIIMathMLSandbox.html">Sandbox</a> |
<a href="http://mathcs.chapman.edu/~jipsen/math/index.php/ASCIIMathML/ASCIIMathCommentsAndSuggestions.html">Comments</a> |
</div>
<hr/>
<h2 id="title">
ASCIIMathML.js: Try it yourself (HTML version)
</h2>
<center>
<b>
This page requires Internet Explorer 6+<a
href="http://www.dessci.com/en/products/mathplayer">MathPlayer</a>
or Mozilla/Firefox/Netscape 7+.
</b>
<p>
Edit the formulas below (the display updates dynamically).
If you know (La)TeX formula syntax, you can try some of that as well
(LaTeX formulas work best when enclosed in $-signs).
The "amath" token switches on the new auto-math-recognize mode.</p>
<form>
<textarea id="inputText" rows="10" cols="80" onkeyup="display()">
amath
Let's try some interesting formulas: E=m c^2
and e^(i pi)=-1
and AA x in CC (sin^2x+cos^2x=1)
and one more: sum_(i=1)^n i^3=((n(n+1))/2)^2
(add your own -- note that text-tokens are only recognized if separated by spaces)
</textarea>
</form>
<p>
<div id="outputNode"></div>
</p>
<hr/>
<p>
<b>Note that this is dynamic XHTML running locally on your machine!</b>
<br>
Right-click on an output formula to copy or view the MathML code.
</p>
</center>
(Copy and paste the following lines to see what symbols they produce)<br/>
<b>You can use the following ASCIIMathML constructs:</b>
<tt> `(x+1)/(x-1) x^(i+j) x_(ij) sqrt(x) root(n)(x) stackrel(+)(->) text(any) "any"`</tt><br/>
<b>Operation symbols</b>
<tt> `+ - * ** // \\ xx -: @ o+ ox sum prod ^^ ^^^ vv vvv nn nnn uu uuu`</tt><br/>
<b>Relation symbols</b>
<tt> `= != &lt; &lt;= > >= -&lt; >- in !in sub sup sube supe -= ~= ~~ prop`</tt><br/>
<b>Logical symbols</b><tt> `\and \or \not => if iff AA EE _|_ TT |-- |==`</tt><br/>
<b>Miscellaneous symbols</b>
<tt> `int oint del grad +- O/ oo aleph ... cdots \ quad qquad diamond square |__ __| |~ ~| CC NN QQ RR ZZ`</tt><br/>
<b>Standard functions</b>
<tt> `sin cos tan csc sec cot sinh cosh tanh log ln det dim lim mod gcd lcm`</tt><br/>
<b>Grouping brackets</b><tt> `( ) [ ] { } (: :) {: :}` </tt>
<b>Arrows</b><tt> `uarr darr rarr -> larr harr rArr lArr hArr` </tt><br/>
<b>Accents</b><tt> `hatx barx ulx vecx dotx ddotx` </tt>
<b>Font commands</b><tt> `bbA bbbA ccA ttA frA sfA` </tt>
<b>Matrices</b><tt> `[[a,b],[c,d]] ((1,0),(0,1))` </tt><br/>
<b>Greek letters</b><tt> `alpha beta chi delta Delta epsi eta gamma Gamma
iota kappa lambda Lambda mu nu omega Omega phi Phi pi Pi psi rho sigma Sigma
tau theta Theta upsilon xi Xi zeta`</tt>
<p>
This demo page shows that ASCIIMathML.js can be used easily to
dynamically preview mathematical formulas (client-side). E.g. here is a
(beta) webpage that can be used to <b><a
href="http://math.chapman.edu/email/">write and read
mathematical emails and discussion group articles</a></b>. Since most
email communication is still done with ASCII text (or at least not yet
with XHTML), this is a reasonable (and inexpensive) solution for
communicating with students in online math courses.
</p>
<hr/>
<div id="author">
<a href="http://www.chapman.edu/~jipsen/">Peter Jipsen</a>,
<a href="http://www.chapman.edu/">Chapman University</a>, September 2007
</div>
</body>
</html>

@ -0,0 +1,76 @@
<html>
<head>
<title>Extending ASCIIMathML</title>
<script type="text/javascript" src="ASCIIMathML.js"></script>
<script type="text/javascript">
define("!<=","\u2270")
define("!>=","\u2271")
newcommand("\\nle","\u2270")
newcommand("\\nge","\u2271")
</script>
</head>
<body bgcolor="beige">
<h2>ASCIIMathML.js: Extending the symbol table</h2>
<p>
The standard symbol table of ASCIIMathML.js does not contain many symbols.
It can be extended by adding additional symbols on any webpage that
requires them. This is done by adding a few lines of JavaScript code.
</p>
<p>
For example, suppose we want to add symbols for "not less or equal" and
"not greater or equal".
</p>
<p>
We first have to find the four-digit hexadecimal Unicode value for
these symbols by looking them up at, say, <a
href="http://www.w3.org/TR/MathML2/chapter6.html#chars.entity.tables">http://www.w3.org/TR/MathML2/chapter6.html#chars.entity.tables</a>
</p>
<p>
Next we have to decide what input strings we want to associate with these
symbols, say "!<=" and "!>=".
</p>
<p>
Finally we add the following lines to the head or body of our HTML file:
<pre style="border-style:groove">&lt;script type="text/javascript">
define("!<=","\u2270")
define("!>=","\u2271")
&lt;/script>
</pre>
</p>
<p>
Here we test the modified symbol table:
<tt>\`a !<= b !>= c\`</tt> produces `a !<= b !>= c`
</p>
<p>To add a symbol to the LaTeX commands, use the following alternate syntax:
<pre style="border-style:groove">&lt;script type="text/javascript">
newcommand("\\nle","\u2270")
newcommand("\\nge","\u2271")
&lt;/script>
</pre>
</p>
<p>
Now
<tt>\$a \nle b \nge c\$</tt> produces $a \nle b \nge c$.
</p>
<hr/>
<p>
If you know the numeric entity reference of the symbol you want to use
on an ASCIIMathML webpage, you can also refer to the symbol directly
by using that reference. E.g \`&amp;#x2270;\` produces `&#x2270;`.
If a symbol is only used occasionally, this is certainly the simplest
way to include it.
</p>
</body>
</html>

@ -0,0 +1,38 @@
<html xmlns:mml="http://www.w3.org/1998/Math/MathML">
<head>
<script type="text/javascript" src="ASCIIMathML.js"></script>
<title>ASCIIMathML sample page</title>
</head>
<body>
<h2>ASCIIMathML.js sample page</h2>
<p>
Use auto-math-recognize mode (amath here x^2 and text is
mixed endamath) or surround ASCIIMath formulas
with left-quotes:
`sum_(i=1)^n i=(n(n+1))/2` or LaTeX formulas with \$-signs
$\int_0^{\pi/2} \sin x\,dx=1$.
</p>
<p>
And here is a simple graph:
agraph plot(sin(x)) endagraph
followed by a more elaborate graph (try double-clicking it, also
while holding down shift or alt)
agraph
width=300; height=200; xmin=-5; xmax=5; xscl=1;
plot((x-2)*(x-1)*x*(x+1)*(x+2)/2,-2.5,2.5);
endagraph
</p>
<p>
Note: this page uses a relative link to ASCIIMathML.js,
so the script should be in the same folder as this sample file.
</p>
</body>
</html>

@ -0,0 +1,506 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>ASCIIMathML: Syntax and constants</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript" src="ASCIIMathML.js"></script>
<style type="text/css">
#menu, #title, #subtitle, #author {text-align: center}
body {font-family: Arial; background-color:beige}
p,table {font-family: Times}
</style>
</head>
<body>
<div id="menu">
| <a href="asciimath.html">Home Page</a> |
<a href="asciimathsyntax.html">Syntax</a> |
<a href="asciimathdemo.html">Try it</a> |
<a href="asciimathcalculator.html">Calculator</a> |
<a href="http://mathcs.chapman.edu/~jipsen/mathml/asciimathdownload.html">Download</a> |
<a href="http://mathcs.chapman.edu/~jipsen/math/index.php/ASCIIMathML/ASCIIMathGraphs.html">Graphs</a> |
<a href="http://mathcs.chapman.edu/~jipsen/math/index.php/ASCIIMathML/ASCIIMathFAQ.html">ASCIIMath FAQ</a> |
<a href="http://mathcs.chapman.edu/~jipsen/math/index.php/ASCIIMathML/ASCIIMathMLSandbox.html">Sandbox</a> |
<a href="http://mathcs.chapman.edu/~jipsen/math/index.php/ASCIIMathML/ASCIIMathCommentsAndSuggestions.html">Comments</a> |
</div>
<hr/>
<h2 id="title">
ASCIIMathML.js (ver 2.0): Syntax and List of Constants
</h2>
<h4 id="subtitle">
The main aims of the ASCIIMathML syntax are: -- 1. close to standard
mathematical notation -- 2. easy to read -- 3. easy to type
</h4>
<p>
You can use your favorite editor to write HTML pages that use this
JavaScript program. If the page is viewed by a browser that does not
support MathML or JavaScript, the ASCII formulas are still quite
readable. Most users will not have to read the technicalities on
this page. If you type
</p>
<pre>amath x^2 or a_(m n) or a_{m n} or (x+1)/y or sqrtx endamath</pre>
<p>
you pretty much get what you expect: amath x^2 or a_(m n) or a_{m n} or
(x+1)/y or sqrtx endamath. The a``math ... enda``math tokens are used to
start/stop the <b>new auto-math-recognize mode</b>. Of course one can still use
the \`...\` back-quotes to delimit math formulas explicitly
(\$...\$ should only be used for LaTeX formulas).
The choice of grouping parenthesis is up to you
(they don't have to match either). If the displayed expression can be
parsed uniquely without them, they are omitted. Printing the table of
constant symbols (below) may be helpful (but is not necessary if you
know the LaTeX equivalents).
</p>
<p>
It is hoped that this simple input format for MathML will further
encourage its use on the web. The remainder of this page gives a fairly
detailed specification of the ASCII syntax. <b>The expressions described here
correspond to a wellspecified subset of Presentation MathML and behave
in a predictable way.</b>
</p>
<p>
The syntax is very permissive and does not generate syntax
errors. This allows mathematically incorrect expressions to be
displayed, which is important for teaching purposes. It also causes
less frustration when previewing formulas.
</p>
<p>
The parser uses no operator precedence and only respects the grouping
brackets, subscripts, superscript, fractions and (square) roots. This
is done for reasons of efficiency and generality. The resulting MathML
code can quite easily be processed further to ensure additional syntactic
requirements of any particular application.
</p>
<p>
<b>The grammar:</b> Here is a definition of the grammar used to parse
ASCIIMathML expressions. In the Backus-Naur form given below, the
letter on the left of the ::= represents a category of symbols that
could be one of the possible sequences of symbols listed on the right.
The vertical bar | separates the alternatives.
</p>
<pre>c ::= [A-z] | numbers | greek letters | other constant symbols (see below)
u ::= 'sqrt' | 'text' | 'bb' | other unary symbols for font commands
b ::= 'frac' | 'root' | 'stackrel' binary symbols
l ::= ( | [ | { | (: | {: left brackets
r ::= ) | ] | } | :) | :} right brackets
S ::= c | lEr | uS | bSS | "any" simple expression
E ::= SE | S/S |S_S | S^S | S_S^S expression (fraction, sub-, super-, subsuperscript)
</pre>
<p>
<b>The translation rules:</b> Each terminal symbol is translated into
a corresponding MathML node. The constants are mostly converted to
their respective Unicode symbols. The other expressions are converted
as follows:<br/>
<table>
<tr><td>l`S`r</td><td>`to`</td><td>&lt;mrow>l`S`r&lt;/mrow>
(note that any pair of brackets can be used to delimit subexpressions,
they don't have to match)</td></tr>
<tr><td>sqrt `S`</td><td>`to`</td><td>&lt;msqrt>`S'`&lt;/msqrt></td></tr>
<tr><td>text `S`</td><td>`to`</td><td>&lt;mtext>`S'`&lt;/mtext></td></tr>
<tr><td>"any"</td><td>`to`</td><td>&lt;mtext>any&lt;/mtext></td></tr>
<tr><td>
frac `S_1` `S_2`</td><td>`to`</td><td>&lt;mfrac>`S_1'` `S_2'`&lt;/mfrac>
</td></tr>
<tr><td>
root `S_1` `S_2`</td><td>`to`</td><td>&lt;mroot>`S_2'` `S_1'`&lt;/mroot>
</td></tr>
<tr><td>
stackrel `S_1` `S_2`</td><td>`to`</td><td>&lt;mover>`S_2'` `S_1'`&lt;/mover>
</td></tr>
<tr><td>
`S_1`/`S_2`</td><td>`to`</td><td>&lt;mfrac>`S_1'` `S_2'`&lt;/mfrac>
</td></tr>
<tr><td>
`S_1`_`S_2`</td><td>`to`</td><td>&lt;msub>`S_1` `S_2'`&lt;/msub>
</td></tr>
<tr><td>
`S_1`^`S_2`</td><td>`to`</td><td>&lt;msup>`S_1` `S_2'`&lt;/msup>
</td></tr>
<tr><td>
`S_1`_`S_2`^`S_3`</td><td>`to`</td>
<td>&lt;msubsup>`S_1` `S_2'` `S_3'`&lt;/msubsup> or
&lt;munderover>`S_1` `S_2'` `S_3'`&lt;/munderover> (in some cases)
</td></tr>
</table>
In the rules above, the expression `S'` is the same as `S`, except that if
`S` has an outer level of brackets, then `S'` is the expression inside
these brackets.
<p>
<b>Matrices:</b> A simple syntax for matrices is also recognized:
<br/>
<tt>l(`S_(11)`,...,`S_(1n)`),(...),(`S_(m1)`,...,`S_(mn)`)r</tt>
&#x00A0; &#x00A0; or &#x00A0; &#x00A0;
<tt>l[`S_(11)`,...,`S_(1n)`],[...],[`S_(m1)`,...,`S_(mn)`]r</tt>.
<br/>
Here <tt>l</tt> and <tt>r</tt> stand for any of the left and right
brackets (just like in the grammar they do not have to match). Both of
these expressions are translated to
<br/>
&lt;mrow>l&lt;mtable>&lt;mtr>&lt;mtd>`S_(11)`&lt;/mtd>...
&lt;mtd>`S_(1n)`&lt;/mtd>&lt;/mtr>...
&lt;mtr>&lt;mtd>`S_(m1)`&lt;/mtd>...
&lt;mtd>`S_(mn)`&lt;/mtd>&lt;/mtr>&lt;/mtable>r&lt;/mrow>.
<br/>
For example
<tt>{(S_(11),...,S_(1n)),(vdots,ddots,vdots),(S_(m1),...,S_(mn))]</tt>
displays as `{(S_(11),...,S_(1n)),(vdots,ddots,vdots),(S_(m1),...,S_(mn))]`.
<br/>
Note that each row must have the same number of expressions, and there
should be at least two rows.
<p>
<b>Tokenization:</b> The input formula is broken into tokens using a
"longest matching initial substring search". Suppose the input formula
has been processed from left to right up to a fixed position. The
longest string from the list of constants (given below) that matches
the initial part of the remainder of the formula is the next token. If
there is no matching string, then the first character of the remainder
is the next token. The symbol table at the top of the ASCIIMathML.js
script specifies whether a symbol is a math operator (surrounded by a
&lt;mo> tag) or a math identifier (surrounded by a &lt;mi> tag). For
single character tokens, letters are treated as math identifiers, and
non-alphanumeric characters are treated as math operators. For digits,
see "Numbers" below.
<p>
Spaces are significant when they separate characters and thus prevent
a certain string of characters from matching one of the
constants. Multiple spaces and end-of-line characters are equivalent
to a single space.
</p>
<h4>
Now for a complete list of constants (<a
href="http://math.chapman.edu/cgi-bin/mathxml.pl?Complete_list_of_LaTeX_constants">standard
LaTeX names</a> also work):
</h4>
<p>
Numbers: A string of digits, optionally preceded by a minus sign, and
optionally followed by a decimal point (a period) and another string
of digits, is parsed as a single token and converted to a MathML
number, i.e., enclosed with the &lt;mn> tag. If it is not desirable to
have a preceding minus sign be part of the number, a space should be inserted.
Thus <tt>x-1</tt> is converted to &lt;mi>x&lt;/mi>&lt;mn>-1&lt;/mn>, whereas
<tt>x - 1</tt> is converted to &lt;mi>x&lt;/mi>&lt;mo>-&lt;/mo>&lt;mn>1&lt;/mn>.
</p>
<p>
Greek letters:
alpha `alpha`
beta `beta`
chi `chi`
delta `delta`
Delta `Delta`
epsilon `epsilon`
varepsilon `varepsilon`
eta `eta`
gamma `gamma`
Gamma `Gamma`
iota `iota`
kappa `kappa`
lambda `lambda`
Lambda `Lambda`
mu `mu`
nu `nu`
omega `omega`
Omega `Omega`
phi `phi`
varphi `varphi`
Phi `Phi`
pi `pi`
Pi `Pi`
psi `psi`
Psi `Psi`
rho `rho`
sigma `sigma`
Sigma `Sigma`
tau `tau`
theta `theta`
vartheta `vartheta`
Theta `Theta`
upsilon `upsilon`
xi `xi`
Xi `Xi`
zeta `zeta`
</p>
<table border="5" cellpadding="10">
<tr valign="top"><td>
Operation symbols
<table border="5" cellpadding="10">
<tr><th>Type</th><th>See</th></tr>
<tr><td>+</td><td>`+`</td></tr>
<tr><td>-</td><td>`-`</td></tr>
<tr><td>*</td><td>`*`</td></tr>
<tr><td>**</td><td>`**`</td></tr>
<tr><td>//</td><td>`//`</td></tr>
<tr><td>\\</td><td>`\\ `</td></tr>
<tr><td>xx</td><td>`xx`</td></tr>
<tr><td>-:</td><td>`-:`</td></tr>
<tr><td>@</td><td>`@`</td></tr>
<tr><td>o+</td><td>`o+`</td></tr>
<tr><td>ox</td><td>`ox`</td></tr>
<tr><td>o.</td><td>`o.`</td></tr>
<tr><td>sum</td><td>`sum`</td></tr>
<tr><td>prod</td><td>`prod`</td></tr>
<tr><td>^^</td><td>`^^`</td></tr>
<tr><td>^^^</td><td>`^^^`</td></tr>
<tr><td>vv</td><td>`vv`</td></tr>
<tr><td>vvv</td><td>`vvv`</td></tr>
<tr><td>nn</td><td>`nn`</td></tr>
<tr><td>nnn</td><td>`nnn`</td></tr>
<tr><td>uu</td><td>`uu`</td></tr>
<tr><td>uuu</td><td>`uuu`</td></tr>
</table>
</td><td>
Relation symbols
<table border="5" cellpadding="10">
<tr><th>Type</th><th>See</th></tr>
<tr><td>=</td><td>`=`</td></tr>
<tr><td>!=</td><td>`!=`</td></tr>
<tr><td>< </td><td>`<`</td></tr>
<tr><td>></td><td>`>`</td></tr>
<tr><td><=</td><td>`<=`</td></tr>
<tr><td>>=</td><td>`>=`</td></tr>
<tr><td>-<</td><td>`-<`</td></tr>
<tr><td>>-</td><td>`>-`</td></tr>
<tr><td>in</td><td>`in`</td></tr>
<tr><td>!in</td><td>`notin`</td></tr>
<tr><td>sub</td><td>`sub`</td></tr>
<tr><td>sup</td><td>`sup`</td></tr>
<tr><td>sube</td><td>`sube`</td></tr>
<tr><td>supe</td><td>`supe`</td></tr>
<tr><td>-=</td><td>`-=`</td></tr>
<tr><td>~=</td><td>`~=`</td></tr>
<tr><td>~~</td><td>`~~`</td></tr>
<tr><td>prop</td><td>`prop`</td></tr>
</table>
</td><td>
Logical symbols
<table border="5" cellpadding="10">
<tr><th>Type</th><th>See</th></tr>
<tr><td>and</td><td>`and`</td></tr>
<tr><td>or</td><td>`or`</td></tr>
<tr><td>not</td><td>`not`</td></tr>
<tr><td>=></td><td>`=>`</td></tr>
<tr><td>if</td><td>`if`</td></tr>
<tr><td>iff</td><td>`iff`</td></tr>
<tr><td>AA</td><td>`AA`</td></tr>
<tr><td>EE</td><td>`EE`</td></tr>
<tr><td>_|_</td><td>`_|_`</td></tr>
<tr><td>TT</td><td>`TT`</td></tr>
<tr><td>|--</td><td>`|--`</td></tr>
<tr><td>|==</td><td>`|==`</td></tr>
</table>
<p>
Grouping brackets
<table border="5" cellpadding="10">
<tr><th>Type</th><th>See</th></tr>
<tr><td>(</td><td>`(`</td></tr>
<tr><td>)</td><td>`)`</td></tr>
<tr><td>[</td><td>`[`</td></tr>
<tr><td>]</td><td>`]`</td></tr>
<tr><td>{</td><td>`{`</td></tr>
<tr><td>}</td><td>`}`</td></tr>
<tr><td>(:</td><td>`(:`</td></tr>
<tr><td>:)</td><td>`:)`</td></tr>
<tr><td>{:</td><td>`{:`</td></tr>
<tr><td>:}</td><td>`{::}`</td></tr>
</table>
</td><td>
Miscellaneous symbols
<table border="5" cellpadding="10">
<tr><th>Type</th><th>See</th></tr>
<tr><td>int</td><td>`int`</td></tr>
<tr><td>oint</td><td>`oint`</td></tr>
<tr><td>del</td><td>`del`</td></tr>
<tr><td>grad</td><td>`grad`</td></tr>
<tr><td>+-</td><td>`+-`</td></tr>
<tr><td>O/</td><td>`O/`</td></tr>
<tr><td>oo</td><td>`oo`</td></tr>
<tr><td>aleph</td><td>`aleph`</td></tr>
<tr><td>/_</td><td>`/_`</td></tr>
<tr><td>:.</td><td>`:.`</td></tr>
<tr><td>|...|</td><td>|`...`|</td></tr>
<tr><td>|cdots|</td><td>|`cdots`|</td></tr>
<tr><td>vdots</td><td>`vdots`</td></tr>
<tr><td>ddots</td><td>`ddots`</td></tr>
<tr><td>|\ |</td><td>|`\ `|</td></tr>
<tr><td>|quad|</td><td>|`quad`|</td></tr>
<tr><td>diamond</td><td>`diamond`</td></tr>
<tr><td>square</td><td>`square`</td></tr>
<tr><td>|__</td><td>`|__`</td></tr>
<tr><td>__|</td><td>`__|`</td></tr>
<tr><td>|~</td><td>`|~`</td></tr>
<tr><td>~|</td><td>`~|`</td></tr>
<tr><td>CC</td><td>`CC`</td></tr>
<tr><td>NN</td><td>`NN`</td></tr>
<tr><td>QQ</td><td>`QQ`</td></tr>
<tr><td>RR</td><td>`RR`</td></tr>
<tr><td>ZZ</td><td>`ZZ`</td></tr>
</table>
</td><td>
Standard functions
<table border="5" cellpadding="10">
<tr><th>Type</th><th>See</th></tr>
<tr><td>sin</td><td>`sin`</td></tr>
<tr><td>cos</td><td>`cos`</td></tr>
<tr><td>tan</td><td>`tan`</td></tr>
<tr><td>csc</td><td>`csc`</td></tr>
<tr><td>sec</td><td>`sec`</td></tr>
<tr><td>cot</td><td>`cot`</td></tr>
<tr><td>sinh</td><td>`sinh`</td></tr>
<tr><td>cosh</td><td>`cosh`</td></tr>
<tr><td>tanh</td><td>`tanh`</td></tr>
<tr><td>log</td><td>`log`</td></tr>
<tr><td>ln</td><td>`ln`</td></tr>
<tr><td>det</td><td>`det`</td></tr>
<tr><td>dim</td><td>`dim`</td></tr>
<tr><td>lim</td><td>`lim`</td></tr>
<tr><td>mod</td><td>`mod`</td></tr>
<tr><td>gcd</td><td>`gcd`</td></tr>
<tr><td>lcm</td><td>`lcm`</td></tr>
<tr><td>min</td><td>`min`</td></tr>
<tr><td>max</td><td>`max`</td></tr>
</table>
<p>
Accents
<table border="5" cellpadding="10">
<tr><th>Type</th><th>See</th></tr>
<tr><td>hat x</td><td>`hat x`</td></tr>
<tr><td>bar x</td><td>`bar x`</td></tr>
<tr><td>ul x</td><td>`ul x`</td></tr>
<tr><td>vec x</td><td>`vec x`</td></tr>
<tr><td>dot x</td><td>`dot x`</td></tr>
<tr><td>ddot x</td><td>`ddot x`</td></tr>
</table>
</td><td>
Arrows
<table border="5" cellpadding="10">
<tr><th>Type</th><th>See</th></tr>
<tr><td>uarr</td><td>`uarr`</td></tr>
<tr><td>darr</td><td>`darr`</td></tr>
<tr><td>rarr</td><td>`rarr`</td></tr>
<tr><td>-></td><td>`->`</td></tr>
<tr><td>|-></td><td>`|->`</td></tr>
<tr><td>larr</td><td>`larr`</td></tr>
<tr><td>harr</td><td>`harr`</td></tr>
<tr><td>rArr</td><td>`rArr`</td></tr>
<tr><td>lArr</td><td>`lArr`</td></tr>
<tr><td>hArr</td><td>`hArr`</td></tr>
</table>
<p>
Font commands
<table border="5" cellpadding="10">
<tr><th>Type</th><th>See</th></tr>
<tr><td>bb A</td><td>`bb A`</td></tr>
<tr><td>bbb A</td><td>`bbb A`</td></tr>
<tr><td>cc A</td><td>`cc A`</td></tr>
<tr><td>tt A</td><td>`tt A`</td></tr>
<tr><td>fr A</td><td>`fr A`</td></tr>
<tr><td>sf A</td><td>`sf A`</td></tr>
</table>
</td></tr>
</table>
<p>
Of course you may want or need other symbols from the thousands of <a
href="http://www.ctan.org/tex-archive/info/symbols/comprehensive/symbols-letter.pdf">LaTeX
symbols</a> or <a
href="http://www.alanwood.net/unicode/#links">unicode
symbols</a>. Fortunately ASCIIMathML.js is very <a
href="asciimathextend.html">easy
to extend</a>, so you can tailor it to your specific needs. (This
could be compared to the LaTeX macro files that many users have
developed over the years.)
</p>
<!--p>
Large files with many formulas can take quite some time to display,
especially on older hardware. To address this problem, there is a
version ASCIIMathMLite.js that has a shorter symbol table (without the
LaTeX symbol names) and slightly simplified parser. Send me an email
at <a href="mailto:jipsen@chapman.edu">jipsen@chapman.edu</a> if you
would like a copy.
</p>
<p>
Another version that also recognizes some <a
href="http://www.latex-project.org/">LaTeX</a> layout commands and
(the fairly standard) <a
href="http://en.wikipedia.org/wiki/Wikipedia:How_to_edit_a_page">Wiki
formatting codes</a> for ASCII text is in the works. This further
simplifies producing mathematical content for the web. However such a
development is less easily justified since there are good free HTML
editors and the HTML syntax is a well-established standard that is
simple enough to be coded by hand.
</p-->
<hr/>
<div id="author">
<a href="http://www.chapman.edu/~jipsen/">Peter Jipsen</a>,
<a href="http://www.chapman.edu/">Chapman University</a>, September 2007
<a href="http://validator.w3.org/check/referer"><img border="0"
src="http://www.w3.org/Icons/valid-html401"
alt="Valid HTML 4.01!" height="31" width="88"></a>
</div>
</body>
</html>

@ -0,0 +1,8 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg id="root" xml:space="preserve" width="100%" height="100%"
preserveAspectRatio="xMidYMid meet"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http:///www.w3.org/1999/xlink">
</svg>

After

Width:  |  Height:  |  Size: 354 B

@ -0,0 +1,44 @@
<?PHP
/////////////////////////////////////////////////////////////////////////////
// //
// NOTICE OF COPYRIGHT //
// //
// Moodle - Filter for converting asciimath notation to MathML //
// //
// Copyright (C) 2007 by Peter Jipsen //
// This program is free software; you can redistribute it and/or modify //
// it under the terms of the GNU General Public License as published by //
// the Free Software Foundation; either version 2 of the License, or //
// (at your option) any later version. //
// //
// This program 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 General Public License for more details: //
// //
// http://www.gnu.org/copyleft/gpl.html //
// //
/////////////////////////////////////////////////////////////////////////////
//-------------------------------------------------------------------------
// NOTE: This Moodle text filter uses javascript to process ASCIIMath commands
// embedded in the text. Math should be surrounded by `...` or $...$
// or put amath ... amathoff around the whole text to use the
// experimental auto-math-recognize mode.
//
// The filter enables the ASCIIMathML.js code to do most of the work.
//
// A copy of ASCIIMathML (version 2.0 or later) is included and
// automatically loaded in the file asciimath/javascript.php
//
//-------------------------------------------------------------------------
$textfilter_function='asciimath_filter';
if (function_exists($textfilter_function)) {return;}
function asciimath_filter ($courseid, $text) {
global $CFG;
$text = '<span id="processasciimathinmoodle" class="'.$CFG->wwwroot.'/filter/asciimath/"></span>'.$text;
return $text;
}
?>

@ -0,0 +1,8 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
</head>
<body>
<br />
</body>
</html>

@ -0,0 +1,28 @@
/////////////////////////////////////////////////////////////////////////////
// //
// NOTICE OF COPYRIGHT //
// //
// Moodle - Filter for converting ASCIImath notation to MathML //
// Now also handles a larger subset of LaTeX, as well as ASCIIsvg //
// //
// Copyright (C) 2007 by Peter Jipsen //
// This program is free software; you can redistribute it and/or modify //
// it under the terms of the GNU General Public License as published by //
// the Free Software Foundation; either version 2 of the License, or //
// (at your option) any later version. //
// //
// This program 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 General Public License for more details: //
// //
// http://www.gnu.org/copyleft/gpl.html //
// //
/////////////////////////////////////////////////////////////////////////////
// if this script url sniffing does not work try setting wwwroot explicitly
// var wwwroot = "http://path/to/your/moodledir"
// or copy the ASCIIMathML.js file into this file.
var wwwroot = document.getElementsByTagName("script")[0].src.replace(/((.*?)\/lib\/.*)/,"$2");
document.write('<script src="'+wwwroot+'/filter/asciimath/ASCIIMathML.js"></script>');

@ -0,0 +1,37 @@
ASCIIMathML.js
Brief Instructions (2007-9-28)
This script can be used in any html page and also in systems like Moodle.
The license is LGPL (see top of ASCIIMathML.js for more info).
In a html page, just add the following line near the top of your file:
<script type="text/javascript" src="ASCIIMathML.js"></script>
To install in Moodle, just move this asciimath-x.y.z folder into moodle/filter,
rename the folder "asciimath" and go to the admin panel Modules->Filters
to switch it on.
Then try some ASCIIMath on your webpages: `x/y`
or LaTeX $\sqrt{x}$ and $$\int_0^1 x^2 dx$$ (only a \emph{subset} works,
including a few environments like \begin{theorem}... and \begin{proof})
Try some graphics like agraph plot(sin(x)) endagraph or
\begin{graph}plot(sin(x))\end{graph}
Try the auto-math-recognize mode: amath here we can mix x^2 and text endamath
All this is supposed to work in Firefox on many platforms (recommended;
you may be asked to install math fonts) and in Internet Explorer (only
on WinXP and you have to install MathPlayer and Adobe SVGview).
For more examples, see http://www.chapman.edu/~jipsen/asciimath.html and
http://mathcs.chapman.edu/~jipsen/math
If you use this script on the web, please send an email to jipsen@chapman.edu
and put a link to http://www.chapman.edu/~jipsen/asciimath.html on your page.
Best wishes with ASCIIMathML.js
Peter Jipsen

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 B

@ -0,0 +1,268 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--
* Dokeos - elearning and course management software
*
* Copyright (c) 2008-2009 Dokeos SPRL
* Copyright (c) 2008-2009 Ivan Tcholakov <ivantcholakov@gmail.com>
*
* License:
* GNU Lesser General Public License, Version 3, 29 June 2007
* by Free Software Foundation, Inc. (http://www.gnu.org/licenses/lgpl.html)
*
* Contact address: Dokeos, rue du Corbeau, 108, B-1030 Brussels, Belgium
* Mail: info@dokeos.com
-->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>AsciiMath Editor</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="robots" content="noindex, nofollow" />
<script type="text/javascript">
document.write( '<scr' + 'ipt type="text/javascript" src="' + window.parent.frameElement._DialogArguments.Editor.FCKConfig.ScriptASCIIMathML + '"><\/scr' + 'ipt>' ) ;
</script>
<script src="../../dialog/common/fck_dialog_common.js" type="text/javascript"></script>
<script src="fck_asciimath.js" type="text/javascript"></script>
<script type="text/javascript">
document.write( FCKTools.GetStyleHtml( GetCommonDialogCss() ) ) ;
</script>
<style type="text/css">
body, td, input, textarea, select, label { font-family: Arial, Verdana, Geneva, helvetica, sans-serif; font-size: 11px; }
</style>
<style type="text/css">
form { padding: 0px; margin: 0px; }
form p { margin-top: 5px; margin-bottom: 5px; }
table { font: 11px Tahoma,Verdana,sans-serif; }
select, input, button { font: 11px Tahoma,Verdana,sans-serif; }
table .label { text-align: right; width: 8em; }
.fl { width: 9em; float: left; padding: 2px 5px; text-align: right; }
.fr { width: 7em; float: left; padding: 2px 5px; text-align: right; }
fieldset { padding: 0px 10px 5px 5px; }
.space { padding: 2px; }
#buttons {
margin-top: 10px;
}
#outputNode,#inputText,#mathml {
padding:5px;
background-color:white;
width:98%;
height:130px;
font-size:1.3em;
border: 1px solid darkgrey;
overflow:auto;
}
#clickInput {
width:100%;
border-collapse:collapse;
background-color: white;
text-align:center;
}
#clickInput td {
border: thin solid gray;
cursor:pointer;
font-size:1.1em;
}
h3 {
font-size:1.6em;
}
</style>
</head>
<body scroll="no" style="overflow: hidden;">
<!--
Table modified from CharacterMap for ASCIIMathML by Peter Jipsen
HTMLSource based on HTMLArea XTD 1.5 (http://mosforge.net/projects/htmlarea3xtd/) modified by Holger Hees
Original Author - Bernhard Pfeifer novocaine@gmx.net
-->
<table id="clickInput">
<tr>
<td colspan="3" class="character" title="(x+1)/(x-1)" onclick="javascript: Set('(x+1)/(x-1)');">`(x+1)/(x-1)`</td>
<td colspan="2" class="character" title="x^(m+n)" onclick="javascript: Set('x^(m+n)');">`x^(m+n)`</td>
<td colspan="2" class="character" title="x_(mn)" onclick="javascript: Set('x_(mn)');">`x_(mn)`</td>
<td colspan="2" class="character" title="sqrt(x)" onclick="javascript: Set('sqrt(x)');">`sqrt(x)`</td>
<td colspan="3" class="character" title="root(n)(x)" onclick="javascript: Set('root(n)(x)');">`root(n)(x)`</td>
<td colspan="2" class="character" title="&quot;text&quot;" onclick="javascript: Set('&quot;text&quot;');">`&quot;text&quot;`</td>
<td colspan="2" class="character" style="cursor:default"></td>
</tr><tr>
<td colspan="2" class="character" title="dy/dx" onclick="javascript: Set('dy/dx');">`dy/dx`</td>
<td colspan="3" class="character" title="lim_(x-&gt;oo)" onclick="javascript: Set('lim_(x-&gt;oo)');">`lim_(x-&gt;oo)`</td>
<td colspan="3" class="character" title="sum_(n=1)^oo" onclick="javascript: Set('sum_(n=1)^oo');">`sum_(n=1)^oo`</td>
<td colspan="3" class="character" title="int_a^bf(x)dx" onclick="javascript: Set('int_a^bf(x)dx');">`int_a^bf(x)dx`</td>
<td colspan="3" class="character" title="[[a,b],[c,d]]" onclick="javascript: Set('[[a,b],[c,d]]');">`[[a,b],[c,d]]`</td>
<td colspan="2" class="character" title="((n),(k))" onclick="javascript: Set('((n),(k))');">`((n),(k))`</td>
</tr><tr>
<td class="character" title="*" onclick="javascript: Set('*');">`*`</td>
<td class="character" title="**" onclick="javascript: Set('**');">`**`</td>
<td class="character" title="//" onclick="javascript: Set('//');">`//`</td>
<td class="character" title="\\" onclick="javascript: Set('\\\\');">`\\`</td>
<td class="character" title="xx" onclick="javascript: Set('xx');">`xx`</td>
<td class="character" title="-:" onclick="javascript: Set('-:');">`-:`</td>
<td class="character" title="@" onclick="javascript: Set('@');">`@`</td>
<td class="character" title="o+" onclick="javascript: Set('o+');">`o+`</td>
<td class="character" title="ox" onclick="javascript: Set('ox');">`ox`</td>
<td class="character" title="o." onclick="javascript: Set('o.');">`o.`</td>
<td class="character" title="sum" onclick="javascript: Set('sum');">`sum`</td>
<td class="character" title="prod" onclick="javascript: Set('prod');">`prod`</td>
<td class="character" title="^^" onclick="javascript: Set('^^');">`^^`</td>
<td class="character" title="^^^" onclick="javascript: Set('^^^');"><span style="font-size:larger">`&and;`</span></td>
<td class="character" title="vv" onclick="javascript: Set('vv');">`vv`</td>
<td class="character" title="vvv" onclick="javascript: Set('vvv');"><span style="font-size:larger">`&or;`</span></td>
</tr><tr>
<td class="character" title="!=" onclick="javascript: Set('!=');">`!=`</td>
<td class="character" title="&lt;=" onclick="javascript: Set('&lt;=');">`&lt;=`</td>
<td class="character" title="&gt;=" onclick="javascript: Set('&gt;=');">`&gt;=`</td>
<td class="character" title="-&lt;" onclick="javascript: Set('-&lt;');">`-&lt;`</td>
<td class="character" title="&gt;-" onclick="javascript: Set('&gt;-');">`&gt;-`</td>
<td class="character" title="in" onclick="javascript: Set('in');">`in`</td>
<td class="character" title="!in" onclick="javascript: Set('!in');">`!in`</td>
<td class="character" title="sub" onclick="javascript: Set('sub');">`sub`</td>
<td class="character" title="sup" onclick="javascript: Set('sup');">`sup`</td>
<td class="character" title="sube" onclick="javascript: Set('sube');">`sube`</td>
<td class="character" title="supe" onclick="javascript: Set('supe');">`supe`</td>
<td class="character" title="O/" onclick="javascript: Set('O/');">`O/`</td>
<td class="character" title="nn" onclick="javascript: Set('nn');">`nn`</td>
<td class="character" title="nnn" onclick="javascript: Set('nnn');"><span style="font-size:larger">`&cap;`</span></td>
<td class="character" title="uu" onclick="javascript: Set('uu');">`uu`</td>
<td class="character" title="uuu" onclick="javascript: Set('uuu');"><span style="font-size:larger">`&cup;`</span></td>
</tr><tr>
<td class="character" title="and" onclick="javascript: Set('and');">`and`</td>
<td class="character" title="or" onclick="javascript: Set('or');">`or`</td>
<td class="character" title="not" onclick="javascript: Set('not');">`not`</td>
<td class="character" title="=&gt;" onclick="javascript: Set('==&gt;');">`=&gt;`</td>
<td class="character" title="if" onclick="javascript: Set('if');">`if`</td>
<td class="character" title="&lt;=&gt;" onclick="javascript: Set('&lt;=&gt;');">`&lt;=&gt;`</td>
<td class="character" title="AA" onclick="javascript: Set('AA');">`AA`</td>
<td class="character" title="EE" onclick="javascript: Set('EE');">`EE`</td>
<td class="character" title="_|_" onclick="javascript: Set('_|_');">`_|_`</td>
<td class="character" title="TT" onclick="javascript: Set('TT');">`TT`</td>
<td class="character" title="|--" onclick="javascript: Set('|--');">`|--`</td>
<td class="character" title="|==" onclick="javascript: Set('|==');">`|==`</td>
<td class="character" title="-=" onclick="javascript: Set('-=');">`-=`</td>
<td class="character" title="~=" onclick="javascript: Set('~=');">`~=`</td>
<td class="character" title="~~" onclick="javascript: Set('~~');">`~~`</td>
<td class="character" title="prop" onclick="javascript: Set('prop');">`prop`</td>
</tr><tr>
<td class="character" title="int" onclick="javascript: Set('int');">`int`</td>
<td class="character" title="oint" onclick="javascript: Set('oint');">`oint`</td>
<td class="character" title="del" onclick="javascript: Set('del');">`del`</td>
<td class="character" title="grad" onclick="javascript: Set('grad');">`grad`</td>
<td class="character" title="+-" onclick="javascript: Set('+-');">`+-`</td>
<td class="character" title="oo" onclick="javascript: Set('oo');">`oo`</td>
<td class="character" title="aleph" onclick="javascript: Set('aleph');">`aleph`</td>
<td class="character" title="quad" onclick="javascript: Set('quad');">`quad`</td>
<td class="character" title="diamond" onclick="javascript: Set('diamond');">`diamond`</td>
<td class="character" title="square" onclick="javascript: Set('square');">`square`</td>
<td class="character" title="|__" onclick="javascript: Set('|__');">`|__`</td>
<td class="character" title="__|" onclick="javascript: Set('__|');">`__|`</td>
<td class="character" title="|~" onclick="javascript: Set('|~');">`|~`</td>
<td class="character" title="~|" onclick="javascript: Set('~|');">`~|`</td>
<td class="character" title="&lt;x&gt;" onclick="javascript: Set('&lt;x&gt;');">`&lt;x&gt;`</td>
<td class="character" title="/_" onclick="javascript: Set('/_');">`/_`</td>
</tr><tr>
<td class="character" title="uarr" onclick="javascript: Set('uarr');">`uarr`</td>
<td class="character" title="darr" onclick="javascript: Set('darr');">`darr`</td>
<td class="character" title="larr" onclick="javascript: Set('larr');">`larr`</td>
<td class="character" title="-&gt;" onclick="javascript: Set('-&gt;');">`-&gt;`</td>
<td class="character" title="|-&gt;" onclick="javascript: Set('|-&gt;');">`|-&gt;`</td>
<td class="character" title="harr" onclick="javascript: Set('harr');">`harr`</td>
<td class="character" title="lArr" onclick="javascript: Set('lArr');">`lArr`</td>
<td class="character" title="rArr" onclick="javascript: Set('rArr');">`rArr`</td>
<td class="character" title="hArr" onclick="javascript: Set('hArr');">`hArr`</td>
<td class="character" title="hata" onclick="javascript: Set('hat');">`hata`</td>
<td class="character" title="ula" onclick="javascript: Set('ul');">`ula`</td>
<td class="character" title="dota" onclick="javascript: Set('dot');">`dota`</td>
<td class="character" title="ddota" onclick="javascript: Set('ddot');">`ddota`</td>
<td class="character" title="veca" onclick="javascript: Set('vec');">`veca`</td>
<td class="character" title="bara" onclick="javascript: Set('bar');">`bara`</td>
<td class="character" title=":." onclick="javascript: Set(':.');">`:.`</td>
</tr><tr>
<td class="character" title="NN" onclick="javascript: Set('NN');">`NN`</td>
<td class="character" title="ZZ" onclick="javascript: Set('ZZ');">`ZZ`</td>
<td class="character" title="QQ" onclick="javascript: Set('QQ');">`QQ`</td>
<td class="character" title="RR" onclick="javascript: Set('RR');">`RR`</td>
<td class="character" title="CC" onclick="javascript: Set('CC');">`CC`</td>
<td class="character" title="bba" onclick="javascript: Set('bb');">`bba`</td>
<td class="character" title="bbba" onclick="javascript: Set('bbb');">`bbba`</td>
<td class="character" title="cca" onclick="javascript: Set('cc');">`cca`</td>
<td class="character" title="fra" onclick="javascript: Set('fr');">`fra`</td>
<td class="character" title="sfa" onclick="javascript: Set('sf');">`sfa`</td>
<td class="character" title="tta" onclick="javascript: Set('tt');">`tta`</td>
<td colspan="4" class="character" title="stackrel(-&gt;)(+)" onclick="javascript: Set('stackrel(-&gt;)(+)');">`stackrel(-&gt;)(+)`</td>
<td class="character" title="upsilon" onclick="javascript: Set('upsilon');">`upsilon`</td>
</tr><tr>
<td class="character" title="alpha" onclick="javascript: Set('alpha');">`alpha`</td>
<td class="character" title="beta" onclick="javascript: Set('beta');">`beta`</td>
<td class="character" title="gamma" onclick="javascript: Set('gamma');">`gamma`</td>
<td class="character" title="Gamma" onclick="javascript: Set('Gamma');">`Gamma`</td>
<td class="character" title="delta" onclick="javascript: Set('delta');">`delta`</td>
<td class="character" title="Delta" onclick="javascript: Set('Delta');">`Delta`</td>
<td class="character" title="epsi" onclick="javascript: Set('epsi');">`epsi`</td>
<td class="character" title="zeta" onclick="javascript: Set('zeta');">`zeta`</td>
<td class="character" title="eta" onclick="javascript: Set('eta');">`eta`</td>
<td class="character" title="theta" onclick="javascript: Set('theta');">`theta`</td>
<td class="character" title="Theta" onclick="javascript: Set('Theta');">`Theta`</td>
<td class="character" title="iota" onclick="javascript: Set('iota');">`iota`</td>
<td class="character" title="kappa" onclick="javascript: Set('kappa');">`kappa`</td>
<td class="character" title="lambda" onclick="javascript: Set('lambda');">`lambda`</td>
<td class="character" title="Lambda" onclick="javascript: Set('Lambda');">`Lambda`</td>
<td class="character" title="mu" onclick="javascript: Set('mu');">`mu`</td>
</tr><tr>
<td class="character" title="nu" onclick="javascript: Set('nu');">`nu`</td>
<td class="character" title="pi" onclick="javascript: Set('pi');">`pi`</td>
<td class="character" title="Pi" onclick="javascript: Set('Pi');">`Pi`</td>
<td class="character" title="rho" onclick="javascript: Set('rho');">`rho`</td>
<td class="character" title="sigma" onclick="javascript: Set('sigma');">`sigma`</td>
<td class="character" title="Sigma" onclick="javascript: Set('Sigma');">`Sigma`</td>
<td class="character" title="tau" onclick="javascript: Set('tau');">`tau`</td>
<td class="character" title="xi" onclick="javascript: Set('xi');">`xi`</td>
<td class="character" title="Xi" onclick="javascript: Set('Xi');">`Xi`</td>
<td class="character" title="phi" onclick="javascript: Set('phi');">`phi`</td>
<td class="character" title="Phi" onclick="javascript: Set('Phi');">`Phi`</td>
<td class="character" title="chi" onclick="javascript: Set('chi');">`chi`</td>
<td class="character" title="psi" onclick="javascript: Set('psi');">`psi`</td>
<td class="character" title="Psi" onclick="javascript: Set('Psi');">`Psi`</td>
<td class="character" title="omega" onclick="javascript: Set('omega');">`omega`</td>
<td class="character" title="Omega" onclick="javascript: Set('Omega');">`Omega`</td>
</tr>
</table>
<form action="javascript: void(0);">
<table style="width: 100%; border: none;">
<tr>
<td style="width:50%;" nowrap="nowrap"><span fckLang="DlgAsciiMathInput">Input</span>&nbsp;&nbsp;<input id="clear" type="button" fckLang="DlgAsciiMathClear" onclick="javascript: Clear();" style="width: 100px; font-size: 10px;" value="Clear" />&nbsp;&nbsp;<input id="delete" type="button" fckLang="DlgAsciiMathDelete" onclick="javascript: Delete();" style="width: 100px; font-size: 10px;" value="Delete" />&nbsp;&nbsp;</td>
<td style="width:50%;"><input id="show_mathml" type="button" fckLang="DlgAsciiMathShowMathML" onclick="javascript: ShowMathML();" style="float: right; font-size: 10px;" value="Show MathML" /><span fckLang="DlgAsciiMathPreview">Preview</span></td>
</tr>
<tr>
<td>
<textarea id="inputText" onkeyup="javascript: Preview();"></textarea>
</td>
<td>
<div id="outputNode"></div>
</td>
</tr>
<tr><td colspan="2">
<span fckLang="DlgAsciiMathBasedOn">Based on ASCIIMathML by </span><a href="http://www.chapman.edu/~jipsen" onclick="javascript: window.open(this.href,'_blank','');return false;">Peter Jipsen</a>,
<a href="http://www.chapman.edu" onclick="javascript: window.open(this.href,'_blank','');return false;">Chapman University</a><br />
<span fckLang="DlgAsciiMathForMoreInfo">For more information on AsciiMathML visit this page: </span><a href="http://www1.chapman.edu/~jipsen/mathml/asciimath.html" onclick="javascript: window.open(this.href,'_blank','');return false;">http://www1.chapman.edu/~jipsen/mathml/asciimath.html</a></td></tr>
</table>
<div id="buttons">
<script type="text/javascript">
if ( !CheckBrowserCompatibility() )
{
CheckBrowserCompatibility( true ) ;
}
</script>
</div>
</form>
</body>
</html>

@ -0,0 +1,334 @@
/*
* Dokeos - elearning and course management software
*
* Copyright (c) 2008-2009 Dokeos SPRL
* Copyright (c) 2008-2009 Ivan Tcholakov <ivantcholakov@gmail.com>
*
* License:
* GNU Lesser General Public License, Version 3, 29 June 2007
* by Free Software Foundation, Inc. (http://www.gnu.org/licenses/lgpl.html)
*
* Contact address: Dokeos, rue du Corbeau, 108, B-1030 Brussels, Belgium
* Mail: info@dokeos.com
*/
var dialog = window.parent ;
var oEditor = dialog.InnerDialogLoaded() ;
var FCK = oEditor.FCK ;
var FCKLang = oEditor.FCKLang ;
var FCKConfig = oEditor.FCKConfig ;
var FCKTools = oEditor.FCKTools ;
var FCKBrowserInfo = oEditor.FCKBrowserInfo ;
var FCKUndo = oEditor.FCKUndo ;
var FCKAsciiMath = oEditor.FCKAsciiMath ;
// Set the language direction.
window.document.dir = FCKLang.Dir ;
FCKLang["DlgAsciiIncompatibleBrowser"] = FCKLang["DlgAsciiIncompatibleBrowser"] ? FCKLang["DlgAsciiIncompatibleBrowser"] : 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang['DlgAsciiIncompatibleBrowser'] = FCKLang['DlgAsciiIncompatibleBrowser'].replace( '%s1', '<a href="http://www.mozilla.com" onclick="javascript: window.open(this.href,\'_blank\');return false;">Mozilla Firefox 1.5+</a>, <a href="http://www.opera.com" onclick="javascript: window.open(this.href,\'_blank\');return false;">Opera 9.5+</a>' ) ;
FCKLang['DlgAsciiIncompatibleBrowser'] = FCKLang['DlgAsciiIncompatibleBrowser'].replace( '%s2', '<a href="http://www.dessci.com/en/products/mathplayer/" onclick="javascript: window.open(this.href,\'_blank\');return false;">MathPlayer</a>' ) ;
FCKLang["DlgAsciiMathOldIE"] = FCKLang["DlgAsciiMathOldIE"] ? FCKLang["DlgAsciiMathOldIE"] : 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang['DlgAsciiMathOldIE'] = FCKLang['DlgAsciiMathOldIE'].replace( '%s', '<a href="http://www.dessci.com/en/products/mathplayer/" onclick="javascript: window.open(this.href,\'_blank\');return false;">http://www.dessci.com/en/products/mathplayer/</a>' ) ;
FCKLang['DlgAsciiMathInstallMathPlayer'] = FCKLang['DlgAsciiMathInstallMathPlayer'] ? FCKLang['DlgAsciiMathInstallMathPlayer'] : 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang['DlgAsciiMathInstallMathPlayer'] = FCKLang['DlgAsciiMathInstallMathPlayer'].replace( '%s', '<a href="http://www.dessci.com/en/products/mathplayer/" onclick="javascript: window.open(this.href,\'_blank\');return false;">http://www.dessci.com/en/products/mathplayer/</a>' ) ;
FCKLang['DlgAsciiMathOldMathPlayer'] = FCKLang['DlgAsciiMathOldMathPlayer'] ? FCKLang['DlgAsciiMathOldMathPlayer'] : 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;
FCKLang['DlgAsciiMathOldMathPlayer'] = FCKLang['DlgAsciiMathOldMathPlayer'].replace( '%s', '<a href="http://www.dessci.com/en/products/mathplayer/" onclick="javascript: window.open(this.href,\'_blank\');return false;">http://www.dessci.com/en/products/mathplayer/</a>' ) ;
var showasciiformulaonhover = false;
// Suppressing the built-in notification message when the browser is incompatible.
notifyIfNoMathML = false ;
//Small font is used in the dialog.
mathfontsize = "1.1em";
// oSpanAM: The actual selected span element in the editor that contains the formula.
var oSpanAM = FCKAsciiMath.FindFormulaContainer( FCKAsciiMath.GetSearchElementFromSelection() ) ;
if ( oSpanAM )
{
FCK.Selection.SelectNode( oSpanAM ) ;
}
function LoadSelection()
{
GetE( 'inputText' ).value = FCKAsciiMath.GetFormula( oSpanAM ) ;
Preview() ;
}
function Ok()
{
if ( FCKBrowserInfo.IsIE )
{
if ( oSpanAM )
{
FCK.Selection.SelectNode( oSpanAM ) ;
// For IE: Before updating, we have to move the selection outside the formula
// in order to prevent "Unspecified error".
var span_target = FCK.EditorDocument.createElement( 'span' ) ;
span_target.innerHTML = '&nbsp;' ;
span_target = oSpanAM.parentNode.insertBefore( span_target, oSpanAM ) ;
FCK.Selection.SelectNode( span_target ) ;
}
}
var formula = GetE( 'inputText' ).value ;
if ( formula != '' )
{
FCK.InsertHtml( '<span class="AM">`' + formula + '`<\/span>' ) ;
}
else
{
FCK.Selection.Delete() ;
}
if ( FCKBrowserInfo.IsIE )
{
if ( oSpanAM )
{
FCKUndo.SaveUndoStep() ;
oSpanAM.parentNode.removeChild( oSpanAM ) ;
}
}
return true ;
}
window.onload = function()
{
// Translate the dialog box texts.
oEditor.FCKLanguageManager.TranslatePage( document ) ;
// Load the selected element information (if any).
LoadSelection() ;
dialog.SetAutoSize( true ) ;
// Activate the "OK" button.
dialog.SetOkButton( true ) ;
var inputField = GetE( 'inputText' ) ;
inputField.focus() ;
}
function Set ( string )
{
var inputField = GetE( 'inputText' ) ;
inputField.value += string ;
Preview() ;
inputField.focus() ;
return false ;
}
function Clear()
{
var inputField = GetE( 'inputText' ) ;
inputField.value = '' ;
Preview() ;
inputField.focus() ;
return false ;
}
function Delete()
{
Clear();
dialog.Ok();
}
function Preview()
{
if ( GetE( 'inputText' ).value != '' )
{
var str = GetE( 'inputText' ).value ;
var outnode = GetE( 'outputNode' ) ;
var newnode = AMcreateElementXHTML( 'div' ) ;
newnode.setAttribute( 'id', 'outputNode' ) ;
outnode.parentNode.replaceChild( newnode, outnode ) ;
outnode = GetE( 'outputNode' ) ;
var n = outnode.childNodes.length ;
for ( var i = 0; i < n; i++ )
{
outnode.removeChild( outnode.firstChild ) ;
}
outnode.appendChild( document.createComment( '`' + str + '`' ) ) ;
AMprocessNode( outnode, true ) ;
if ( FCKLang['DlgAsciiMathShowMathML'] )
{
GetE( 'show_mathml' ).value = FCKLang['DlgAsciiMathShowMathML'] ;
}
}
else
{
var outnode = GetE( 'outputNode' ) ;
var n = outnode.childNodes.length ;
for ( var i = 0; i < n; i++ )
{
outnode.removeChild( outnode.firstChild ) ;
}
}
}
function AMnode2string( inNode, indent )
{
// thanks to James Frazer for contributing an initial version of this function
var i, str = '' ;
if ( inNode.nodeType == 1 )
{
var name = inNode.nodeName.toLowerCase() ; // (IE fix)
str = '\r' + indent + '<' + name ;
for ( i = 0; i < inNode.attributes.length; i++ )
{
if ( inNode.attributes[i].nodeValue != 'italic' &&
inNode.attributes[i].nodeValue != '' && //stop junk attributes
inNode.attributes[i].nodeValue != 'inherit' && // (mostly IE)
inNode.attributes[i].nodeValue != undefined &&
inNode.attributes[i].nodeName[0] != '-' )
{
str += ' ' + inNode.attributes[i].nodeName + '=' + '"' + inNode.attributes[i].nodeValue + '"' ;
}
}
if ( name == 'math' )
{
str += ' xmlns="http://www.w3.org/1998/Math/MathML"' ;
}
str += '>' ;
for ( i = 0; i < inNode.childNodes.length; i++ )
{
str += AMnode2string( inNode.childNodes[i], indent + ' ' ) ;
}
if ( name != 'mo' && name != 'mi' && name != 'mn' ) str += '\r' + indent ;
str += '</' + name + '>' ;
}
else if( inNode.nodeType == 3 )
{
var st = inNode.nodeValue ;
for ( i = 0; i < st.length; i++ )
{
if ( st.charCodeAt( i ) < 32 || st.charCodeAt( i ) > 126 )
{
str += '&#' + st.charCodeAt( i ) + ';' ;
}
else if ( st.charAt(i) == '<' && indent != ' ' ) str += '&lt;' ;
else if ( st.charAt(i) == '>' && indent != ' ' ) str += '&gt;' ;
else if ( st.charAt(i) == '&' && indent != ' ' ) str += '&amp;' ;
else str += st.charAt( i ) ;
}
}
return str ;
}
function ShowMathML()
{
if ( GetE( 'inputText' ).value != '' )
{
var math = GetE( 'outputNode' ).getElementsByTagName( 'math' )[0] ;
if ( math )
{
var width ;
if ( GetE( 'outputNode' ).offsetWidth )
{
width = GetE( 'outputNode' ).offsetWidth ;
}
math.parentNode.innerHTML = '<pre>' + FCKTools.HTMLEncode( AMnode2string( math, '' ) ) + '</pre>' ;
if ( width && FCKBrowserInfo.IsGecko )
{
GetE( 'outputNode' ).style.width = width + 'px' ;
}
if ( FCKLang['DlgAsciiMathFormulaPreview'] )
{
GetE( 'show_mathml' ).value = FCKLang['DlgAsciiMathFormulaPreview'] ;
}
}
else
{
Preview() ;
}
}
else
{
Preview() ;
}
}
function CheckBrowserCompatibility( show_message )
{
if ( FCKBrowserInfo.IsGecko )
{
// The browser is compatible, it is genuine Gecko - Firefox, etc.
return true ;
}
else if ( FCKBrowserInfo.IsIE )
{
// Internet Explorer.
if ( FCKBrowserInfo.IsIE6 )
{
if ( IsMathPlayerInstalled() )
{
var start = navigator.appVersion.indexOf( 'MathPlayer' ) ;
if ( start != -1 )
{
// The browser is Internet Explorer 6.0+ with properly set up plugin MathPalyer 2.
return true ;
}
else
{
// Notify reader they need to upgrade to MathPlayer 2.
if ( show_message )
{
document.write( '<span style="color:red;">' + FCKLang['DlgAsciiMathOldMathPlayer'] + '</span>' ) ;
}
return false ;
}
}
else
{
// Direct reader to MathPlayer page.
if ( show_message )
{
document.write( '<span style="color:red;">' + FCKLang['DlgAsciiMathInstallMathPlayer'] + '</span>' ) ;
}
return false ;
}
}
else
{
// The browser is a very old version of Internet Explorer, it have to be upgraded.
if ( show_message )
{
document.write( '<span style="color:red;">' + FCKLang['DlgAsciiMathOldIE'] + '</span>' ) ;
}
return false ;
}
}
else if ( FCKBrowserInfo.IsOpera && parseFloat( navigator.appVersion, 10 ) >= 9.5 )
{
return true ;
}
// The browser is not compatible.
if ( show_message )
{
document.write( '<span style="color:red;">' + FCKLang['DlgAsciiIncompatibleBrowser'] + '</span>' ) ;
}
return false ;
}
// Returns true if MathPlayer is installed.
function IsMathPlayerInstalled()
{
try
{
var oMP = new ActiveXObject( 'MathPlayer.Factory.1' ) ;
return true ;
}
catch(e)
{
return false ;
}
}

@ -0,0 +1,341 @@
/*
* Dokeos - elearning and course management software
*
* Copyright (c) 2008-2009 Dokeos SPRL
* Copyright (c) 2008-2009 Ivan Tcholakov <ivantcholakov@gmail.com>
*
* License:
* GNU Lesser General Public License, Version 3, 29 June 2007
* by Free Software Foundation, Inc. (http://www.gnu.org/licenses/lgpl.html)
*
* Contact address: Dokeos, rue du Corbeau, 108, B-1030 Brussels, Belgium
* Mail: info@dokeos.com
*/
// Loading the ASCIIMathML.js if it is not present yet.
if ( typeof AMprocessNode != 'function' )
{
LoadScript( FCKConfig.ScriptASCIIMathML ) ;
}
// Suppressing the built-in notification message when the browser is incompatible.
notifyIfNoMathML = false ;
// Suppressing parsing AsciiMath formulas at loading.
translateASCIIMath = false ;
// Small font is used in the dialog.
mathfontsize = "1.1em";
// Registering the related command.
FCKCommands.RegisterCommand( 'asciimath', new FCKDialogCommand( FCKLang['DlgAsciiMath'], FCKLang['DlgAsciiMath'], FCKConfig.PluginsPath + 'asciimath/fck_asciimath.html', 800, 550 ) ) ;
// Create the "asciimath" toolbar button.
var oAsciiMathItem = new FCKToolbarButton( 'asciimath', FCKLang['DlgAsciiMath'] ) ;
oAsciiMathItem.IconPath = FCKConfig.PluginsPath + 'asciimath/asciimath.gif' ;
// 'asciimath' is the name used in the Toolbar config.
FCKToolbarItems.RegisterItem( 'asciimath', oAsciiMathItem ) ;
// Context menu support.
FCK.ContextMenu.RegisterListener( {
AddItems : function( menu, tag, tagName )
{
if ( FCKAsciiMath.FindFormulaContainer( tag ) )
{
menu.AddSeparator() ;
menu.AddItem( 'asciimath', FCKLang['DlgAsciiMath'], oAsciiMathItem.IconPath ) ;
}
}}
);
// Double-click support.
FCK.RegisterDoubleClickHandler(
function ( tag )
{
if ( FCKAsciiMath.FindFormulaContainer( tag ) )
{
FCKCommands.GetCommand( 'asciimath' ).Execute() ;
}
}, null
) ;
// This object implements some AsciiMath related operations.
var FCKAsciiMath = new Object() ;
FCKAsciiMath.GetSearchElementFromSelection = function()
{
var oSelectedContainer = FCK.Selection.GetSelectedElement() ;
if ( ! oSelectedContainer )
{
oSelectedContainer = FCK.Selection.GetBoundaryParentElement( true ) ;
}
return oSelectedContainer ;
}
FCKAsciiMath.IsFormula = function( node )
{
if ( node && node.nodeName && node.nodeName.IEquals( 'span' ) && node.className && node.className.indexOf( 'AM' ) != -1 )
{
return true ;
}
return false ;
}
FCKAsciiMath.FindFormulaContainer = function( node )
{
var current_node = node ;
while ( current_node )
{
if ( !current_node.nodeName )
{
continue ;
}
if ( current_node.nodeName.IEquals( 'body', 'table' ) )
{
break ;
}
if ( FCKAsciiMath.IsFormula( current_node ) )
{
return current_node ;
}
if ( current_node.parentNode )
{
current_node = current_node.parentNode ;
}
else
{
break ;
}
}
return null ;
}
FCKAsciiMath.IsParsed = function( node )
{
return node.getElementsByTagName( 'math' )[0] ? true : false ;
}
FCKAsciiMath.GetFormula = function( node )
{
var result = '' ;
if ( FCKAsciiMath.IsFormula( node ) )
{
if ( FCKAsciiMath.IsParsed( node ) )
{
if ( node.title )
{
result = node.title ;
}
}
else
{
result = node.innerHTML ;
}
}
return result.replace( /`/g, '' ) ;
}
FCKAsciiMath.Delete = function()
{
var oSpanAM = FCKAsciiMath.FindFormulaContainer( FCKAsciiMath.GetSearchElementFromSelection() ) ;
if ( oSpanAM )
{
FCK.Selection.SelectNode( oSpanAM ) ;
}
else
{
return ;
}
if ( FCKBrowserInfo.IsIE )
{
// For IE: Before deletion, we have to move the selection outside the formula
// in order to prevent "Unspecified error".
var span_target = FCK.EditorDocument.createElement( 'span' ) ;
span_target.innerHTML = '&nbsp;' ;
span_target = oSpanAM.parentNode.insertBefore( span_target, oSpanAM ) ;
FCK.Selection.SelectNode( span_target ) ;
}
FCK.Selection.Delete() ;
if ( FCKBrowserInfo.IsIE )
{
FCKUndo.SaveUndoStep() ;
oSpanAM.parentNode.removeChild( oSpanAM ) ;
}
}
var FCKAsciiMathProcessor = FCKDocumentProcessor.AppendNew() ;
FCKAsciiMathProcessor.ProcessDocument = function( document )
{
var spans = FCK.EditorDocument.getElementsByTagName( 'SPAN' ) ;
var span ;
var i = spans.length - 1 ;
while ( i >= 0 && ( span = spans[i--] ) )
{
if ( FCKAsciiMath.IsFormula( span ) && !FCKAsciiMath.IsParsed ( span ) )
{
var clone = span.cloneNode( true ) ;
clone.title = span.innerHTML ;
AMprocessNode( clone, false ) ;
clone.setAttribute( '_fckfakelement', 'true', 0 ) ;
clone.setAttribute( '_fckrealelement', FCKTempBin.AddElement( span ), 0 ) ;
// To disable resizing.
clone.onresizestart = function()
{
FCK.EditorWindow.event.returnValue = false ;
return false ;
}
span.parentNode.insertBefore( clone, span ) ;
span.parentNode.removeChild( span ) ;
}
}
}
FCKAsciiMath.SetListeners = function()
{
if ( FCK.EditMode != FCK_EDITMODE_WYSIWYG )
{
return ;
}
if ( !FCKBrowserInfo.IsIE )
{
// On Gecko we must do this trick so the user select all the SPAN when clicking on it.
FCK.EditorDocument.addEventListener( 'click', function( e )
{
var formula_container = FCKAsciiMath.FindFormulaContainer( e.target ) ;
if ( formula_container )
{
FCKSelection.SelectNode( formula_container ) ;
}
}, true
) ;
// On Gecko-like browsers we have to prevent editing the parsed formula in the editor.
FCK.EditorDocument.addEventListener( 'keypress', function( e )
{
var key = e.keyCode || e.which ;
switch ( key )
{
// Only keys for moving the cursor should be enabled.
case 37: // Left
case 39: // Right
case 38: // Up
case 40: // Down
case 36: // Home
case 35: // End
case 33: // Pg Up
case 34: // Pg Down
break ;
// Deletion.
case 8: // Backspace
case 46: // Del
if ( FCKAsciiMath.FindFormulaContainer( FCKAsciiMath.GetSearchElementFromSelection() ) )
{
FCKAsciiMath.Delete() ;
if ( e.preventDefault ) e.preventDefault() ;
if ( e.stopPropagation ) e.stopPropagation() ;
break ;
}
default:
if ( FCKAsciiMath.FindFormulaContainer( FCKAsciiMath.GetSearchElementFromSelection() ) )
{
// We are inside a formula, block edition.
if ( e.preventDefault ) e.preventDefault() ;
if ( e.stopPropagation ) e.stopPropagation() ;
}
break ;
}
}, true
) ;
}
else
{
FCKAsciiMath.KeyDownIE = function( e )
{
if ( !e ) e = window.event ;
var key = e.keyCode ;
switch ( key )
{
// Deletion.
case 8: // Backspace
case 46: // Del
if ( FCKAsciiMath.FindFormulaContainer( FCKAsciiMath.GetSearchElementFromSelection() ) )
{
FCKAsciiMath.Delete() ;
e.cancelBubble = true ;
break ;
}
default:
break ;
}
}
FCKTools.AddEventListener( FCK.EditorDocument.body, 'keydown', FCKAsciiMath.KeyDownIE ) ;
}
}
FCK.Events.AttachEvent( 'OnAfterSetHTML', FCKAsciiMath.SetListeners ) ;
// We need to attach the script AsciiMathML.js after editing a full page content.
// There is no appropriate event to be captured, so the following method has been chosen for modification.
FCK.UpdateLinkedField = function()
{
// Added code.
if ( FCKConfig.FullPage )
{
var html = FCK.EditorDocument.getElementsByTagName('html')[0] ;
var head ;
if ( typeof html == 'object' )
{
head = html.getElementsByTagName( 'HEAD' )[0] ;
}
if ( typeof head == 'object' )
{
var has_formula = false ;
var spans = FCK.EditorDocument.getElementsByTagName( 'SPAN' ) ;
var span ;
var i = spans.length - 1 ;
while ( i >= 0 && ( span = spans[i--] ) )
{
if ( FCKAsciiMath.IsFormula( span ) )
{
has_formula = true ;
break ;
}
}
var has_script = false ;
var head_data = FCK.GetData( false ).match( /<head\s?[^>]*>(.*?)<\/head\s*>/i )[1] ;
if ( head_data )
{
if ( head_data.indexOf( 'ASCIIMathML.js' ) != -1 )
{
has_script = true ;
}
}
if ( !has_script )
{
// TODO: This fragment works in WYSIWYG mode only.
script = FCK.EditorDocument.createElement( 'script' ) ;
script.setAttribute( 'src', FCKConfig.ScriptASCIIMathML ) ;
script.setAttribute( 'type', 'text/javascript' ) ;
head.appendChild( script ) ;
}
}
}
// End added code.
var value = FCK.GetData( FCKConfig.FormatOutput ) ;
if ( FCKConfig.HtmlEncodeOutput )
value = FCKTools.HTMLEncode( value ) ;
FCK.LinkedField.value = value ;
FCK.Events.FireEvent( 'OnAfterLinkedFieldUpdate' ) ;
} ;

@ -0,0 +1,8 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
</head>
<body>
<br />
</body>
</html>

@ -0,0 +1,22 @@
/*
* File Name: af.js
* asciimath plugin Afrikaans language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: ar.js
* asciimath plugin Arabic language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: bg.js
* asciimath plugin English language file.
* Encoding: UTF-8.
*
* Author: Ivan Tcholakov (ivantcholakov@gmail.com), 2009
*/
FCKLang["DlgAsciiMath"] = 'Въвеждане на математическа формула (AsciiMath)' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Математическа формула' ;
FCKLang["DlgAsciiMathInput"] = 'Въвеждане' ;
FCKLang["DlgAsciiMathClear"] = 'Изчистване' ;
FCKLang["DlgAsciiMathDelete"] = 'Изтриване' ;
FCKLang["DlgAsciiMathPreview"] = 'Преглед' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Редакторът е разработен на базата на ASCIIMathML от ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'За повече информация за AsciiMathML вижте тази страница: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Показване на MathML-код' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Преглед на формулата' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Вашият браузър не може да показва математически формули. Моля, използвайте %s1 или Internet Explorer с приставката %s2.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Вашият браузър не може да показва математически формули. Трябва да направите ъпгрейд до Internet Explorer 6.0+. След това трябва да инсталирате приставката MathPlayer 2 Internet Explorer. Моля, вижте %s за повече информация.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Вашият браузър не може да показва математически формули. Трябва да инсталирате приставката MathPlayer 2 Internet Explorer. Моля, вижте %s за повече информация.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Вашият браузър не може да показва математически формули. Трябва да направите ъпгрейд до версия 2 на приставката MathPlayer за Internet Explorer. Моля, вижте %s за повече информация.' ;

@ -0,0 +1,22 @@
/*
* File Name: bn.js
* asciimath plugin Bengali/Bangla language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: bs.js
* asciimath plugin Bosnian language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: ca.js
* asciimath plugin Catalan language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: cs.js
* asciimath plugin Czech language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: da.js
* asciimath plugin Danish language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: de.js
* asciimath plugin German language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: el.js
* asciimath plugin Greek language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: en-au.js
* asciimath plugin English (Australia) language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: en-ca.js
* asciimath plugin English (Canadian) language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: en-uk.js
* asciimath plugin English (United Kingdom) language file.
* Encoding: UTF-8.
*
* Author: Ivan Tcholakov (ivantcholakov@gmail.com), 2009
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: en.js
* asciimath plugin English language file.
* Encoding: UTF-8.
*
* Author: Ivan Tcholakov (ivantcholakov@gmail.com), 2009
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: eo.js
* asciimath plugin Esperanto language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: es.js
* asciimath plugin Spanish language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: et.js
* asciimath plugin Estonian language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: eu.js
* asciimath plugin Basque language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: fa.js
* asciimath plugin Persian language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: fi.js
* asciimath plugin Finnish language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: fo.js
* asciimath plugin Faroese language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: fr-ca.js
* asciimath plugin Canadian French language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: fr.js
* asciimath plugin French language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: gl.js
* asciimath plugin Galician language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: gu.js
* asciimath plugin Gujarati language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: he.js
* asciimath plugin Hebrew language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: hi.js
* asciimath plugin Hindi language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: hr.js
* asciimath plugin Croatian language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: hu.js
* asciimath plugin Hungarian language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,8 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
</head>
<body>
<br />
</body>
</html>

@ -0,0 +1,22 @@
/*
* File Name: is.js
* asciimath plugin Icelandic language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: it.js
* asciimath plugin Italian language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: ja.js
* asciimath plugin Japanese language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: km.js
* asciimath plugin Khmer language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: ko.js
* asciimath plugin Korean language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: lt.js
* asciimath plugin Lithuanian language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: lv.js
* asciimath plugin Latvian language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: mn.js
* asciimath plugin Mongolian language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: ms.js
* asciimath plugin Malay language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: nb.js
* asciimath plugin Norwegian Bokmål language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: nl.js
* asciimath plugin Dutch language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: no.js
* asciimath plugin Norwegian language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: pl.js
* asciimath plugin Polish language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: pt-br.js
* asciimath plugin Brazilian Portuguese language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: pt.js
* asciimath plugin Portuguese language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: ro.js
* asciimath plugin Romanian language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: ru.js
* asciimath plugin Russian language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: sk.js
* asciimath plugin Slovak language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: sl.js
* asciimath plugin Slovenian language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: sr-latn.js
* asciimath plugin Serbian (Latin) language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: sr.js
* asciimath plugin Serbian (Cyrillic) language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: sv.js
* asciimath plugin Swedish language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: th.js
* asciimath plugin Thai language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: tr.js
* asciimath plugin Turkish language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: uk.js
* asciimath plugin Ukrainian language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: vi.js
* asciimath plugin Vietnamese language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: zh-cn.js
* asciimath plugin Chinese Simplified language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,22 @@
/*
* File Name: zn.js
* asciimath plugin Chinese Traditional language file.
* Encoding: UTF-8.
*
* Author:
*/
FCKLang["DlgAsciiMath"] = 'AsciiMath Formula Input' ;
FCKLang["DlgAsciiMathFormulaEditor"] = 'Formula Editor' ;
FCKLang["DlgAsciiMathInput"] = 'Input' ;
FCKLang["DlgAsciiMathClear"] = 'Clear' ;
FCKLang["DlgAsciiMathDelete"] = 'Delete' ;
FCKLang["DlgAsciiMathPreview"] = 'Preview' ;
FCKLang["DlgAsciiMathBasedOn"] = 'Based on ASCIIMathML by ' ;
FCKLang["DlgAsciiMathForMoreInfo"] = 'For more information on AsciiMathML visit this page: ' ;
FCKLang["DlgAsciiMathShowMathML"] = 'Show MathML' ;
FCKLang["DlgAsciiMathFormulaPreview"] = 'Formula Preview' ;
FCKLang["DlgAsciiIncompatibleBrowser"] = 'Your browser is not able to show mathematical formulas. Please, use %s1 or Internet Explorer with %s2 plugin.' ;
FCKLang["DlgAsciiMathOldIE"] = 'Your browser is not able to show mathematical formulas. You need to upgrade to Internet Explorer 6.0+. Then you need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathInstallMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to install the MathPlayer 2 plugin for Internet Explorer. Please, see %s for more information.' ;
FCKLang["DlgAsciiMathOldMathPlayer"] = 'Your browser is not able to show mathematical formulas. You need to upgrade the MathPlayer plugin for Internet Explorer to version 2. Please, see %s for more information.' ;

@ -0,0 +1,165 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
This version of the GNU Lesser General Public License incorporates
the terms and conditions of version 3 of the GNU General Public
License, supplemented by the additional permissions listed below.
0. Additional Definitions.
As used herein, "this License" refers to version 3 of the GNU Lesser
General Public License, and the "GNU GPL" refers to version 3 of the GNU
General Public License.
"The Library" refers to a covered work governed by this License,
other than an Application or a Combined Work as defined below.
An "Application" is any work that makes use of an interface provided
by the Library, but which is not otherwise based on the Library.
Defining a subclass of a class defined by the Library is deemed a mode
of using an interface provided by the Library.
A "Combined Work" is a work produced by combining or linking an
Application with the Library. The particular version of the Library
with which the Combined Work was made is also called the "Linked
Version".
The "Minimal Corresponding Source" for a Combined Work means the
Corresponding Source for the Combined Work, excluding any source code
for portions of the Combined Work that, considered in isolation, are
based on the Application, and not on the Linked Version.
The "Corresponding Application Code" for a Combined Work means the
object code and/or source code for the Application, including any data
and utility programs needed for reproducing the Combined Work from the
Application, but excluding the System Libraries of the Combined Work.
1. Exception to Section 3 of the GNU GPL.
You may convey a covered work under sections 3 and 4 of this License
without being bound by section 3 of the GNU GPL.
2. Conveying Modified Versions.
If you modify a copy of the Library, and, in your modifications, a
facility refers to a function or data to be supplied by an Application
that uses the facility (other than as an argument passed when the
facility is invoked), then you may convey a copy of the modified
version:
a) under this License, provided that you make a good faith effort to
ensure that, in the event an Application does not supply the
function or data, the facility still operates, and performs
whatever part of its purpose remains meaningful, or
b) under the GNU GPL, with none of the additional permissions of
this License applicable to that copy.
3. Object Code Incorporating Material from Library Header Files.
The object code form of an Application may incorporate material from
a header file that is part of the Library. You may convey such object
code under terms of your choice, provided that, if the incorporated
material is not limited to numerical parameters, data structure
layouts and accessors, or small macros, inline functions and templates
(ten or fewer lines in length), you do both of the following:
a) Give prominent notice with each copy of the object code that the
Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the object code with a copy of the GNU GPL and this license
document.
4. Combined Works.
You may convey a Combined Work under terms of your choice that,
taken together, effectively do not restrict modification of the
portions of the Library contained in the Combined Work and reverse
engineering for debugging such modifications, if you also do each of
the following:
a) Give prominent notice with each copy of the Combined Work that
the Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the Combined Work with a copy of the GNU GPL and this license
document.
c) For a Combined Work that displays copyright notices during
execution, include the copyright notice for the Library among
these notices, as well as a reference directing the user to the
copies of the GNU GPL and this license document.
d) Do one of the following:
0) Convey the Minimal Corresponding Source under the terms of this
License, and the Corresponding Application Code in a form
suitable for, and under terms that permit, the user to
recombine or relink the Application with a modified version of
the Linked Version to produce a modified Combined Work, in the
manner specified by section 6 of the GNU GPL for conveying
Corresponding Source.
1) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (a) uses at run time
a copy of the Library already present on the user's computer
system, and (b) will operate properly with a modified version
of the Library that is interface-compatible with the Linked
Version.
e) Provide Installation Information, but only if you would otherwise
be required to provide such information under section 6 of the
GNU GPL, and only to the extent that such information is
necessary to install and execute a modified version of the
Combined Work produced by recombining or relinking the
Application with a modified version of the Linked Version. (If
you use option 4d0, the Installation Information must accompany
the Minimal Corresponding Source and Corresponding Application
Code. If you use option 4d1, you must provide the Installation
Information in the manner specified by section 6 of the GNU GPL
for conveying Corresponding Source.)
5. Combined Libraries.
You may place library facilities that are a work based on the
Library side by side in a single library together with other library
facilities that are not Applications and are not covered by this
License, and convey such a combined library under terms of your
choice, if you do both of the following:
a) Accompany the combined library with a copy of the same work based
on the Library, uncombined with any other library facilities,
conveyed under the terms of this License.
b) Give prominent notice with the combined library that part of it
is a work based on the Library, and explaining where to find the
accompanying uncombined form of the same work.
6. Revised Versions of the GNU Lesser General Public License.
The Free Software Foundation may publish revised and/or new versions
of the GNU Lesser General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the
Library as you received it specifies that a certain numbered version
of the GNU Lesser General Public License "or any later version"
applies to it, you have the option of following the terms and
conditions either of that published version or of any later version
published by the Free Software Foundation. If the Library as you
received it does not specify a version number of the GNU Lesser
General Public License, you may choose any version of the GNU Lesser
General Public License ever published by the Free Software Foundation.
If the Library as you received it specifies that a proxy can decide
whether future versions of the GNU Lesser General Public License shall
apply, that proxy's public statement of acceptance of any version is
permanent authorization for you to choose that version for the
Library.

@ -0,0 +1,13 @@
AsciiMathML formula editor for Dokeos
Author: Ivan Tcholakov (ivantcholakov@gmail.com), August 2009.
This work is a port for the FCKEditor of Equation plugin for the Xinha editor (http://xinha.org)
by Raimund Meyer (ray) xinha@raimundmeyer.de, November 2006.
The plugin relies on ASCIIMathML.js, a javascript library for translating ASCII math notation to MathML
by Peter Jipsen (http://www.chapman.edu/~jipsen).
License:
GNU Lesser General Public License, Version 3, 29 June 2007
by Free Software Foundation, Inc. (http://www.gnu.org/licenses/lgpl.html)

@ -0,0 +1,82 @@
/*
* Dokeos - elearning and course management software
*
* Copyright (c) 2009 Dokeos SPRL
* Copyright (c) 2009 Ivan Tcholakov <ivantcholakov@gmail.com>
*
* For a full list of contributors, see "credits.txt".
* The full license can be read in "license.txt".
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* See the GNU General Public License for more details.
*
* Contact address: Dokeos, rue du Corbeau, 108, B-1030 Brussels, Belgium
* Mail: info@dokeos.com
*/
/*
* A fragment of the original source code of FCKeditor version 2.6.4.1
* is used in this file.
*
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
*/
// Logic-improvement for ensuring that English language will be shown at least, when the required language file is missing.
FCKPlugin.prototype.Load = function()
{
// Logic-modification.
switch ( this.Name )
{
// The following plugins do not need language files or they load language files in their own way.
case 'dragresizetable':
case 'tablecommands':
case 'ImageManager':
case 'prompt':
// In this case we have to clear the list of available languages.
this.AvailableLangs = null ;
this.AvailableLangs = new Array() ;
break ;
// The following plugins have all needed language files, default logic works well for them.
case 'customizations':
case 'audio':
case 'fckEmbedMovies':
case 'flvPlayer':
case 'youtube':
case 'googlemaps':
case 'mimetex':
case 'wikilink':
case 'imgmap':
// No actions are needed for fully integrated plugins.
break ;
// For new (unknown) plugins we assume that the English language file always exists.
default:
// English language is loaded first, later the required language is to be loaded.
LoadScript( this.Path + 'lang/en.js' ) ;
}
// End of logic-modification.
// Load the language file, if defined.
if ( this.AvailableLangs.length > 0 )
{
var sLang ;
// Check if the plugin has the language file for the active language.
if ( this.AvailableLangs.IndexOf( FCKLanguageManager.ActiveLanguage.Code ) >= 0 )
sLang = FCKLanguageManager.ActiveLanguage.Code ;
else
// Load the default language file (first one) if the current one is not available.
sLang = this.AvailableLangs[0] ;
// Add the main plugin script.
LoadScript( this.Path + 'lang/' + sLang + '.js' ) ;
}
// Add the main plugin script.
LoadScript( this.Path + 'fckplugin.js' ) ;
}

@ -35,9 +35,6 @@
* @return boolean
*/
//require_once api_get_path(LIBRARY_PATH).'/media.lib.php'; // This fails in some pages (Tests).
require_once dirname(__FILE__).'/../media.lib.php';
function FCKeditor_IsCompatibleBrowser()
{
if ( isset( $_SERVER ) ) {
@ -590,6 +587,7 @@ class FCKeditor
$config['FlashPlayerAudio'] = Media::get_path(FLASH_PLAYER_AUDIO, REL_PATH);
$config['FlashPlayerVideo'] = Media::get_path(FLASH_PLAYER_VIDEO, REL_PATH);
$config['ScriptSWFObject'] = Media::get_path(SCRIPT_SWFOBJECT, REL_PATH);
$config['ScriptASCIIMathML'] = Media::get_path(SCRIPT_ASCIIMATHML, REL_PATH);
return $config;
}

@ -48,25 +48,18 @@ FCKConfig.SmileyWindowHeight = 250 ;
/*
* Plugins.
* Loading plugins integrated by the Dokeos team. To enable/disable them, see myconfig.php.
*/
// Loading integrated by the Dokeos team plugins. To enable/disable them, see myconfig.php.
// This is a list of all supported by the online editor languages.
FCKConfig.AvailableLanguages = 'en,af,ar,bg,bn,bs,ca,cs,da,de,el,en-au,en-ca,en-uk,eo,es,et,eu,fa,fi,fo,fr-ca,fr,gl,gu,he,hi,hr,hu,is,it,ja,km,ko,lt,lv,mn,ms,nb,nl,no,pl,pt-br,pt,ro,ru,sk,sl,sr-latn,sr,sv,th,tr,uk,vi,zh-cn,zh' ;
// Loadding additional script that ensures the English language will be shown for plugins, if they are not provided with the requiested language files.
LoadScript( FCKConfig.PluginsPath + 'customizations/fckplugin_load.js' ) ;
// Reading the list of the enabled in myconfig.php plugins.
FCKConfig.LoadPlugin = eval( '(' + FCKConfig.PageConfig.LoadPlugin + ')' ) ;
// Loading the enabled plugins.
for ( var i = 0 ; i < FCKConfig.LoadPlugin.length ; i++ ) {
switch ( FCKConfig.LoadPlugin[i] ) {
// These plugins do not need language files or they load lannguage files in their own way.
case 'dragresizetable':
case 'tablecommands':
case 'ImageManager':
case 'prompt':
FCKConfig.Plugins.Add( FCKConfig.LoadPlugin[i] ) ;
break ;
default:
// The rest of the plugins require loading language files.
FCKConfig.Plugins.Add( FCKConfig.LoadPlugin[i], FCKConfig.AvailableLanguages ) ;
}
FCKConfig.Plugins.Add( FCKConfig.LoadPlugin[i], FCKConfig.AvailableLanguages ) ;
}
// API-key for the "googlemaps" plugin.
@ -80,6 +73,11 @@ FCKConfig.GoogleMaps_Key = 'ABQIAAAAlXu5Pw6DFAUgqM2wQn01gxT2yXp_ZAY8_ufC3CFXhHIE
// Probably this plugin will be removed at the next release.
//FCKConfig.Plugins.Add('Flash', 'en') ;
/*
* Loading custom plugins.
*/
// You may add your own plugins here, i.e. write something as follows:
// FCKConfig.Plugins.Add('my_plugin', 'en') ;

@ -76,7 +76,7 @@ $config['ToolbarSets']['Directory'] = 'default';
*/
// customizations : This plugin has been developed by the Dokeos team for editor's integration within the system.
// Please, do not disable it.
// The plugin should be loaded first, before all other plugins. Please, do not disable it.
$config['LoadPlugin'][] = 'customizations';
// dragresizetable & tablecommands : Plugins for improvement table-related operations.
@ -158,6 +158,13 @@ if (IS_WINDOWS_OS) {
// Timeout for MimeTeX executable file detection - keep this value as low as possible, especially on Windows servers.
$config['MimetexExecutableDetectionTimeout'] = 0.05;
// asciimath : Yet another plugin for inserting mathematical formulas.
// An additional javascript library ASCIIMathML.js has to be inserted within the pages with formulas.
// After enabling it, this plugin is configured to work with full-page html documents out-of-the box.
// You may try it in the "Documents" and "Wiki" tools.
// Browser compatibility: Internet Explorer 6.0+ with MathPlayer plugin, Mozilla Firefox 2.0+, Opera 9.5+
//$config['LoadPlugin'][] = 'asciimath';
// wikilink : Adds a dialog for inserting wiki-formatted links.
$config['LoadPlugin'][] = 'wikilink';

@ -12,7 +12,7 @@ $config['ToolbarSets']['Normal'] = array(
array('NewPage','Templates','Save','Print','PageBreak','FitWindow','-','PasteWord','-','Undo','Redo','-','SelectAll','-','Find'),
array('Bold','Italic','Underline'),
array('Link','Unlink','Anchor'),
array('Image','flvPlayer','Flash','EmbedMovies','YouTube','MP3','mimetex'),
array('Image','flvPlayer','Flash','EmbedMovies','YouTube','MP3','mimetex','asciimath'),
array('Table','Smiley','SpecialChar','googlemaps'),
array('FontFormat','FontName','FontSize'),
array('JustifyLeft','JustifyCenter','JustifyRight','-','OrderedList','UnorderedList','-','Outdent','Indent','-','TextColor','BGColor'),

@ -11,7 +11,7 @@
$config['ToolbarSets']['Normal'] = array(
array('Save','FitWindow','PasteWord','-','Undo','Redo'),
array('Link','Unlink','Anchor','Glossary'),
array('Image','flvPlayer','Flash','EmbedMovies','YouTube','MP3','mimetex'),
array('Image','flvPlayer','Flash','EmbedMovies','YouTube','MP3','mimetex','asciimath'),
array('Table','SpecialChar'),
array('Outdent','Indent','-','TextColor','BGColor','-','OrderedList','UnorderedList','-','Source'),
'/',

@ -11,7 +11,7 @@
$config['ToolbarSets']['Normal'] = array(
array('Save','FitWindow','PasteWord','-','Undo','Redo'),
array('Link','Unlink','Anchor'),
array('Image','flvPlayer','Flash','EmbedMovies','YouTube','MP3','mimetex'),
array('Image','flvPlayer','Flash','EmbedMovies','YouTube','MP3','mimetex','asciimath'),
array('Table','SpecialChar'),
array('Outdent','Indent','-','TextColor','BGColor','-','OrderedList','UnorderedList'),
'/',

@ -11,7 +11,7 @@
$config['ToolbarSets']['Normal'] = array(
array('PasteWord','-','Undo','Redo'),
array('Link','Unlink','Anchor'),
array('Image','flvPlayer','Flash','EmbedMovies','YouTube','MP3','mimetex','Table','SpecialChar'),
array('Image','flvPlayer','Flash','EmbedMovies','YouTube','MP3','mimetex','asciimath','Table','SpecialChar'),
array('Outdent','Indent','TextColor','BGColor','-','OrderedList','UnorderedList','JustifyLeft','JustifyCenter','JustifyRight'),
'/',
array('Style','FontFormat','FontName','FontSize'),

@ -11,7 +11,7 @@
$config['ToolbarSets']['Normal'] = array(
array('NewPage','Templates','Save','PageBreak','Preview','FitWindow','-','PasteText','-','Undo','Redo','-','SelectAll','-','Find'),
array('Wikilink','Link','Unlink','Anchor'),
array('Image','flvPlayer','Flash','EmbedMovies','YouTube','MP3','mimetex'),
array('Image','flvPlayer','Flash','EmbedMovies','YouTube','MP3','mimetex','asciimath'),
array('Table','Smiley','SpecialChar','googlemaps'),
array('FontFormat','FontName','FontSize'),
array('Bold','Italic','Underline'),

@ -11,7 +11,7 @@
$config['ToolbarSets']['Normal'] = array(
array('NewPage','Save','PageBreak','Preview','FitWindow','-','PasteText','-','Undo','Redo','-','SelectAll','-','Find'),
array('Wikilink','Link','Unlink','Anchor'),
array('Image','flvPlayer','Flash','EmbedMovies','YouTube','MP3','mimetex'),
array('Image','flvPlayer','Flash','EmbedMovies','YouTube','MP3','mimetex','asciimath'),
array('Table','Smiley','SpecialChar','googlemaps'),
array('FontFormat','FontName','FontSize'),
array('Bold','Italic','Underline'),

@ -19,7 +19,7 @@ $config['ToolbarSets']['Normal'] = array(
'/',
array('Style','FontFormat','FontName','FontSize'),
array('TextColor','BGColor'),
array('Rule','Table','SpecialChar','mimetex'),
array('Rule','Table','SpecialChar','mimetex','asciimath'),
array('Source')
);
@ -35,7 +35,7 @@ $config['ToolbarSets']['Maximized'] = array(
array('OrderedList','UnorderedList','-','Outdent','Indent','Blockquote','CreateDiv'),
array('JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'),
array('Rule','SpecialChar','PageBreak'),
array('mimetex','Image','imgmapPopup','Flash','MP3','EmbedMovies','flvPlayer','YouTube','googlemaps','Smiley'),
array('mimetex','asciimath','Image','imgmapPopup','Flash','MP3','EmbedMovies','flvPlayer','YouTube','googlemaps','Smiley'),
'/',
array('Style','FontFormat','FontName','FontSize'),
array('TextColor','BGColor'),

@ -19,7 +19,7 @@ $config['ToolbarSets']['Normal'] = array(
'/',
array('Style','FontFormat','FontName','FontSize'),
array('TextColor','BGColor'),
array('Rule','Table','SpecialChar','mimetex')
array('Rule','Table','SpecialChar','mimetex','asciimath')
);
// This is the visible toolbar set when the editor is maximized.
@ -34,7 +34,7 @@ $config['ToolbarSets']['Maximized'] = array(
array('OrderedList','UnorderedList','-','Outdent','Indent','Blockquote','CreateDiv'),
array('JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'),
array('Rule','SpecialChar','PageBreak'),
array('mimetex','Image','imgmapPopup','Flash','MP3','EmbedMovies','flvPlayer','googlemaps','Smiley'),
array('mimetex','asciimath','Image','imgmapPopup','Flash','MP3','EmbedMovies','flvPlayer','googlemaps','Smiley'),
'/',
array('Style','FontFormat','FontName','FontSize'),
array('TextColor','BGColor'),

@ -19,7 +19,7 @@ $config['ToolbarSets']['Normal'] = array(
'/',
array('Style','FontFormat','FontName','FontSize'),
array('TextColor','BGColor'),
array('Rule','Table','SpecialChar','mimetex'),
array('Rule','Table','SpecialChar','mimetex','asciimath'),
array('Source')
);
@ -35,7 +35,7 @@ $config['ToolbarSets']['Maximized'] = array(
array('OrderedList','UnorderedList','-','Outdent','Indent','Blockquote','CreateDiv'),
array('JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'),
array('Rule','SpecialChar','PageBreak'),
array('mimetex','Image','imgmapPopup','Flash','MP3','EmbedMovies','flvPlayer','YouTube','googlemaps','Smiley'),
array('mimetex','asciimath','Image','imgmapPopup','Flash','MP3','EmbedMovies','flvPlayer','YouTube','googlemaps','Smiley'),
'/',
array('Style','FontFormat','FontName','FontSize'),
array('TextColor','BGColor'),

@ -19,7 +19,7 @@ $config['ToolbarSets']['Normal'] = array(
'/',
array('Style','FontFormat','FontName','FontSize'),
array('TextColor','BGColor'),
array('Rule','Table','SpecialChar','mimetex'),
array('Rule','Table','SpecialChar','mimetex','asciimath'),
array('Source')
);
@ -35,7 +35,7 @@ $config['ToolbarSets']['Maximized'] = array(
array('OrderedList','UnorderedList','-','Outdent','Indent','Blockquote','CreateDiv'),
array('JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'),
array('Rule','SpecialChar','PageBreak'),
array('mimetex','Image','imgmapPopup','Flash','MP3','EmbedMovies','flvPlayer','YouTube','googlemaps','Smiley'),
array('mimetex','asciimath','Image','imgmapPopup','Flash','MP3','EmbedMovies','flvPlayer','YouTube','googlemaps','Smiley'),
'/',
array('Style','FontFormat','FontName','FontSize'),
array('TextColor','BGColor'),

@ -19,7 +19,7 @@ $config['ToolbarSets']['Normal'] = array(
'/',
array('Style','FontFormat','FontName','FontSize'),
array('TextColor','BGColor'),
array('Rule','Table','SpecialChar','mimetex')
array('Rule','Table','SpecialChar','mimetex','asciimath')
);
// This is the visible toolbar set when the editor is maximized.
@ -34,7 +34,7 @@ $config['ToolbarSets']['Maximized'] = array(
array('OrderedList','UnorderedList','-','Outdent','Indent','Blockquote','CreateDiv'),
array('JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'),
array('Rule','SpecialChar','PageBreak'),
array('mimetex','Image','imgmapPopup','Flash','MP3','EmbedMovies','flvPlayer','googlemaps','Smiley'),
array('mimetex','asciimath','Image','imgmapPopup','Flash','MP3','EmbedMovies','flvPlayer','googlemaps','Smiley'),
'/',
array('Style','FontFormat','FontName','FontSize'),
array('TextColor','BGColor'),

@ -4,6 +4,7 @@
define('FLASH_PLAYER_AUDIO', 'FLASH_PLAYER_AUDIO');
define('FLASH_PLAYER_VIDEO', 'FLASH_PLAYER_VIDEO');
define('SCRIPT_SWFOBJECT', 'SCRIPT_SWFOBJECT');
define('SCRIPT_ASCIIMATHML', 'SCRIPT_ASCIIMATHML');
/**
* A static class for serving the Dokeos system's multi-media features.
@ -13,7 +14,7 @@ class Media {
/**
* This method returns the path (location) of a specified multi-media resource file.
* @param string $media_resource The identificator of the requested resource: FLASH_PLAYER_AUDIO, FLASH_PLAYER_VIDEO, SCRIPT_SWFOBJECT
* @param string $media_resource The identificator of the requested resource: FLASH_PLAYER_AUDIO, FLASH_PLAYER_VIDEO, SCRIPT_SWFOBJECT, SCRIPT_ASCIIMATHML
* @param string $path_type (optional) Type (or base) of the returned path, it can be: WEB_PATH, SYS_PATH, REL_PATH (default)
* @return string Path to access the requeted media-related file.
* Note: At the moment returned paths are based on hard-coded data. Configuration data may be used in the future.
@ -29,10 +30,17 @@ class Media {
case SCRIPT_SWFOBJECT:
$relative_path = 'main/inc/lib/swfobject/swfobject.js';
break;
case SCRIPT_ASCIIMATHML:
$relative_path = 'main/inc/lib/asciimath/ASCIIMathML.js';
break;
default:
$relative_path = '';
return '';
}
$base_path = api_get_path($path_type);
if (empty($base_path)) {
return '';
}
return api_get_path($path_type).$relative_path;
return $base_path.$relative_path;
}
}

@ -1,17 +1,14 @@
<?php
require_once(api_get_path(LIBRARY_PATH).'media.lib.php');
define('FLASH_PLAYER_AUDIO', 'FLASH_PLAYER_AUDIO');
define('FLASH_PLAYER_VIDEO', 'FLASH_PLAYER_VIDEO');
define('SCRIPT_SWFOBJECT', 'SCRIPT_SWFOBJECT');
class TestMedia extends UnitTestCase {
public function testget_path() {
$media_resource='';
$res=Media::get_path($media_resource,$path_type = REL_PATH);
$this->assertTrue(is_string($res));
//var_dump($res);
$result1 = Media::get_path(FLASH_PLAYER_AUDIO, REL_PATH);
$result2 = Media::get_path(FLASH_PLAYER_VIDEO, WEB_PATH);
$result3 = Media::get_path(SCRIPT_SWFOBJECT, SYS_PATH);
$result4 = Media::get_path(SCRIPT_ASCIIMATHML, REL_PATH);
$this->assertTrue(!empty($result1) && !empty($result2) && !empty($result3) && !empty($result4));
}
}
?>

Loading…
Cancel
Save