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