private void setMetricDefaults() { _underlinePosition = -50; _underlineThickness = 50; int[] box = _font.getCharBBox('x'); if (box != null) { _yStrikeoutPosition = box[3] / 2 + 50; _yStrikeoutSize = 100; } else { // Do what the JDK does, size will be calculated by ITextTextRenderer _yStrikeoutPosition = _font.getFontDescriptor(BaseFont.BBOXURY, 1000f) / 3.0f; } }
private void setMetricDefaults() { _underlinePosition = -50; _underlineThickness = 50; int[] box = _font.getCharBBox('x'); if (box != null) { _yStrikeoutPosition = box[3] / 2 + 50; _yStrikeoutSize = 100; } else { // Do what the JDK does, size will be calculated by ITextTextRenderer _yStrikeoutPosition = _font.getFontDescriptor(BaseFont.BBOXURY, 1000f) / 3.0f; } }
private void setMetricDefaults() { _underlinePosition = -50; _underlineThickness = 50; int[] box = _font.getCharBBox('x'); if (box != null) { _yStrikeoutPosition = box[3] / 2 + 50; _yStrikeoutSize = 100; } else { // Do what the JDK does, size will be calculated by ITextTextRenderer _yStrikeoutPosition = _font.getFontDescriptor(BaseFont.BBOXURY, 1000f) / 3.0f; } }
private void setMetricDefaults() { _underlinePosition = -50; _underlineThickness = 50; int[] box = _font.getCharBBox('x'); if (box != null) { _yStrikeoutPosition = box[3] / 2 + 50; _yStrikeoutSize = 100; } else { // Do what the JDK does, size will be calculated by ITextTextRenderer _yStrikeoutPosition = _font.getFontDescriptor(BaseFont.BBOXURY, 1000f) / 3.0f; } }
private void setMetricDefaults() { _underlinePosition = -50; _underlineThickness = 50; int[] box = _font.getCharBBox('x'); if (box != null) { _yStrikeoutPosition = box[3] / 2 + 50; _yStrikeoutSize = 100; } else { // Do what the JDK does, size will be calculated by ITextTextRenderer _yStrikeoutPosition = _font.getFontDescriptor(BaseFont.BBOXURY, 1000f) / 3.0f; } }
private void setMetricDefaults() { _underlinePosition = -50; _underlineThickness = 50; int[] box = _font.getCharBBox('x'); if (box != null) { _yStrikeoutPosition = box[3] / 2 + 50; _yStrikeoutSize = 100; } else { // Do what the JDK does, size will be calculated by ITextTextRenderer _yStrikeoutPosition = _font.getFontDescriptor(BaseFont.BBOXURY, 1000f) / 3.0f; } }
private float calculateFontSize(float w, float h) throws IOException, DocumentException { BaseFont ufont = getRealFont(); float fsize = fontSize; if (fsize == 0) { float bw = ufont.getWidthPoint(text, 1); if (bw == 0) fsize = 12; else fsize = w / bw; float nfsize = h / (1 - ufont.getFontDescriptor(BaseFont.DESCENT, 1)); fsize = Math.min(fsize, nfsize); if (fsize < 4) fsize = 4; } return fsize; }
private float calculateFontSize(float w, float h) throws IOException, DocumentException { BaseFont ufont = getRealFont(); float fsize = fontSize; if (fsize == 0) { float bw = ufont.getWidthPoint(text, 1); if (bw == 0) fsize = 12; else fsize = w / bw; float nfsize = h / (1 - ufont.getFontDescriptor(BaseFont.DESCENT, 1)); fsize = Math.min(fsize, nfsize); if (fsize < 4) fsize = 4; } return fsize; }
private float calculateFontSize(float w, float h) throws IOException, DocumentException { BaseFont ufont = getRealFont(); float fsize = fontSize; if (fsize == 0) { float bw = ufont.getWidthPoint(text, 1); if (bw == 0) fsize = 12; else fsize = w / bw; float nfsize = h / (1 - ufont.getFontDescriptor(BaseFont.DESCENT, 1)); fsize = Math.min(fsize, nfsize); if (fsize < 4) fsize = 4; } return fsize; }
/** * Gets the biggest descender for all the fonts used * in this line. Note that this is a negative number. * @return maximum size of all the ascenders used in this line */ public float getDescender() { float descender = 0; for (int k = 0; k < line.size(); ++k) { PdfChunk ck = (PdfChunk)line.get(k); if (ck.isImage()) descender = Math.min(descender, ck.getImageOffsetY()); else { PdfFont font = ck.font(); descender = Math.min(descender, font.getFont().getFontDescriptor(BaseFont.DESCENT, font.size())); } } return descender; } }
/** * Gets the biggest descender for all the fonts used * in this line. Note that this is a negative number. * @return maximum size of all the ascenders used in this line */ public float getDescender() { float descender = 0; for (int k = 0; k < line.size(); ++k) { PdfChunk ck = (PdfChunk)line.get(k); if (ck.isImage()) descender = Math.min(descender, ck.getImageOffsetY()); else { PdfFont font = ck.font(); descender = Math.min(descender, font.getFont().getFontDescriptor(BaseFont.DESCENT, font.size())); } } return descender; } }
/** * Gets the maximum size of the ascender for all the fonts used * in this line. * @return maximum size of all the ascenders used in this line */ public float getAscender() { float ascender = 0; for (int k = 0; k < line.size(); ++k) { PdfChunk ck = (PdfChunk)line.get(k); if (ck.isImage()) ascender = Math.max(ascender, ck.getImage().getScaledHeight() + ck.getImageOffsetY()); else { PdfFont font = ck.font(); ascender = Math.max(ascender, font.getFont().getFontDescriptor(BaseFont.ASCENT, font.size())); } } return ascender; }
/** * Gets the maximum size of the ascender for all the fonts used * in this line. * @return maximum size of all the ascenders used in this line */ public float getAscender() { float ascender = 0; for (int k = 0; k < line.size(); ++k) { PdfChunk ck = (PdfChunk)line.get(k); if (ck.isImage()) ascender = Math.max(ascender, ck.getImage().getScaledHeight() + ck.getImageOffsetY()); else { PdfFont font = ck.font(); ascender = Math.max(ascender, font.getFont().getFontDescriptor(BaseFont.ASCENT, font.size())); } } return ascender; }
/** * Gets the maximum size of the ascender for all the fonts used * in this line. * @return maximum size of all the ascenders used in this line */ public float getAscender() { float ascender = 0; for (int k = 0; k < line.size(); ++k) { PdfChunk ck = (PdfChunk)line.get(k); if (ck.isImage()) ascender = Math.max(ascender, ck.getImage().getScaledHeight() + ck.getImageOffsetY()); else { PdfFont font = ck.font(); ascender = Math.max(ascender, font.getFont().getFontDescriptor(BaseFont.ASCENT, font.size())); } } return ascender; }
public FSFontMetrics getFSFontMetrics(FontContext context, FSFont font, String string) { FontDescription descr = ((ITextFSFont)font).getFontDescription(); BaseFont bf = descr.getFont(); float size = font.getSize2D(); ITextFSFontMetrics result = new ITextFSFontMetrics(); result.setAscent(bf.getFontDescriptor(BaseFont.BBOXURY, size)); result.setDescent(-bf.getFontDescriptor(BaseFont.BBOXLLY, size)); result.setStrikethroughOffset(-descr.getYStrikeoutPosition() / 1000f * size); if (descr.getYStrikeoutSize() != 0) { result.setStrikethroughThickness(descr.getYStrikeoutSize() / 1000f * size); } else { result.setStrikethroughThickness(size / 12.0f); } result.setUnderlineOffset(-descr.getUnderlinePosition() / 1000f * size); result.setUnderlineThickness(descr.getUnderlineThickness() / 1000f * size); return result; }
public FSFontMetrics getFSFontMetrics(FontContext context, FSFont font, String string) { FontDescription descr = ((ITextFSFont)font).getFontDescription(); BaseFont bf = descr.getFont(); float size = font.getSize2D(); ITextFSFontMetrics result = new ITextFSFontMetrics(); result.setAscent(bf.getFontDescriptor(BaseFont.BBOXURY, size)); result.setDescent(-bf.getFontDescriptor(BaseFont.BBOXLLY, size)); result.setStrikethroughOffset(-descr.getYStrikeoutPosition() / 1000f * size); if (descr.getYStrikeoutSize() != 0) { result.setStrikethroughThickness(descr.getYStrikeoutSize() / 1000f * size); } else { result.setStrikethroughThickness(size / 12.0f); } result.setUnderlineOffset(-descr.getUnderlinePosition() / 1000f * size); result.setUnderlineThickness(descr.getUnderlineThickness() / 1000f * size); return result; }
public FSFontMetrics getFSFontMetrics(FontContext context, FSFont font, String string) { FontDescription descr = ((ITextFSFont)font).getFontDescription(); BaseFont bf = descr.getFont(); float size = font.getSize2D(); ITextFSFontMetrics result = new ITextFSFontMetrics(); result.setAscent(bf.getFontDescriptor(BaseFont.BBOXURY, size)); result.setDescent(-bf.getFontDescriptor(BaseFont.BBOXLLY, size)); result.setStrikethroughOffset(-descr.getYStrikeoutPosition() / 1000f * size); if (descr.getYStrikeoutSize() != 0) { result.setStrikethroughThickness(descr.getYStrikeoutSize() / 1000f * size); } else { result.setStrikethroughThickness(size / 12.0f); } result.setUnderlineOffset(-descr.getUnderlinePosition() / 1000f * size); result.setUnderlineThickness(descr.getUnderlineThickness() / 1000f * size); return result; }
public FSFontMetrics getFSFontMetrics(FontContext context, FSFont font, String string) { FontDescription descr = ((ITextFSFont)font).getFontDescription(); BaseFont bf = descr.getFont(); float size = font.getSize2D(); ITextFSFontMetrics result = new ITextFSFontMetrics(); result.setAscent(bf.getFontDescriptor(BaseFont.BBOXURY, size)); result.setDescent(-bf.getFontDescriptor(BaseFont.BBOXLLY, size)); result.setStrikethroughOffset(-descr.getYStrikeoutPosition() / 1000f * size); if (descr.getYStrikeoutSize() != 0) { result.setStrikethroughThickness(descr.getYStrikeoutSize() / 1000f * size); } else { result.setStrikethroughThickness(size / 12.0f); } result.setUnderlineOffset(-descr.getUnderlinePosition() / 1000f * size); result.setUnderlineThickness(descr.getUnderlineThickness() / 1000f * size); return result; }
public FSFontMetrics getFSFontMetrics(FontContext context, FSFont font, String string) { FontDescription descr = ((ITextFSFont)font).getFontDescription(); BaseFont bf = descr.getFont(); float size = font.getSize2D(); ITextFSFontMetrics result = new ITextFSFontMetrics(); result.setAscent(bf.getFontDescriptor(BaseFont.BBOXURY, size)); result.setDescent(-bf.getFontDescriptor(BaseFont.BBOXLLY, size)); result.setStrikethroughOffset(-descr.getYStrikeoutPosition() / 1000f * size); if (descr.getYStrikeoutSize() != 0) { result.setStrikethroughThickness(descr.getYStrikeoutSize() / 1000f * size); } else { result.setStrikethroughThickness(size / 12.0f); } result.setUnderlineOffset(-descr.getUnderlinePosition() / 1000f * size); result.setUnderlineThickness(descr.getUnderlineThickness() / 1000f * size); return result; }
public FSFontMetrics getFSFontMetrics(FontContext context, FSFont font, String string) { FontDescription descr = ((ITextFSFont)font).getFontDescription(); BaseFont bf = descr.getFont(); float size = font.getSize2D(); ITextFSFontMetrics result = new ITextFSFontMetrics(); result.setAscent(bf.getFontDescriptor(BaseFont.BBOXURY, size)); result.setDescent(-bf.getFontDescriptor(BaseFont.BBOXLLY, size)); result.setStrikethroughOffset(-descr.getYStrikeoutPosition() / 1000f * size); if (descr.getYStrikeoutSize() != 0) { result.setStrikethroughThickness(descr.getYStrikeoutSize() / 1000f * size); } else { result.setStrikethroughThickness(size / 12.0f); } result.setUnderlineOffset(-descr.getUnderlinePosition() / 1000f * size); result.setUnderlineThickness(descr.getUnderlineThickness() / 1000f * size); return result; }