org.apache.fop.render.pdf.pdfbox

## Class MergeCFFFonts

- java.lang.Object
- - org.apache.fop.fonts.truetype.OpenFont
  - - org.apache.fop.fonts.truetype.OTFFile
    - - org.apache.fop.fonts.truetype.OTFSubSetWriter
      - - org.apache.fop.render.pdf.pdfbox.OTFSubSetFile
        - - org.apache.fop.render.pdf.pdfbox.MergeCFFFonts

- All Implemented Interfaces:
    MergeFonts

      public class MergeCFFFonts
      extends OTFSubSetFile
      implements MergeFonts

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.fop.fonts.truetype.OpenFont

      `org.apache.fop.fonts.truetype.OpenFont.PostScriptVersion`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected java.util.List<java.util.Map<java.lang.Integer,java.lang.Integer>>` | `subsetGlyphsList`

    - ### Fields inherited from class org.apache.fop.render.pdf.pdfbox.OTFSubSetFile

      `cffReader, embeddedName, gidToSID, globalUniques, localUniques, NUM_STANDARD_STRINGS, stringIndexData, subsetCharStringsIndex, subsetLocalIndexSubr`

    - ### Fields inherited from class org.apache.fop.fonts.truetype.OTFSubSetWriter

      `currentPos, output`

    - ### Fields inherited from class org.apache.fop.fonts.truetype.OTFFile

      `fileFont`

    - ### Fields inherited from class org.apache.fop.fonts.truetype.OpenFont

      `advancedTableReader, cid, dirTabs, embedFontName, familyNames, fontFile, fullName, lastLoca, locaFormat, log, mtxTab, nhmtx, notice, numberOfGlyphs, postScriptName, subFamilyName, svgs, TRACE_ENABLED, unicodeMappings, useAdvanced, useKerning`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `MergeCFFFonts()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `createCFF()`
    `protected void` | `createCharStringData()`
    `byte[]` | `getMergedFontSubset()`
    `static java.util.List<java.lang.Integer>` | `getSids(org.apache.fontbox.cff.CFFCharset cSet)`
    `static java.util.Map<java.lang.String,byte[]>` | `getStrings(org.apache.fontbox.cff.CFFFont ff)`
    `void` | `readFont(java.io.InputStream is, java.lang.String name, FontContainer fontContainer, java.util.Map<java.lang.Integer,java.lang.Integer> subsetGlyphs, boolean cid)`
    `protected void` | `updateFixedOffsets(java.util.Map<java.lang.String,org.apache.fop.fonts.cff.CFFDataReader.DICTEntry> topDICT, org.apache.fop.render.pdf.pdfbox.OTFSubSetFile.Offsets offsets)`
    `protected void` | `writeCharsetTable(boolean cidFont, boolean afterstringindex)`
    `protected void` | `writeEncoding()`
    `protected void` | `writeStringIndex()`

    - ### Methods inherited from class org.apache.fop.render.pdf.pdfbox.OTFSubSetFile

      `createNewRef, updateCIDOffsets, updateOffset, updateOffset, updateOffsets, writeCIDCount, writeIndex, writeIndex, writePrivateDict, writeTopDICT`

    - ### Methods inherited from class org.apache.fop.fonts.truetype.OTFSubSetWriter

      `concatArray, getFontSubset, writeByte, writeBytes, writeCard16, writeThreeByteNumber, writeULong`

    - ### Methods inherited from class org.apache.fop.fonts.truetype.OTFFile

      `getCFFData, initializeFont, isType1, readName, updateBBoxAndOffset`

    - ### Methods inherited from class org.apache.fop.fonts.truetype.OpenFont

      `checkTTC, convertTTFUnit2PDFUnit, createCMaps, determineAscDesc, getAnsiKerning, getBBox, getBBoxRaw, getBoundingBoxes, getCapHeight, getCharSetName, getCharWidth, getCharWidthRaw, getCMaps, getCopyrightNotice, getDirectoryEntry, getEmbedFontName, getFamilyNames, getFirstChar, getFlags, getFontBBox, getFullName, getGDEF, getGPOS, getGSUB, getItalicAngle, getKerning, getLastChar, getLowerCaseAscent, getLowerCaseDescent, getMtx, getNumGlyphs, getPadSize, getPostScriptName, getStemV, getStrikeoutPosition, getStrikeoutThickness, getSubFamilyName, getTTCnames, getUnderlinePosition, getUnderlineThickness, getWeightClass, getWidths, getXHeight, guessVerticalMetricsFromGlyphBBox, handleCharacterSpacing, hasAdvancedTable, initAnsiWidths, isCFF, isEmbeddable, main, printStuff, readCMAP, readDirTabs, readFont, readFont, readFont, readFontHeader, readHorizontalHeader, readHorizontalMetrics, readKerning, readOS2, readPCLT, readPostScript, seekTab, stream`

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

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

- - ### Field Detail

    - #### subsetGlyphsList

          protected java.util.List<java.util.Map<java.lang.Integer,java.lang.Integer>> subsetGlyphsList

  - ### Constructor Detail

    - #### MergeCFFFonts

          public MergeCFFFonts()
                        throws java.io.IOException

      Throws:
        `java.io.IOException`

  - ### Method Detail

    - #### readFont

          public void readFont(java.io.InputStream is,
                               java.lang.String name,
                               FontContainer fontContainer,
                               java.util.Map<java.lang.Integer,java.lang.Integer> subsetGlyphs,
                               boolean cid)
                        throws java.io.IOException

      Specified by:
        `readFont` in interface `MergeFonts`
      Throws:
        `java.io.IOException`

    - #### getSids

          public static java.util.List<java.lang.Integer> getSids(org.apache.fontbox.cff.CFFCharset cSet)

    - #### getStrings

          public static java.util.Map<java.lang.String,byte[]> getStrings(org.apache.fontbox.cff.CFFFont ff)
                                                                   throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### getMergedFontSubset

          public byte[] getMergedFontSubset()
                                     throws java.io.IOException

      Specified by:
        `getMergedFontSubset` in interface `MergeFonts`
      Throws:
        `java.io.IOException`

    - #### createCFF

          protected void createCFF()
                            throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeEncoding

          protected void writeEncoding()
                                throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeStringIndex

          protected void writeStringIndex()
                                   throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### createCharStringData

          protected void createCharStringData()
                                       throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeCharsetTable

          protected void writeCharsetTable(boolean cidFont,
                                           boolean afterstringindex)
                                    throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### updateFixedOffsets

          protected void updateFixedOffsets(java.util.Map<java.lang.String,org.apache.fop.fonts.cff.CFFDataReader.DICTEntry> topDICT,
                                            org.apache.fop.render.pdf.pdfbox.OTFSubSetFile.Offsets offsets)
                                     throws java.io.IOException

      Specified by:
        `updateFixedOffsets` in class `OTFSubSetFile`
      Throws:
        `java.io.IOException`

Copyright 2007-2025 The Apache Software Foundation. All Rights Reserved.