CIDFont (Apache FOP Core 2.11 API)
Date: 2025-04-24

org.apache.fop.fonts

## Class CIDFont

- java.lang.Object
- - org.apache.fop.fonts.Typeface
  - - org.apache.fop.fonts.CustomFont
    - - org.apache.fop.fonts.CIDFont

- All Implemented Interfaces:
    FontDescriptor, FontMetrics, MutableFont
  Direct Known Subclasses:
    MultiByteFont

      public abstract class CIDFont
      extends CustomFont

  Abstract base class for CID fonts.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected int[]` | `width` Contains the character widths for all characters in the font

    - ### Fields inherited from class org.apache.fop.fonts.CustomFont

      `additionalEncodings, cmap, svgs, unencodedCharacters`

    - ### Fields inherited from class org.apache.fop.fonts.Typeface

      `eventListener, NOT_FOUND`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CIDFont(InternalResourceResolver resourceResolver)`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract CIDSet` | `getCIDSet()` Returns the subset information for this font.
    `abstract CIDFontType` | `getCIDType()` Returns the type of the CID font.
    `int` | `getDefaultWidth()` Returns the default width for this font.
    `abstract String` | `getOrdering()` Returns a font name for use within a registry.
    `abstract String` | `getRegistry()` Returns the name of the issuer of the font.
    `abstract int` | `getSupplement()` Returns the supplement number of the character collection.
    `abstract boolean` | `hasCodePoint(int cp)` Determines whether this font contains a particular code point/glyph.
    `boolean` | `isMultiByte()` Determines whether the font is a multibyte font.
    `abstract int` | `mapCodePoint(int cp)` Map a Unicode code point to a code point in the font.

    - ### Methods inherited from class org.apache.fop.fonts.CustomFont

      `addUnencodedCharacter, getAdditionalEncoding, getAdditionalEncodingCount, getAscender, getAscender, getCapHeight, getCapHeight, getCMap, getDescender, getDescender, getEmbeddingMode, getEmbedFileURI, getEmbedFontName, getEmbedResourceName, getFamilyNames, getFirstChar, getFlags, getFontBBox, getFontName, getFontSubName, getFontType, getFontURI, getFullName, getInputStream, getItalicAngle, getKerningInfo, getLastChar, getMissingWidth, getSimulateStyle, getStemV, getStrikeoutPosition, getStrikeoutThickness, getStrippedFontName, getUnderlinePosition, getUnderlineThickness, getUnicodeFromGID, getUsedGlyphs, getWeight, getXHeight, hasAdditionalEncodings, hasKerningInfo, hasSVG, isAdvancedEnabled, isKerningEnabled, isSymbolicFont, mapUnencodedChar, putKerningEntry, replaceKerningMap, setAdvancedEnabled, setAscender, setCapHeight, setCMap, setDescender, setEmbeddingMode, setEmbedResourceName, setEmbedURI, setFamilyNames, setFirstChar, setFlags, setFontBBox, setFontName, setFontSubFamilyName, setFontType, setFontURI, setFullName, setItalicAngle, setKerningEnabled, setLastChar, setMissingWidth, setSimulateStyle, setStemV, setStrikeoutPosition, setStrikeoutThickness, setSVG, setUnderlinePosition, setUnderlineThickness, setWeight, setXHeight`

    - ### Methods inherited from class org.apache.fop.fonts.Typeface

      `getEncodingName, getMaxAscent, hadMappingOperations, hasChar, hasFeature, isCID, mapChar, notifyMapOperation, setEventListener, toString, warnMissingGlyph`

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

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

    - ### Methods inherited from interface org.apache.fop.fonts.FontDescriptor

      `isEmbeddable, isSubsetEmbedded`

    - ### Methods inherited from interface org.apache.fop.fonts.FontMetrics

      `getBoundingBox, getMaxAscent, getWidth, getWidths, hasFeature`

- - ### Field Detail

    - #### width

          protected int[] width

      Contains the character widths for all characters in the font

  - ### Constructor Detail

    - #### CIDFont

          public CIDFont(InternalResourceResolver resourceResolver)

      Parameters:
        `resourceResolver` - the URI resolver for controlling file access

  - ### Method Detail

    - #### getCIDType

          public abstract CIDFontType getCIDType()

      Returns the type of the CID font.
      Returns:
        the type of the CID font

    - #### getRegistry

          public abstract String getRegistry()

      Returns the name of the issuer of the font.
      Returns:
        a String identifying an issuer of character collections - for example, Adobe

    - #### getOrdering

          public abstract String getOrdering()

      Returns a font name for use within a registry.
      Returns:
        a String that uniquely names a character collection issued by a specific registry - for example, Japan1.

    - #### getSupplement

          public abstract int getSupplement()

      Returns the supplement number of the character collection.
      Returns:
        the supplement number

    - #### getCIDSet

          public abstract CIDSet getCIDSet()

      Returns the subset information for this font.
      Returns:
        the subset information

    - #### hasCodePoint

          public abstract boolean hasCodePoint(int cp)

      Determines whether this font contains a particular code point/glyph.
      Parameters:
        `cp` - character to check
      Returns:
        True if the character is supported, False otherwise

    - #### mapCodePoint

          public abstract int mapCodePoint(int cp)

      Map a Unicode code point to a code point in the font.
      Parameters:
        `cp` - code point to map
      Returns:
        the mapped code point

    - #### getDefaultWidth

          public int getDefaultWidth()

      Returns the default width for this font.
      Returns:
        the default width

    - #### isMultiByte

          public boolean isMultiByte()

      Determines whether the font is a multibyte font.
      Specified by:
        `isMultiByte` in interface `FontMetrics`
      Overrides:
        `isMultiByte` in class `Typeface`
      Returns:
        True if it is multibyte

Copyright © 2025 Apache Software Foundation. All rights reserved.