1 2 17 18 19 package org.apache.poi.hdf.extractor; 20 21 26 27 public class FontTable 28 { 29 String [] fontNames; 30 31 public FontTable(byte[] fontTable) 32 { 33 int size = Utils.convertBytesToShort(fontTable, 0); 34 fontNames = new String [size]; 35 36 int currentIndex = 4; 37 for(int x = 0; x < size; x++) 38 { 39 byte ffnLength = fontTable[currentIndex]; 40 41 int nameOffset = currentIndex + 40; 42 StringBuffer nameBuf = new StringBuffer (); 43 char ch = Utils.getUnicodeCharacter(fontTable, nameOffset); 44 while(ch != '\0') 45 { 46 nameBuf.append(ch); 47 nameOffset += 2; 48 ch = Utils.getUnicodeCharacter(fontTable, nameOffset); 49 } 50 fontNames[x] = nameBuf.toString(); 51 if(fontNames[x].startsWith("Times")) 52 { 53 fontNames[x] = "Times"; 54 } 55 56 currentIndex += ffnLength + 1; 57 } 58 59 } 60 public String getFont(int index) 61 { 62 return fontNames[index]; 63 } 64 } 65 | Popular Tags |