Exemplo n.º 1
0
 private void putkerntab() throws IOException {
   if (kernpairs == 0) return;
   in.seek(kernpairs);
   int count = in.readUnsignedShortLE();
   int nzero = 0;
   int kerns[] = new int[count * 3];
   for (int k = 0; k < kerns.length; ) {
     kerns[k++] = in.read();
     kerns[k++] = in.read();
     if ((kerns[k++] = in.readShortLE()) != 0) ++nzero;
   }
   if (nzero == 0) return;
   out.print("StartKernData\nStartKernPairs");
   outval(nzero);
   out.print('\n');
   for (int k = 0; k < kerns.length; k += 3) {
     if (kerns[k + 2] != 0) {
       out.print("KPX ");
       out.print(WinChars[kerns[k]]);
       out.print(' ');
       out.print(WinChars[kerns[k + 1]]);
       outval(kerns[k + 2]);
       out.print('\n');
     }
   }
   /* Put out trailer */
   out.print("EndKernPairs\nEndKernData\n");
 }
Exemplo n.º 2
0
 private String readString() throws IOException {
   StringBuffer buf = new StringBuffer();
   while (true) {
     int c = in.read();
     if (c <= 0) break;
     buf.append((char) c);
   }
   return buf.toString();
 }
Exemplo n.º 3
0
 private void openpfm() throws IOException {
   in.seek(0);
   vers = in.readShortLE();
   h_len = in.readIntLE();
   copyright = readString(60);
   type = in.readShortLE();
   points = in.readShortLE();
   verres = in.readShortLE();
   horres = in.readShortLE();
   ascent = in.readShortLE();
   intleading = in.readShortLE();
   extleading = in.readShortLE();
   italic = (byte) in.read();
   uline = (byte) in.read();
   overs = (byte) in.read();
   weight = in.readShortLE();
   charset = (byte) in.read();
   pixwidth = in.readShortLE();
   pixheight = in.readShortLE();
   kind = (byte) in.read();
   avgwidth = in.readShortLE();
   maxwidth = in.readShortLE();
   firstchar = in.read();
   lastchar = in.read();
   defchar = (byte) in.read();
   brkchar = (byte) in.read();
   widthby = in.readShortLE();
   device = in.readIntLE();
   face = in.readIntLE();
   bits = in.readIntLE();
   bitoff = in.readIntLE();
   extlen = in.readShortLE();
   psext = in.readIntLE();
   chartab = in.readIntLE();
   res1 = in.readIntLE();
   kernpairs = in.readIntLE();
   res2 = in.readIntLE();
   fontname = in.readIntLE();
   if (h_len != in.length() || extlen != 30 || fontname < 75 || fontname > 512)
     throw new IOException(MessageLocalization.getComposedMessage("not.a.valid.pfm.file"));
   in.seek(psext + 14);
   capheight = in.readShortLE();
   xheight = in.readShortLE();
   ascender = in.readShortLE();
   descender = in.readShortLE();
 }