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