package com.tom_roush.pdfbox.pdmodel.font.encoding;
import com.tom_roush.fontbox.afm.CharMetric;
import com.tom_roush.fontbox.afm.FontMetrics;
import com.tom_roush.pdfbox.cos.COSBase;
import java.util.Map;
/**
* An encoding for a Type 1 font.
*/
public class Type1Encoding extends Encoding
{
/**
* Creates an encoding from the given FontBox encoding.
*
* @param encoding FontBox encoding
*/
public static Type1Encoding fromFontBox(com.tom_roush.fontbox.encoding.Encoding encoding)
{
// todo: could optimise this by looking for specific subclasses
Map<Integer,String> codeToName = encoding.getCodeToNameMap();
Type1Encoding enc = new Type1Encoding();
for (Map.Entry<Integer, String> entry : codeToName.entrySet())
{
enc.add(entry.getKey(), entry.getValue());
}
return enc;
}
/**
* Creates an empty encoding.
*/
public Type1Encoding()
{
}
/**
* Creates an encoding from the given AFM font metrics.
*
* @param fontMetrics AFM font metrics.
*/
public Type1Encoding(FontMetrics fontMetrics)
{
for (CharMetric nextMetric : fontMetrics.getCharMetrics())
{
add(nextMetric.getCharacterCode(), nextMetric.getName());
}
}
@Override
public COSBase getCOSObject()
{
return null;
}
}