protected void ExportSuperscript(Graphics graphics, Superscript superscript)
        {
            ExportElement(graphics, superscript.Element1);
            ExportElement(graphics, superscript.Element2);

            if (superscript.DrawConstructionLines)
            {
                DrawConstructionLines(graphics, superscript.Position, superscript.SizeIncludingOuterMargin);
            }
        }
        public void SetSuperscriptSize(Superscript superscript)
        {
            superscript.Element1.FontStyle.FontHeight = superscript.FontStyle.FontHeight;
            superscript.Element2.FontStyle.FontHeight = superscript.FontStyle.FontHeight * superscript.SuperscriptScale;

            SetElementSize(superscript.Element1);
            SetElementSize(superscript.Element2);

            var marginAdjustment = GetMarginAdjustment(superscript.Element1, superscript.Element2);

            superscript.SizeOfContent.Width  = superscript.Element1.OuterWidth + superscript.Element2.OuterWidth - marginAdjustment;
            superscript.SizeOfContent.Height = ChooseGreaterLength(superscript.Element1.OuterHeight, superscript.Element2.OuterHeight + superscript.SuperscriptOffset);

            SetSizesOfElement(superscript);

            var centreAlignmentPoint = new Position();

            centreAlignmentPoint.X = superscript.OuterWidth / 2;
            centreAlignmentPoint.Y = superscript.Element1.OuterHeight / 2;

            superscript.CentreAlignmentPoint = centreAlignmentPoint;
        }
        public void SetSuperscriptPosition(Position containerOrigin, Superscript superscript)
        {
            var position = containerOrigin;

            position.Y -= superscript.TopExcess;

            superscript.Position = position;

            containerOrigin.X += superscript.LeftWidth;
            containerOrigin.Y += superscript.TopWidth;

            SetElementPosition(containerOrigin, superscript.Element1);

            var marginAdjustment = ChooseLesserLength(superscript.Element1.OuterMargin.Right, superscript.Element2.OuterMargin.Left);

            containerOrigin.X += superscript.Element1.ContentWidth + marginAdjustment;
            containerOrigin.Y += -superscript.TopExcess;

            SetElementPosition(containerOrigin, superscript.Element2);

            containerOrigin.Y += superscript.TopExcess - superscript.TopWidth;
        }