/*
* $Id: ID.java,v 1.1.1.1 2004-12-05 23:14:47 davidsch Exp $
*
* Typecast - The Font Development Environment
*
* Copyright (c) 2004 David Schweinsberg
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package jogamp.graph.font.typecast.ot.table;
/**
*
* @author <a href="mailto:davidsch@dev.java.net">David Schweinsberg</a>
* @version $Id: ID.java,v 1.1.1.1 2004-12-05 23:14:47 davidsch Exp $
*/
public abstract class ID {
// Platform IDs
public static final short platformUnicode = 0;
public static final short platformMacintosh = 1;
public static final short platformISO = 2;
public static final short platformMicrosoft = 3;
// Unicode Encoding IDs
public static final short encodingUnicode10Semantics = 0;
public static final short encodingUnicode11Semantics = 1;
public static final short encodingISO10646Semantics = 2;
public static final short encodingUnicode20Semantics = 3;
// Microsoft Encoding IDs
// public static final short encodingUndefined = 0;
// public static final short encodingUGL = 1;
public static final short encodingSymbol = 0;
public static final short encodingUnicode = 1;
public static final short encodingShiftJIS = 2;
public static final short encodingPRC = 3;
public static final short encodingBig5 = 4;
public static final short encodingWansung = 5;
public static final short encodingJohab = 6;
public static final short encodingUCS4 = 10;
// Macintosh Encoding IDs
public static final short encodingRoman = 0;
public static final short encodingJapanese = 1;
public static final short encodingChinese = 2;
public static final short encodingKorean = 3;
public static final short encodingArabic = 4;
public static final short encodingHebrew = 5;
public static final short encodingGreek = 6;
public static final short encodingRussian = 7;
public static final short encodingRSymbol = 8;
public static final short encodingDevanagari = 9;
public static final short encodingGurmukhi = 10;
public static final short encodingGujarati = 11;
public static final short encodingOriya = 12;
public static final short encodingBengali = 13;
public static final short encodingTamil = 14;
public static final short encodingTelugu = 15;
public static final short encodingKannada = 16;
public static final short encodingMalayalam = 17;
public static final short encodingSinhalese = 18;
public static final short encodingBurmese = 19;
public static final short encodingKhmer = 20;
public static final short encodingThai = 21;
public static final short encodingLaotian = 22;
public static final short encodingGeorgian = 23;
public static final short encodingArmenian = 24;
public static final short encodingMaldivian = 25;
public static final short encodingTibetan = 26;
public static final short encodingMongolian = 27;
public static final short encodingGeez = 28;
public static final short encodingSlavic = 29;
public static final short encodingVietnamese = 30;
public static final short encodingSindhi = 31;
public static final short encodingUninterp = 32;
// ISO Encoding IDs
public static final short encodingASCII = 0;
public static final short encodingISO10646 = 1;
public static final short encodingISO8859_1 = 2;
// Microsoft Language IDs
public static final short languageSQI = 0x041c;
public static final short languageEUQ = 0x042d;
public static final short languageBEL = 0x0423;
public static final short languageBGR = 0x0402;
public static final short languageCAT = 0x0403;
public static final short languageSHL = 0x041a;
public static final short languageCSY = 0x0405;
public static final short languageDAN = 0x0406;
public static final short languageNLD = 0x0413;
public static final short languageNLB = 0x0813;
public static final short languageENU = 0x0409;
public static final short languageENG = 0x0809;
public static final short languageENA = 0x0c09;
public static final short languageENC = 0x1009;
public static final short languageENZ = 0x1409;
public static final short languageENI = 0x1809;
public static final short languageETI = 0x0425;
public static final short languageFIN = 0x040b;
public static final short languageFRA = 0x040c;
public static final short languageFRB = 0x080c;
public static final short languageFRC = 0x0c0c;
public static final short languageFRS = 0x100c;
public static final short languageFRL = 0x140c;
public static final short languageDEU = 0x0407;
public static final short languageDES = 0x0807;
public static final short languageDEA = 0x0c07;
public static final short languageDEL = 0x1007;
public static final short languageDEC = 0x1407;
public static final short languageELL = 0x0408;
public static final short languageHUN = 0x040e;
public static final short languageISL = 0x040f;
public static final short languageITA = 0x0410;
public static final short languageITS = 0x0810;
public static final short languageLVI = 0x0426;
public static final short languageLTH = 0x0427;
public static final short languageNOR = 0x0414;
public static final short languageNON = 0x0814;
public static final short languagePLK = 0x0415;
public static final short languagePTB = 0x0416;
public static final short languagePTG = 0x0816;
public static final short languageROM = 0x0418;
public static final short languageRUS = 0x0419;
public static final short languageSKY = 0x041b;
public static final short languageSLV = 0x0424;
public static final short languageESP = 0x040a;
public static final short languageESM = 0x080a;
public static final short languageESN = 0x0c0a;
public static final short languageSVE = 0x041d;
public static final short languageTRK = 0x041f;
public static final short languageUKR = 0x0422;
// Macintosh Language IDs
public static final short languageEnglish = 0;
public static final short languageFrench = 1;
public static final short languageGerman = 2;
public static final short languageItalian = 3;
public static final short languageDutch = 4;
public static final short languageSwedish = 5;
public static final short languageSpanish = 6;
public static final short languageDanish = 7;
public static final short languagePortuguese = 8;
public static final short languageNorwegian = 9;
public static final short languageHebrew = 10;
public static final short languageJapanese = 11;
public static final short languageArabic = 12;
public static final short languageFinnish = 13;
public static final short languageGreek = 14;
public static final short languageIcelandic = 15;
public static final short languageMaltese = 16;
public static final short languageTurkish = 17;
public static final short languageYugoslavian = 18;
public static final short languageChinese = 19;
public static final short languageUrdu = 20;
public static final short languageHindi = 21;
public static final short languageThai = 22;
// Name IDs
public static final short nameCopyrightNotice = 0;
public static final short nameFontFamilyName = 1;
public static final short nameFontSubfamilyName = 2;
public static final short nameUniqueFontIdentifier = 3;
public static final short nameFullFontName = 4;
public static final short nameVersionString = 5;
public static final short namePostscriptName = 6;
public static final short nameTrademark = 7;
public static final short nameManufacturerName = 8;
public static final short nameDesigner = 9;
public static final short nameDescription = 10;
public static final short nameURLVendor = 11;
public static final short nameURLDesigner = 12;
public static final short nameLicenseDescription = 13;
public static final short nameLicenseInfoURL = 14;
public static final short namePreferredFamily = 16;
public static final short namePreferredSubfamily = 17;
public static final short nameCompatibleFull = 18;
public static final short nameSampleText = 19;
public static final short namePostScriptCIDFindfontName = 20;
public static String getPlatformName(final short platformId) {
switch (platformId) {
case platformUnicode: return "Unicode";
case platformMacintosh: return "Macintosh";
case platformISO: return "ISO";
case platformMicrosoft: return "Microsoft";
default: return "Custom";
}
}
public static String getEncodingName(final short platformId, final short encodingId) {
if (platformId == platformUnicode) {
// Unicode specific encodings
switch (encodingId) {
case encodingUnicode10Semantics: return "Unicode 1.0 semantics";
case encodingUnicode11Semantics: return "Unicode 1.1 semantics";
case encodingISO10646Semantics: return "ISO 10646:1993 semantics";
case encodingUnicode20Semantics: return "Unicode 2.0 and onwards semantics";
default: return "";
}
} else if (platformId == platformMacintosh) {
// Macintosh specific encodings
switch (encodingId) {
case encodingRoman: return "Roman";
case encodingJapanese: return "Japanese";
case encodingChinese: return "Chinese";
case encodingKorean: return "Korean";
case encodingArabic: return "Arabi";
case encodingHebrew: return "Hebrew";
case encodingGreek: return "Greek";
case encodingRussian: return "Russian";
case encodingRSymbol: return "RSymbol";
case encodingDevanagari: return "Devanagari";
case encodingGurmukhi: return "Gurmukhi";
case encodingGujarati: return "Gujarati";
case encodingOriya: return "Oriya";
case encodingBengali: return "Bengali";
case encodingTamil: return "Tamil";
case encodingTelugu: return "Telugu";
case encodingKannada: return "Kannada";
case encodingMalayalam: return "Malayalam";
case encodingSinhalese: return "Sinhalese";
case encodingBurmese: return "Burmese";
case encodingKhmer: return "Khmer";
case encodingThai: return "Thai";
case encodingLaotian: return "Laotian";
case encodingGeorgian: return "Georgian";
case encodingArmenian: return "Armenian";
case encodingMaldivian: return "Maldivian";
case encodingTibetan: return "Tibetan";
case encodingMongolian: return "Mongolian";
case encodingGeez: return "Geez";
case encodingSlavic: return "Slavic";
case encodingVietnamese: return "Vietnamese";
case encodingSindhi: return "Sindhi";
case encodingUninterp: return "Uninterpreted";
default: return "";
}
} else if (platformId == platformISO) {
// ISO specific encodings
switch (encodingId) {
case encodingASCII: return "7-bit ASCII";
case encodingISO10646: return "ISO 10646";
case encodingISO8859_1: return "ISO 8859-1";
default: return "";
}
} else if (platformId == platformMicrosoft) {
// Windows specific encodings
switch (encodingId) {
case encodingSymbol: return "Symbol";
case encodingUnicode: return "Unicode";
case encodingShiftJIS: return "ShiftJIS";
case encodingPRC: return "PRC";
case encodingBig5: return "Big5";
case encodingWansung: return "Wansung";
case encodingJohab: return "Johab";
case 7: return "Reserved";
case 8: return "Reserved";
case 9: return "Reserved";
case encodingUCS4: return "UCS-4";
default: return "";
}
}
return "";
}
public static String getLanguageName(final short platformId, final short languageId) {
if (platformId == platformMacintosh) {
switch (languageId) {
case languageEnglish: return "English";
case languageFrench: return "French";
case languageGerman: return "German";
case languageItalian: return "Italian";
case languageDutch: return "Dutch";
case languageSwedish: return "Swedish";
case languageSpanish: return "Spanish";
case languageDanish: return "Danish";
case languagePortuguese: return "Portuguese";
case languageNorwegian: return "Norwegian";
case languageHebrew: return "Hebrew";
case languageJapanese: return "Japanese";
case languageArabic: return "Arabic";
case languageFinnish: return "Finnish";
case languageGreek: return "Greek";
case languageIcelandic: return "Icelandic";
case languageMaltese: return "Maltese";
case languageTurkish: return "Turkish";
case languageYugoslavian: return "Yugoslavian";
case languageChinese: return "Chinese";
case languageUrdu: return "Urdu";
case languageHindi: return "Hindi";
case languageThai: return "Thai";
default: return "";
}
} else if (platformId == platformMicrosoft) {
switch (languageId) {
case languageSQI: return "Albanian (Albania)";
case languageEUQ: return "Basque (Basque)";
case languageBEL: return "Byelorussian (Byelorussia)";
case languageBGR: return "Bulgarian (Bulgaria)";
case languageCAT: return "Catalan (Catalan)";
case languageSHL: return "Croatian (Croatian)";
case languageCSY: return "Czech (Czech)";
case languageDAN: return "Danish (Danish)";
case languageNLD: return "Dutch (Dutch (Standard))";
case languageNLB: return "Dutch (Belgian (Flemish))";
case languageENU: return "English (American)";
case languageENG: return "English (British)";
case languageENA: return "English (Australian)";
case languageENC: return "English (Canadian)";
case languageENZ: return "English (New Zealand)";
case languageENI: return "English (Ireland)";
case languageETI: return "Estonian (Estonia)";
case languageFIN: return "Finnish (Finnish)";
case languageFRA: return "French (French (Standard))";
case languageFRB: return "French (Belgian)";
case languageFRC: return "French (Canadian)";
case languageFRS: return "French (Swiss)";
case languageFRL: return "French (Luxembourg)";
case languageDEU: return "German (German (Standard))";
case languageDES: return "German (Swiss)";
case languageDEA: return "German (Austrian)";
case languageDEL: return "German (Luxembourg)";
case languageDEC: return "German (Liechtenstein)";
case languageELL: return "Greek (Greek)";
case languageHUN: return "Hungarian (Hungarian)";
case languageISL: return "Icelandic (Icelandic)";
case languageITA: return "Italian (Italian (Standard))";
case languageITS: return "Italian (Swiss)";
case languageLVI: return "Latvian (Latvia)";
case languageLTH: return "Lithuanian (Lithuania)";
case languageNOR: return "Norwegian (Norwegian (Bokmal))";
case languageNON: return "Norwegian (Norwegian (Nynorsk))";
case languagePLK: return "Polish (Polish)";
case languagePTB: return "Portuguese (Portuguese (Brazilian))";
case languagePTG: return "Portuguese (Portuguese (Standard))";
case languageROM: return "Romanian (Romania)";
case languageRUS: return "Russian (Russian)";
case languageSKY: return "Slovak (Slovak)";
case languageSLV: return "Slovenian (Slovenia)";
case languageESP: return "Spanish (Spanish (Traditional Sort))";
case languageESM: return "Spanish (Mexican)";
case languageESN: return "Spanish (Spanish (Modern Sort))";
case languageSVE: return "Swedish (Swedish)";
case languageTRK: return "Turkish (Turkish)";
case languageUKR: return "Ukrainian (Ukraine)";
default: return "";
}
}
return "";
}
public static String getNameName(final short nameId) {
switch (nameId) {
case nameCopyrightNotice: return "Copyright notice";
case nameFontFamilyName: return "Font Family name";
case nameFontSubfamilyName: return "Font Subfamily name";
case nameUniqueFontIdentifier: return "Unique font identifier";
case nameFullFontName: return "Full font name";
case nameVersionString: return "Version string";
case namePostscriptName: return "Postscript name";
case nameTrademark: return "Trademark";
case nameManufacturerName: return "Manufacturer Name";
case nameDesigner: return "Designer";
case nameDescription: return "Description";
case nameURLVendor: return "URL Vendor";
case nameURLDesigner: return "URL Designer";
case nameLicenseDescription: return "License Description";
case nameLicenseInfoURL: return "License Info URL";
case namePreferredFamily: return "Preferred Family";
case namePreferredSubfamily: return "Preferred Subfamily";
case nameCompatibleFull: return "Compatible Full";
case nameSampleText: return "Sample text";
case namePostScriptCIDFindfontName: return "PostScript CID findfont name";
default: return "";
}
}
}