Package org.pentaho.reporting.engine.classic.core.layout.text

Examples of org.pentaho.reporting.engine.classic.core.layout.text.GlyphList


      }

      final String text;
      if (contentX2 >= (renderableText.getX() + renderableText.getWidth()))
      {
        final GlyphList gs = renderableText.getGlyphs();
        text = gs.getText(renderableText.getOffset(), renderableText.getLength(), getCodePointBuffer());
      }
      else
      {
        final GlyphList gs = renderableText.getGlyphs();
        final int maxLength = computeMaximumTextSize(renderableText, contentX2);
        text = gs.getText(renderableText.getOffset(), maxLength, getCodePointBuffer());
      }

      if (text.length() > 0)
      {
        xmlWriter.writeText(characterEntityParser.encodeEntities(text));
View Full Code Here


    return length;
  }

  public String getRawText()
  {
    final GlyphList gs = getGlyphs();
    return gs.getText(offset, length, new CodePointBuffer(length));
  }
View Full Code Here

    {
      // This text is empty.
      return;
    }

    final GlyphList gs = text.getGlyphs();
    final int maxLength = computeMaximumTextSize(text, contentX2);
    final String rawText = gs.getText(text.getOffset(), maxLength, codePointBuffer);

    final int x = PlainTextPage.correctedDivisionFloor
        ((float) (text.getX() - drawArea.getX()), characterWidthInMicroPoint);
    final int y = PlainTextPage.correctedDivisionFloor
        ((float) (text.getY() - drawArea.getY()), characterHeightInMicroPoint);
View Full Code Here

    if (contentX2 >= (x + node.getWidth()))
    {
      return length;
    }

    final GlyphList gs = node.getGlyphs();
    long runningPos = x;
    final int offset = node.getOffset();
    final int maxPos = offset + length;

    for (int i = offset; i < maxPos; i++)
    {
      final Glyph g = gs.getGlyph(i);
      runningPos += g.getWidth();
      if (runningPos > contentX2)
      {
        return Math.max(0, i - offset);
      }
View Full Code Here

    {
      cb.setTextMatrix(x1 + translateX, y);
    }

    final OutputProcessorMetaData metaData = getMetaData();
    final GlyphList gs = renderableText.getGlyphs();
    final int offset = renderableText.getOffset();

    final CodePointBuffer codePointBuffer = getCodePointBuffer();
    if (metaData.isFeatureSupported(OutputProcessorFeature.FAST_FONTRENDERING) &&
        isNormalTextSpacing(renderableText))
    {
      final int maxLength = computeMaximumTextSize(renderableText, contentX2);
      final String text = gs.getText(renderableText.getOffset(), maxLength, codePointBuffer);

      cb.showText(text);
    }
    else
    {
      final PdfTextArray textArray = new PdfTextArray();
      final StringBuffer buffer = new StringBuffer(gs.getSize());
      final int maxPos = offset + computeMaximumTextSize(renderableText, contentX2);

      for (int i = offset; i < maxPos; i++)
      {
        final Glyph g = gs.getGlyph(i);
        final Spacing spacing = g.getSpacing();
        if (i != offset)
        {
          final int optimum = spacing.getOptimum();
          if (optimum != 0)
          {
            textArray.add(buffer.toString());
            textArray.add(-optimum / textSpec.getFontSize());
            buffer.setLength(0);
          }
        }

        final String text = gs.getGlyphAsString(i, codePointBuffer);
        buffer.append(text);
      }
      if (buffer.length() > 0)
      {
        textArray.add(buffer.toString());
View Full Code Here

    final FontMetrics fm = g2.getFontMetrics();
    final Rectangle2D rect = fm.getMaxCharBounds(g2);
    final long awtBaseLine = StrictGeomUtility.toInternalValue(-rect.getY());

    final GlyphList gs = renderableText.getGlyphs();
    if (metaData.isFeatureSupported(OutputProcessorFeature.FAST_FONTRENDERING) &&
        isNormalTextSpacing(renderableText))
    {
      final int maxLength = computeMaximumTextSize(renderableText, contentX2);
      final String text = gs.getText(renderableText.getOffset(), maxLength, codePointBuffer);
      final float y = (float) StrictGeomUtility.toExternalValue(posY + awtBaseLine);
      g2.drawString(text, (float) StrictGeomUtility.toExternalValue(posX), y);
    }
    else
    {
      final int maxPos = renderableText.getOffset() + computeMaximumTextSize(renderableText, contentX2);
      long runningPos = posX;
      final long baselineDelta = awtBaseLine - baseline;
      for (int i = renderableText.getOffset(); i < maxPos; i++)
      {
        final Glyph g = gs.getGlyph(i);
        final float y = (float) StrictGeomUtility.toExternalValue(posY + g.getBaseLine() + baselineDelta);
        g2.drawString(gs.getGlyphAsString(i, codePointBuffer), (float) StrictGeomUtility.toExternalValue(runningPos), y);
        runningPos += g.getWidth() + g.getSpacing().getMinimum();
      }
    }
    g2.dispose();
  }
View Full Code Here

      return;
    }

    if (contentX2 >= (renderableText.getX() + renderableText.getWidth()))
    {
      final GlyphList gs = renderableText.getGlyphs();
      this.text.append(gs.getText(renderableText.getOffset(), renderableText.getLength(), codePointBuffer));
    }
    else
    {
      final GlyphList gs = renderableText.getGlyphs();
      final int maxLength = computeMaximumTextSize(renderableText, contentX2);
      this.text.append(gs.getText(renderableText.getOffset(), maxLength, codePointBuffer));
    }
  }
View Full Code Here

    if (contentX2 >= (x + node.getWidth()))
    {
      return length;
    }

    final GlyphList gs = node.getGlyphs();
    long runningPos = x;
    final int offset = node.getOffset();
    final int maxPos = offset + length;

    for (int i = offset; i < maxPos; i++)
    {
      final Glyph g = gs.getGlyph(i);
      runningPos += g.getWidth();
      if (runningPos > contentX2)
      {
        return Math.max(0, i - offset);
      }
View Full Code Here

    if (contentX2 >= (x + node.getWidth()))
    {
      return length;
    }

    final GlyphList gs = node.getGlyphs();
    long runningPos = x;
    final int offset = node.getOffset();
    final int maxPos = offset + length;

    for (int i = offset; i < maxPos; i++)
    {
      final Glyph g = gs.getGlyph(i);
      runningPos += g.getWidth();
      if (runningPos > contentX2)
      {
        return Math.max(0, i - offset);
      }
View Full Code Here

    final FontMetrics fm = g2.getFontMetrics();
    final Rectangle2D rect = fm.getMaxCharBounds(g2);
    final long awtBaseLine = StrictGeomUtility.toInternalValue(-rect.getY());

    final GlyphList gs = renderableText.getGlyphs();
    if (metaData.isFeatureSupported(OutputProcessorFeature.FAST_FONTRENDERING) &&
        isNormalTextSpacing(renderableText))
    {
      final int maxLength = renderableText.computeMaximumTextSize(contentX2);
      final String text = gs.getText(renderableText.getOffset(), maxLength, codePointBuffer);
      final float y = (float) StrictGeomUtility.toExternalValue(posY + awtBaseLine);
      g2.drawString(text, (float) StrictGeomUtility.toExternalValue(posX), y);
    }
    else
    {
      final ExtendedBaselineInfo baselineInfo = renderableText.getBaselineInfo();
      final int maxPos = renderableText.getOffset() + renderableText.computeMaximumTextSize(contentX2);
      long runningPos = posX;
      final long baseline = baselineInfo.getBaseline(baselineInfo.getDominantBaseline());
      final long baselineDelta = awtBaseLine - baseline;
      final float y = (float) (StrictGeomUtility.toExternalValue
          (posY + awtBaseLine + baselineDelta));
      for (int i = renderableText.getOffset(); i < maxPos; i++)
      {
        final Glyph g = gs.getGlyph(i);
        g2.drawString(gs.getGlyphAsString(i, codePointBuffer),
            (float) StrictGeomUtility.toExternalValue(runningPos), y);
        runningPos += RenderableText.convert(g.getWidth()) + g.getSpacing().getMinimum();
      }
    }
    g2.dispose();
View Full Code Here

TOP

Related Classes of org.pentaho.reporting.engine.classic.core.layout.text.GlyphList

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.