public StylableParagraph( StylableDocument ownerDocument, Paragraph title, IStylableContainer parent ) { super( title ); this.ownerDocument = ownerDocument; this.parent = parent; super.setMultipliedLeading( DEFAULT_LINE_HEIGHT ); }
public StylableParagraph( StylableDocument ownerDocument, Paragraph title, IStylableContainer parent ) { super( title ); this.ownerDocument = ownerDocument; this.parent = parent; super.setMultipliedLeading( DEFAULT_LINE_HEIGHT ); }
@Override public void setMultipliedLeading( float multipliedLeading ) { super.setMultipliedLeading( multipliedLeading ); this.originMultipliedLeading = multipliedLeading; }
public StylableParagraph( StylableDocument ownerDocument, IStylableContainer parent ) { super(); this.ownerDocument = ownerDocument; this.parent = parent; super.setMultipliedLeading( DEFAULT_LINE_HEIGHT ); }
@Override public void setMultipliedLeading( float multipliedLeading ) { super.setMultipliedLeading( multipliedLeading ); this.originMultipliedLeading = multipliedLeading; }
public StylableParagraph( StylableDocument ownerDocument, IStylableContainer parent ) { super(); this.ownerDocument = ownerDocument; this.parent = parent; super.setMultipliedLeading( DEFAULT_LINE_HEIGHT ); }
/** * Adjust iText multiplied leading according the given font. * * @param font */ public void adjustMultipliedLeading( Font font ) { if ( originMultipliedLeading != null && font != null && font.getBaseFont() != null ) { // iText and open office computes proportional line height differently // [iText] line height = coefficient * font size // [MS Word] line height = coefficient * (font ascender + font descender + font extra margin) // we have to increase paragraph line height to generate pdf similar to OOXML docx document // this algorithm may be inaccurate if fonts with different multipliers are used in this paragraph float size = font.getSize(); float ascender = font.getBaseFont().getFontDescriptor( BaseFont.AWT_ASCENT, size ); float descender = -font.getBaseFont().getFontDescriptor( BaseFont.AWT_DESCENT, size ); // negative value float margin = font.getBaseFont().getFontDescriptor( BaseFont.AWT_LEADING, size ); float multiplier = ( ascender + descender + margin ) / size; super.setMultipliedLeading( originMultipliedLeading * multiplier ); } }
/** * Adjust iText multiplied leading according the given font. * * @param font */ public void adjustMultipliedLeading( Font font ) { if ( originMultipliedLeading != null && font != null && font.getBaseFont() != null ) { // iText and open office computes proportional line height differently // [iText] line height = coefficient * font size // [MS Word] line height = coefficient * (font ascender + font descender + font extra margin) // we have to increase paragraph line height to generate pdf similar to OOXML docx document // this algorithm may be inaccurate if fonts with different multipliers are used in this paragraph float size = font.getSize(); float ascender = font.getBaseFont().getFontDescriptor( BaseFont.AWT_ASCENT, size ); float descender = -font.getBaseFont().getFontDescriptor( BaseFont.AWT_DESCENT, size ); // negative value float margin = font.getBaseFont().getFontDescriptor( BaseFont.AWT_LEADING, size ); float multiplier = ( ascender + descender + margin ) / size; super.setMultipliedLeading( originMultipliedLeading * multiplier ); } }
super.setMultipliedLeading( lineHeight.getLineHeight() );
super.setMultipliedLeading( lineHeight.getLineHeight() );