package com.google.typography.font.sfntly.data; public abstract class FontData { protected static final int GROWABLE_SIZE = Integer.MAX_VALUE; protected final ByteArray<? extends ByteArray<?>> array; private int boundOffset; private int boundLength = Integer.MAX_VALUE; protected FontData(ByteArray<? extends ByteArray<?>> paramByteArray) { this.array = paramByteArray; } protected FontData(FontData paramFontData, int paramInt1, int paramInt2) { this(paramFontData.array); bound(paramFontData.boundOffset + paramInt1, paramInt2); } protected FontData(FontData paramFontData, int paramInt) { this(paramFontData.array); bound(paramFontData.boundOffset + paramInt, paramFontData.boundLength == Integer.MAX_VALUE ? Integer.MAX_VALUE : paramFontData.boundLength - paramInt); } public boolean bound(int paramInt1, int paramInt2) { if ((paramInt1 + paramInt2 > size()) || (paramInt1 < 0) || (paramInt2 < 0)) { return false; } this.boundOffset += paramInt1; this.boundLength = paramInt2; return true; } public boolean bound(int paramInt) { if ((paramInt > size()) || (paramInt < 0)) { return false; } this.boundOffset += paramInt; return true; } public abstract FontData slice(int paramInt1, int paramInt2); public abstract FontData slice(int paramInt); public int length() { return Math.min(this.array.length() - this.boundOffset, this.boundLength); } public int size() { return Math.min(this.array.size() - this.boundOffset, this.boundLength); } protected final int boundOffset(int paramInt) { return paramInt + this.boundOffset; } protected final int boundLength(int paramInt1, int paramInt2) { return Math.min(paramInt2, this.boundLength - paramInt1); } protected final boolean boundsCheck(int paramInt1, int paramInt2) { if ((paramInt1 < 0) || (paramInt1 >= this.boundLength)) { return false; } return (paramInt2 >= 0) && (paramInt2 + paramInt1 <= this.boundLength); } public static enum DataSize { BYTE(1), CHAR(1), USHORT(2), SHORT(2), UINT24(3), ULONG(4), LONG(4), Fixed(4), FUNIT(4), FWORD(2), UFWORD(2), F2DOT14(2), LONGDATETIME(8), Tag(4), GlyphID(2), Offset(2); private final int size; private DataSize(int paramInt) { this.size = paramInt; } public int size() { return this.size; } } } /* Location: C:\Users\Ethan\Desktop\FontZip\FontTool\sfnttool.jar!\com\google\typography\font\sfntly\data\FontData.class * Java compiler version: 6 (50.0) * JD-Core Version: 0.7.1 */