org.apache.fop.fonts.truetype

## Class OTFSubSetWriter

- java.lang.Object
- - org.apache.fop.fonts.truetype.OpenFont
  - - org.apache.fop.fonts.truetype.OTFFile
    - - org.apache.fop.fonts.truetype.OTFSubSetWriter

- Direct Known Subclasses:
    OTFSubSetFile

      public class OTFSubSetWriter
      extends OTFFile

- - ### Nested Class Summary

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

      `OpenFont.PostScriptVersion`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected int` | `currentPos`
    `protected ByteArrayOutputStream` | `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
    `OTFSubSetWriter()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static byte[]` | `concatArray(byte[] a, byte[] b)`
    `byte[]` | `getFontSubset()` Returns a subset of the fonts (readFont() MUST be called first in order to create the subset).
    `protected void` | `writeByte(int b)` Appends a byte to the output array, updates currentPost but not realSize
    `protected void` | `writeBytes(byte[] out)`
    `protected void` | `writeCard16(int s)` Appends a USHORT to the output array, updates currentPost but not realSize
    `protected void` | `writeThreeByteNumber(int s)`
    `protected void` | `writeULong(int s)` Appends a ULONG to the output array, at the given position

    - ### 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

    - #### currentPos

          protected int currentPos

    - #### output

          protected ByteArrayOutputStream output

  - ### Constructor Detail

    - #### OTFSubSetWriter

          public OTFSubSetWriter()
                          throws IOException

      Throws:
        `IOException`

  - ### Method Detail

    - #### concatArray

          public static byte[] concatArray(byte[] a,
                                           byte[] b)

    - #### writeByte

          protected void writeByte(int b)

      Appends a byte to the output array, updates currentPost but not realSize

    - #### writeCard16

          protected void writeCard16(int s)

      Appends a USHORT to the output array, updates currentPost but not realSize

    - #### writeThreeByteNumber

          protected void writeThreeByteNumber(int s)

    - #### writeULong

          protected void writeULong(int s)

      Appends a ULONG to the output array, at the given position

    - #### writeBytes

          protected void writeBytes(byte[] out)

    - #### getFontSubset

          public byte[] getFontSubset()

      Returns a subset of the fonts (readFont() MUST be called first in order to create the subset).
      Returns:
        byte array

Copyright © 2025 Apache Software Foundation. All rights reserved.