package com.google.typography.font.sfntly.table.bitmap;
import com.google.typography.font.sfntly.data.FontData.DataSize;
import com.google.typography.font.sfntly.data.ReadableFontData;
import com.google.typography.font.sfntly.data.WritableFontData;
import com.google.typography.font.sfntly.table.Header;
import com.google.typography.font.sfntly.table.SubTable;
import com.google.typography.font.sfntly.table.Table;
import com.google.typography.font.sfntly.table.Table.Builder;
public class EbscTable
extends Table
{
private EbscTable(Header paramHeader, ReadableFontData paramReadableFontData)
{
super(paramHeader, paramReadableFontData);
}
public int version()
{
return this.data.readFixed(Offset.version.offset);
}
public int numSizes()
{
return this.data.readULongAsInt(Offset.numSizes.offset);
}
public BitmapScaleTable bitmapScaleTable(int paramInt)
{
if ((paramInt < 0) || (paramInt > numSizes() - 1)) {
throw new IndexOutOfBoundsException("BitmapScaleTable index is outside the bounds of available tables.");
}
return new BitmapScaleTable(this.data, Offset.bitmapScaleTableStart.offset + paramInt * Offset.bitmapScaleTableLength.offset);
}
public static class Builder
extends Table.Builder<EbscTable>
{
public static Builder createBuilder(Header paramHeader, WritableFontData paramWritableFontData)
{
return new Builder(paramHeader, paramWritableFontData);
}
protected Builder(Header paramHeader, WritableFontData paramWritableFontData)
{
super(paramWritableFontData);
}
protected Builder(Header paramHeader, ReadableFontData paramReadableFontData)
{
super(paramReadableFontData);
}
protected EbscTable subBuildTable(ReadableFontData paramReadableFontData)
{
return new EbscTable(header(), paramReadableFontData, null);
}
protected void subDataSet() {}
protected int subDataSizeToSerialize()
{
return 0;
}
protected boolean subReadyToSerialize()
{
return false;
}
protected int subSerialize(WritableFontData paramWritableFontData)
{
return 0;
}
}
public static class BitmapScaleTable
extends SubTable
{
protected BitmapScaleTable(ReadableFontData paramReadableFontData, int paramInt)
{
super(paramInt, EbscTable.Offset.bitmapScaleTableLength.offset);
}
public int ppemX()
{
return this.data.readByte(EbscTable.Offset.bitmapScaleTable_ppemX.offset);
}
public int ppemY()
{
return this.data.readByte(EbscTable.Offset.bitmapScaleTable_ppemY.offset);
}
public int substitutePpemX()
{
return this.data.readByte(EbscTable.Offset.bitmapScaleTable_substitutePpemX.offset);
}
public int substitutePpemY()
{
return this.data.readByte(EbscTable.Offset.bitmapScaleTable_substitutePpemY.offset);
}
}
static enum Offset
{
version(0), numSizes(FontData.DataSize.Fixed.size()), headerLength(numSizes.offset + FontData.DataSize.ULONG.size()), bitmapScaleTableStart(headerLength.offset), bitmapScaleTable_hori(0), bitmapScaleTable_vert(EblcTable.Offset.sbitLineMetricsLength.offset), bitmapScaleTable_ppemX(bitmapScaleTable_vert.offset + EblcTable.Offset.sbitLineMetricsLength.offset), bitmapScaleTable_ppemY(bitmapScaleTable_ppemX.offset + FontData.DataSize.BYTE.size()), bitmapScaleTable_substitutePpemX(bitmapScaleTable_ppemY.offset + FontData.DataSize.BYTE.size()), bitmapScaleTable_substitutePpemY(bitmapScaleTable_substitutePpemX.offset + FontData.DataSize.BYTE.size()), bitmapScaleTableLength(bitmapScaleTable_substitutePpemY.offset + FontData.DataSize.BYTE.size());
final int offset;
private Offset(int paramInt)
{
this.offset = paramInt;
}
}
}
/* Location: C:\Users\Ethan\Desktop\FontZip\FontTool\sfnttool.jar!\com\google\typography\font\sfntly\table\bitmap\EbscTable.class
* Java compiler version: 6 (50.0)
* JD-Core Version: 0.7.1
*/