Font Metrics : Font « PDF « Java Tutorial






import java.io.FileOutputStream;

import com.lowagie.text.Document;
import com.lowagie.text.Font;
import com.lowagie.text.Paragraph;
import com.lowagie.text.pdf.BaseFont;
import com.lowagie.text.pdf.PdfWriter;

public class MainClass {
  public static void main(String[] args) throws Exception {
    Document document = new Document();
    PdfWriter.getInstance(document, new FileOutputStream("2.pdf"));

    document.open();

    Font font = new Font(Font.HELVETICA, 12);
    BaseFont bf = font.getCalculatedBaseFont(false);

    String numbers = "0123456789";
    String letters = "abcdefghijklmnopqrstuvwxyz";
    document.add(new Paragraph(numbers, font));
    System.out.println("width: " + bf.getWidth(numbers) + " (" + bf.getWidthPoint(numbers, 12)
        + "pt)");
    System.out.println("ascent: " + bf.getAscent(numbers) + "; descent: " + bf.getDescent(numbers)
        + "; height: " + (bf.getAscentPoint(numbers, 12) - bf.getDescentPoint(numbers, 12) + "pt"));
    document.add(new Paragraph(letters, font));
    System.out.println("width: " + bf.getWidth(letters) + " (" + bf.getWidthPoint(letters, 12)
        + "pt)");
    System.out.println("ascent: " + bf.getAscent(letters) + "; descent: " + bf.getDescent(letters)
        + "; height: " + (bf.getAscentPoint(letters, 12) - bf.getDescentPoint(letters, 12)) + "pt");

    document.close();
  }
}








29.13.Font
29.13.1.Create font
29.13.2.new Font(Font.COURIER, 10, Font.BOLD)
29.13.3.Font.UNDERLINE
29.13.4.Create font from pfm file
29.13.5.Embeded font
29.13.6..afm font
29.13.7.TrueType font
29.13.8..otf font
29.13.9.Font Metrics
29.13.10.Embeded TrueType Font
29.13.11.All kinds of fonts
29.13.12.Get font name
29.13.13.Not Embedded font
29.13.14.Font supporting Unicode
29.13.15.Japanese font
29.13.16.Korea font
29.13.17.Right To Left Example
29.13.18.BaseFont.createFont(BaseFont.HELVETICA,BaseFont.WINANSI, BaseFont.NOT_EMBEDDED)
29.13.19.Use truetype font to draw unicode string
29.13.20.Use DefaultFontMapper