mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-24 21:31:04 +00:00
Bug 1674594 - Remove the obsolete nsMathMLmfencedFrame and associated pref and tests. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D95451
This commit is contained in:
parent
751a932372
commit
a5415dec54
@ -4715,16 +4715,6 @@ nsCSSFrameConstructor::FindMathMLData(const Element& aElement,
|
||||
return &sInlineMathData;
|
||||
}
|
||||
|
||||
if (!StaticPrefs::mathml_mfenced_element_disabled() &&
|
||||
tag == nsGkAtoms::mfenced_) {
|
||||
// These flags are the same as those of SIMPLE_MATHML_CREATE.
|
||||
static const FrameConstructionData sMathFencedData = FCDATA_DECL(
|
||||
FCDATA_DISALLOW_OUT_OF_FLOW | FCDATA_FORCE_NULL_ABSPOS_CONTAINER |
|
||||
FCDATA_WRAP_KIDS_IN_BLOCKS,
|
||||
NS_NewMathMLmfencedFrame);
|
||||
return &sMathFencedData;
|
||||
}
|
||||
|
||||
static const FrameConstructionDataByTag sMathMLData[] = {
|
||||
SIMPLE_MATHML_CREATE(annotation_, NS_NewMathMLTokenFrame),
|
||||
SIMPLE_MATHML_CREATE(annotation_xml_, NS_NewMathMLmrowFrame),
|
||||
|
@ -54,7 +54,6 @@ FRAME_CLASSES = [
|
||||
Frame("nsMathMLmathBlockFrame", "Block", NOT_LEAF),
|
||||
Frame("nsMathMLmathInlineFrame", "Inline", NOT_LEAF),
|
||||
Frame("nsMathMLmencloseFrame", "None", NOT_LEAF),
|
||||
Frame("nsMathMLmfencedFrame", "None", NOT_LEAF),
|
||||
Frame("nsMathMLmfracFrame", "None", NOT_LEAF),
|
||||
Frame("nsMathMLmmultiscriptsFrame", "None", NOT_LEAF),
|
||||
Frame("nsMathMLmoFrame", "None", NOT_LEAF),
|
||||
|
@ -21,7 +21,6 @@ UNIFIED_SOURCES += [
|
||||
"nsMathMLFrame.cpp",
|
||||
"nsMathMLmactionFrame.cpp",
|
||||
"nsMathMLmencloseFrame.cpp",
|
||||
"nsMathMLmfencedFrame.cpp",
|
||||
"nsMathMLmfracFrame.cpp",
|
||||
"nsMathMLmmultiscriptsFrame.cpp",
|
||||
"nsMathMLmoFrame.cpp",
|
||||
|
@ -34,8 +34,6 @@ class PresShell;
|
||||
0x00000002 // size calculations include embellishments
|
||||
|
||||
class nsMathMLContainerFrame : public nsContainerFrame, public nsMathMLFrame {
|
||||
friend class nsMathMLmfencedFrame;
|
||||
|
||||
public:
|
||||
nsMathMLContainerFrame(ComputedStyle* aStyle, nsPresContext* aPresContext,
|
||||
ClassID aID)
|
||||
|
@ -29,8 +29,6 @@ nsIFrame* NS_NewMathMLmspaceFrame(mozilla::PresShell* aPresShell,
|
||||
mozilla::ComputedStyle* aStyle);
|
||||
nsIFrame* NS_NewMathMLmsFrame(mozilla::PresShell* aPresShell,
|
||||
mozilla::ComputedStyle* aStyle);
|
||||
nsIFrame* NS_NewMathMLmfencedFrame(mozilla::PresShell* aPresShell,
|
||||
mozilla::ComputedStyle* aStyle);
|
||||
nsIFrame* NS_NewMathMLmfracFrame(mozilla::PresShell* aPresShell,
|
||||
mozilla::ComputedStyle* aStyle);
|
||||
nsIFrame* NS_NewMathMLmsubFrame(mozilla::PresShell* aPresShell,
|
||||
|
@ -1,644 +0,0 @@
|
||||
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#include "gfxContext.h"
|
||||
#include "mozilla/PresShell.h"
|
||||
#include "nsMathMLmfencedFrame.h"
|
||||
#include "nsMathMLChar.h"
|
||||
#include <algorithm>
|
||||
|
||||
using namespace mozilla;
|
||||
|
||||
using mozilla::gfx::DrawTarget;
|
||||
|
||||
//
|
||||
// <mfenced> -- surround content with a pair of fences
|
||||
//
|
||||
|
||||
nsIFrame* NS_NewMathMLmfencedFrame(PresShell* aPresShell,
|
||||
ComputedStyle* aStyle) {
|
||||
return new (aPresShell)
|
||||
nsMathMLmfencedFrame(aStyle, aPresShell->GetPresContext());
|
||||
}
|
||||
|
||||
NS_IMPL_FRAMEARENA_HELPERS(nsMathMLmfencedFrame)
|
||||
|
||||
void nsMathMLmfencedFrame::DestroyFrom(nsIFrame* aDestructRoot,
|
||||
PostDestroyData& aPostDestroyData) {
|
||||
RemoveFencesAndSeparators();
|
||||
nsMathMLContainerFrame::DestroyFrom(aDestructRoot, aPostDestroyData);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsMathMLmfencedFrame::InheritAutomaticData(nsIFrame* aParent) {
|
||||
// let the base class get the default from our parent
|
||||
nsMathMLContainerFrame::InheritAutomaticData(aParent);
|
||||
|
||||
mPresentationData.flags |= NS_MATHML_STRETCH_ALL_CHILDREN_VERTICALLY;
|
||||
|
||||
RemoveFencesAndSeparators();
|
||||
CreateFencesAndSeparators(PresContext());
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
void nsMathMLmfencedFrame::SetInitialChildList(ChildListID aListID,
|
||||
nsFrameList& aChildList) {
|
||||
// First, let the base class do its work
|
||||
nsMathMLContainerFrame::SetInitialChildList(aListID, aChildList);
|
||||
|
||||
// InheritAutomaticData will not get called if our parent is not a mathml
|
||||
// frame, so initialize NS_MATHML_STRETCH_ALL_CHILDREN_VERTICALLY for
|
||||
// GetPreferredStretchSize() from Reflow().
|
||||
mPresentationData.flags |= NS_MATHML_STRETCH_ALL_CHILDREN_VERTICALLY;
|
||||
// No need to track the ComputedStyle given to our MathML chars.
|
||||
// The Style System will use Get/SetAdditionalComputedStyle() to keep them
|
||||
// up-to-date if dynamic changes arise.
|
||||
CreateFencesAndSeparators(PresContext());
|
||||
}
|
||||
|
||||
nsresult nsMathMLmfencedFrame::AttributeChanged(int32_t aNameSpaceID,
|
||||
nsAtom* aAttribute,
|
||||
int32_t aModType) {
|
||||
RemoveFencesAndSeparators();
|
||||
CreateFencesAndSeparators(PresContext());
|
||||
|
||||
return nsMathMLContainerFrame::AttributeChanged(aNameSpaceID, aAttribute,
|
||||
aModType);
|
||||
}
|
||||
|
||||
nsresult nsMathMLmfencedFrame::ChildListChanged(int32_t aModType) {
|
||||
RemoveFencesAndSeparators();
|
||||
CreateFencesAndSeparators(PresContext());
|
||||
|
||||
return nsMathMLContainerFrame::ChildListChanged(aModType);
|
||||
}
|
||||
|
||||
void nsMathMLmfencedFrame::RemoveFencesAndSeparators() {
|
||||
MarkNeedsDisplayItemRebuild();
|
||||
delete mOpenChar;
|
||||
delete mCloseChar;
|
||||
if (mSeparatorsChar) delete[] mSeparatorsChar;
|
||||
|
||||
mOpenChar = nullptr;
|
||||
mCloseChar = nullptr;
|
||||
mSeparatorsChar = nullptr;
|
||||
mSeparatorsCount = 0;
|
||||
}
|
||||
|
||||
void nsMathMLmfencedFrame::CreateFencesAndSeparators(
|
||||
nsPresContext* aPresContext) {
|
||||
nsAutoString value;
|
||||
|
||||
//////////////
|
||||
// see if the opening fence is there ...
|
||||
if (!mContent->AsElement()->GetAttr(kNameSpaceID_None, nsGkAtoms::open,
|
||||
value)) {
|
||||
value = char16_t('('); // default as per the MathML REC
|
||||
} else {
|
||||
value.CompressWhitespace();
|
||||
}
|
||||
|
||||
if (!value.IsEmpty()) {
|
||||
mOpenChar = new nsMathMLChar;
|
||||
mOpenChar->SetData(value);
|
||||
mOpenChar->SetComputedStyle(Style());
|
||||
}
|
||||
|
||||
//////////////
|
||||
// see if the closing fence is there ...
|
||||
if (!mContent->AsElement()->GetAttr(kNameSpaceID_None, nsGkAtoms::close,
|
||||
value)) {
|
||||
value = char16_t(')'); // default as per the MathML REC
|
||||
} else {
|
||||
value.CompressWhitespace();
|
||||
}
|
||||
|
||||
if (!value.IsEmpty()) {
|
||||
mCloseChar = new nsMathMLChar;
|
||||
mCloseChar->SetData(value);
|
||||
mCloseChar->SetComputedStyle(Style());
|
||||
}
|
||||
|
||||
//////////////
|
||||
// see if separators are there ...
|
||||
if (!mContent->AsElement()->GetAttr(kNameSpaceID_None, nsGkAtoms::separators_,
|
||||
value)) {
|
||||
value = char16_t(','); // default as per the MathML REC
|
||||
} else {
|
||||
value.StripWhitespace();
|
||||
}
|
||||
|
||||
mSeparatorsCount = value.Length();
|
||||
if (0 < mSeparatorsCount) {
|
||||
int32_t sepCount = mFrames.GetLength() - 1;
|
||||
if (0 < sepCount) {
|
||||
mSeparatorsChar = new nsMathMLChar[sepCount];
|
||||
nsAutoString sepChar;
|
||||
for (int32_t i = 0; i < sepCount; i++) {
|
||||
if (i < mSeparatorsCount) {
|
||||
sepChar = value[i];
|
||||
} else {
|
||||
sepChar = value[mSeparatorsCount - 1];
|
||||
}
|
||||
mSeparatorsChar[i].SetData(sepChar);
|
||||
mSeparatorsChar[i].SetComputedStyle(Style());
|
||||
}
|
||||
mSeparatorsCount = sepCount;
|
||||
} else {
|
||||
// No separators. Note that sepCount can be -1 here, so don't
|
||||
// set mSeparatorsCount to it.
|
||||
mSeparatorsCount = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void nsMathMLmfencedFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder,
|
||||
const nsDisplayListSet& aLists) {
|
||||
/////////////
|
||||
// display the content
|
||||
nsMathMLContainerFrame::BuildDisplayList(aBuilder, aLists);
|
||||
|
||||
////////////
|
||||
// display fences and separators
|
||||
uint32_t count = 0;
|
||||
if (mOpenChar) {
|
||||
mOpenChar->Display(aBuilder, this, aLists, count++);
|
||||
}
|
||||
|
||||
if (mCloseChar) {
|
||||
mCloseChar->Display(aBuilder, this, aLists, count++);
|
||||
}
|
||||
|
||||
for (int32_t i = 0; i < mSeparatorsCount; i++) {
|
||||
mSeparatorsChar[i].Display(aBuilder, this, aLists, count++);
|
||||
}
|
||||
}
|
||||
|
||||
/* @param aMetrics is an IN/OUT. Provide the current metrics for the mFenced
|
||||
frame and it will be enlarged as necessary.
|
||||
For simplicity the width of the container is always incremented by the width
|
||||
of the nsMathMLChar. As we only stretch fences and separators in the vertical
|
||||
direction, this has no impact on overall appearance.
|
||||
*/
|
||||
static void ApplyUnstretchedMetrics(nsIFrame* aFrame, DrawTarget* aDrawTarget,
|
||||
float aFontSizeInflation,
|
||||
nsMathMLChar* aMathMLChar,
|
||||
nsBoundingMetrics& aMetrics, bool aIsRTL) {
|
||||
if (aMathMLChar && 0 < aMathMLChar->Length()) {
|
||||
nsBoundingMetrics charSize;
|
||||
aMathMLChar->Stretch(
|
||||
aFrame, aDrawTarget, aFontSizeInflation, NS_STRETCH_DIRECTION_DEFAULT,
|
||||
aMetrics, // size is unimportant as we aren't stretching
|
||||
charSize, NS_STRETCH_NONE, aIsRTL);
|
||||
aMetrics += charSize;
|
||||
}
|
||||
}
|
||||
|
||||
void nsMathMLmfencedFrame::Reflow(nsPresContext* aPresContext,
|
||||
ReflowOutput& aDesiredSize,
|
||||
const ReflowInput& aReflowInput,
|
||||
nsReflowStatus& aStatus) {
|
||||
MarkInReflow();
|
||||
MOZ_ASSERT(aStatus.IsEmpty(), "Caller should pass a fresh reflow status!");
|
||||
|
||||
mPresentationData.flags &= ~NS_MATHML_ERROR;
|
||||
aDesiredSize.ClearSize();
|
||||
aDesiredSize.SetBlockStartAscent(0);
|
||||
aDesiredSize.mBoundingMetrics = nsBoundingMetrics();
|
||||
|
||||
int32_t i;
|
||||
const nsStyleFont* font = StyleFont();
|
||||
float fontSizeInflation = nsLayoutUtils::FontSizeInflationFor(this);
|
||||
RefPtr<nsFontMetrics> fm =
|
||||
nsLayoutUtils::GetFontMetricsForFrame(this, fontSizeInflation);
|
||||
nscoord axisHeight, em;
|
||||
GetAxisHeight(aReflowInput.mRenderingContext->GetDrawTarget(), fm,
|
||||
axisHeight);
|
||||
GetEmHeight(fm, em);
|
||||
// leading to be left at the top and the bottom of stretched chars
|
||||
nscoord leading = NSToCoordRound(0.2f * em);
|
||||
|
||||
/////////////
|
||||
// Reflow children
|
||||
// Asking each child to cache its bounding metrics
|
||||
|
||||
// Note that we don't use the base method nsMathMLContainerFrame::Reflow()
|
||||
// because we want to stretch our fences, separators and stretchy frames using
|
||||
// the *same* initial aDesiredSize.mBoundingMetrics. If we were to use the
|
||||
// base method here, our stretchy frames will be stretched and placed, and we
|
||||
// may end up stretching our fences/separators with a different aDesiredSize.
|
||||
// XXX The above decision was revisited in bug 121748 and this code can be
|
||||
// refactored to use nsMathMLContainerFrame::Reflow() at some stage.
|
||||
|
||||
nsReflowStatus childStatus;
|
||||
nsIFrame* firstChild = PrincipalChildList().FirstChild();
|
||||
nsIFrame* childFrame = firstChild;
|
||||
nscoord ascent = 0, descent = 0;
|
||||
if (firstChild || mOpenChar || mCloseChar || mSeparatorsCount > 0) {
|
||||
// We use the ASCII metrics to get our minimum height. This way,
|
||||
// if we have borders or a background, they will fit better with
|
||||
// other elements on the line.
|
||||
ascent = fm->MaxAscent();
|
||||
descent = fm->MaxDescent();
|
||||
}
|
||||
while (childFrame) {
|
||||
ReflowOutput childDesiredSize(aReflowInput);
|
||||
WritingMode wm = childFrame->GetWritingMode();
|
||||
LogicalSize availSize = aReflowInput.ComputedSize(wm);
|
||||
availSize.BSize(wm) = NS_UNCONSTRAINEDSIZE;
|
||||
ReflowInput childReflowInput(aPresContext, aReflowInput, childFrame,
|
||||
availSize);
|
||||
ReflowChild(childFrame, aPresContext, childDesiredSize, childReflowInput,
|
||||
childStatus);
|
||||
// NS_ASSERTION(childStatus.IsComplete(), "bad status");
|
||||
SaveReflowAndBoundingMetricsFor(childFrame, childDesiredSize,
|
||||
childDesiredSize.mBoundingMetrics);
|
||||
|
||||
mozilla::WritingMode outerWM = aReflowInput.GetWritingMode();
|
||||
nscoord childDescent =
|
||||
childDesiredSize.BSize(outerWM) - childDesiredSize.BlockStartAscent();
|
||||
if (descent < childDescent) descent = childDescent;
|
||||
if (ascent < childDesiredSize.BlockStartAscent())
|
||||
ascent = childDesiredSize.BlockStartAscent();
|
||||
|
||||
childFrame = childFrame->GetNextSibling();
|
||||
}
|
||||
|
||||
/////////////
|
||||
// Ask stretchy children to stretch themselves
|
||||
|
||||
nsBoundingMetrics containerSize;
|
||||
nsStretchDirection stretchDir = NS_STRETCH_DIRECTION_VERTICAL;
|
||||
|
||||
DrawTarget* drawTarget = aReflowInput.mRenderingContext->GetDrawTarget();
|
||||
|
||||
GetPreferredStretchSize(drawTarget, 0, /* i.e., without embellishments */
|
||||
stretchDir, containerSize);
|
||||
childFrame = firstChild;
|
||||
while (childFrame) {
|
||||
nsIMathMLFrame* mathmlChild = do_QueryFrame(childFrame);
|
||||
if (mathmlChild) {
|
||||
ReflowOutput childDesiredSize(aReflowInput);
|
||||
// retrieve the metrics that was stored at the previous pass
|
||||
GetReflowAndBoundingMetricsFor(childFrame, childDesiredSize,
|
||||
childDesiredSize.mBoundingMetrics);
|
||||
|
||||
mathmlChild->Stretch(drawTarget, stretchDir, containerSize,
|
||||
childDesiredSize);
|
||||
// store the updated metrics
|
||||
SaveReflowAndBoundingMetricsFor(childFrame, childDesiredSize,
|
||||
childDesiredSize.mBoundingMetrics);
|
||||
|
||||
nscoord childDescent =
|
||||
childDesiredSize.Height() - childDesiredSize.BlockStartAscent();
|
||||
if (descent < childDescent) descent = childDescent;
|
||||
if (ascent < childDesiredSize.BlockStartAscent())
|
||||
ascent = childDesiredSize.BlockStartAscent();
|
||||
}
|
||||
childFrame = childFrame->GetNextSibling();
|
||||
}
|
||||
|
||||
// bug 121748: for surrounding fences & separators, use a size that covers
|
||||
// everything
|
||||
GetPreferredStretchSize(drawTarget, STRETCH_CONSIDER_EMBELLISHMENTS,
|
||||
stretchDir, containerSize);
|
||||
|
||||
bool isRTL = StyleVisibility()->mDirection == StyleDirection::Rtl;
|
||||
|
||||
// To achieve a minimum size of "1", the container should be enlarged by the
|
||||
// unstretched metrics of the fences and separators.
|
||||
ApplyUnstretchedMetrics(this, drawTarget, fontSizeInflation, mOpenChar,
|
||||
containerSize, isRTL);
|
||||
for (i = 0; i < mSeparatorsCount; i++) {
|
||||
ApplyUnstretchedMetrics(this, drawTarget, fontSizeInflation,
|
||||
&mSeparatorsChar[i], containerSize, isRTL);
|
||||
}
|
||||
ApplyUnstretchedMetrics(this, drawTarget, fontSizeInflation, mCloseChar,
|
||||
containerSize, isRTL);
|
||||
|
||||
//////////////////////////////////////////
|
||||
// Prepare the opening fence, separators, and closing fence, and
|
||||
// adjust the origin of children.
|
||||
|
||||
// we need to center around the axis
|
||||
nscoord delta = std::max(containerSize.ascent - axisHeight,
|
||||
containerSize.descent + axisHeight);
|
||||
containerSize.ascent = delta + axisHeight;
|
||||
containerSize.descent = delta - axisHeight;
|
||||
|
||||
/////////////////
|
||||
// opening fence ...
|
||||
ReflowChar(drawTarget, *fm, fontSizeInflation, mOpenChar,
|
||||
NS_MATHML_OPERATOR_FORM_PREFIX, font->mMathDepth, axisHeight,
|
||||
leading, em, containerSize, ascent, descent, isRTL);
|
||||
/////////////////
|
||||
// separators ...
|
||||
for (i = 0; i < mSeparatorsCount; i++) {
|
||||
ReflowChar(drawTarget, *fm, fontSizeInflation, &mSeparatorsChar[i],
|
||||
NS_MATHML_OPERATOR_FORM_INFIX, font->mMathDepth, axisHeight,
|
||||
leading, em, containerSize, ascent, descent, isRTL);
|
||||
}
|
||||
/////////////////
|
||||
// closing fence ...
|
||||
ReflowChar(drawTarget, *fm, fontSizeInflation, mCloseChar,
|
||||
NS_MATHML_OPERATOR_FORM_POSTFIX, font->mMathDepth, axisHeight,
|
||||
leading, em, containerSize, ascent, descent, isRTL);
|
||||
|
||||
//////////////////
|
||||
// Adjust the origins of each child.
|
||||
// and update our bounding metrics
|
||||
|
||||
i = 0;
|
||||
nscoord dx = 0;
|
||||
nsBoundingMetrics bm;
|
||||
bool firstTime = true;
|
||||
nsMathMLChar *leftChar, *rightChar;
|
||||
if (isRTL) {
|
||||
leftChar = mCloseChar;
|
||||
rightChar = mOpenChar;
|
||||
} else {
|
||||
leftChar = mOpenChar;
|
||||
rightChar = mCloseChar;
|
||||
}
|
||||
|
||||
if (leftChar) {
|
||||
PlaceChar(leftChar, ascent, bm, dx);
|
||||
aDesiredSize.mBoundingMetrics = bm;
|
||||
firstTime = false;
|
||||
}
|
||||
|
||||
if (isRTL) {
|
||||
childFrame = this->GetChildList(nsIFrame::kPrincipalList).LastChild();
|
||||
} else {
|
||||
childFrame = firstChild;
|
||||
}
|
||||
while (childFrame) {
|
||||
ReflowOutput childSize(aReflowInput);
|
||||
GetReflowAndBoundingMetricsFor(childFrame, childSize, bm);
|
||||
if (firstTime) {
|
||||
firstTime = false;
|
||||
aDesiredSize.mBoundingMetrics = bm;
|
||||
} else
|
||||
aDesiredSize.mBoundingMetrics += bm;
|
||||
|
||||
FinishReflowChild(childFrame, aPresContext, childSize, nullptr, dx,
|
||||
ascent - childSize.BlockStartAscent(),
|
||||
ReflowChildFlags::Default);
|
||||
dx += childSize.Width();
|
||||
|
||||
if (i < mSeparatorsCount) {
|
||||
PlaceChar(&mSeparatorsChar[isRTL ? mSeparatorsCount - 1 - i : i], ascent,
|
||||
bm, dx);
|
||||
aDesiredSize.mBoundingMetrics += bm;
|
||||
}
|
||||
i++;
|
||||
|
||||
if (isRTL) {
|
||||
childFrame = childFrame->GetPrevSibling();
|
||||
} else {
|
||||
childFrame = childFrame->GetNextSibling();
|
||||
}
|
||||
}
|
||||
|
||||
if (rightChar) {
|
||||
PlaceChar(rightChar, ascent, bm, dx);
|
||||
if (firstTime)
|
||||
aDesiredSize.mBoundingMetrics = bm;
|
||||
else
|
||||
aDesiredSize.mBoundingMetrics += bm;
|
||||
}
|
||||
|
||||
aDesiredSize.Width() = aDesiredSize.mBoundingMetrics.width;
|
||||
aDesiredSize.Height() = ascent + descent;
|
||||
aDesiredSize.SetBlockStartAscent(ascent);
|
||||
|
||||
SetBoundingMetrics(aDesiredSize.mBoundingMetrics);
|
||||
SetReference(nsPoint(0, aDesiredSize.BlockStartAscent()));
|
||||
|
||||
// see if we should fix the spacing
|
||||
FixInterFrameSpacing(aDesiredSize);
|
||||
|
||||
// Finished with these:
|
||||
ClearSavedChildMetrics();
|
||||
|
||||
// Set our overflow area
|
||||
GatherAndStoreOverflow(&aDesiredSize);
|
||||
|
||||
MOZ_ASSERT(aStatus.IsEmpty(), "This type of frame can't be split.");
|
||||
NS_FRAME_SET_TRUNCATION(aStatus, aReflowInput, aDesiredSize);
|
||||
}
|
||||
|
||||
static void GetCharSpacing(nsMathMLChar* aMathMLChar, nsOperatorFlags aForm,
|
||||
int32_t aScriptLevel, nscoord em,
|
||||
nscoord& aLeftSpace, nscoord& aRightSpace) {
|
||||
nsAutoString data;
|
||||
aMathMLChar->GetData(data);
|
||||
nsOperatorFlags flags = 0;
|
||||
float lspace = 0.0f;
|
||||
float rspace = 0.0f;
|
||||
bool found =
|
||||
nsMathMLOperators::LookupOperator(data, aForm, &flags, &lspace, &rspace);
|
||||
|
||||
// We don't want extra space when we are a script
|
||||
if (found && aScriptLevel > 0) {
|
||||
lspace /= 2.0f;
|
||||
rspace /= 2.0f;
|
||||
}
|
||||
|
||||
aLeftSpace = NSToCoordRound(lspace * em);
|
||||
aRightSpace = NSToCoordRound(rspace * em);
|
||||
}
|
||||
|
||||
// helper functions to perform the common task of formatting our chars
|
||||
nsresult nsMathMLmfencedFrame::ReflowChar(
|
||||
DrawTarget* aDrawTarget, nsFontMetrics& aFontMetrics,
|
||||
float aFontSizeInflation, nsMathMLChar* aMathMLChar, nsOperatorFlags aForm,
|
||||
int32_t aScriptLevel, nscoord axisHeight, nscoord leading, nscoord em,
|
||||
nsBoundingMetrics& aContainerSize, nscoord& aAscent, nscoord& aDescent,
|
||||
bool aRTL) {
|
||||
if (aMathMLChar && 0 < aMathMLChar->Length()) {
|
||||
nscoord leftSpace;
|
||||
nscoord rightSpace;
|
||||
GetCharSpacing(aMathMLChar, aForm, aScriptLevel, em, leftSpace, rightSpace);
|
||||
|
||||
// stretch the char to the appropriate height if it is not big enough.
|
||||
nsBoundingMetrics charSize;
|
||||
nsresult res = aMathMLChar->Stretch(
|
||||
this, aDrawTarget, aFontSizeInflation, NS_STRETCH_DIRECTION_VERTICAL,
|
||||
aContainerSize, charSize, NS_STRETCH_NORMAL, aRTL);
|
||||
|
||||
if (NS_STRETCH_DIRECTION_UNSUPPORTED !=
|
||||
aMathMLChar->GetStretchDirection()) {
|
||||
// has changed... so center the char around the axis
|
||||
nscoord height = charSize.ascent + charSize.descent;
|
||||
charSize.ascent = height / 2 + axisHeight;
|
||||
charSize.descent = height - charSize.ascent;
|
||||
} else {
|
||||
// either it hasn't changed or stretching the char failed (i.e.,
|
||||
// nsLayoutUtils::AppUnitBoundsOfString failed)
|
||||
leading = 0;
|
||||
if (NS_FAILED(res)) {
|
||||
nsAutoString data;
|
||||
aMathMLChar->GetData(data);
|
||||
nsBoundingMetrics metrics = nsLayoutUtils::AppUnitBoundsOfString(
|
||||
data.get(), data.Length(), aFontMetrics, aDrawTarget);
|
||||
charSize.ascent = metrics.ascent;
|
||||
charSize.descent = metrics.descent;
|
||||
charSize.width = metrics.width;
|
||||
// Set this as the bounding metrics of the MathMLChar to leave
|
||||
// the necessary room to paint the char.
|
||||
aMathMLChar->SetBoundingMetrics(charSize);
|
||||
}
|
||||
}
|
||||
|
||||
if (aAscent < charSize.ascent + leading)
|
||||
aAscent = charSize.ascent + leading;
|
||||
if (aDescent < charSize.descent + leading)
|
||||
aDescent = charSize.descent + leading;
|
||||
|
||||
// account the spacing
|
||||
charSize.width += leftSpace + rightSpace;
|
||||
|
||||
// x-origin is used to store lspace ...
|
||||
// y-origin is used to stored the ascent ...
|
||||
aMathMLChar->SetRect(nsRect(leftSpace, charSize.ascent, charSize.width,
|
||||
charSize.ascent + charSize.descent));
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
/*static*/
|
||||
void nsMathMLmfencedFrame::PlaceChar(nsMathMLChar* aMathMLChar,
|
||||
nscoord aDesiredAscent,
|
||||
nsBoundingMetrics& bm, nscoord& dx) {
|
||||
aMathMLChar->GetBoundingMetrics(bm);
|
||||
|
||||
// the char's x-origin was used to store lspace ...
|
||||
// the char's y-origin was used to store the ascent ...
|
||||
// the char's width was used to store the advance with (with spacing) ...
|
||||
nsRect rect;
|
||||
aMathMLChar->GetRect(rect);
|
||||
|
||||
nscoord dy = aDesiredAscent - rect.y;
|
||||
if (aMathMLChar->GetStretchDirection() != NS_STRETCH_DIRECTION_UNSUPPORTED) {
|
||||
// the stretchy char will be centered around the axis
|
||||
// so we adjust the returned bounding metrics accordingly
|
||||
bm.descent = (bm.ascent + bm.descent) - rect.y;
|
||||
bm.ascent = rect.y;
|
||||
}
|
||||
|
||||
aMathMLChar->SetRect(nsRect(dx + rect.x, dy, bm.width, rect.height));
|
||||
|
||||
bm.leftBearing += rect.x;
|
||||
bm.rightBearing += rect.x;
|
||||
|
||||
// return rect.width since it includes lspace and rspace
|
||||
bm.width = rect.width;
|
||||
dx += rect.width;
|
||||
}
|
||||
|
||||
static nscoord GetMaxCharWidth(nsIFrame* aFrame, DrawTarget* aDrawTarget,
|
||||
float aFontSizeInflation,
|
||||
nsMathMLChar* aMathMLChar, nsOperatorFlags aForm,
|
||||
int32_t aScriptLevel, nscoord em) {
|
||||
nscoord width =
|
||||
aMathMLChar->GetMaxWidth(aFrame, aDrawTarget, aFontSizeInflation);
|
||||
|
||||
if (0 < aMathMLChar->Length()) {
|
||||
nscoord leftSpace;
|
||||
nscoord rightSpace;
|
||||
GetCharSpacing(aMathMLChar, aForm, aScriptLevel, em, leftSpace, rightSpace);
|
||||
|
||||
width += leftSpace + rightSpace;
|
||||
}
|
||||
|
||||
return width;
|
||||
}
|
||||
|
||||
/* virtual */
|
||||
void nsMathMLmfencedFrame::GetIntrinsicISizeMetrics(
|
||||
gfxContext* aRenderingContext, ReflowOutput& aDesiredSize) {
|
||||
nscoord width = 0;
|
||||
|
||||
const nsStyleFont* font = StyleFont();
|
||||
float fontSizeInflation = nsLayoutUtils::FontSizeInflationFor(this);
|
||||
RefPtr<nsFontMetrics> fm =
|
||||
nsLayoutUtils::GetFontMetricsForFrame(this, fontSizeInflation);
|
||||
nscoord em;
|
||||
GetEmHeight(fm, em);
|
||||
|
||||
if (mOpenChar) {
|
||||
width += GetMaxCharWidth(
|
||||
this, aRenderingContext->GetDrawTarget(), fontSizeInflation, mOpenChar,
|
||||
NS_MATHML_OPERATOR_FORM_PREFIX, font->mMathDepth, em);
|
||||
}
|
||||
|
||||
int32_t i = 0;
|
||||
for (nsIFrame* childFrame : PrincipalChildList()) {
|
||||
// XXX This includes margin while Reflow currently doesn't consider
|
||||
// margin, so we may end up with too much space, but, with stretchy
|
||||
// characters, this is an approximation anyway.
|
||||
width += nsLayoutUtils::IntrinsicForContainer(
|
||||
aRenderingContext, childFrame, IntrinsicISizeType::PrefISize);
|
||||
|
||||
if (i < mSeparatorsCount) {
|
||||
width +=
|
||||
GetMaxCharWidth(this, aRenderingContext->GetDrawTarget(),
|
||||
fontSizeInflation, &mSeparatorsChar[i],
|
||||
NS_MATHML_OPERATOR_FORM_INFIX, font->mMathDepth, em);
|
||||
}
|
||||
i++;
|
||||
}
|
||||
|
||||
if (mCloseChar) {
|
||||
width += GetMaxCharWidth(
|
||||
this, aRenderingContext->GetDrawTarget(), fontSizeInflation, mCloseChar,
|
||||
NS_MATHML_OPERATOR_FORM_POSTFIX, font->mMathDepth, em);
|
||||
}
|
||||
|
||||
aDesiredSize.Width() = width;
|
||||
aDesiredSize.mBoundingMetrics.width = width;
|
||||
aDesiredSize.mBoundingMetrics.leftBearing = 0;
|
||||
aDesiredSize.mBoundingMetrics.rightBearing = width;
|
||||
}
|
||||
|
||||
nscoord nsMathMLmfencedFrame::FixInterFrameSpacing(ReflowOutput& aDesiredSize) {
|
||||
nscoord gap = nsMathMLContainerFrame::FixInterFrameSpacing(aDesiredSize);
|
||||
if (!gap) return 0;
|
||||
|
||||
nsRect rect;
|
||||
if (mOpenChar) {
|
||||
mOpenChar->GetRect(rect);
|
||||
rect.MoveBy(gap, 0);
|
||||
mOpenChar->SetRect(rect);
|
||||
}
|
||||
if (mCloseChar) {
|
||||
mCloseChar->GetRect(rect);
|
||||
rect.MoveBy(gap, 0);
|
||||
mCloseChar->SetRect(rect);
|
||||
}
|
||||
for (int32_t i = 0; i < mSeparatorsCount; i++) {
|
||||
mSeparatorsChar[i].GetRect(rect);
|
||||
rect.MoveBy(gap, 0);
|
||||
mSeparatorsChar[i].SetRect(rect);
|
||||
}
|
||||
return gap;
|
||||
}
|
||||
|
||||
void nsMathMLmfencedFrame::DidSetComputedStyle(ComputedStyle* aOldStyle) {
|
||||
nsMathMLContainerFrame::DidSetComputedStyle(aOldStyle);
|
||||
|
||||
if (mOpenChar) {
|
||||
mOpenChar->SetComputedStyle(Style());
|
||||
}
|
||||
if (mCloseChar) {
|
||||
mCloseChar->SetComputedStyle(Style());
|
||||
}
|
||||
for (int32_t i = 0; i < mSeparatorsCount; ++i) {
|
||||
mSeparatorsChar[i].SetComputedStyle(Style());
|
||||
}
|
||||
}
|
@ -1,101 +0,0 @@
|
||||
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#ifndef nsMathMLmfencedFrame_h
|
||||
#define nsMathMLmfencedFrame_h
|
||||
|
||||
#include "mozilla/Attributes.h"
|
||||
#include "nsMathMLContainerFrame.h"
|
||||
|
||||
class nsFontMetrics;
|
||||
|
||||
namespace mozilla {
|
||||
class PresShell;
|
||||
} // namespace mozilla
|
||||
|
||||
//
|
||||
// <mfenced> -- surround content with a pair of fences
|
||||
//
|
||||
|
||||
class nsMathMLmfencedFrame final : public nsMathMLContainerFrame {
|
||||
public:
|
||||
NS_DECL_FRAMEARENA_HELPERS(nsMathMLmfencedFrame)
|
||||
|
||||
friend nsIFrame* NS_NewMathMLmfencedFrame(mozilla::PresShell* aPresShell,
|
||||
ComputedStyle* aStyle);
|
||||
|
||||
void DestroyFrom(nsIFrame* aDestructRoot,
|
||||
PostDestroyData& aPostDestroyData) override;
|
||||
|
||||
void DidSetComputedStyle(ComputedStyle* aOldStyle) override;
|
||||
|
||||
NS_IMETHOD
|
||||
InheritAutomaticData(nsIFrame* aParent) override;
|
||||
|
||||
virtual void SetInitialChildList(ChildListID aListID,
|
||||
nsFrameList& aChildList) override;
|
||||
|
||||
virtual void Reflow(nsPresContext* aPresContext, ReflowOutput& aDesiredSize,
|
||||
const ReflowInput& aReflowInput,
|
||||
nsReflowStatus& aStatus) override;
|
||||
|
||||
virtual void BuildDisplayList(nsDisplayListBuilder* aBuilder,
|
||||
const nsDisplayListSet& aLists) override;
|
||||
|
||||
virtual void GetIntrinsicISizeMetrics(gfxContext* aRenderingContext,
|
||||
ReflowOutput& aDesiredSize) override;
|
||||
|
||||
virtual nsresult AttributeChanged(int32_t aNameSpaceID, nsAtom* aAttribute,
|
||||
int32_t aModType) override;
|
||||
|
||||
// override the base method because we must keep separators in sync
|
||||
virtual nsresult ChildListChanged(int32_t aModType) override;
|
||||
|
||||
// override the base method so that we can deal with fences and separators
|
||||
virtual nscoord FixInterFrameSpacing(ReflowOutput& aDesiredSize) override;
|
||||
|
||||
// helper routines to format the MathMLChars involved here
|
||||
nsresult ReflowChar(DrawTarget* aDrawTarget, nsFontMetrics& aFontMetrics,
|
||||
float aFontSizeInflation, nsMathMLChar* aMathMLChar,
|
||||
nsOperatorFlags aForm, int32_t aScriptLevel,
|
||||
nscoord axisHeight, nscoord leading, nscoord em,
|
||||
nsBoundingMetrics& aContainerSize, nscoord& aAscent,
|
||||
nscoord& aDescent, bool aRTL);
|
||||
|
||||
static void PlaceChar(nsMathMLChar* aMathMLChar, nscoord aDesiredSize,
|
||||
nsBoundingMetrics& bm, nscoord& dx);
|
||||
|
||||
virtual bool IsMrowLike() override {
|
||||
// Always treated as an mrow with > 1 child as
|
||||
// <mfenced> <mo>%</mo> </mfenced>
|
||||
// renders equivalently to
|
||||
// <mrow> <mo> ( </mo> <mo>%</mo> <mo> ) </mo> </mrow>
|
||||
// This also holds with multiple children. (MathML3 3.3.8.1)
|
||||
return true;
|
||||
}
|
||||
|
||||
protected:
|
||||
explicit nsMathMLmfencedFrame(ComputedStyle* aStyle,
|
||||
nsPresContext* aPresContext)
|
||||
: nsMathMLContainerFrame(aStyle, aPresContext, kClassID),
|
||||
mOpenChar(nullptr),
|
||||
mCloseChar(nullptr),
|
||||
mSeparatorsChar(nullptr),
|
||||
mSeparatorsCount(0) {}
|
||||
|
||||
nsMathMLChar* mOpenChar;
|
||||
nsMathMLChar* mCloseChar;
|
||||
nsMathMLChar* mSeparatorsChar;
|
||||
int32_t mSeparatorsCount;
|
||||
|
||||
// clean up
|
||||
void RemoveFencesAndSeparators();
|
||||
|
||||
// add fences and separators when all child frames are known
|
||||
void CreateFencesAndSeparators(nsPresContext* aPresContext);
|
||||
};
|
||||
|
||||
#endif /* nsMathMLmfencedFrame_h */
|
@ -1,21 +0,0 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>Check whether whitespaces are ignored in the "separators" attribute of the mfenced tag</title>
|
||||
</head>
|
||||
<body>
|
||||
<math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced separators=";">
|
||||
<mi>a</mi>
|
||||
<mi>b</mi>
|
||||
<mi>c</mi>
|
||||
<mi>d</mi>
|
||||
</mfenced>
|
||||
<mfenced separators=",;.">
|
||||
<mi>a</mi>
|
||||
<mi>b</mi>
|
||||
<mi>c</mi>
|
||||
<mi>d</mi>
|
||||
</mfenced>
|
||||
</math>
|
||||
</body>
|
||||
</html>
|
@ -1,28 +0,0 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>Check whether whitespaces are ignored in the "separators" attribute of the mfenced tag</title>
|
||||
</head>
|
||||
<body>
|
||||
<math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<!-- Note: each blank is a whitespace sequence "U+0020 U+0009 U+000a U+000d" and must not be modified! -->
|
||||
<mfenced separators="
|
||||
;
|
||||
">
|
||||
<mi>a</mi>
|
||||
<mi>b</mi>
|
||||
<mi>c</mi>
|
||||
<mi>d</mi>
|
||||
</mfenced>
|
||||
<!-- Note: each blank is a whitespace sequence "U+0020 U+0009 U+000a U+000d" and must not be modified! -->
|
||||
<mfenced separators="
|
||||
,
|
||||
;
|
||||
.">
|
||||
<mi>a</mi>
|
||||
<mi>b</mi>
|
||||
<mi>c</mi>
|
||||
<mi>d</mi>
|
||||
</mfenced>
|
||||
</math>
|
||||
</body>
|
||||
</html>
|
@ -1,29 +0,0 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<body>
|
||||
|
||||
<!-- Stretchy fences -->
|
||||
|
||||
<math>
|
||||
<mrow>
|
||||
|
||||
<mo form="prefix" fence="true" stretchy="true">(</mo>
|
||||
|
||||
<mtable>
|
||||
<mtr>
|
||||
<mtd><mi>a</mi></mtd>
|
||||
<mtd><mi>b</mi></mtd>
|
||||
</mtr>
|
||||
<mtr>
|
||||
<mtd><mi>c</mi></mtd>
|
||||
<mtd><mi>d</mi></mtd>
|
||||
</mtr>
|
||||
</mtable>
|
||||
|
||||
<mo form="postfix" fence="true" stretchy="true">)</mo>
|
||||
|
||||
</mrow>
|
||||
</math>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -1,23 +0,0 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<body>
|
||||
|
||||
<!-- Stretchy fences -->
|
||||
|
||||
<math>
|
||||
<mfenced>
|
||||
<mtable>
|
||||
<mtr>
|
||||
<mtd><mi>a</mi></mtd>
|
||||
<mtd><mi>b</mi></mtd>
|
||||
</mtr>
|
||||
<mtr>
|
||||
<mtd><mi>c</mi></mtd>
|
||||
<mtd><mi>d</mi></mtd>
|
||||
</mtr>
|
||||
</mtable>
|
||||
</mfenced>
|
||||
</math>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -1,16 +0,0 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<body>
|
||||
|
||||
<!-- Size of fences when empty -->
|
||||
|
||||
<math>
|
||||
<mrow>
|
||||
<mo>(</mo>
|
||||
<mn>.</mn>
|
||||
<mo>)</mo>
|
||||
</mrow>
|
||||
</math>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -1,14 +0,0 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<body>
|
||||
|
||||
<!-- Size of fences when empty -->
|
||||
|
||||
<math>
|
||||
<mfenced>
|
||||
<mn>.</mn>
|
||||
</mfenced>
|
||||
</math>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -1,40 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="reftest-wait">
|
||||
|
||||
<math style="font-size:25px; position: absolute; top: 10px; left:10px;">
|
||||
<mrow id="outer">
|
||||
<mo>(</mo>
|
||||
<mrow>
|
||||
<mn id="a" style="visibility:hidden;">a</mn>
|
||||
<mo>&</mo>
|
||||
<mn id="c" style="visibility:hidden;">c</mn>
|
||||
</mrow>
|
||||
<mo>)</mo>
|
||||
</mrow>
|
||||
</math>
|
||||
|
||||
<!-- Implementation kludge. <mfenced> renders the position of the ampersand in
|
||||
a slightly different position compared to <mo>+<mrow>.
|
||||
In this test we are only concerned about the size of the fences "(" and
|
||||
")", so the ampersand gets redacted. -->
|
||||
<div id="div" style="position: absolute; background:black; top: 0px;
|
||||
height: 120px;"></div>
|
||||
|
||||
<script>
|
||||
function doTest()
|
||||
{
|
||||
a = document.getElementById("a");
|
||||
c = document.getElementById("c");
|
||||
div = document.getElementById("div");
|
||||
outer = document.getElementById("outer");
|
||||
|
||||
left = a.getBoundingClientRect().left; // div's left
|
||||
div.style.left = left + 'px';
|
||||
div.style.width = (c.getBoundingClientRect().right - left ) + 'px';
|
||||
|
||||
document.documentElement.removeAttribute("class");
|
||||
}
|
||||
window.addEventListener("MozReftestInvalidate", doTest);
|
||||
</script>
|
||||
|
||||
</html>
|
@ -1,35 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="reftest-wait">
|
||||
|
||||
<math style="font-size:25px; position: absolute; top: 10px; left:10px;">
|
||||
<mfenced id="outer" separators="&">
|
||||
<mn id="a" style="visibility:hidden;">a</mn>
|
||||
<mn id="c" style="visibility:hidden;">c</mn>
|
||||
</mfenced>
|
||||
</math>
|
||||
|
||||
<!-- Implementation kludge. <mfenced> renders the position of the ampersand in
|
||||
a slightly different position compared to <mo>+<mrow>.
|
||||
In this test we are only concerned about the size of the fences "(" and
|
||||
")", so the ampersand gets redacted. -->
|
||||
<div id="div" style="position: absolute; background:black; top: 0px;
|
||||
height: 120px;"></div>
|
||||
|
||||
<script>
|
||||
function doTest()
|
||||
{
|
||||
a = document.getElementById("a");
|
||||
c = document.getElementById("c");
|
||||
div = document.getElementById("div");
|
||||
outer = document.getElementById("outer");
|
||||
|
||||
left = a.getBoundingClientRect().left; // div's left
|
||||
div.style.left = left + 'px';
|
||||
div.style.width = (c.getBoundingClientRect().right - left ) + 'px';
|
||||
|
||||
document.documentElement.removeAttribute("class");
|
||||
}
|
||||
window.addEventListener("MozReftestInvalidate", doTest);
|
||||
</script>
|
||||
|
||||
</html>
|
@ -1,58 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mfenced open close</title>
|
||||
</head>
|
||||
<body>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
</body>
|
||||
</html>
|
@ -1,58 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mfenced open close</title>
|
||||
</head>
|
||||
<body>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open=" a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="  a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="	a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="		a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="
a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="

a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="
a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="

a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open=" 	

a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="  		



a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
</body>
|
||||
</html>
|
@ -1,58 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mfenced open close</title>
|
||||
</head>
|
||||
<body>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a ">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a  ">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a	">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a		">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a
">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a

">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a
">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a

">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a 	

">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a  		



">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
</body>
|
||||
</html>
|
@ -1,58 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mfenced open close</title>
|
||||
</head>
|
||||
<body>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
</body>
|
||||
</html>
|
@ -1,58 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mfenced open close</title>
|
||||
</head>
|
||||
<body>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a  a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a	a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a		a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a
a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a

a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a
a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a

a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a 	

a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a  		



a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
</body>
|
||||
</html>
|
@ -1,58 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mfenced open close</title>
|
||||
</head>
|
||||
<body>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open=" a a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="  a  a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="	a	a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="		a		a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="
a
a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="

a

a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="
a
a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="

a

a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open=" 	

a 	

a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="  		



a  		



a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
</body>
|
||||
</html>
|
@ -1,58 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mfenced open close</title>
|
||||
</head>
|
||||
<body>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a a ">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a  a  ">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a	a	">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a		a		">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a
a
">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a

a

">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a
a
">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a

a

">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a 	

a 	

">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="a  		



a  		



">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
</body>
|
||||
</html>
|
@ -1,58 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mfenced open close</title>
|
||||
</head>
|
||||
<body>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open=" a a ">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="  a  a  ">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="	a	a	">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="		a		a		">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="
a
a
">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="

a

a

">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="
a
a
">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="

a

a

">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open=" 	

a 	

a 	

">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced open="  		



a  		



a  		



">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
</body>
|
||||
</html>
|
@ -1,58 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mfenced open close</title>
|
||||
</head>
|
||||
<body>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
</body>
|
||||
</html>
|
@ -1,58 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mfenced open close</title>
|
||||
</head>
|
||||
<body>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close=" a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="  a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="	a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="		a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="
a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="

a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="
a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="

a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close=" 	

a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="  		



a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
</body>
|
||||
</html>
|
@ -1,58 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mfenced open close</title>
|
||||
</head>
|
||||
<body>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a ">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a  ">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a	">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a		">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a
">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a

">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a
">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a

">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a 	

">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a  		



">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
</body>
|
||||
</html>
|
@ -1,58 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mfenced open close</title>
|
||||
</head>
|
||||
<body>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
</body>
|
||||
</html>
|
@ -1,58 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mfenced open close</title>
|
||||
</head>
|
||||
<body>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a  a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a	a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a		a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a
a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a

a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a
a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a

a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a 	

a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a  		



a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
</body>
|
||||
</html>
|
@ -1,58 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mfenced open close</title>
|
||||
</head>
|
||||
<body>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close=" a a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="  a  a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="	a	a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="		a		a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="
a
a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="

a

a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="
a
a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="

a

a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close=" 	

a 	

a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="  		



a  		



a">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
</body>
|
||||
</html>
|
@ -1,58 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mfenced open close</title>
|
||||
</head>
|
||||
<body>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a a ">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a  a  ">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a	a	">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a		a		">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a
a
">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a

a

">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a
a
">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a

a

">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a 	

a 	

">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="a  		



a  		



">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
</body>
|
||||
</html>
|
@ -1,58 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mfenced open close</title>
|
||||
</head>
|
||||
<body>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close=" a a ">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="  a  a  ">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="	a	a	">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="		a		a		">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="
a
a
">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="

a

a

">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="
a
a
">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="

a

a

">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close=" 	

a 	

a 	

">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
<p><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mfenced close="  		



a  		



a  		



">
|
||||
<mi>xxxxxxxxxx</mi>
|
||||
</mfenced>
|
||||
</math></p>
|
||||
</body>
|
||||
</html>
|
@ -1,28 +0,0 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<body>
|
||||
|
||||
<!-- Too many separators: Excess is ignored -->
|
||||
<math>
|
||||
<mfenced separators=";;;;">
|
||||
<mi>a</mi>
|
||||
<mi>b</mi>
|
||||
<mi>c</mi>
|
||||
<mi>d</mi>
|
||||
<mi>e</mi>
|
||||
</mfenced>
|
||||
</math>
|
||||
|
||||
<!-- Too few separators: Last separator is repeated -->
|
||||
<math>
|
||||
<mfenced separators=";;,,">
|
||||
<mi>a</mi>
|
||||
<mi>b</mi>
|
||||
<mi>c</mi>
|
||||
<mi>d</mi>
|
||||
<mi>e</mi>
|
||||
</mfenced>
|
||||
</math>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -1,28 +0,0 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<body>
|
||||
|
||||
<!-- Too many separators: Excess is ignored -->
|
||||
<math>
|
||||
<mfenced separators=";;;;,,,,">
|
||||
<mi>a</mi>
|
||||
<mi>b</mi>
|
||||
<mi>c</mi>
|
||||
<mi>d</mi>
|
||||
<mi>e</mi>
|
||||
</mfenced>
|
||||
</math>
|
||||
|
||||
<!-- Too few separators: Last separator is repeated -->
|
||||
<math>
|
||||
<mfenced separators=";;,">
|
||||
<mi>a</mi>
|
||||
<mi>b</mi>
|
||||
<mi>c</mi>
|
||||
<mi>d</mi>
|
||||
<mi>e</mi>
|
||||
</mfenced>
|
||||
</math>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -1,17 +0,0 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<body>
|
||||
|
||||
<!-- Default values for open, close, separators -->
|
||||
<math>
|
||||
<mfenced open="(" close=")" separators=",">
|
||||
<mi>a</mi>
|
||||
<mi>b</mi>
|
||||
<mi>c</mi>
|
||||
<mi>d</mi>
|
||||
<mi>e</mi>
|
||||
</mfenced>
|
||||
</math>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -1,17 +0,0 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<body>
|
||||
|
||||
<!-- Default values for open, close, separators -->
|
||||
<math>
|
||||
<mfenced>
|
||||
<mi>a</mi>
|
||||
<mi>b</mi>
|
||||
<mi>c</mi>
|
||||
<mi>d</mi>
|
||||
<mi>e</mi>
|
||||
</mfenced>
|
||||
</math>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -1,16 +0,0 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<body>
|
||||
|
||||
<!-- Empty separators -->
|
||||
|
||||
<math>
|
||||
<mfenced>
|
||||
<mi>a</mi>
|
||||
<mi>b</mi>
|
||||
<mi>c</mi>
|
||||
</mfenced>
|
||||
</math>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -1,16 +0,0 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<body>
|
||||
|
||||
<!-- Empty separators -->
|
||||
|
||||
<math>
|
||||
<mfenced separators="">
|
||||
<mi>a</mi>
|
||||
<mi>b</mi>
|
||||
<mi>c</mi>
|
||||
</mfenced>
|
||||
</math>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -1,14 +0,0 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<body>
|
||||
|
||||
<!-- No arguments -->
|
||||
|
||||
<math>
|
||||
<mfenced>
|
||||
<mspace />
|
||||
</mfenced>
|
||||
</math>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -1,13 +0,0 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<body>
|
||||
|
||||
<!-- No arguments -->
|
||||
|
||||
<math>
|
||||
<mfenced>
|
||||
</mfenced>
|
||||
</math>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -242,16 +242,6 @@
|
||||
|
||||
<p>
|
||||
<math>
|
||||
<mfenced>
|
||||
<!-- always treated as in an mrow with > 1 child -->
|
||||
<mo lspace="0.16666666666666666em" rspace="0.16666666666666666em">%</mo>
|
||||
</mfenced>
|
||||
</math>
|
||||
<math>
|
||||
<mfenced>
|
||||
<mo lspace="0.16666666666666666em" rspace="0.16666666666666666em">%</mo>
|
||||
<mo lspace="0.16666666666666666em" rspace="0.16666666666666666em">%</mo>
|
||||
</mfenced>
|
||||
<menclose notation="circle">
|
||||
<mo lspace="0.16666666666666666em" rspace="0.16666666666666666em">%</mo>
|
||||
<mo lspace="0.16666666666666666em" rspace="0.16666666666666666em">%</mo>
|
||||
|
@ -241,15 +241,6 @@
|
||||
|
||||
<p>
|
||||
<math>
|
||||
<mfenced>
|
||||
<mo>%</mo>
|
||||
</mfenced>
|
||||
</math>
|
||||
<math>
|
||||
<mfenced>
|
||||
<mo>%</mo>
|
||||
<mo>%</mo>
|
||||
</mfenced>
|
||||
<menclose notation="circle">
|
||||
<mo>%</mo>
|
||||
<mo>%</mo>
|
||||
|
@ -30,26 +30,6 @@ random-if(smallScreen&&Android) fuzzy(0-255,0-200) fuzzy-if(geckoview&&webrender
|
||||
== dynamic-mi.xhtml dynamic-mi-ref.xhtml
|
||||
== mphantom-1.html mphantom-1-ref.html
|
||||
== mphantom-2.html mphantom-2-ref.html
|
||||
pref(mathml.mfenced_element.disabled,false) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == mfenced-1.xhtml mfenced-1-ref.xhtml # Bug 1392106
|
||||
pref(mathml.mfenced_element.disabled,false) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == mfenced-2a.xhtml mfenced-2-ref.xhtml # Bug 1392106
|
||||
pref(mathml.mfenced_element.disabled,false) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == mfenced-2b.xhtml mfenced-2-ref.xhtml # Bug 1392106
|
||||
pref(mathml.mfenced_element.disabled,false) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == mfenced-3a.xhtml mfenced-3-ref.xhtml # Bug 1392106
|
||||
pref(mathml.mfenced_element.disabled,false) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == mfenced-3b.xhtml mfenced-3-ref.xhtml # Bug 1392106
|
||||
pref(mathml.mfenced_element.disabled,false) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == mfenced-3c.xhtml mfenced-3-ref.xhtml # Bug 1392106
|
||||
pref(mathml.mfenced_element.disabled,false) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == mfenced-3d.xhtml mfenced-3-ref.xhtml # Bug 1392106
|
||||
pref(mathml.mfenced_element.disabled,false) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == mfenced-4a.xhtml mfenced-4-ref.xhtml # Bug 1392106
|
||||
pref(mathml.mfenced_element.disabled,false) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == mfenced-4b.xhtml mfenced-4-ref.xhtml # Bug 1392106
|
||||
pref(mathml.mfenced_element.disabled,false) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == mfenced-5a.xhtml mfenced-5-ref.xhtml # Bug 1392106
|
||||
pref(mathml.mfenced_element.disabled,false) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == mfenced-5b.xhtml mfenced-5-ref.xhtml # Bug 1392106
|
||||
pref(mathml.mfenced_element.disabled,false) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == mfenced-5c.xhtml mfenced-5-ref.xhtml # Bug 1392106
|
||||
pref(mathml.mfenced_element.disabled,false) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == mfenced-5d.xhtml mfenced-5-ref.xhtml # Bug 1392106
|
||||
pref(mathml.mfenced_element.disabled,false) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == mfenced-6.html mfenced-6-ref.html # Bug 1392106
|
||||
pref(mathml.mfenced_element.disabled,false) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == mfenced-7.html mfenced-7-ref.html # Bug 1392106
|
||||
pref(mathml.mfenced_element.disabled,false) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) != mfenced-8.html mfenced-8-ref.html # Bug 1392106
|
||||
pref(mathml.mfenced_element.disabled,false) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == mfenced-9.html mfenced-9-ref.html # Bug 1392106
|
||||
pref(mathml.mfenced_element.disabled,false) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == mfenced-10.html mfenced-10-ref.html # Bug 1392106
|
||||
pref(mathml.mfenced_element.disabled,false) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == mfenced-11.html mfenced-11-ref.html # bug 670592, bug 1328771, Bug 1392106
|
||||
pref(mathml.mfenced_element.disabled,false) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) skip-if(gtkWidget) == mfenced-12.html mfenced-12-ref.html # bug 670592, bug 1328771, Bug 1392106
|
||||
== mi-mathvariant-1.xhtml mi-mathvariant-1-ref.xhtml
|
||||
== mi-mathvariant-2.xhtml mi-mathvariant-2-ref.xhtml
|
||||
!= mi-mathvariant-3.html mi-mathvariant-3-ref.html
|
||||
@ -77,14 +57,6 @@ pref(mathml.mfenced_element.disabled,false) random-if(/^Windows\x20NT\x206\.1/.t
|
||||
== stretchy-msup-1b.html stretchy-msup-1-ref.html
|
||||
== stretchy-msup-1c.html stretchy-msup-1-ref.html
|
||||
== stretchy-msup-1d.html stretchy-msup-1-ref.html
|
||||
pref(mathml.mfenced_element.disabled,false) != stretchy-mfenced-1a.html stretchy-mfenced-1-ref.html
|
||||
pref(mathml.mfenced_element.disabled,false) != stretchy-mfenced-1b.html stretchy-mfenced-1-ref.html
|
||||
pref(mathml.mfenced_element.disabled,false) == stretchy-mfenced-2a.html stretchy-mfenced-2-ref.html
|
||||
pref(mathml.mfenced_element.disabled,false) != stretchy-mfenced-2b.html stretchy-mfenced-2-ref.html
|
||||
pref(mathml.mfenced_element.disabled,false) != stretchy-mfenced-3a.html stretchy-mfenced-3-ref.html
|
||||
pref(mathml.mfenced_element.disabled,false) != stretchy-mfenced-3b.html stretchy-mfenced-3-ref.html
|
||||
pref(mathml.mfenced_element.disabled,false) fails-if(geckoview) == stretchy-mfenced-4a.html stretchy-mfenced-4-ref.html # Bug 1558513 for GV
|
||||
pref(mathml.mfenced_element.disabled,false) fails-if(geckoview) == stretchy-mfenced-4b.html stretchy-mfenced-4-ref.html # Bug 1558513 for GV
|
||||
== stretchy-mover-1a.html stretchy-mover-1-ref.html
|
||||
== stretchy-mover-1b.html stretchy-mover-1-ref.html
|
||||
fails == stretchy-mover-2a.html stretchy-mover-2-ref.html
|
||||
@ -185,7 +157,7 @@ pref(mathml.mathspace_names.disabled,false) == positive-namedspace.html positive
|
||||
== maction-dynamic-1.html maction-dynamic-1-ref.html # bug 773482
|
||||
== maction-dynamic-2.html maction-dynamic-2-ref.html
|
||||
random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == mo-lspace-rspace.html mo-lspace-rspace-ref.html # Bug 1392106
|
||||
pref(mathml.mfenced_element.disabled,false) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == mo-lspace-rspace-2.html mo-lspace-rspace-2-ref.html # Bug 1392106
|
||||
random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == mo-lspace-rspace-2.html mo-lspace-rspace-2-ref.html # Bug 1392106
|
||||
random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == mo-lspace-rspace-3.html mo-lspace-rspace-3-ref.html # Bug 1392106
|
||||
pref(mathml.mfrac_bevelled_attribute.disabled,false) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == mo-lspace-rspace-4.html mo-lspace-rspace-4-ref.html # Bug 1392106
|
||||
== mo-invisibleoperators.html mo-invisibleoperators-ref.html
|
||||
|
@ -1,19 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Stretchy mfenced</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
||||
</head>
|
||||
<body>
|
||||
<!-- See bug 687807 -->
|
||||
<math >
|
||||
<mfenced>
|
||||
<munderover>
|
||||
<mo stretchy="true">→</mo>
|
||||
<mtext>AAAAAA</mtext>
|
||||
<mtext>BBBBBB</mtext>
|
||||
</munderover>
|
||||
</mfenced>
|
||||
</math>
|
||||
</body>
|
||||
</html>
|
@ -1,19 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Stretchy mfenced</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
||||
</head>
|
||||
<body>
|
||||
<!-- See bug 687807 -->
|
||||
<math>
|
||||
<mfenced>
|
||||
<munderover>
|
||||
<mo stretchy="false">→</mo>
|
||||
<mtext>AAAAAA</mtext>
|
||||
<mtext>BBBBBB</mtext>
|
||||
</munderover>
|
||||
</mfenced>
|
||||
</math>
|
||||
</body>
|
||||
</html>
|
@ -1,21 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Stretchy mfenced</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
||||
</head>
|
||||
<body>
|
||||
<!-- See bug 687807 -->
|
||||
<math>
|
||||
<mrow>
|
||||
<mo stretchy="false">(</mo>
|
||||
<munderover>
|
||||
<mo stretchy="true">→</mo>
|
||||
<mtext>AAAAAA</mtext>
|
||||
<mtext>BBBBBB</mtext>
|
||||
</munderover>
|
||||
<mo stretchy="false">)</mo>
|
||||
</mrow>
|
||||
</math>
|
||||
</body>
|
||||
</html>
|
@ -1,18 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Stretchy mfenced</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
||||
</head>
|
||||
<body>
|
||||
<!-- See bug 687807 -->
|
||||
<math >
|
||||
<mfenced>
|
||||
<msup>
|
||||
<mo stretchy="true">→</mo>
|
||||
<mtext>AAAAAA</mtext>
|
||||
</msup>
|
||||
</mfenced>
|
||||
</math>
|
||||
</body>
|
||||
</html>
|
@ -1,18 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Stretchy mfenced</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
||||
</head>
|
||||
<body>
|
||||
<!-- See bug 687807 -->
|
||||
<math>
|
||||
<mfenced>
|
||||
<msup>
|
||||
<mo stretchy="false">→</mo>
|
||||
<mtext>AAAAAA</mtext>
|
||||
</msup>
|
||||
</mfenced>
|
||||
</math>
|
||||
</body>
|
||||
</html>
|
@ -1,20 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Stretchy mfenced</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
||||
</head>
|
||||
<body>
|
||||
<!-- See bug 687807 -->
|
||||
<math>
|
||||
<mrow>
|
||||
<mo stretchy="false">(</mo>
|
||||
<msup>
|
||||
<mo stretchy="true">→</mo>
|
||||
<mtext>AAAAAA</mtext>
|
||||
</msup>
|
||||
<mo stretchy="false">)</mo>
|
||||
</mrow>
|
||||
</math>
|
||||
</body>
|
||||
</html>
|
@ -1,22 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Stretchy mfenced</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
||||
</head>
|
||||
<body>
|
||||
<!-- See bug 687807 -->
|
||||
<math>
|
||||
<mfenced>
|
||||
<msup>
|
||||
<munderover>
|
||||
<mo stretchy="true">→</mo>
|
||||
<mtext>AAAAAA</mtext>
|
||||
<mtext>BBBBBB</mtext>
|
||||
</munderover>
|
||||
<mtext>CCCCCC</mtext>
|
||||
</msup>
|
||||
</mfenced>
|
||||
</math>
|
||||
</body>
|
||||
</html>
|
@ -1,22 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Stretchy mfenced</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
||||
</head>
|
||||
<body>
|
||||
<!-- See bug 687807 -->
|
||||
<math>
|
||||
<mfenced>
|
||||
<msup>
|
||||
<munderover>
|
||||
<mo stretchy="false">→</mo>
|
||||
<mtext>AAAAAA</mtext>
|
||||
<mtext>BBBBBB</mtext>
|
||||
</munderover>
|
||||
<mtext>CCCCCC</mtext>
|
||||
</msup>
|
||||
</mfenced>
|
||||
</math>
|
||||
</body>
|
||||
</html>
|
@ -1,24 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Stretchy mfenced</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
||||
</head>
|
||||
<body>
|
||||
<!-- See bug 687807 -->
|
||||
<math>
|
||||
<mrow>
|
||||
<mo stretchy="false">(</mo>
|
||||
<msup>
|
||||
<munderover>
|
||||
<mo stretchy="true">→</mo>
|
||||
<mtext>AAAAAA</mtext>
|
||||
<mtext>BBBBBB</mtext>
|
||||
</munderover>
|
||||
<mtext>CCCCCC</mtext>
|
||||
</msup>
|
||||
<mo stretchy="false">)</mo>
|
||||
</mrow>
|
||||
</math>
|
||||
</body>
|
||||
</html>
|
@ -1,19 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Stretchy mfenced</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
||||
</head>
|
||||
<body>
|
||||
<!-- See bug 687807 -->
|
||||
<math >
|
||||
<mfenced open="→" close="→">
|
||||
<munderover>
|
||||
<mo stretchy="true">→</mo>
|
||||
<mtext>AAAAAA</mtext>
|
||||
<mtext>BBBBBB</mtext>
|
||||
</munderover>
|
||||
</mfenced>
|
||||
</math>
|
||||
</body>
|
||||
</html>
|
@ -1,21 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Stretchy mfenced</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
||||
</head>
|
||||
<body>
|
||||
<!-- See bug 687807 -->
|
||||
<math >
|
||||
<mrow>
|
||||
<mo stretchy="false">→</mo>
|
||||
<munderover>
|
||||
<mo stretchy="true">→</mo>
|
||||
<mtext>AAAAAA</mtext>
|
||||
<mtext>BBBBBB</mtext>
|
||||
</munderover>
|
||||
<mo stretchy="false">→</mo>
|
||||
</mrow>
|
||||
</math>
|
||||
</body>
|
||||
</html>
|
@ -1,21 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Stretchy mfenced</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
||||
</head>
|
||||
<body>
|
||||
<!-- See bug 687807 -->
|
||||
<math >
|
||||
<mrow>
|
||||
<mo stretchy="true">→</mo>
|
||||
<munderover>
|
||||
<mo stretchy="true">→</mo>
|
||||
<mtext>AAAAAA</mtext>
|
||||
<mtext>BBBBBB</mtext>
|
||||
</munderover>
|
||||
<mo stretchy="true">→</mo>
|
||||
</mrow>
|
||||
</math>
|
||||
</body>
|
||||
</html>
|
@ -6728,12 +6728,6 @@
|
||||
value: true
|
||||
mirror: always
|
||||
|
||||
# Whether to disable the mfenced element.
|
||||
- name: mathml.mfenced_element.disabled
|
||||
type: bool
|
||||
value: true
|
||||
mirror: always
|
||||
|
||||
# Whether to disable legacy names "thin", "thick" and "medium" for the
|
||||
# linethickness attribute of the mfrac element.
|
||||
- name: mathml.mfrac_linethickness_names.disabled
|
||||
|
Loading…
Reference in New Issue
Block a user