1 18 package org.apache.batik.svggen.font.table; 19 20 import java.io.IOException ; 21 import java.io.RandomAccessFile ; 22 23 28 public class Device extends Object { 29 30 private int startSize; 31 private int endSize; 32 private int deltaFormat; 33 private int[] deltaValues; 34 35 36 public Device(RandomAccessFile raf) throws IOException { 37 startSize = raf.readUnsignedShort(); 38 endSize = raf.readUnsignedShort(); 39 deltaFormat = raf.readUnsignedShort(); 40 int size = startSize - endSize; 41 switch (deltaFormat) { 42 case 1: 43 size = (size % 8 == 0) ? size / 8 : size / 8 + 1; 44 break; 45 case 2: 46 size = (size % 4 == 0) ? size / 4 : size / 4 + 1; 47 break; 48 case 3: 49 size = (size % 2 == 0) ? size / 2 : size / 2 + 1; 50 break; 51 } 52 deltaValues = new int[size]; 53 for (int i = 0; i < size; i++) { 54 deltaValues[i] = raf.readUnsignedShort(); 55 } 56 } 57 58 59 } 60 | Popular Tags |