package com.google.typography.font.sfntly.table.core;
import com.google.typography.font.sfntly.Font.PlatformId;
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.SubTableContainerTable;
import com.google.typography.font.sfntly.table.SubTableContainerTable.Builder;
import com.ibm.icu.charset.CharsetICU;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.charset.Charset;
import java.nio.charset.UnsupportedCharsetException;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.NoSuchElementException;
import java.util.Set;
import java.util.TreeMap;
public final class NameTable
extends SubTableContainerTable
implements Iterable<NameEntry>
{
private NameTable(Header paramHeader, ReadableFontData paramReadableFontData)
{
super(paramHeader, paramReadableFontData);
}
public int format()
{
return this.data.readUShort(Offset.format.offset);
}
public int nameCount()
{
return this.data.readUShort(Offset.count.offset);
}
private int stringOffset()
{
return this.data.readUShort(Offset.stringOffset.offset);
}
private int offsetForNameRecord(int paramInt)
{
return Offset.nameRecordStart.offset + paramInt * Offset.nameRecordSize.offset;
}
public int platformId(int paramInt)
{
return this.data.readUShort(Offset.nameRecordPlatformId.offset + offsetForNameRecord(paramInt));
}
public int encodingId(int paramInt)
{
return this.data.readUShort(Offset.nameRecordEncodingId.offset + offsetForNameRecord(paramInt));
}
public int languageId(int paramInt)
{
return this.data.readUShort(Offset.nameRecordLanguageId.offset + offsetForNameRecord(paramInt));
}
public int nameId(int paramInt)
{
return this.data.readUShort(Offset.nameRecordNameId.offset + offsetForNameRecord(paramInt));
}
private int nameLength(int paramInt)
{
return this.data.readUShort(Offset.nameRecordStringLength.offset + offsetForNameRecord(paramInt));
}
private int nameOffset(int paramInt)
{
return this.data.readUShort(Offset.nameRecordStringOffset.offset + offsetForNameRecord(paramInt)) + stringOffset();
}
public byte[] nameAsBytes(int paramInt)
{
int i = nameLength(paramInt);
byte[] arrayOfByte = new byte[i];
this.data.readBytes(nameOffset(paramInt), arrayOfByte, 0, i);
return arrayOfByte;
}
public byte[] nameAsBytes(int paramInt1, int paramInt2, int paramInt3, int paramInt4)
{
NameEntry localNameEntry = nameEntry(paramInt1, paramInt2, paramInt3, paramInt4);
if (localNameEntry != null) {
return localNameEntry.nameAsBytes();
}
return null;
}
public String name(int paramInt)
{
return convertFromNameBytes(nameAsBytes(paramInt), platformId(paramInt), encodingId(paramInt));
}
public String name(int paramInt1, int paramInt2, int paramInt3, int paramInt4)
{
NameEntry localNameEntry = nameEntry(paramInt1, paramInt2, paramInt3, paramInt4);
if (localNameEntry != null) {
return localNameEntry.name();
}
return null;
}
public NameEntry nameEntry(int paramInt)
{
return new NameEntry(platformId(paramInt), encodingId(paramInt), languageId(paramInt), nameId(paramInt), nameAsBytes(paramInt));
}
public NameEntry nameEntry(final int paramInt1, final int paramInt2, final int paramInt3, final int paramInt4)
{
Iterator localIterator = iterator(new NameEntryFilter()
{
public boolean accept(int paramAnonymousInt1, int paramAnonymousInt2, int paramAnonymousInt3, int paramAnonymousInt4)
{
return (paramAnonymousInt1 == paramInt1) && (paramAnonymousInt2 == paramInt2) && (paramAnonymousInt3 == paramInt3) && (paramAnonymousInt4 == paramInt4);
}
});
if (localIterator.hasNext()) {
return (NameEntry)localIterator.next();
}
return null;
}
public Set<NameEntry> names()
{
HashSet localHashSet = new HashSet(nameCount());
Iterator localIterator = iterator();
while (localIterator.hasNext())
{
NameEntry localNameEntry = (NameEntry)localIterator.next();
localHashSet.add(localNameEntry);
}
return localHashSet;
}
public Iterator<NameEntry> iterator()
{
return new NameEntryIterator(null);
}
public Iterator<NameEntry> iterator(NameEntryFilter paramNameEntryFilter)
{
return new NameEntryIterator(paramNameEntryFilter, null);
}
private static String getEncodingName(int paramInt1, int paramInt2)
{
String str = null;
switch (Font.PlatformId.valueOf(paramInt1))
{
case Unicode:
str = "UTF-16BE";
break;
case Macintosh:
switch (com.google.typography.font.sfntly.Font.MacintoshEncodingId.valueOf(paramInt2))
{
case Roman:
str = "MacRoman";
break;
case Japanese:
str = "Shift_JIS";
break;
case ChineseTraditional:
str = "Big5";
break;
case Korean:
str = "EUC-KR";
break;
case Arabic:
str = "MacArabic";
break;
case Hebrew:
str = "MacHebrew";
break;
case Greek:
str = "MacGreek";
break;
case Russian:
str = "MacCyrillic";
break;
case RSymbol:
str = "MacSymbol";
break;
case Devanagari:
break;
case Gurmukhi:
break;
case Gujarati:
break;
case Oriya:
break;
case Bengali:
break;
case Tamil:
break;
case Telugu:
break;
case Kannada:
break;
case Malayalam:
break;
case Sinhalese:
break;
case Burmese:
break;
case Khmer:
break;
case Thai:
str = "MacThai";
break;
case Laotian:
break;
case Georgian:
str = "MacCyrillic";
break;
case Armenian:
break;
case ChineseSimplified:
str = "EUC-CN";
break;
case Tibetan:
break;
case Mongolian:
str = "MacCyrillic";
break;
case Geez:
break;
case Slavic:
str = "MacCyrillic";
break;
case Vietnamese:
break;
case Sindhi:
}
break;
case ISO:
break;
case Windows:
switch (com.google.typography.font.sfntly.Font.WindowsEncodingId.valueOf(paramInt2))
{
case Symbol:
str = "UTF-16BE";
break;
case UnicodeUCS2:
str = "UTF-16BE";
break;
case ShiftJIS:
str = "windows-933";
break;
case PRC:
str = "windows-936";
break;
case Big5:
str = "windows-950";
break;
case Wansung:
str = "windows-949";
break;
case Johab:
str = "ms1361";
break;
case UnicodeUCS4:
str = "UCS-4";
}
break;
case Custom:
break;
}
return str;
}
private static Charset getCharset(int paramInt1, int paramInt2)
{
String str = getEncodingName(paramInt1, paramInt2);
if (str == null) {
return null;
}
Charset localCharset = null;
try
{
localCharset = CharsetICU.forNameICU(str);
}
catch (UnsupportedCharsetException localUnsupportedCharsetException)
{
return null;
}
return localCharset;
}
private static byte[] convertToNameBytes(String paramString, int paramInt1, int paramInt2)
{
Charset localCharset = getCharset(paramInt1, paramInt2);
if (localCharset == null) {
return null;
}
ByteBuffer localByteBuffer = localCharset.encode(paramString);
return localByteBuffer.array();
}
private static String convertFromNameBytes(byte[] paramArrayOfByte, int paramInt1, int paramInt2)
{
return convertFromNameBytes(ByteBuffer.wrap(paramArrayOfByte), paramInt1, paramInt2);
}
private static String convertFromNameBytes(ByteBuffer paramByteBuffer, int paramInt1, int paramInt2)
{
Charset localCharset = getCharset(paramInt1, paramInt2);
if (localCharset == null) {
return Integer.toHexString(paramInt1);
}
CharBuffer localCharBuffer = localCharset.decode(paramByteBuffer);
return localCharBuffer.toString();
}
public static class Builder
extends SubTableContainerTable.Builder<NameTable>
{
private Map<NameTable.NameEntryId, NameTable.NameEntryBuilder> nameEntryMap;
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);
}
private void initialize(ReadableFontData paramReadableFontData)
{
this.nameEntryMap = new TreeMap();
if (paramReadableFontData != null)
{
NameTable localNameTable = new NameTable(header(), paramReadableFontData, null);
Iterator localIterator = localNameTable.iterator();
while (localIterator.hasNext())
{
NameTable.NameEntry localNameEntry = (NameTable.NameEntry)localIterator.next();
NameTable.NameEntryBuilder localNameEntryBuilder = new NameTable.NameEntryBuilder(localNameEntry);
this.nameEntryMap.put(localNameEntryBuilder.getNameEntryId(), localNameEntryBuilder);
}
}
}
private Map<NameTable.NameEntryId, NameTable.NameEntryBuilder> getNameBuilders()
{
if (this.nameEntryMap == null) {
initialize(super.internalReadData());
}
super.setModelChanged();
return this.nameEntryMap;
}
public void revertNames()
{
this.nameEntryMap = null;
setModelChanged(false);
}
public int builderCount()
{
return getNameBuilders().size();
}
public void clear()
{
getNameBuilders().clear();
}
public boolean has(int paramInt1, int paramInt2, int paramInt3, int paramInt4)
{
NameTable.NameEntryId localNameEntryId = new NameTable.NameEntryId(paramInt1, paramInt2, paramInt3, paramInt4);
return getNameBuilders().containsKey(localNameEntryId);
}
public NameTable.NameEntryBuilder nameBuilder(int paramInt1, int paramInt2, int paramInt3, int paramInt4)
{
NameTable.NameEntryId localNameEntryId = new NameTable.NameEntryId(paramInt1, paramInt2, paramInt3, paramInt4);
NameTable.NameEntryBuilder localNameEntryBuilder = (NameTable.NameEntryBuilder)getNameBuilders().get(localNameEntryId);
if (localNameEntryBuilder == null)
{
localNameEntryBuilder = new NameTable.NameEntryBuilder(localNameEntryId);
getNameBuilders().put(localNameEntryId, localNameEntryBuilder);
}
return localNameEntryBuilder;
}
public boolean remove(int paramInt1, int paramInt2, int paramInt3, int paramInt4)
{
NameTable.NameEntryId localNameEntryId = new NameTable.NameEntryId(paramInt1, paramInt2, paramInt3, paramInt4);
return getNameBuilders().remove(localNameEntryId) != null;
}
protected NameTable subBuildTable(ReadableFontData paramReadableFontData)
{
return new NameTable(header(), paramReadableFontData, null);
}
protected void subDataSet()
{
this.nameEntryMap = null;
super.setModelChanged(false);
}
protected int subDataSizeToSerialize()
{
if ((this.nameEntryMap == null) || (this.nameEntryMap.size() == 0)) {
return 0;
}
int i = NameTable.Offset.access$000(NameTable.Offset.nameRecordStart) + this.nameEntryMap.size() * NameTable.Offset.access$000(NameTable.Offset.nameRecordSize);
Iterator localIterator = this.nameEntryMap.entrySet().iterator();
while (localIterator.hasNext())
{
Map.Entry localEntry = (Map.Entry)localIterator.next();
i += ((NameTable.NameEntryBuilder)localEntry.getValue()).nameAsBytes().length;
}
return i;
}
protected boolean subReadyToSerialize()
{
return (this.nameEntryMap != null) && (this.nameEntryMap.size() != 0);
}
protected int subSerialize(WritableFontData paramWritableFontData)
{
int i = NameTable.Offset.access$000(NameTable.Offset.nameRecordStart) + this.nameEntryMap.size() * NameTable.Offset.access$000(NameTable.Offset.nameRecordSize);
paramWritableFontData.writeUShort(NameTable.Offset.access$000(NameTable.Offset.format), 0);
paramWritableFontData.writeUShort(NameTable.Offset.access$000(NameTable.Offset.count), this.nameEntryMap.size());
paramWritableFontData.writeUShort(NameTable.Offset.access$000(NameTable.Offset.stringOffset), i);
int j = NameTable.Offset.access$000(NameTable.Offset.nameRecordStart);
int k = 0;
Iterator localIterator = this.nameEntryMap.entrySet().iterator();
while (localIterator.hasNext())
{
Map.Entry localEntry = (Map.Entry)localIterator.next();
paramWritableFontData.writeUShort(j + NameTable.Offset.access$000(NameTable.Offset.nameRecordPlatformId), ((NameTable.NameEntryId)localEntry.getKey()).getPlatformId());
paramWritableFontData.writeUShort(j + NameTable.Offset.access$000(NameTable.Offset.nameRecordEncodingId), ((NameTable.NameEntryId)localEntry.getKey()).getEncodingId());
paramWritableFontData.writeUShort(j + NameTable.Offset.access$000(NameTable.Offset.nameRecordLanguageId), ((NameTable.NameEntryId)localEntry.getKey()).getLanguageId());
paramWritableFontData.writeUShort(j + NameTable.Offset.access$000(NameTable.Offset.nameRecordNameId), ((NameTable.NameEntryId)localEntry.getKey()).getNameId());
paramWritableFontData.writeUShort(j + NameTable.Offset.access$000(NameTable.Offset.nameRecordStringLength), ((NameTable.NameEntryBuilder)localEntry.getValue()).nameAsBytes().length);
paramWritableFontData.writeUShort(j + NameTable.Offset.access$000(NameTable.Offset.nameRecordStringOffset), k);
j += NameTable.Offset.access$000(NameTable.Offset.nameRecordSize);
byte[] arrayOfByte = ((NameTable.NameEntryBuilder)localEntry.getValue()).nameAsBytes();
if (arrayOfByte.length > 0) {
k += paramWritableFontData.writeBytes(k + i, ((NameTable.NameEntryBuilder)localEntry.getValue()).nameAsBytes());
}
}
return k + i;
}
}
protected class NameEntryIterator
implements Iterator<NameTable.NameEntry>
{
private int nameIndex = 0;
private NameTable.NameEntryFilter filter = null;
private NameEntryIterator() {}
private NameEntryIterator(NameTable.NameEntryFilter paramNameEntryFilter)
{
this.filter = paramNameEntryFilter;
}
public boolean hasNext()
{
if (this.filter == null) {
return this.nameIndex < NameTable.this.nameCount();
}
while (this.nameIndex < NameTable.this.nameCount())
{
if (this.filter.accept(NameTable.this.platformId(this.nameIndex), NameTable.this.encodingId(this.nameIndex), NameTable.this.languageId(this.nameIndex), NameTable.this.nameId(this.nameIndex))) {
return true;
}
this.nameIndex += 1;
}
return false;
}
public NameTable.NameEntry next()
{
if (!hasNext()) {
throw new NoSuchElementException();
}
return NameTable.this.nameEntry(this.nameIndex++);
}
public void remove()
{
throw new UnsupportedOperationException("Cannot remove a CMap table from an existing font.");
}
}
public static abstract interface NameEntryFilter
{
public abstract boolean accept(int paramInt1, int paramInt2, int paramInt3, int paramInt4);
}
public static class NameEntryBuilder
extends NameTable.NameEntry
{
protected NameEntryBuilder() {}
protected NameEntryBuilder(NameTable.NameEntryId paramNameEntryId, byte[] paramArrayOfByte)
{
super(paramArrayOfByte);
}
protected NameEntryBuilder(NameTable.NameEntryId paramNameEntryId)
{
this(paramNameEntryId, null);
}
protected NameEntryBuilder(NameTable.NameEntry paramNameEntry)
{
this(paramNameEntry.getNameEntryId(), paramNameEntry.nameAsBytes());
}
public void setName(String paramString)
{
if (paramString == null)
{
this.nameBytes = new byte[0];
return;
}
this.nameBytes = NameTable.convertToNameBytes(paramString, this.nameEntryId.getPlatformId(), this.nameEntryId.getEncodingId());
}
public void setName(byte[] paramArrayOfByte)
{
this.nameBytes = Arrays.copyOf(paramArrayOfByte, paramArrayOfByte.length);
}
public void setName(byte[] paramArrayOfByte, int paramInt1, int paramInt2)
{
this.nameBytes = Arrays.copyOfRange(paramArrayOfByte, paramInt1, paramInt1 + paramInt2);
}
}
public static class NameEntry
{
NameTable.NameEntryId nameEntryId;
protected int length;
protected byte[] nameBytes;
protected NameEntry() {}
protected NameEntry(NameTable.NameEntryId paramNameEntryId, byte[] paramArrayOfByte)
{
this.nameEntryId = paramNameEntryId;
this.nameBytes = paramArrayOfByte;
}
protected NameEntry(int paramInt1, int paramInt2, int paramInt3, int paramInt4, byte[] paramArrayOfByte)
{
this(new NameTable.NameEntryId(paramInt1, paramInt2, paramInt3, paramInt4), paramArrayOfByte);
}
protected NameTable.NameEntryId getNameEntryId()
{
return this.nameEntryId;
}
public int platformId()
{
return this.nameEntryId.getPlatformId();
}
public int encodingId()
{
return this.nameEntryId.getEncodingId();
}
public int languageId()
{
return this.nameEntryId.getLanguageId();
}
public int nameId()
{
return this.nameEntryId.getNameId();
}
public byte[] nameAsBytes()
{
return this.nameBytes;
}
public String name()
{
return NameTable.convertFromNameBytes(this.nameBytes, platformId(), encodingId());
}
public String toString()
{
StringBuilder localStringBuilder = new StringBuilder();
localStringBuilder.append("[");
localStringBuilder.append(this.nameEntryId);
localStringBuilder.append(", \"");
String str = name();
localStringBuilder.append(name());
localStringBuilder.append("\"]");
return localStringBuilder.toString();
}
public boolean equals(Object paramObject)
{
if (!(paramObject instanceof NameEntry)) {
return false;
}
NameEntry localNameEntry = (NameEntry)paramObject;
if (!this.nameEntryId.equals(localNameEntry.nameEntryId)) {
return false;
}
if (this.nameBytes.length != localNameEntry.nameBytes.length) {
return false;
}
for (int i = 0; i < this.nameBytes.length; i++) {
if (this.nameBytes[i] != localNameEntry.nameBytes[i]) {
return false;
}
}
return true;
}
public int hashCode()
{
int i = this.nameEntryId.hashCode();
for (int j = 0; j < this.nameBytes.length; j += 4) {
for (int k = 0; (k < 4) && (k + j < this.nameBytes.length); k++) {
i |= this.nameBytes[k] << k * 8;
}
}
return i;
}
}
private static class NameEntryId
implements Comparable<NameEntryId>
{
protected int platformId;
protected int encodingId;
protected int languageId;
protected int nameId;
protected NameEntryId(int paramInt1, int paramInt2, int paramInt3, int paramInt4)
{
this.platformId = paramInt1;
this.encodingId = paramInt2;
this.languageId = paramInt3;
this.nameId = paramInt4;
}
protected int getPlatformId()
{
return this.platformId;
}
protected int getEncodingId()
{
return this.encodingId;
}
protected int getLanguageId()
{
return this.languageId;
}
protected int getNameId()
{
return this.nameId;
}
public boolean equals(Object paramObject)
{
if (!(paramObject instanceof NameEntryId)) {
return false;
}
NameEntryId localNameEntryId = (NameEntryId)paramObject;
return (this.encodingId == localNameEntryId.encodingId) && (this.languageId == localNameEntryId.languageId) && (this.platformId == localNameEntryId.platformId) && (this.nameId == localNameEntryId.nameId);
}
public int hashCode()
{
return (this.encodingId & 0x3F) << 26 | (this.nameId & 0x3F) << 16 | (this.platformId & 0xF) << 12 | this.languageId & 0xFF;
}
public int compareTo(NameEntryId paramNameEntryId)
{
if (this.platformId != paramNameEntryId.platformId) {
return this.platformId - paramNameEntryId.platformId;
}
if (this.encodingId != paramNameEntryId.encodingId) {
return this.encodingId - paramNameEntryId.encodingId;
}
if (this.languageId != paramNameEntryId.languageId) {
return this.languageId - paramNameEntryId.languageId;
}
return this.nameId - paramNameEntryId.nameId;
}
public String toString()
{
StringBuilder localStringBuilder = new StringBuilder();
localStringBuilder.append("P=");
localStringBuilder.append(Font.PlatformId.valueOf(this.platformId));
localStringBuilder.append(", E=0x");
localStringBuilder.append(Integer.toHexString(this.encodingId));
localStringBuilder.append(", L=0x");
localStringBuilder.append(Integer.toHexString(this.languageId));
localStringBuilder.append(", N=");
NameTable.NameId localNameId = NameTable.NameId.valueOf(this.nameId);
if (localNameId != null)
{
localStringBuilder.append(NameTable.NameId.valueOf(this.nameId));
}
else
{
localStringBuilder.append("0x");
localStringBuilder.append(Integer.toHexString(this.nameId));
}
return localStringBuilder.toString();
}
}
public static enum WindowsLanguageId
{
Unknown(-1), Afrikaans_SouthAfrica(1078), Albanian_Albania(1052), Alsatian_France(1156), Amharic_Ethiopia(1118), Arabic_Algeria(5121), Arabic_Bahrain(15361), Arabic_Egypt(3073), Arabic_Iraq(2049), Arabic_Jordan(11265), Arabic_Kuwait(13313), Arabic_Lebanon(12289), Arabic_Libya(4097), Arabic_Morocco(6145), Arabic_Oman(8193), Arabic_Qatar(16385), Arabic_SaudiArabia(1025), Arabic_Syria(10241), Arabic_Tunisia(7169), Arabic_UAE(14337), Arabic_Yemen(9217), Armenian_Armenia(1067), Assamese_India(1101), Azeri_Cyrillic_Azerbaijan(2092), Azeri_Latin_Azerbaijan(1068), Bashkir_Russia(1133), Basque_Basque(1069), Belarusian_Belarus(1059), Bengali_Bangladesh(2117), Bengali_India(1093), Bosnian_Cyrillic_BosniaAndHerzegovina(8218), Bosnian_Latin_BosniaAndHerzegovina(5146), Breton_France(1150), Bulgarian_Bulgaria(1026), Catalan_Catalan(1027), Chinese_HongKongSAR(3076), Chinese_MacaoSAR(5124), Chinese_PeoplesRepublicOfChina(2052), Chinese_Singapore(4100), Chinese_Taiwan(1028), Corsican_France(1155), Croatian_Croatia(1050), Croatian_Latin_BosniaAndHerzegovina(4122), Czech_CzechRepublic(1029), Danish_Denmark(1030), Dari_Afghanistan(1164), Divehi_Maldives(1125), Dutch_Belgium(2067), Dutch_Netherlands(1043), English_Australia(3081), English_Belize(10249), English_Canada(4105), English_Caribbean(9225), English_India(16393), English_Ireland(6153), English_Jamaica(8201), English_Malaysia(17417), English_NewZealand(5129), English_RepublicOfThePhilippines(13321), English_Singapore(18441), English_SouthAfrica(7177), English_TrinidadAndTobago(11273), English_UnitedKingdom(2057), English_UnitedStates(1033), English_Zimbabwe(12297), Estonian_Estonia(1061), Faroese_FaroeIslands(1080), Filipino_Philippines(1124), Finnish_Finland(1035), French_Belgium(2060), French_Canada(3084), French_France(1036), French_Luxembourg(5132), French_PrincipalityOfMonoco(6156), French_Switzerland(4108), Frisian_Netherlands(1122), Galician_Galician(1110), Georgian_Georgia(1079), German_Austria(3079), German_Germany(1031), German_Liechtenstein(5127), German_Luxembourg(4103), German_Switzerland(2055), Greek_Greece(1032), Greenlandic_Greenland(1135), Gujarati_India(1095), Hausa_Latin_Nigeria(1128), Hebrew_Israel(1037), Hindi_India(1081), Hungarian_Hungary(1038), Icelandic_Iceland(1039), Igbo_Nigeria(1136), Indonesian_Indonesia(1057), Inuktitut_Canada(1117), Inuktitut_Latin_Canada(2141), Irish_Ireland(2108), isiXhosa_SouthAfrica(1076), isiZulu_SouthAfrica(1077), Italian_Italy(1040), Italian_Switzerland(2064), Japanese_Japan(1041), Kannada_India(1099), Kazakh_Kazakhstan(1087), Khmer_Cambodia(1107), Kiche_Guatemala(1158), Kinyarwanda_Rwanda(1159), Kiswahili_Kenya(1089), Konkani_India(1111), Korean_Korea(1042), Kyrgyz_Kyrgyzstan(1088), Lao_LaoPDR(1108), Latvian_Latvia(1062), Lithuanian_Lithuania(1063), LowerSorbian_Germany(2094), Luxembourgish_Luxembourg(1134), Macedonian_FYROM_FormerYugoslavRepublicOfMacedonia(1071), Malay_BruneiDarussalam(2110), Malay_Malaysia(1086), Malayalam_India(1100), Maltese_Malta(1082), Maori_NewZealand(1153), Mapudungun_Chile(1146), Marathi_India(1102), Mohawk_Mohawk(1148), Mongolian_Cyrillic_Mongolia(1104), Mongolian_Traditional_PeoplesRepublicOfChina(2128), Nepali_Nepal(1121), Norwegian_Bokmal_Norway(1044), Norwegian_Nynorsk_Norway(2068), Occitan_France(1154), Oriya_India(1096), Pashto_Afghanistan(1123), Polish_Poland(1045), Portuguese_Brazil(1046), Portuguese_Portugal(2070), Punjabi_India(1094), Quechua_Bolivia(1131), Quechua_Ecuador(2155), Quechua_Peru(3179), Romanian_Romania(1048), Romansh_Switzerland(1047), Russian_Russia(1049), Sami_Inari_Finland(9275), Sami_Lule_Norway(4155), Sami_Lule_Sweden(5179), Sami_Northern_Finland(3131), Sami_Northern_Norway(1083), Sami_Northern_Sweden(2107), Sami_Skolt_Finland(8251), Sami_Southern_Norway(6203), Sami_Southern_Sweden(7227), Sanskrit_India(1103), Serbian_Cyrillic_BosniaAndHerzegovina(7194), Serbian_Cyrillic_Serbia(3098), Serbian_Latin_BosniaAndHerzegovina(6170), Serbian_Latin_Serbia(2074), SesothoSaLeboa_SouthAfrica(1132), Setswana_SouthAfrica(1074), Sinhala_SriLanka(1115), Slovak_Slovakia(1051), Slovenian_Slovenia(1060), Spanish_Argentina(11274), Spanish_Bolivia(16394), Spanish_Chile(13322), Spanish_Colombia(9226), Spanish_CostaRica(5130), Spanish_DominicanRepublic(7178), Spanish_Ecuador(12298), Spanish_ElSalvador(17418), Spanish_Guatemala(4106), Spanish_Honduras(18442), Spanish_Mexico(2058), Spanish_Nicaragua(19466), Spanish_Panama(6154), Spanish_Paraguay(15370), Spanish_Peru(10250), Spanish_PuertoRico(20490), Spanish_ModernSort_Spain(3082), Spanish_TraditionalSort_Spain(1034), Spanish_UnitedStates(21514), Spanish_Uruguay(14346), Spanish_Venezuela(8202), Sweden_Finland(2077), Swedish_Sweden(1053), Syriac_Syria(1114), Tajik_Cyrillic_Tajikistan(1064), Tamazight_Latin_Algeria(2143), Tamil_India(1097), Tatar_Russia(1092), Telugu_India(1098), Thai_Thailand(1054), Tibetan_PRC(1105), Turkish_Turkey(1055), Turkmen_Turkmenistan(1090), Uighur_PRC(1152), Ukrainian_Ukraine(1058), UpperSorbian_Germany(1070), Urdu_IslamicRepublicOfPakistan(1056), Uzbek_Cyrillic_Uzbekistan(2115), Uzbek_Latin_Uzbekistan(1091), Vietnamese_Vietnam(1066), Welsh_UnitedKingdom(1106), Wolof_Senegal(1096), Yakut_Russia(1157), Yi_PRC(1144), Yoruba_Nigeria(1130);
private final int value;
private WindowsLanguageId(int paramInt)
{
this.value = paramInt;
}
public int value()
{
return this.value;
}
public boolean equals(int paramInt)
{
return paramInt == this.value;
}
public static WindowsLanguageId valueOf(int paramInt)
{
for (WindowsLanguageId localWindowsLanguageId : ) {
if (localWindowsLanguageId.equals(paramInt)) {
return localWindowsLanguageId;
}
}
return Unknown;
}
}
public static enum MacintoshLanguageId
{
Unknown(-1), English(0), French(1), German(2), Italian(3), Dutch(4), Swedish(5), Spanish(6), Danish(7), Portuguese(8), Norwegian(9), Hebrew(10), Japanese(11), Arabic(12), Finnish(13), Greek(14), Icelandic(15), Maltese(16), Turkish(17), Croatian(18), Chinese_Traditional(19), Urdu(20), Hindi(21), Thai(22), Korean(23), Lithuanian(24), Polish(25), Hungarian(26), Estonian(27), Latvian(28), Sami(29), Faroese(30), FarsiPersian(31), Russian(32), Chinese_Simplified(33), Flemish(34), IrishGaelic(35), Albanian(36), Romanian(37), Czech(38), Slovak(39), Slovenian(40), Yiddish(41), Serbian(42), Macedonian(43), Bulgarian(44), Ukrainian(45), Byelorussian(46), Uzbek(47), Kazakh(48), Azerbaijani_Cyrillic(49), Azerbaijani_Arabic(50), Armenian(51), Georgian(52), Moldavian(53), Kirghiz(54), Tajiki(55), Turkmen(56), Mongolian_Mongolian(57), Mongolian_Cyrillic(58), Pashto(59), Kurdish(60), Kashmiri(61), Sindhi(62), Tibetan(63), Nepali(64), Sanskrit(65), Marathi(66), Bengali(67), Assamese(68), Gujarati(69), Punjabi(70), Oriya(71), Malayalam(72), Kannada(73), Tamil(74), Telugu(75), Sinhalese(76), Burmese(77), Khmer(78), Lao(79), Vietnamese(80), Indonesian(81), Tagalong(82), Malay_Roman(83), Malay_Arabic(84), Amharic(85), Tigrinya(86), Galla(87), Somali(88), Swahili(89), KinyarwandaRuanda(90), Rundi(91), NyanjaChewa(92), Malagasy(93), Esperanto(94), Welsh(128), Basque(129), Catalan(130), Latin(131), Quenchua(132), Guarani(133), Aymara(134), Tatar(135), Uighur(136), Dzongkha(137), Javanese_Roman(138), Sundanese_Roman(139), Galician(140), Afrikaans(141), Breton(142), Inuktitut(143), ScottishGaelic(144), ManxGaelic(145), IrishGaelic_WithDotAbove(146), Tongan(147), Greek_Polytonic(148), Greenlandic(149), Azerbaijani_Roman(150);
private final int value;
private MacintoshLanguageId(int paramInt)
{
this.value = paramInt;
}
public int value()
{
return this.value;
}
public boolean equals(int paramInt)
{
return paramInt == this.value;
}
public static MacintoshLanguageId valueOf(int paramInt)
{
for (MacintoshLanguageId localMacintoshLanguageId : ) {
if (localMacintoshLanguageId.equals(paramInt)) {
return localMacintoshLanguageId;
}
}
return Unknown;
}
}
public static enum UnicodeLanguageId
{
Unknown(-1), All(0);
private final int value;
private UnicodeLanguageId(int paramInt)
{
this.value = paramInt;
}
public int value()
{
return this.value;
}
public boolean equals(int paramInt)
{
return paramInt == this.value;
}
public static UnicodeLanguageId valueOf(int paramInt)
{
for (UnicodeLanguageId localUnicodeLanguageId : ) {
if (localUnicodeLanguageId.equals(paramInt)) {
return localUnicodeLanguageId;
}
}
return Unknown;
}
}
public static enum NameId
{
Unknown(-1), CopyrightNotice(0), FontFamilyName(1), FontSubfamilyName(2), UniqueFontIdentifier(3), FullFontName(4), VersionString(5), PostscriptName(6), Trademark(7), ManufacturerName(8), Designer(9), Description(10), VendorURL(11), DesignerURL(12), LicenseDescription(13), LicenseInfoURL(14), Reserved15(15), PreferredFamily(16), PreferredSubfamily(17), CompatibleFullName(18), SampleText(19), PostscriptCID(20), WWSFamilyName(21), WWSSubfamilyName(22);
private final int value;
private NameId(int paramInt)
{
this.value = paramInt;
}
public int value()
{
return this.value;
}
public boolean equals(int paramInt)
{
return paramInt == this.value;
}
public static NameId valueOf(int paramInt)
{
for (NameId localNameId : ) {
if (localNameId.equals(paramInt)) {
return localNameId;
}
}
return Unknown;
}
}
public static enum Offset
{
format(0), count(2), stringOffset(4), nameRecordStart(6), langTagCount(0), langTagRecord(2), nameRecordSize(12), nameRecordPlatformId(0), nameRecordEncodingId(2), nameRecordLanguageId(4), nameRecordNameId(6), nameRecordStringLength(8), nameRecordStringOffset(10);
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\NameTable.class
* Java compiler version: 6 (50.0)
* JD-Core Version: 0.7.1
*/