Move annotation-xml to an autolaoded extension, and properly handle it in HTML-CSS

This commit is contained in:
Davide P. Cervone 2011-05-15 08:44:12 -04:00
parent 8f20a75ffe
commit 6b06f0ac16
4 changed files with 75 additions and 11 deletions

View File

@ -0,0 +1,16 @@
/*
* /MathJax/jax/output/HTML-CSS/autoload/annotation-xml.js
*
* Copyright (c) 2010 Design Science, Inc.
*
* Part of the MathJax library.
* See http://www.mathjax.org for details.
*
* Licensed under the Apache License, Version 2.0;
* you may not use this file except in compliance with the License.
*
* http://www.apache.org/licenses/LICENSE-2.0
*/
MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function(){var c="1.1";var a=MathJax.ElementJax.mml,b=MathJax.OutputJax["HTML-CSS"];a["annotation-xml"].Augment({toHTML:function(f){f=this.HTMLhandleSize(this.HTMLcreateSpan(f));var g=this.Get("encoding");for(var e=0,d=this.data.length;e<d;e++){this.data[e].toHTML(f,g)}this.HTMLhandleSpace(f);this.HTMLhandleColor(f);return f}});a.xml.Augment({toHTML:function(f,g){for(var e=0,d=this.data.length;e<d;e++){f.appendChild(this.data[e].cloneNode(true))}f.bbox.w=b.getW(f);f.bbox.rw=f.bbox.w;var h=b.getHD(f);f.bbox.h=h.h;f.bbox.d=h.d}});MathJax.Hub.Startup.signal.Post("HTML-CSS annotation-xml Ready");MathJax.Ajax.loadComplete(b.autoloadDir+"/annotation-xml.js")});

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,55 @@
/*************************************************************
*
* MathJax/jax/output/HTML-CSS/autoload/annotation-xm;l.js
*
* Implements the HTML-CSS output for <annotation-xml> elements.
*
* ---------------------------------------------------------------------
*
* Copyright (c) 2011 Design Science, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
var VERSION = "1.1";
var MML = MathJax.ElementJax.mml,
HTMLCSS = MathJax.OutputJax["HTML-CSS"];
MML["annotation-xml"].Augment({
toHTML: function (span) {
span = this.HTMLhandleSize(this.HTMLcreateSpan(span));
var encoding = this.Get("encoding");
for (var i = 0, m = this.data.length; i < m; i++)
{this.data[i].toHTML(span,encoding)}
this.HTMLhandleSpace(span);
this.HTMLhandleColor(span);
return span;
}
});
MML.xml.Augment({
toHTML: function (span,encoding) {
for (var i = 0, m = this.data.length; i < m; i++)
{span.appendChild(this.data[i].cloneNode(true))}
span.bbox.w = HTMLCSS.getW(span); span.bbox.rw = span.bbox.w;
var HD = HTMLCSS.getHD(span);
span.bbox.h = HD.h; span.bbox.d = HD.d;
}
});
MathJax.Hub.Startup.signal.Post("HTML-CSS annotation-xml Ready");
MathJax.Ajax.loadComplete(HTMLCSS.autoloadDir+"/annotation-xml.js");
});

View File

@ -1459,15 +1459,6 @@
this.HTMLhandleVariant(span,variant,this.toString().replace(/[\u2061-\u2064]/g,"")); // remove invisibles
}
});
MML.xml.Augment({
toHTML: function (span,variant) {
for (var i = 0, m = this.data.length; i < m; i++)
{span.appendChild(this.data[i].cloneNode(true))}
span.bbox.w = HTMLCSS.getW(span); span.bbox.rw = span.bbox.w;
var HD = HTMLCSS.getHD(span);
span.bbox.h = HD.h; span.bbox.d = HD.d;
}
});
MML.mi.Augment({
toHTML: function (span) {
@ -2042,7 +2033,9 @@
MML.mmultiscripts.Augment({toHTML: MML.mbase.HTMLautoload});
MML.mtable.Augment({toHTML: MML.mbase.HTMLautoload});
MML["annotation-xml"].Augment({toHTML: MML.mbase.HTMLautoload});
MML.math.Augment({
toHTML: function (span,node) {
var alttext = this.Get("alttext"); if (alttext) {node.setAttribute("aria-label",alttext)}