public class OTFSubSetFile
extends org.apache.fop.fonts.truetype.OTFSubSetWriter
Modifier and Type | Field and Description |
---|---|
protected CFFDataReader |
cffReader
The CFF reader object used to read data and offsets from the original font file
|
protected String |
embeddedName
The embedded name to change in the name table
|
protected List<List<byte[]>> |
fdSubrs
For fonts which have an FDSelect or ROS flag in Top Dict, this is used to store the
local subroutine indexes for each group as opposed to the above subsetLocalIndexSubr
|
protected Map<Integer,Integer> |
gidToSID
A map of the new GID to SID used to construct the charset table
|
protected CFFDataReader.CFFIndexData |
globalIndexSubr |
protected List<Integer> |
globalUniques |
protected CFFDataReader.CFFIndexData |
localIndexSubr |
protected List<Integer> |
localUniques
A list of unique subroutines from the global / local subroutine indexes
|
static int |
NUM_STANDARD_STRINGS
The number of standard strings in CFF
|
protected List<byte[]> |
stringIndexData
An array used to hold the string index data for the subset font
|
protected List<byte[]> |
subsetCharStringsIndex
A list of char string data for each glyph to be stored in the subset font
|
protected List<byte[]> |
subsetGlobalIndexSubr |
protected int |
subsetGlobalSubrCount |
protected Map<Integer,Integer> |
subsetGlyphs
A map containing each glyph to be included in the subset
with their existing and new GID's
|
protected List<byte[]> |
subsetLocalIndexSubr
List of subroutines to write to the local / global indexes in the subset font
|
protected int |
subsetLocalSubrCount
A store of the number of subroutines each global / local subroutine will store
|
advancedTableReader, cid, dirTabs, embedFontName, familyNames, fontFile, fullName, lastLoca, locaFormat, log, mtxTab, nhmtx, notice, numberOfGlyphs, postScriptName, subFamilyName, svgs, TRACE_ENABLED, unicodeMappings, useAdvanced, useKerning
Constructor and Description |
---|
OTFSubSetFile() |
Modifier and Type | Method and Description |
---|---|
protected void |
createCFF() |
protected void |
createCharStringDataCID() |
static byte[] |
createNewRef(int newRef,
int[] operatorCode,
int forceLength,
boolean isDict) |
CFFDataReader |
getCFFReader()
Returns the parsed CFF data for the original font.
|
protected List<Integer> |
getUsedFDFonts() |
void |
readFont(org.apache.fop.fonts.truetype.FontFileReader in,
String embeddedName,
org.apache.fop.fonts.MultiByteFont mbFont) |
protected List<Integer> |
storeFDStrings(List<Integer> uniqueNewRefs) |
protected void |
updateCIDOffsets(org.apache.fop.fonts.truetype.OTFSubSetFile.Offsets offsets) |
protected void |
updateFixedOffsets(Map<String,CFFDataReader.DICTEntry> topDICT,
org.apache.fop.fonts.truetype.OTFSubSetFile.Offsets offsets) |
protected void |
updateOffsets(org.apache.fop.fonts.truetype.OTFSubSetFile.Offsets offsets) |
protected byte[] |
writeCIDCount(CFFDataReader.DICTEntry dictEntry) |
protected List<Integer> |
writeCIDDictsAndSubrs(List<Integer> uniqueNewRefs) |
protected int |
writeFDArray(List<Integer> uniqueNewRefs,
List<Integer> privateDictOffsets,
List<Integer> fontNameSIDs) |
protected void |
writeFDSelect() |
protected int |
writeIndex(List<byte[]> dataArray) |
protected int |
writeIndex(List<byte[]> dataArray,
int offSize) |
protected void |
writePrivateDict() |
protected int |
writeTopDICT() |
concatArray, getFontSubset, writeByte, writeBytes, writeCard16, writeThreeByteNumber, writeULong
getCFFData, initializeFont, isType1, readName, updateBBoxAndOffset
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, readFontHeader, readHorizontalHeader, readHorizontalMetrics, readKerning, readOS2, readPCLT, readPostScript, seekTab, stream
protected Map<Integer,Integer> subsetGlyphs
protected Map<Integer,Integer> gidToSID
protected CFFDataReader.CFFIndexData localIndexSubr
protected CFFDataReader.CFFIndexData globalIndexSubr
protected List<byte[]> subsetLocalIndexSubr
protected List<byte[]> subsetGlobalIndexSubr
protected List<List<byte[]>> fdSubrs
protected List<Integer> localUniques
protected int subsetLocalSubrCount
protected int subsetGlobalSubrCount
protected List<byte[]> subsetCharStringsIndex
protected String embeddedName
protected List<byte[]> stringIndexData
protected CFFDataReader cffReader
public static final int NUM_STANDARD_STRINGS
public OTFSubSetFile() throws IOException
IOException
public void readFont(org.apache.fop.fonts.truetype.FontFileReader in, String embeddedName, org.apache.fop.fonts.MultiByteFont mbFont) throws IOException
readFont
in class org.apache.fop.fonts.truetype.OpenFont
IOException
protected void createCFF() throws IOException
IOException
protected List<Integer> storeFDStrings(List<Integer> uniqueNewRefs) throws IOException
IOException
protected int writeTopDICT() throws IOException
IOException
protected byte[] writeCIDCount(CFFDataReader.DICTEntry dictEntry) throws IOException
IOException
protected void createCharStringDataCID() throws IOException
IOException
protected void writeFDSelect()
protected List<Integer> writeCIDDictsAndSubrs(List<Integer> uniqueNewRefs) throws IOException
IOException
protected int writeFDArray(List<Integer> uniqueNewRefs, List<Integer> privateDictOffsets, List<Integer> fontNameSIDs) throws IOException
IOException
public static byte[] createNewRef(int newRef, int[] operatorCode, int forceLength, boolean isDict)
protected int writeIndex(List<byte[]> dataArray)
protected int writeIndex(List<byte[]> dataArray, int offSize)
protected void writePrivateDict() throws IOException
IOException
protected void updateOffsets(org.apache.fop.fonts.truetype.OTFSubSetFile.Offsets offsets) throws IOException
IOException
protected void updateFixedOffsets(Map<String,CFFDataReader.DICTEntry> topDICT, org.apache.fop.fonts.truetype.OTFSubSetFile.Offsets offsets) throws IOException
IOException
protected void updateCIDOffsets(org.apache.fop.fonts.truetype.OTFSubSetFile.Offsets offsets) throws IOException
IOException
public CFFDataReader getCFFReader()
Copyright © 2024. All rights reserved.