org.faceless.pdf2

## Class StandardFont

- java.lang.Object
- - org.faceless.pdf2.PDFFont
  - - org.faceless.pdf2.StandardFont

- All Implemented Interfaces:
    Cloneable

      public final class StandardFont
      extends PDFFont

  A concrete subclass of `PDFFont` representing the standard 14 fonts guaranteed to exist in all PDF readers.

  The Times, Helvetica and Courier fonts can represent the characters from all of ISO-8859-1, ISO-8859-2, ISO-8859-6 and ISO-8859-15 as well as a few other characters, which we believe is enough to render the following languages: `English, French, German, Portuguese, Italian, Spanish, Dutch, Danish, Swedish, Norwegian, Icelandic, Finnish, Polish, Croatian, Czech, Hungarian, Romanian, Slovak, Solvenian, Latvian, Lithuanian, Estonian, Turkish, Catalan, Basque, Albanian, Rhaeto-Romanic, Sorbian, Faroese, Irish, Scottish, Afrikaans, Swahili, Frisian, Galician, Indonesian/Malay and Tagalog.` (This list is based on an old IETF draft here and Roman Czyborras Alphabet Soup pages, and is not definitive or even necessarily accurate). Note the Dutch IJ ligatures (U+0132 and U+0133) and the Catalan "L with dot" (U+0140) characters are missing.

  Maps showing all the characters available in these fonts are included in the "docs" directory, or you can view them here for the main fonts, the Symbol font and ZapfDingbats.

  Since:
    1.0, with additional characters added in 2.7.3

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `COURIER` Represents the "Courier" font
    `static int` | `COURIERBOLD` Represents the "Courier-Bold" font
    `static int` | `COURIERBOLDOBLIQUE` Represents the "Courier-BoldOblique" font
    `static int` | `COURIEROBLIQUE` Represents the "Courier-Oblique" font
    `static int` | `HELVETICA` Represents the "Helvetica" font
    `static int` | `HELVETICABOLD` Represents the "Helvetica-Bold" font
    `static int` | `HELVETICABOLDOBLIQUE` Represents the "Helvetica-BoldOblique" font
    `static int` | `HELVETICAOBLIQUE` Represents the "Helvetica-Oblique" font
    `static int` | `SYMBOL` Represents the "Symbol" font
    `static int` | `TIMES` Represents the "Times-Roman" font
    `static int` | `TIMESBOLD` Represents the "Times-Bold" font
    `static int` | `TIMESBOLDITALIC` Represents the "Times-BoldItalic" font
    `static int` | `TIMESITALIC` Represents the "Times-Italic" font
    `static int` | `ZAPFDINGBATS` Represents the "ZapfDingbats" font.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `StandardFont(int fonttype)` Create a new font of the specified type.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `float` | `getAscender()` Get the Ascender for the font (the maximum height above the baseline the font extends), as a proportion of the point size.
    `String` | `getBaseName()` Return the Base Font Name for this font.
    `float` | `getDefaultLeading()` Get the default leading for this font - the preferred distance between two successive baselines of text.
    `float` | `getDescender()` Get the Descender for the font (the maximum height below the baseline the font extends), as a proportion of the point size.
    `float` | `getStrikeoutPosition()` Get the strikeout position, as a proportion of the font size.
    `float` | `getStrikeoutThickness()` Get the strikeout thickness, as a proportion of the font size.
    `float` | `getSubscriptPosition()` Get the recommended position of a sub-script version of this font, as a proportion of the sub-scripted font size.
    `float` | `getSubscriptSize()` Get the recommended size of a super/sub script version of this font, as a proportion of the normal font size.
    `float` | `getSuperscriptPosition()` Get the recommended position of a super-script version of this font, as a proportion of the sub-scripted font size.
    `int` | `getType()` Return the type of font, as supplied to the StandardFont constructor
    `float` | `getUnderlinePosition()` Get the underline position, as a proportion of the font size.
    `float` | `getUnderlineThickness()` Get the underline thickness, as a proportion of the font size.
    `float` | `getXHeight()` Get the X-Height of the font - normally the height of a lower-case 'x' character
    `boolean` | `isBold()` Return true if the font is bold
    `boolean` | `isItalic()` Return true if the font is italic
    `boolean` | `isMonospace()` Return true if every character has the same width (like Courier), false if every character is potentially a different width (like Times-Roman)
    `boolean` | `isSerif()` Return true if the font is serif
    `String` | `toString()`
    `PDFFont` | `versionBold()` Return a bold version of the current font, if available.
    `PDFFont` | `versionItalic()` Return an italic version of the current font, if available.
    `PDFFont` | `versionNonBold()` Return a non-bold version of the current font, if available.
    `PDFFont` | `versionNonItalic()` Return a non-italic version of the current font, if available.
    `PDFFont` | `versionRegular()` Return a non-bold, non-italic version of the current font, if available.

    - ### Methods inherited from class org.faceless.pdf2.PDFFont

      `getAvailableFeatures, getBottom, getCharWidth, getCharWidth, getFeature, getKerning, getKerning, getLeft, getRight, getTop, isDefined, isDefined, isHorizontal, ligaturize, ligaturize, requote, requote, setFeature`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### TIMES

          public static final int TIMES

      Represents the "Times-Roman" font
      See Also:
        Constant Field Values

    - #### TIMESBOLD

          public static final int TIMESBOLD

      Represents the "Times-Bold" font
      See Also:
        Constant Field Values

    - #### TIMESITALIC

          public static final int TIMESITALIC

      Represents the "Times-Italic" font
      See Also:
        Constant Field Values

    - #### TIMESBOLDITALIC

          public static final int TIMESBOLDITALIC

      Represents the "Times-BoldItalic" font
      See Also:
        Constant Field Values

    - #### HELVETICA

          public static final int HELVETICA

      Represents the "Helvetica" font
      See Also:
        Constant Field Values

    - #### HELVETICABOLD

          public static final int HELVETICABOLD

      Represents the "Helvetica-Bold" font
      See Also:
        Constant Field Values

    - #### HELVETICAOBLIQUE

          public static final int HELVETICAOBLIQUE

      Represents the "Helvetica-Oblique" font
      See Also:
        Constant Field Values

    - #### HELVETICABOLDOBLIQUE

          public static final int HELVETICABOLDOBLIQUE

      Represents the "Helvetica-BoldOblique" font
      See Also:
        Constant Field Values

    - #### COURIER

          public static final int COURIER

      Represents the "Courier" font
      See Also:
        Constant Field Values

    - #### COURIERBOLD

          public static final int COURIERBOLD

      Represents the "Courier-Bold" font
      See Also:
        Constant Field Values

    - #### COURIEROBLIQUE

          public static final int COURIEROBLIQUE

      Represents the "Courier-Oblique" font
      See Also:
        Constant Field Values

    - #### COURIERBOLDOBLIQUE

          public static final int COURIERBOLDOBLIQUE

      Represents the "Courier-BoldOblique" font
      See Also:
        Constant Field Values

    - #### SYMBOL

          public static final int SYMBOL

      Represents the "Symbol" font
      See Also:
        Constant Field Values

    - #### ZAPFDINGBATS

          public static final int ZAPFDINGBATS

      Represents the "ZapfDingbats" font. Note that the characters in the font are defined by the correct Unicode codepoints, rather than just numbers 1 to 255. See the file `docs/map-zapf.pdf` that came with the distribution to see what these codepoints are.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### StandardFont

          public StandardFont(int fonttype)

      Create a new font of the specified type.
      Parameters:
        `fonttype` - which font to create - one of `TIMES`, `COURIERBOLD` etc.

  - ### Method Detail

    - #### getType

          public int getType()

      Return the type of font, as supplied to the StandardFont constructor
      Since:
        2.14.1

    - #### getBaseName

          public String getBaseName()

      Description copied from class: `PDFFont`
      Return the Base Font Name for this font.
      Overrides:
        `getBaseName` in class `PDFFont`

    - #### getDefaultLeading

          public float getDefaultLeading()

      Description copied from class: `PDFFont`

      Get the default leading for this font - the preferred distance between two successive baselines of text. Values are a ratio of the font size, and are typically between 1 and 1.3

      Note that the values of the different spacing-between-lines methods have changed - in versions 1.0.4 and earlier this routine normally returned 1 and the spacing was set by the `PDFStyle.setTextLineSpacing(float)` method. Since 1.1, the values for these two methods are effectively reversed. See the relevant method comments in the `PDFStyle` class for more information.

      Specified by:
        `getDefaultLeading` in class `PDFFont`

    - #### getStrikeoutThickness

          public float getStrikeoutThickness()

      Description copied from class: `PDFFont`
      Get the strikeout thickness, as a proportion of the font size.
      Specified by:
        `getStrikeoutThickness` in class `PDFFont`

    - #### getStrikeoutPosition

          public float getStrikeoutPosition()

      Description copied from class: `PDFFont`
      Get the strikeout position, as a proportion of the font size.
      Specified by:
        `getStrikeoutPosition` in class `PDFFont`

    - #### getSubscriptSize

          public float getSubscriptSize()

      Description copied from class: `PDFFont`

      Get the recommended size of a super/sub script version of this font, as a proportion of the normal font size. Typical value is around 0.6.

      For some fonts (like CJK or barcode fonts) where there is no concept of super or subscript, this value is entirely arbitrary.

      Specified by:
        `getSubscriptSize` in class `PDFFont`

    - #### getSuperscriptPosition

          public float getSuperscriptPosition()

      Description copied from class: `PDFFont`

      Get the recommended position of a super-script version of this font, as a proportion of the sub-scripted font size. Value is always positive.

      For some fonts (like CJK or barcode fonts) where there is no concept of super or subscript, this value is entirely arbitrary.

      Specified by:
        `getSuperscriptPosition` in class `PDFFont`

    - #### getSubscriptPosition

          public float getSubscriptPosition()

      Description copied from class: `PDFFont`

      Get the recommended position of a sub-script version of this font, as a proportion of the sub-scripted font size. Value is almost always zero or negative.

      For some fonts (like CJK or barcode fonts) where there is no concept of super or subscript, this value is entirely arbitrary.

      Specified by:
        `getSubscriptPosition` in class `PDFFont`

    - #### getUnderlineThickness

          public float getUnderlineThickness()

      Description copied from class: `PDFFont`
      Get the underline thickness, as a proportion of the font size.
      Specified by:
        `getUnderlineThickness` in class `PDFFont`

    - #### getUnderlinePosition

          public float getUnderlinePosition()

      Description copied from class: `PDFFont`
      Get the underline position, as a proportion of the font size. Like the `getDescender()` method, the returned value is almost always negative, indicating below the baseline.
      Specified by:
        `getUnderlinePosition` in class `PDFFont`

    - #### getAscender

          public float getAscender()

      Description copied from class: `PDFFont`
      Get the Ascender for the font (the maximum height above the baseline the font extends), as a proportion of the point size.
      Specified by:
        `getAscender` in class `PDFFont`

    - #### getDescender

          public float getDescender()

      Description copied from class: `PDFFont`
      Get the Descender for the font (the maximum height below the baseline the font extends), as a proportion of the point size. The returned value is usually negative.
      Specified by:
        `getDescender` in class `PDFFont`

    - #### getXHeight

          public float getXHeight()

      Description copied from class: `PDFFont`
      Get the X-Height of the font - normally the height of a lower-case 'x' character
      Specified by:
        `getXHeight` in class `PDFFont`

    - #### isItalic

          public boolean isItalic()

      Description copied from class: `PDFFont`
      Return true if the font is italic
      Specified by:
        `isItalic` in class `PDFFont`

    - #### isBold

          public boolean isBold()

      Description copied from class: `PDFFont`
      Return true if the font is bold
      Specified by:
        `isBold` in class `PDFFont`

    - #### isSerif

          public boolean isSerif()

      Description copied from class: `PDFFont`
      Return true if the font is serif
      Specified by:
        `isSerif` in class `PDFFont`

    - #### isMonospace

          public boolean isMonospace()

      Description copied from class: `PDFFont`
      Return true if every character has the same width (like Courier), false if every character is potentially a different width (like Times-Roman)
      Specified by:
        `isMonospace` in class `PDFFont`

    - #### versionItalic

          public PDFFont versionItalic()

      Description copied from class: `PDFFont`
      Return an italic version of the current font, if available. By default this just returns this font.
      Overrides:
        `versionItalic` in class `PDFFont`

    - #### versionBold

          public PDFFont versionBold()

      Description copied from class: `PDFFont`
      Return a bold version of the current font, if available. By default this just returns this font.
      Overrides:
        `versionBold` in class `PDFFont`

    - #### versionNonItalic

          public PDFFont versionNonItalic()

      Description copied from class: `PDFFont`
      Return a non-italic version of the current font, if available. By default this just returns this font.
      Overrides:
        `versionNonItalic` in class `PDFFont`

    - #### versionNonBold

          public PDFFont versionNonBold()

      Description copied from class: `PDFFont`
      Return a non-bold version of the current font, if available. By default this just returns this font.
      Overrides:
        `versionNonBold` in class `PDFFont`

    - #### versionRegular

          public PDFFont versionRegular()

      Description copied from class: `PDFFont`
      Return a non-bold, non-italic version of the current font, if available. By default this just returns this font.
      Overrides:
        `versionRegular` in class `PDFFont`

    - #### toString

          public String toString()

Copyright © 2001-2015 Big Faceless Organization