package com.google.typography.font.sfntly.table.core;
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.Table;
import com.google.typography.font.sfntly.table.TableBasedTableBuilder;
import java.util.EnumSet;
import java.util.Iterator;
public final class OS2Table
extends Table
{
private OS2Table(Header paramHeader, ReadableFontData paramReadableFontData)
{
super(paramHeader, paramReadableFontData);
}
public int tableVersion()
{
return this.data.readUShort(Offset.version.offset);
}
public int xAvgCharWidth()
{
return this.data.readShort(Offset.xAvgCharWidth.offset);
}
public int usWeightClass()
{
return this.data.readUShort(Offset.usWeightClass.offset);
}
public int usWidthClass()
{
return this.data.readUShort(Offset.usWidthClass.offset);
}
public EnumSet<EmbeddingFlags> fsType()
{
return EmbeddingFlags.asSet(fsTypeAsInt());
}
public int fsTypeAsInt()
{
return this.data.readUShort(Offset.fsType.offset);
}
public int ySubscriptXSize()
{
return this.data.readShort(Offset.ySubscriptXSize.offset);
}
public int ySubscriptYSize()
{
return this.data.readShort(Offset.ySubscriptYSize.offset);
}
public int ySubscriptXOffset()
{
return this.data.readShort(Offset.ySubscriptXOffset.offset);
}
public int ySubscriptYOffset()
{
return this.data.readShort(Offset.ySubscriptYOffset.offset);
}
public int ySuperscriptXSize()
{
return this.data.readShort(Offset.ySuperscriptXSize.offset);
}
public int ySuperscriptYSize()
{
return this.data.readShort(Offset.ySuperscriptYSize.offset);
}
public int ySuperscriptXOffset()
{
return this.data.readShort(Offset.ySuperscriptXOffset.offset);
}
public int ySuperscriptYOffset()
{
return this.data.readShort(Offset.ySuperscriptYOffset.offset);
}
public int yStrikeoutSize()
{
return this.data.readShort(Offset.yStrikeoutSize.offset);
}
public int yStrikeoutPosition()
{
return this.data.readShort(Offset.yStrikeoutPosition.offset);
}
public int sFamilyClass()
{
return this.data.readShort(Offset.sFamilyClass.offset);
}
public byte[] panose()
{
byte[] arrayOfByte = new byte[10];
this.data.readBytes(Offset.panose.offset, arrayOfByte, 0, arrayOfByte.length);
return arrayOfByte;
}
public long ulUnicodeRange1()
{
return this.data.readULong(Offset.ulUnicodeRange1.offset);
}
public long ulUnicodeRange2()
{
return this.data.readULong(Offset.ulUnicodeRange2.offset);
}
public long ulUnicodeRange3()
{
return this.data.readULong(Offset.ulUnicodeRange3.offset);
}
public long ulUnicodeRange4()
{
return this.data.readULong(Offset.ulUnicodeRange4.offset);
}
public EnumSet<UnicodeRange> ulUnicodeRange()
{
return UnicodeRange.asSet(ulUnicodeRange1(), ulUnicodeRange2(), ulUnicodeRange3(), ulUnicodeRange4());
}
public byte[] achVendId()
{
byte[] arrayOfByte = new byte[4];
this.data.readBytes(Offset.achVendId.offset, arrayOfByte, 0, arrayOfByte.length);
return arrayOfByte;
}
public int fsSelectionAsInt()
{
return this.data.readUShort(Offset.fsSelection.offset);
}
public EnumSet<FsSelection> fsSelection()
{
return FsSelection.asSet(fsSelectionAsInt());
}
public int usFirstCharIndex()
{
return this.data.readUShort(Offset.usFirstCharIndex.offset);
}
public int usLastCharIndex()
{
return this.data.readUShort(Offset.usLastCharIndex.offset);
}
public int sTypoAscender()
{
return this.data.readShort(Offset.sTypoAscender.offset);
}
public int sTypoDescender()
{
return this.data.readShort(Offset.sTypoDescender.offset);
}
public int sTypoLineGap()
{
return this.data.readShort(Offset.sTypoLineGap.offset);
}
public int usWinAscent()
{
return this.data.readUShort(Offset.usWinAscent.offset);
}
public int usWinDescent()
{
return this.data.readUShort(Offset.usWinDescent.offset);
}
public long ulCodePageRange1()
{
return this.data.readULong(Offset.ulCodePageRange1.offset);
}
public long ulCodePageRange2()
{
return this.data.readULong(Offset.ulCodePageRange2.offset);
}
public EnumSet<CodePageRange> ulCodePageRange()
{
return CodePageRange.asSet(ulCodePageRange1(), ulCodePageRange1());
}
public int sxHeight()
{
return this.data.readShort(Offset.sxHeight.offset);
}
public int sCapHeight()
{
return this.data.readShort(Offset.sCapHeight.offset);
}
public int usDefaultChar()
{
return this.data.readUShort(Offset.usDefaultChar.offset);
}
public int usBreakChar()
{
return this.data.readUShort(Offset.usBreakChar.offset);
}
public int usMaxContext()
{
return this.data.readUShort(Offset.usMaxContext.offset);
}
public static class Builder
extends TableBasedTableBuilder<OS2Table>
{
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 OS2Table subBuildTable(ReadableFontData paramReadableFontData)
{
return new OS2Table(header(), paramReadableFontData, null);
}
public int tableVersion()
{
return internalReadData().readUShort(OS2Table.Offset.access$000(OS2Table.Offset.version));
}
public void setTableVersion(int paramInt)
{
internalWriteData().writeUShort(OS2Table.Offset.access$000(OS2Table.Offset.version), paramInt);
}
public int xAvgCharWidth()
{
return internalReadData().readShort(OS2Table.Offset.access$000(OS2Table.Offset.xAvgCharWidth));
}
public void setXAvgCharWidth(int paramInt)
{
internalWriteData().writeShort(OS2Table.Offset.access$000(OS2Table.Offset.xAvgCharWidth), paramInt);
}
public int usWeightClass()
{
return internalReadData().readUShort(OS2Table.Offset.access$000(OS2Table.Offset.usWeightClass));
}
public void setUsWeightClass(int paramInt)
{
internalWriteData().writeUShort(OS2Table.Offset.access$000(OS2Table.Offset.usWeightClass), paramInt);
}
public int usWidthClass()
{
return internalReadData().readUShort(OS2Table.Offset.access$000(OS2Table.Offset.usWidthClass));
}
public void setUsWidthClass(int paramInt)
{
internalWriteData().writeUShort(OS2Table.Offset.access$000(OS2Table.Offset.usWidthClass), paramInt);
}
public EnumSet<OS2Table.EmbeddingFlags> fsType()
{
return OS2Table.EmbeddingFlags.asSet(fsTypeAsInt());
}
public int fsTypeAsInt()
{
return internalReadData().readUShort(OS2Table.Offset.access$000(OS2Table.Offset.fsType));
}
public void setFsType(EnumSet<OS2Table.EmbeddingFlags> paramEnumSet)
{
setFsType(OS2Table.EmbeddingFlags.asUShort(paramEnumSet));
}
public void setFsType(int paramInt)
{
internalWriteData().writeUShort(OS2Table.Offset.access$000(OS2Table.Offset.fsType), paramInt);
}
public int ySubscriptXSize()
{
return internalReadData().readShort(OS2Table.Offset.access$000(OS2Table.Offset.ySubscriptXSize));
}
public void setYSubscriptXSize(int paramInt)
{
internalWriteData().writeShort(OS2Table.Offset.access$000(OS2Table.Offset.ySubscriptXSize), paramInt);
}
public int ySubscriptYSize()
{
return internalReadData().readShort(OS2Table.Offset.access$000(OS2Table.Offset.ySubscriptYSize));
}
public void setYSubscriptYSize(int paramInt)
{
internalWriteData().writeShort(OS2Table.Offset.access$000(OS2Table.Offset.ySubscriptYSize), paramInt);
}
public int ySubscriptXOffset()
{
return internalReadData().readShort(OS2Table.Offset.access$000(OS2Table.Offset.ySubscriptXOffset));
}
public void setYSubscriptXOffset(int paramInt)
{
internalWriteData().writeShort(OS2Table.Offset.access$000(OS2Table.Offset.ySubscriptXOffset), paramInt);
}
public int ySubscriptYOffset()
{
return internalReadData().readShort(OS2Table.Offset.access$000(OS2Table.Offset.ySubscriptYOffset));
}
public void setYSubscriptYOffset(int paramInt)
{
internalWriteData().writeShort(OS2Table.Offset.access$000(OS2Table.Offset.ySubscriptYOffset), paramInt);
}
public int ySuperscriptXSize()
{
return internalReadData().readShort(OS2Table.Offset.access$000(OS2Table.Offset.ySuperscriptXSize));
}
public void setYSuperscriptXSize(int paramInt)
{
internalWriteData().writeShort(OS2Table.Offset.access$000(OS2Table.Offset.ySuperscriptXSize), paramInt);
}
public int ySuperscriptYSize()
{
return internalReadData().readShort(OS2Table.Offset.access$000(OS2Table.Offset.ySuperscriptYSize));
}
public void setYSuperscriptYSize(int paramInt)
{
internalWriteData().writeShort(OS2Table.Offset.access$000(OS2Table.Offset.ySuperscriptYSize), paramInt);
}
public int ySuperscriptXOffset()
{
return internalReadData().readShort(OS2Table.Offset.access$000(OS2Table.Offset.ySuperscriptXOffset));
}
public void setYSuperscriptXOffset(int paramInt)
{
internalWriteData().writeShort(OS2Table.Offset.access$000(OS2Table.Offset.ySuperscriptXOffset), paramInt);
}
public int ySuperscriptYOffset()
{
return internalReadData().readShort(OS2Table.Offset.access$000(OS2Table.Offset.ySuperscriptYOffset));
}
public void setYSuperscriptYOffset(int paramInt)
{
internalWriteData().writeShort(OS2Table.Offset.access$000(OS2Table.Offset.ySuperscriptYOffset), paramInt);
}
public int yStrikeoutSize()
{
return internalReadData().readShort(OS2Table.Offset.access$000(OS2Table.Offset.yStrikeoutSize));
}
public void setYStrikeoutSize(int paramInt)
{
internalWriteData().writeShort(OS2Table.Offset.access$000(OS2Table.Offset.yStrikeoutSize), paramInt);
}
public int yStrikeoutPosition()
{
return internalReadData().readShort(OS2Table.Offset.access$000(OS2Table.Offset.yStrikeoutPosition));
}
public void setYStrikeoutPosition(int paramInt)
{
internalWriteData().writeShort(OS2Table.Offset.access$000(OS2Table.Offset.yStrikeoutPosition), paramInt);
}
public int sFamilyClass()
{
return internalReadData().readShort(OS2Table.Offset.access$000(OS2Table.Offset.sFamilyClass));
}
public void setSFamilyClass(int paramInt)
{
internalWriteData().writeShort(OS2Table.Offset.access$000(OS2Table.Offset.sFamilyClass), paramInt);
}
public byte[] panose()
{
byte[] arrayOfByte = new byte[OS2Table.Offset.access$000(OS2Table.Offset.panoseLength)];
internalReadData().readBytes(OS2Table.Offset.access$000(OS2Table.Offset.panose), arrayOfByte, 0, arrayOfByte.length);
return arrayOfByte;
}
public void setPanose(byte[] paramArrayOfByte)
{
if (paramArrayOfByte.length != OS2Table.Offset.access$000(OS2Table.Offset.panoseLength)) {
throw new IllegalArgumentException("Panose bytes must be exactly 10 in length.");
}
internalWriteData().writeBytes(OS2Table.Offset.access$000(OS2Table.Offset.panose), paramArrayOfByte, 0, paramArrayOfByte.length);
}
public long ulUnicodeRange1()
{
return internalReadData().readULong(OS2Table.Offset.access$000(OS2Table.Offset.ulUnicodeRange1));
}
public void setUlUnicodeRange1(long paramLong)
{
internalWriteData().writeULong(OS2Table.Offset.access$000(OS2Table.Offset.ulUnicodeRange1), paramLong);
}
public long ulUnicodeRange2()
{
return internalReadData().readULong(OS2Table.Offset.access$000(OS2Table.Offset.ulUnicodeRange2));
}
public void setUlUnicodeRange2(long paramLong)
{
internalWriteData().writeULong(OS2Table.Offset.access$000(OS2Table.Offset.ulUnicodeRange2), paramLong);
}
public long ulUnicodeRange3()
{
return internalReadData().readULong(OS2Table.Offset.access$000(OS2Table.Offset.ulUnicodeRange3));
}
public void setUlUnicodeRange3(long paramLong)
{
internalWriteData().writeULong(OS2Table.Offset.access$000(OS2Table.Offset.ulUnicodeRange3), paramLong);
}
public long ulUnicodeRange4()
{
return internalReadData().readULong(OS2Table.Offset.access$000(OS2Table.Offset.ulUnicodeRange4));
}
public void setUlUnicodeRange4(long paramLong)
{
internalWriteData().writeULong(OS2Table.Offset.access$000(OS2Table.Offset.ulUnicodeRange4), paramLong);
}
public EnumSet<OS2Table.UnicodeRange> ulUnicodeRange()
{
return OS2Table.UnicodeRange.asSet(ulUnicodeRange1(), ulUnicodeRange2(), ulUnicodeRange3(), ulUnicodeRange4());
}
public void setUlUnicodeRange(EnumSet<OS2Table.UnicodeRange> paramEnumSet)
{
long[] arrayOfLong = OS2Table.UnicodeRange.asArray(paramEnumSet);
setUlUnicodeRange1(arrayOfLong[0]);
setUlUnicodeRange2(arrayOfLong[1]);
setUlUnicodeRange3(arrayOfLong[2]);
setUlUnicodeRange4(arrayOfLong[3]);
}
public byte[] achVendId()
{
byte[] arrayOfByte = new byte[OS2Table.Offset.access$000(OS2Table.Offset.achVendIdLength)];
internalReadData().readBytes(OS2Table.Offset.access$000(OS2Table.Offset.achVendId), arrayOfByte, 0, arrayOfByte.length);
return arrayOfByte;
}
public void setAchVendId(byte[] paramArrayOfByte)
{
internalWriteData().writeBytesPad(OS2Table.Offset.access$000(OS2Table.Offset.achVendId), paramArrayOfByte, 0, OS2Table.Offset.access$000(OS2Table.Offset.achVendIdLength), (byte)32);
}
public int fsSelectionAsInt()
{
return internalReadData().readUShort(OS2Table.Offset.access$000(OS2Table.Offset.fsSelection));
}
public void setFsSelection(int paramInt)
{
internalWriteData().writeUShort(OS2Table.Offset.access$000(OS2Table.Offset.fsSelection), paramInt);
}
public void fsSelection(EnumSet<OS2Table.FsSelection> paramEnumSet)
{
setFsSelection(OS2Table.FsSelection.asInt(paramEnumSet));
}
public int usFirstCharIndex()
{
return internalReadData().readUShort(OS2Table.Offset.access$000(OS2Table.Offset.usFirstCharIndex));
}
public void setUsFirstCharIndex(int paramInt)
{
internalWriteData().writeUShort(OS2Table.Offset.access$000(OS2Table.Offset.usFirstCharIndex), paramInt);
}
public int usLastCharIndex()
{
return internalReadData().readUShort(OS2Table.Offset.access$000(OS2Table.Offset.usLastCharIndex));
}
public void setUsLastCharIndex(int paramInt)
{
internalWriteData().writeUShort(OS2Table.Offset.access$000(OS2Table.Offset.usLastCharIndex), paramInt);
}
public int sTypoAscender()
{
return internalReadData().readShort(OS2Table.Offset.access$000(OS2Table.Offset.sTypoAscender));
}
public void setSTypoAscender(int paramInt)
{
internalWriteData().writeShort(OS2Table.Offset.access$000(OS2Table.Offset.sTypoAscender), paramInt);
}
public int sTypoDescender()
{
return internalReadData().readShort(OS2Table.Offset.access$000(OS2Table.Offset.sTypoDescender));
}
public void setSTypoDescender(int paramInt)
{
internalWriteData().writeShort(OS2Table.Offset.access$000(OS2Table.Offset.sTypoDescender), paramInt);
}
public int sTypoLineGap()
{
return internalReadData().readShort(OS2Table.Offset.access$000(OS2Table.Offset.sTypoLineGap));
}
public void setSTypoLineGap(int paramInt)
{
internalWriteData().writeShort(OS2Table.Offset.access$000(OS2Table.Offset.sTypoLineGap), paramInt);
}
public int usWinAscent()
{
return internalReadData().readUShort(OS2Table.Offset.access$000(OS2Table.Offset.usWinAscent));
}
public void setUsWinAscent(int paramInt)
{
internalWriteData().writeUShort(OS2Table.Offset.access$000(OS2Table.Offset.usWinAscent), paramInt);
}
public int usWinDescent()
{
return internalReadData().readUShort(OS2Table.Offset.access$000(OS2Table.Offset.usWinDescent));
}
public void setUsWinDescent(int paramInt)
{
internalWriteData().writeUShort(OS2Table.Offset.access$000(OS2Table.Offset.usWinAscent), paramInt);
}
public long ulCodePageRange1()
{
return internalReadData().readULong(OS2Table.Offset.access$000(OS2Table.Offset.ulCodePageRange1));
}
public void setUlCodePageRange1(long paramLong)
{
internalWriteData().writeULong(OS2Table.Offset.access$000(OS2Table.Offset.ulCodePageRange1), paramLong);
}
public long ulCodePageRange2()
{
return internalReadData().readULong(OS2Table.Offset.access$000(OS2Table.Offset.ulCodePageRange2));
}
public void setUlCodePageRange2(long paramLong)
{
internalWriteData().writeULong(OS2Table.Offset.access$000(OS2Table.Offset.ulCodePageRange2), paramLong);
}
public EnumSet<OS2Table.CodePageRange> ulCodePageRange()
{
return OS2Table.CodePageRange.asSet(ulCodePageRange1(), ulCodePageRange2());
}
public void setUlCodePageRange(EnumSet<OS2Table.CodePageRange> paramEnumSet)
{
long[] arrayOfLong = OS2Table.CodePageRange.asArray(paramEnumSet);
setUlCodePageRange1(arrayOfLong[0]);
setUlCodePageRange2(arrayOfLong[1]);
}
public int sxHeight()
{
return internalReadData().readShort(OS2Table.Offset.access$000(OS2Table.Offset.sxHeight));
}
public void setSxHeight(int paramInt)
{
internalWriteData().writeShort(OS2Table.Offset.access$000(OS2Table.Offset.sxHeight), paramInt);
}
public int sCapHeight()
{
return internalReadData().readShort(OS2Table.Offset.access$000(OS2Table.Offset.sCapHeight));
}
public void setSCapHeight(int paramInt)
{
internalWriteData().writeShort(OS2Table.Offset.access$000(OS2Table.Offset.sCapHeight), paramInt);
}
public int usDefaultChar()
{
return internalReadData().readUShort(OS2Table.Offset.access$000(OS2Table.Offset.usDefaultChar));
}
public void setUsDefaultChar(int paramInt)
{
internalWriteData().writeUShort(OS2Table.Offset.access$000(OS2Table.Offset.usDefaultChar), paramInt);
}
public int usBreakChar()
{
return internalReadData().readUShort(OS2Table.Offset.access$000(OS2Table.Offset.usBreakChar));
}
public void setUsBreakChar(int paramInt)
{
internalWriteData().writeUShort(OS2Table.Offset.access$000(OS2Table.Offset.usBreakChar), paramInt);
}
public int usMaxContext()
{
return internalReadData().readUShort(OS2Table.Offset.access$000(OS2Table.Offset.usMaxContext));
}
public void setUsMaxContext(int paramInt)
{
internalWriteData().writeUShort(OS2Table.Offset.access$000(OS2Table.Offset.usMaxContext), paramInt);
}
}
public static enum CodePageRange
{
Latin1_1252, Latin2_1250, Cyrillic_1251, Greek_1253, Turkish_1254, Hebrew_1255, Arabic_1256, WindowsBaltic_1257, Vietnamese_1258, AlternateANSI9, AlternateANSI10, AlternateANSI11, AlternateANSI12, AlternateANSI13, AlternateANSI14, AlternateANSI15, Thai_874, JapanJIS_932, ChineseSimplified_936, KoreanWansung_949, ChineseTraditional_950, KoreanJohab_1361, AlternateANSI22, AlternateANSI23, AlternateANSI24, AlternateANSI25, AlternateANSI26, AlternateANSI27, AlternateANSI28, MacintoshCharacterSet, OEMCharacterSet, SymbolCharacterSet, ReservedForOEM32, ReservedForOEM33, ReservedForOEM34, ReservedForOEM35, ReservedForOEM36, ReservedForOEM37, ReservedForOEM38, ReservedForOEM39, ReservedForOEM40, ReservedForOEM41, ReservedForOEM42, ReservedForOEM43, ReservedForOEM44, ReservedForOEM45, ReservedForOEM46, ReservedForOEM47, IBMGreek_869, MSDOSRussion_866, MSDOSNordic_865, Arabic_864, MSDOSCanadianFrench_863, Hebrew_862, MSDOSIcelandic_861, MSDOSPortugese_860, IBMTurkish_857, IBMCyrillic_855, Latin2_852, MSDOSBaltic_775, Greek_737, Arabic_708, Latin1_850, US_437;
private CodePageRange() {}
public static OS2Table.UnicodeRange range(int paramInt)
{
if (paramInt > OS2Table.UnicodeRange.values().length) {
return null;
}
return OS2Table.UnicodeRange.values()[paramInt];
}
public static EnumSet<CodePageRange> asSet(long paramLong1, long paramLong2)
{
EnumSet localEnumSet = EnumSet.noneOf(CodePageRange.class);
long[] arrayOfLong = { paramLong1, paramLong2 };
int i = 0;
int j = -1;
for (CodePageRange localCodePageRange : values())
{
if (localCodePageRange.ordinal() % 32 == 0)
{
i = 0;
j++;
}
else
{
i++;
}
if ((arrayOfLong[j] & 1 << i) == 1 << i) {
localEnumSet.add(localCodePageRange);
}
}
return localEnumSet;
}
public static long[] asArray(EnumSet<CodePageRange> paramEnumSet)
{
long[] arrayOfLong = new long[4];
Iterator localIterator = paramEnumSet.iterator();
while (localIterator.hasNext())
{
CodePageRange localCodePageRange = (CodePageRange)localIterator.next();
int i = localCodePageRange.ordinal() / 32;
long l = 1 << localCodePageRange.ordinal() % 32;
arrayOfLong[i] |= l;
}
return arrayOfLong;
}
}
public static enum FsSelection
{
ITALIC, UNDERSCORE, NEGATIVE, OUTLINED, STRIKEOUT, BOLD, REGULAR, USE_TYPO_METRICS, WWS, OBLIQUE;
private FsSelection() {}
public int mask()
{
return 1 << ordinal();
}
public static EnumSet<FsSelection> asSet(int paramInt)
{
EnumSet localEnumSet = EnumSet.noneOf(FsSelection.class);
for (FsSelection localFsSelection : values()) {
if ((paramInt & localFsSelection.mask()) == localFsSelection.mask()) {
localEnumSet.add(localFsSelection);
}
}
return localEnumSet;
}
public static int asInt(EnumSet<FsSelection> paramEnumSet)
{
int i = 0;
Iterator localIterator = paramEnumSet.iterator();
while (localIterator.hasNext())
{
FsSelection localFsSelection = (FsSelection)localIterator.next();
i |= localFsSelection.mask();
}
return i;
}
}
public static enum UnicodeRange
{
BasicLatin, Latin1Supplement, LatinExtendedA, LatinExtendedB, IPAExtensions, SpacingModifierLetters, CombiningDiacriticalMarks, GreekAndCoptic, Coptic, Cyrillic, Armenian, Hebrew, Vai, Arabic, NKo, Devanagari, Bengali, Gurmukhi, Gujarati, Oriya, Tamil, Telugu, Kannada, Malayalam, Thai, Lao, Georgian, Balinese, HangulJamo, LatinExtendedAdditional, GreekExtended, GeneralPunctuation, SuperscriptsAndSubscripts, CurrencySymbols, NumberForms, Arrows, MathematicalOperators, MiscTechnical, ControlPictures, OCR, EnclosedAlphanumerics, BoxDrawing, BlockElements, GeometricShapes, MiscSymbols, Dingbats, CJKSymbolsAndPunctuation, Hiragana, Katakana, Bopomofo, HangulCompatibilityJamo, Phagspa, EnclosedCJKLettersAndMonths, CJKCompatibility, HangulSyllables, NonPlane0, Phoenician, CJKUnifiedIdeographs, PrivateUseAreaPlane0, CJKStrokes, AlphabeticPresentationForms, ArabicPresentationFormsA, CombiningHalfMarks, VerticalForms, SmallFormVariants, ArabicPresentationFormsB, HalfwidthAndFullwidthForms, Specials, Tibetan, Syriac, Thaana, Sinhala, Myanmar, Ethiopic, Cherokee, UnifiedCanadianAboriginalSyllabics, Ogham, Runic, Khmer, Mongolian, BraillePatterns, YiSyllables, Tagalog, OldItalic, Gothic, Deseret, MusicalSymbols, MathematicalAlphanumericSymbols, PrivateUsePlane15And16, VariationSelectors, Tags, Limbu, TaiLe, NewTaiLue, Buginese, Glagolitic, Tifnagh, YijingHexagramSymbols, SylotiNagari, LinearB, AncientGreekNumbers, Ugaritic, OldPersian, Shavian, Osmanya, CypriotSyllabary, Kharoshthi, TaiXuanJingSymbols, Cuneiform, CountingRodNumerals, Sudanese, Lepcha, OlChiki, Saurashtra, KayahLi, Rejang, Charm, AncientSymbols, PhaistosDisc, Carian, DominoTiles, Reserved123, Reserved124, Reserved125, Reserved126, Reserved127;
private UnicodeRange() {}
public static UnicodeRange range(int paramInt)
{
if (paramInt > values().length) {
return null;
}
return values()[paramInt];
}
public static EnumSet<UnicodeRange> asSet(long paramLong1, long paramLong2, long paramLong3, long paramLong4)
{
EnumSet localEnumSet = EnumSet.noneOf(UnicodeRange.class);
long[] arrayOfLong = { paramLong1, paramLong2, paramLong3, paramLong4 };
int i = 0;
int j = -1;
for (UnicodeRange localUnicodeRange : values())
{
if (localUnicodeRange.ordinal() % 32 == 0)
{
i = 0;
j++;
}
else
{
i++;
}
if ((arrayOfLong[j] & 1 << i) == 1 << i) {
localEnumSet.add(localUnicodeRange);
}
}
return localEnumSet;
}
public static long[] asArray(EnumSet<UnicodeRange> paramEnumSet)
{
long[] arrayOfLong = new long[4];
Iterator localIterator = paramEnumSet.iterator();
while (localIterator.hasNext())
{
UnicodeRange localUnicodeRange = (UnicodeRange)localIterator.next();
int i = localUnicodeRange.ordinal() / 32;
long l = 1 << localUnicodeRange.ordinal() % 32;
arrayOfLong[i] |= l;
}
return arrayOfLong;
}
}
public static enum EmbeddingFlags
{
Reserved0, RestrictedLicenseEmbedding, PreviewAndPrintEmbedding, EditableEmbedding, Reserved4, Reserved5, Reserved6, Reserved7, NoSubsetting, BitmapEmbeddingOnly, Reserved10, Reserved11, Reserved12, Reserved13, Reserved14, Reserved15;
private EmbeddingFlags() {}
public int mask()
{
return 1 << ordinal();
}
public static EnumSet<EmbeddingFlags> asSet(int paramInt)
{
EnumSet localEnumSet = EnumSet.noneOf(EmbeddingFlags.class);
for (EmbeddingFlags localEmbeddingFlags : values()) {
if ((paramInt & localEmbeddingFlags.mask()) == localEmbeddingFlags.mask()) {
localEnumSet.add(localEmbeddingFlags);
}
}
return localEnumSet;
}
public static int asUShort(EnumSet<EmbeddingFlags> paramEnumSet)
{
int i = 0;
Iterator localIterator = paramEnumSet.iterator();
while (localIterator.hasNext())
{
EmbeddingFlags localEmbeddingFlags = (EmbeddingFlags)localIterator.next();
i |= localEmbeddingFlags.mask();
}
return i;
}
public static boolean isInstallableEditing(EnumSet<EmbeddingFlags> paramEnumSet)
{
return paramEnumSet.isEmpty();
}
public static boolean isInstallableEditing(int paramInt)
{
return paramInt == 0;
}
}
public static enum WidthClass
{
UltraCondensed(1), ExtraCondensed(2), Condensed(3), SemiCondensed(4), Medium(5), Normal(5), SemiExpanded(6), Expanded(7), ExtraExpanded(8), UltraExpanded(9);
private final int value;
private WidthClass(int paramInt)
{
this.value = paramInt;
}
public int value()
{
return this.value;
}
public boolean equals(int paramInt)
{
return paramInt == this.value;
}
public static OS2Table.WeightClass valueOf(int paramInt)
{
for (OS2Table.WeightClass localWeightClass : ) {
if (localWeightClass.equals(paramInt)) {
return localWeightClass;
}
}
return null;
}
}
public static enum WeightClass
{
Thin(100), ExtraLight(200), UltraLight(200), Light(300), Normal(400), Regular(400), Medium(500), SemiBold(600), DemiBold(600), Bold(700), ExtraBold(800), UltraBold(800), Black(900), Heavy(900);
private final int value;
private WeightClass(int paramInt)
{
this.value = paramInt;
}
public int value()
{
return this.value;
}
public boolean equals(int paramInt)
{
return paramInt == this.value;
}
public static WeightClass valueOf(int paramInt)
{
for (WeightClass localWeightClass : ) {
if (localWeightClass.equals(paramInt)) {
return localWeightClass;
}
}
return null;
}
}
private static enum Offset
{
version(0), xAvgCharWidth(2), usWeightClass(4), usWidthClass(6), fsType(8), ySubscriptXSize(10), ySubscriptYSize(12), ySubscriptXOffset(14), ySubscriptYOffset(16), ySuperscriptXSize(18), ySuperscriptYSize(20), ySuperscriptXOffset(22), ySuperscriptYOffset(24), yStrikeoutSize(26), yStrikeoutPosition(28), sFamilyClass(30), panose(32), panoseLength(10), ulUnicodeRange1(42), ulUnicodeRange2(46), ulUnicodeRange3(50), ulUnicodeRange4(54), achVendId(58), achVendIdLength(4), fsSelection(62), usFirstCharIndex(64), usLastCharIndex(66), sTypoAscender(68), sTypoDescender(70), sTypoLineGap(72), usWinAscent(74), usWinDescent(76), ulCodePageRange1(78), ulCodePageRange2(82), sxHeight(86), sCapHeight(88), usDefaultChar(90), usBreakChar(92), usMaxContext(94);
private 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\core\OS2Table.class
* Java compiler version: 6 (50.0)
* JD-Core Version: 0.7.1
*/