001: /*
002:
003: Licensed to the Apache Software Foundation (ASF) under one or more
004: contributor license agreements. See the NOTICE file distributed with
005: this work for additional information regarding copyright ownership.
006: The ASF licenses this file to You under the Apache License, Version 2.0
007: (the "License"); you may not use this file except in compliance with
008: the License. You may obtain a copy of the License at
009:
010: http://www.apache.org/licenses/LICENSE-2.0
011:
012: Unless required by applicable law or agreed to in writing, software
013: distributed under the License is distributed on an "AS IS" BASIS,
014: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
015: See the License for the specific language governing permissions and
016: limitations under the License.
017:
018: */
019: package org.apache.batik.svggen.font.table;
020:
021: /**
022: * @version $Id: Table.java 478176 2006-11-22 14:50:50Z dvholten $
023: * @author <a href="mailto:david@steadystate.co.uk">David Schweinsberg</a>
024: */
025: public interface Table {
026:
027: // Table constants
028: int BASE = 0x42415345; // Baseline data [OpenType]
029: int CFF = 0x43464620; // PostScript font program (compact font format) [PostScript]
030: int DSIG = 0x44534947; // Digital signature
031: int EBDT = 0x45424454; // Embedded bitmap data
032: int EBLC = 0x45424c43; // Embedded bitmap location data
033: int EBSC = 0x45425343; // Embedded bitmap scaling data
034: int GDEF = 0x47444546; // Glyph definition data [OpenType]
035: int GPOS = 0x47504f53; // Glyph positioning data [OpenType]
036: int GSUB = 0x47535542; // Glyph substitution data [OpenType]
037: int JSTF = 0x4a535446; // Justification data [OpenType]
038: int LTSH = 0x4c545348; // Linear threshold table
039: int MMFX = 0x4d4d4658; // Multiple master font metrics [PostScript]
040: int MMSD = 0x4d4d5344; // Multiple master supplementary data [PostScript]
041: int OS_2 = 0x4f532f32; // OS/2 and Windows specific metrics [r]
042: int PCLT = 0x50434c54; // PCL5
043: int VDMX = 0x56444d58; // Vertical Device Metrics table
044: int cmap = 0x636d6170; // character to glyph mapping [r]
045: int cvt = 0x63767420; // Control Value Table
046: int fpgm = 0x6670676d; // font program
047: int fvar = 0x66766172; // Apple's font variations table [PostScript]
048: int gasp = 0x67617370; // grid-fitting and scan conversion procedure (grayscale)
049: int glyf = 0x676c7966; // glyph data [r]
050: int hdmx = 0x68646d78; // horizontal device metrics
051: int head = 0x68656164; // font header [r]
052: int hhea = 0x68686561; // horizontal header [r]
053: int hmtx = 0x686d7478; // horizontal metrics [r]
054: int kern = 0x6b65726e; // kerning
055: int loca = 0x6c6f6361; // index to location [r]
056: int maxp = 0x6d617870; // maximum profile [r]
057: int name = 0x6e616d65; // naming table [r]
058: int prep = 0x70726570; // CVT Program
059: int post = 0x706f7374; // PostScript information [r]
060: int vhea = 0x76686561; // Vertical Metrics header
061: int vmtx = 0x766d7478; // Vertical Metrics
062:
063: // Platform IDs
064: short platformAppleUnicode = 0;
065: short platformMacintosh = 1;
066: short platformISO = 2;
067: short platformMicrosoft = 3;
068:
069: // Microsoft Encoding IDs
070: short encodingUndefined = 0;
071: short encodingUGL = 1;
072:
073: // Macintosh Encoding IDs
074: short encodingRoman = 0;
075: short encodingJapanese = 1;
076: short encodingChinese = 2;
077: short encodingKorean = 3;
078: short encodingArabic = 4;
079: short encodingHebrew = 5;
080: short encodingGreek = 6;
081: short encodingRussian = 7;
082: short encodingRSymbol = 8;
083: short encodingDevanagari = 9;
084: short encodingGurmukhi = 10;
085: short encodingGujarati = 11;
086: short encodingOriya = 12;
087: short encodingBengali = 13;
088: short encodingTamil = 14;
089: short encodingTelugu = 15;
090: short encodingKannada = 16;
091: short encodingMalayalam = 17;
092: short encodingSinhalese = 18;
093: short encodingBurmese = 19;
094: short encodingKhmer = 20;
095: short encodingThai = 21;
096: short encodingLaotian = 22;
097: short encodingGeorgian = 23;
098: short encodingArmenian = 24;
099: short encodingMaldivian = 25;
100: short encodingTibetan = 26;
101: short encodingMongolian = 27;
102: short encodingGeez = 28;
103: short encodingSlavic = 29;
104: short encodingVietnamese = 30;
105: short encodingSindhi = 31;
106: short encodingUninterp = 32;
107:
108: // ISO Encoding IDs
109: short encodingASCII = 0;
110: short encodingISO10646 = 1;
111: short encodingISO8859_1 = 2;
112:
113: // Microsoft Language IDs
114: short languageSQI = 0x041c;
115: short languageEUQ = 0x042d;
116: short languageBEL = 0x0423;
117: short languageBGR = 0x0402;
118: short languageCAT = 0x0403;
119: short languageSHL = 0x041a;
120: short languageCSY = 0x0405;
121: short languageDAN = 0x0406;
122: short languageNLD = 0x0413;
123: short languageNLB = 0x0813;
124: short languageENU = 0x0409;
125: short languageENG = 0x0809;
126: short languageENA = 0x0c09;
127: short languageENC = 0x1009;
128: short languageENZ = 0x1409;
129: short languageENI = 0x1809;
130: short languageETI = 0x0425;
131: short languageFIN = 0x040b;
132: short languageFRA = 0x040c;
133: short languageFRB = 0x080c;
134: short languageFRC = 0x0c0c;
135: short languageFRS = 0x100c;
136: short languageFRL = 0x140c;
137: short languageDEU = 0x0407;
138: short languageDES = 0x0807;
139: short languageDEA = 0x0c07;
140: short languageDEL = 0x1007;
141: short languageDEC = 0x1407;
142: short languageELL = 0x0408;
143: short languageHUN = 0x040e;
144: short languageISL = 0x040f;
145: short languageITA = 0x0410;
146: short languageITS = 0x0810;
147: short languageLVI = 0x0426;
148: short languageLTH = 0x0427;
149: short languageNOR = 0x0414;
150: short languageNON = 0x0814;
151: short languagePLK = 0x0415;
152: short languagePTB = 0x0416;
153: short languagePTG = 0x0816;
154: short languageROM = 0x0418;
155: short languageRUS = 0x0419;
156: short languageSKY = 0x041b;
157: short languageSLV = 0x0424;
158: short languageESP = 0x040a;
159: short languageESM = 0x080a;
160: short languageESN = 0x0c0a;
161: short languageSVE = 0x041d;
162: short languageTRK = 0x041f;
163: short languageUKR = 0x0422;
164:
165: // Macintosh Language IDs
166: short languageEnglish = 0;
167: short languageFrench = 1;
168: short languageGerman = 2;
169: short languageItalian = 3;
170: short languageDutch = 4;
171: short languageSwedish = 5;
172: short languageSpanish = 6;
173: short languageDanish = 7;
174: short languagePortuguese = 8;
175: short languageNorwegian = 9;
176: short languageHebrew = 10;
177: short languageJapanese = 11;
178: short languageArabic = 12;
179: short languageFinnish = 13;
180: short languageGreek = 14;
181: short languageIcelandic = 15;
182: short languageMaltese = 16;
183: short languageTurkish = 17;
184: short languageYugoslavian = 18;
185: short languageChinese = 19;
186: short languageUrdu = 20;
187: short languageHindi = 21;
188: short languageThai = 22;
189:
190: // Name IDs
191: short nameCopyrightNotice = 0;
192: short nameFontFamilyName = 1;
193: short nameFontSubfamilyName = 2;
194: short nameUniqueFontIdentifier = 3;
195: short nameFullFontName = 4;
196: short nameVersionString = 5;
197: short namePostscriptName = 6;
198: short nameTrademark = 7;
199:
200: /**
201: * Get the table type, as a table directory value.
202: * @return The table type
203: */
204: int getType();
205: }
|