<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[169305] trunk</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/169305">169305</a></dd>
<dt>Author</dt> <dd>fred.wang@free.fr</dd>
<dt>Date</dt> <dd>2014-05-23 21:56:50 -0700 (Fri, 23 May 2014)</dd>
</dl>
<h3>Log Message</h3>
<pre>Use size variants and glyph assembly from the MATH data.
https://bugs.webkit.org/show_bug.cgi?id=130322
Reviewed by Chris Fleizach.
Source/WebCore:
This patch modifies the RenderMathMLOperator code to use the MATH table
when one is provided in the current font on the <math> tag. More
precisely, the MathVariants table is used to draw a size variant or
a glyph assembly. The displaystyle attribute is not supported yet, so
for now large operators are always assumed to be in display style. The
MATH support does not work well with all platforms+fonts, so at the
moment the default font-family on the <math> is not changed.
Tests: mathml/opentype/large-operators-LatinModern.html
mathml/opentype/opentype-stretchy.html
mathml/opentype/vertical-LatinModern.html
* css/mathml.css: We only specify the default font-family on the math root, so that people can easily style the mathematics.
For now, old fonts without the MATH table are still used as the default.
(math):
(math, mfenced > *): Deleted.
(mo, mfenced): Deleted.
* platform/graphics/SimpleFontData.cpp: don't return the math data if the font is loading.
(WebCore::SimpleFontData::mathData):
* platform/graphics/opentype/OpenTypeMathData.cpp: update #ifdef so that disabling ENABLE_OPENTYPE_MATH won't lead to errors with unused parameters.
(WebCore::OpenTypeMathData::OpenTypeMathData):
(WebCore::OpenTypeMathData::getMathConstant):
(WebCore::OpenTypeMathData::getItalicCorrection):
(WebCore::OpenTypeMathData::getMathVariants):
* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::boundsForGlyph):
(WebCore::RenderMathMLOperator::heightForGlyph):
(WebCore::RenderMathMLOperator::advanceForGlyph):
(WebCore::RenderMathMLOperator::computePreferredLogicalWidths): We handle preferred width of size variants.
(WebCore::RenderMathMLOperator::shouldAllowStretching): This function now only returns whether the operator will stretch and no longer has side effect.
(WebCore::RenderMathMLOperator::getGlyphAssemblyFallBack): We add a function to convert from the MathVariant table data to the format supported by RenderMathMLOperator.
(WebCore::RenderMathMLOperator::getDisplayStyleLargeOperator): We add a function to get the glyph that will be used for large operators in display style.
(WebCore::RenderMathMLOperator::findStretchyData): We make this function handle size variants.
(WebCore::RenderMathMLOperator::updateStyle): We handle size variants.
(WebCore::RenderMathMLOperator::paint): We handle size variants.
* rendering/mathml/RenderMathMLOperator.h:
LayoutTests:
This adds some pixel tests for large operators and vertical stretchy operators.
* mathml/opentype/LICENSE-LatinModern.txt: Added.
* mathml/opentype/large-operators-LatinModern.html: Added.
* mathml/opentype/latinmodern-math.woff: Added.
* mathml/opentype/opentype-stretchy.html: Added.
* mathml/opentype/stretchy.woff: Added.
* mathml/opentype/vertical-LatinModern.html: Added.
* platform/efl/mathml/opentype/large-operators-LatinModern-expected.png: Added.
* platform/efl/mathml/opentype/large-operators-LatinModern-expected.txt: Added.
* platform/efl/mathml/opentype/opentype-stretchy-expected.png: Added.
* platform/efl/mathml/opentype/opentype-stretchy-expected.txt: Added.
* platform/efl/mathml/opentype/vertical-LatinModern-expected.png: Added.
* platform/efl/mathml/opentype/vertical-LatinModern-expected.txt: Added.
* platform/gtk/mathml/opentype/large-operators-LatinModern-expected.png: Added.
* platform/gtk/mathml/opentype/large-operators-LatinModern-expected.txt: Added.
* platform/gtk/mathml/opentype/opentype-stretchy-expected.png: Added.
* platform/gtk/mathml/opentype/opentype-stretchy-expected.txt: Added.
* platform/gtk/mathml/opentype/vertical-LatinModern-expected.png: Added.
* platform/gtk/mathml/opentype/vertical-LatinModern-expected.txt: Added.
* platform/gtk/mathml/presentation/mo-stretch-expected.png: update reference due to change in mathml.css
* platform/gtk/mathml/presentation/mo-stretch-expected.txt: ditto
* platform/mac/mathml/opentype/large-operators-LatinModern-expected.txt: Added.
* platform/mac/mathml/opentype/opentype-stretchy-expected.txt: Added.
* platform/mac/mathml/opentype/vertical-LatinModern-expected.txt: Added.
* platform/mac-wk2/mathml/opentype/large-operators-LatinModern-expected.txt: Added.
* platform/mac-wk2/mathml/opentype/opentype-stretchy-expected.txt: Added.
* platform/mac-wk2/mathml/opentype/vertical-LatinModern-expected.txt: Added.
* platform/win/TestExpectations: Mark the OpenType MATH tests as failing</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsplatformgtkmathmlpresentationmostretchexpectedpng">trunk/LayoutTests/platform/gtk/mathml/presentation/mo-stretch-expected.png</a></li>
<li><a href="#trunkLayoutTestsplatformgtkmathmlpresentationmostretchexpectedtxt">trunk/LayoutTests/platform/gtk/mathml/presentation/mo-stretch-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformwinTestExpectations">trunk/LayoutTests/platform/win/TestExpectations</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorecssmathmlcss">trunk/Source/WebCore/css/mathml.css</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsSimpleFontDatacpp">trunk/Source/WebCore/platform/graphics/SimpleFontData.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsopentypeOpenTypeMathDatacpp">trunk/Source/WebCore/platform/graphics/opentype/OpenTypeMathData.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingmathmlRenderMathMLOperatorcpp">trunk/Source/WebCore/rendering/mathml/RenderMathMLOperator.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingmathmlRenderMathMLOperatorh">trunk/Source/WebCore/rendering/mathml/RenderMathMLOperator.h</a></li>
</ul>
<h3>Added Paths</h3>
<ul>
<li>trunk/LayoutTests/mathml/opentype/</li>
<li><a href="#trunkLayoutTestsmathmlopentypeLICENSELatinModerntxt">trunk/LayoutTests/mathml/opentype/LICENSE-LatinModern.txt</a></li>
<li><a href="#trunkLayoutTestsmathmlopentypelargeoperatorsLatinModernhtml">trunk/LayoutTests/mathml/opentype/large-operators-LatinModern.html</a></li>
<li><a href="#trunkLayoutTestsmathmlopentypelatinmodernmathwoff">trunk/LayoutTests/mathml/opentype/latinmodern-math.woff</a></li>
<li><a href="#trunkLayoutTestsmathmlopentypeopentypestretchyhtml">trunk/LayoutTests/mathml/opentype/opentype-stretchy.html</a></li>
<li><a href="#trunkLayoutTestsmathmlopentypestretchywoff">trunk/LayoutTests/mathml/opentype/stretchy.woff</a></li>
<li><a href="#trunkLayoutTestsmathmlopentypeverticalLatinModernhtml">trunk/LayoutTests/mathml/opentype/vertical-LatinModern.html</a></li>
<li>trunk/LayoutTests/platform/efl/mathml/opentype/</li>
<li><a href="#trunkLayoutTestsplatformeflmathmlopentypelargeoperatorsLatinModernexpectedpng">trunk/LayoutTests/platform/efl/mathml/opentype/large-operators-LatinModern-expected.png</a></li>
<li><a href="#trunkLayoutTestsplatformeflmathmlopentypelargeoperatorsLatinModernexpectedtxt">trunk/LayoutTests/platform/efl/mathml/opentype/large-operators-LatinModern-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformeflmathmlopentypeopentypestretchyexpectedpng">trunk/LayoutTests/platform/efl/mathml/opentype/opentype-stretchy-expected.png</a></li>
<li><a href="#trunkLayoutTestsplatformeflmathmlopentypeopentypestretchyexpectedtxt">trunk/LayoutTests/platform/efl/mathml/opentype/opentype-stretchy-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformeflmathmlopentypeverticalLatinModernexpectedpng">trunk/LayoutTests/platform/efl/mathml/opentype/vertical-LatinModern-expected.png</a></li>
<li><a href="#trunkLayoutTestsplatformeflmathmlopentypeverticalLatinModernexpectedtxt">trunk/LayoutTests/platform/efl/mathml/opentype/vertical-LatinModern-expected.txt</a></li>
<li>trunk/LayoutTests/platform/gtk/mathml/opentype/</li>
<li><a href="#trunkLayoutTestsplatformgtkmathmlopentypelargeoperatorsLatinModernexpectedpng">trunk/LayoutTests/platform/gtk/mathml/opentype/large-operators-LatinModern-expected.png</a></li>
<li><a href="#trunkLayoutTestsplatformgtkmathmlopentypelargeoperatorsLatinModernexpectedtxt">trunk/LayoutTests/platform/gtk/mathml/opentype/large-operators-LatinModern-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformgtkmathmlopentypeopentypestretchyexpectedpng">trunk/LayoutTests/platform/gtk/mathml/opentype/opentype-stretchy-expected.png</a></li>
<li><a href="#trunkLayoutTestsplatformgtkmathmlopentypeopentypestretchyexpectedtxt">trunk/LayoutTests/platform/gtk/mathml/opentype/opentype-stretchy-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformgtkmathmlopentypeverticalLatinModernexpectedpng">trunk/LayoutTests/platform/gtk/mathml/opentype/vertical-LatinModern-expected.png</a></li>
<li><a href="#trunkLayoutTestsplatformgtkmathmlopentypeverticalLatinModernexpectedtxt">trunk/LayoutTests/platform/gtk/mathml/opentype/vertical-LatinModern-expected.txt</a></li>
<li>trunk/LayoutTests/platform/mac/mathml/opentype/</li>
<li><a href="#trunkLayoutTestsplatformmacmathmlopentypelargeoperatorsLatinModernexpectedtxt">trunk/LayoutTests/platform/mac/mathml/opentype/large-operators-LatinModern-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacmathmlopentypeopentypestretchyexpectedtxt">trunk/LayoutTests/platform/mac/mathml/opentype/opentype-stretchy-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacmathmlopentypeverticalLatinModernexpectedtxt">trunk/LayoutTests/platform/mac/mathml/opentype/vertical-LatinModern-expected.txt</a></li>
<li>trunk/LayoutTests/platform/mac-wk2/mathml/</li>
<li>trunk/LayoutTests/platform/mac-wk2/mathml/opentype/</li>
<li><a href="#trunkLayoutTestsplatformmacwk2mathmlopentypelargeoperatorsLatinModernexpectedtxt">trunk/LayoutTests/platform/mac-wk2/mathml/opentype/large-operators-LatinModern-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacwk2mathmlopentypeopentypestretchyexpectedtxt">trunk/LayoutTests/platform/mac-wk2/mathml/opentype/opentype-stretchy-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacwk2mathmlopentypeverticalLatinModernexpectedtxt">trunk/LayoutTests/platform/mac-wk2/mathml/opentype/vertical-LatinModern-expected.txt</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (169304 => 169305)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2014-05-24 04:35:51 UTC (rev 169304)
+++ trunk/LayoutTests/ChangeLog        2014-05-24 04:56:50 UTC (rev 169305)
</span><span class="lines">@@ -1,3 +1,40 @@
</span><ins>+2014-05-24 Frédéric Wang <fred.wang@free.fr>
+
+ Use size variants and glyph assembly from the MATH data.
+ https://bugs.webkit.org/show_bug.cgi?id=130322
+
+ Reviewed by Chris Fleizach.
+
+ This adds some pixel tests for large operators and vertical stretchy operators.
+
+ * mathml/opentype/LICENSE-LatinModern.txt: Added.
+ * mathml/opentype/large-operators-LatinModern.html: Added.
+ * mathml/opentype/latinmodern-math.woff: Added.
+ * mathml/opentype/opentype-stretchy.html: Added.
+ * mathml/opentype/stretchy.woff: Added.
+ * mathml/opentype/vertical-LatinModern.html: Added.
+ * platform/efl/mathml/opentype/large-operators-LatinModern-expected.png: Added.
+ * platform/efl/mathml/opentype/large-operators-LatinModern-expected.txt: Added.
+ * platform/efl/mathml/opentype/opentype-stretchy-expected.png: Added.
+ * platform/efl/mathml/opentype/opentype-stretchy-expected.txt: Added.
+ * platform/efl/mathml/opentype/vertical-LatinModern-expected.png: Added.
+ * platform/efl/mathml/opentype/vertical-LatinModern-expected.txt: Added.
+ * platform/gtk/mathml/opentype/large-operators-LatinModern-expected.png: Added.
+ * platform/gtk/mathml/opentype/large-operators-LatinModern-expected.txt: Added.
+ * platform/gtk/mathml/opentype/opentype-stretchy-expected.png: Added.
+ * platform/gtk/mathml/opentype/opentype-stretchy-expected.txt: Added.
+ * platform/gtk/mathml/opentype/vertical-LatinModern-expected.png: Added.
+ * platform/gtk/mathml/opentype/vertical-LatinModern-expected.txt: Added.
+ * platform/gtk/mathml/presentation/mo-stretch-expected.png: update reference due to change in mathml.css
+ * platform/gtk/mathml/presentation/mo-stretch-expected.txt: ditto
+ * platform/mac/mathml/opentype/large-operators-LatinModern-expected.txt: Added.
+ * platform/mac/mathml/opentype/opentype-stretchy-expected.txt: Added.
+ * platform/mac/mathml/opentype/vertical-LatinModern-expected.txt: Added.
+ * platform/mac-wk2/mathml/opentype/large-operators-LatinModern-expected.txt: Added.
+ * platform/mac-wk2/mathml/opentype/opentype-stretchy-expected.txt: Added.
+ * platform/mac-wk2/mathml/opentype/vertical-LatinModern-expected.txt: Added.
+ * platform/win/TestExpectations: Mark the OpenType MATH tests as failing
+
</ins><span class="cx"> 2014-05-23 Yusuke Suzuki <utatane.tea@gmail.com>
</span><span class="cx">
</span><span class="cx"> CSS JIT: Apply backtracking optimization to adjacent backtracking
</span></span></pre></div>
<a id="trunkLayoutTestsmathmlopentypeLICENSELatinModerntxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/mathml/opentype/LICENSE-LatinModern.txt (0 => 169305)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/opentype/LICENSE-LatinModern.txt         (rev 0)
+++ trunk/LayoutTests/mathml/opentype/LICENSE-LatinModern.txt        2014-05-24 04:56:50 UTC (rev 169305)
</span><span class="lines">@@ -0,0 +1,30 @@
</span><ins>+% This is a preliminary version (2006-09-30), barring acceptance from
+% the LaTeX Project Team and other feedback, of the GUST Font License.
+% (GUST is the Polish TeX Users Group, http://www.gust.org.pl)
+%
+% For the most recent version of this license see
+% http://www.gust.org.pl/fonts/licenses/GUST-FONT-LICENSE.txt
+% or
+% http://tug.org/fonts/licenses/GUST-FONT-LICENSE.txt
+%
+% This work may be distributed and/or modified under the conditions
+% of the LaTeX Project Public License, either version 1.3c of this
+% license or (at your option) any later version.
+%
+% Please also observe the following clause:
+% 1) it is requested, but not legally required, that derived works be
+% distributed only after changing the names of the fonts comprising this
+% work and given in an accompanying "manifest", and that the
+% files comprising the Work, as listed in the manifest, also be given
+% new names. Any exceptions to this request are also given in the
+% manifest.
+%
+% We recommend the manifest be given in a separate file named
+% MANIFEST-<fontid>.txt, where <fontid> is some unique identification
+% of the font family. If a separate "readme" file accompanies the Work,
+% we recommend a name of the form README-<fontid>.txt.
+%
+% The latest version of the LaTeX Project Public License is in
+% http://www.latex-project.org/lppl.txt and version 1.3c or later
+% is part of all distributions of LaTeX version 2006/05/20 or later.
+
</ins><span class="cx">Property changes on: trunk/LayoutTests/mathml/opentype/LICENSE-LatinModern.txt
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<a id="trunkLayoutTestsmathmlopentypelargeoperatorsLatinModernhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/mathml/opentype/large-operators-LatinModern.html (0 => 169305)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/opentype/large-operators-LatinModern.html         (rev 0)
+++ trunk/LayoutTests/mathml/opentype/large-operators-LatinModern.html        2014-05-24 04:56:50 UTC (rev 169305)
</span><span class="lines">@@ -0,0 +1,20 @@
</span><ins>+<!doctype html>
+<html>
+ <head>
+ <title>Large Operator Latin Modern</title>
+ <meta charset="utf-8"/>
+ <style type="text/css">
+ @font-face {
+ font-family: "Latin Modern Math";
+ src: local("Latin Modern Math"), local("LatinModernMath-Regular"), url("latinmodern-math.woff");
+ }
+ math {
+ font-family: "Latin Modern Math";
+ }
+ </style>
+ </head>
+ <body>
+
+ <math display="block"><mo>∑</mo><mo>∫</mo><mo>∬</mo><mo>∭</mo><mo>⨌</mo><mo>⨁</mo><mo>∮</mo><mo>∯</mo><mo>∰</mo><mo>⋃</mo><mo>⋀</mo><mo>⋁</mo><mo>⋂</mo><mo>⨂</mo><mo>∏</mo><mo>∐</mo></math>
+ </body>
+</html>
</ins><span class="cx">Property changes on: trunk/LayoutTests/mathml/opentype/large-operators-LatinModern.html
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svnmimetype"></a>
<div class="addfile"><h4>Added: svn:mime-type</h4></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<a id="trunkLayoutTestsmathmlopentypelatinmodernmathwoff"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/mathml/opentype/latinmodern-math.woff (0 => 169305)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/opentype/latinmodern-math.woff         (rev 0)
+++ trunk/LayoutTests/mathml/opentype/latinmodern-math.woff        2014-05-24 04:56:50 UTC (rev 169305)
</span><span class="lines">@@ -0,0 +1,3807 @@
</span><ins>+wOFFOTTO ` 1< CFF