⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stylesheet.java

📁 Office格式转换代码
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
                  newCHP._ftcFE = styleCHP._ftcFE;               }               if(genCHP._ftcOther == newCHP._ftcOther)               {                  newCHP._ftcOther = styleCHP._ftcOther;               }               if(genCHP._hps == newCHP._hps)               {                  newCHP._hps = styleCHP._hps;               }               if(genCHP._hpsPos == newCHP._hpsPos)               {                  newCHP._hpsPos = styleCHP._hpsPos;               }               if(genCHP._kul == newCHP._kul)               {                  newCHP._kul = styleCHP._kul;               }               if(genCHP._dxaSpace == newCHP._dxaSpace)               {                  newCHP._dxaSpace = styleCHP._dxaSpace;               }               if(genCHP._ico == newCHP._ico)               {                  newCHP._ico = styleCHP._ico;               }               if(genCHP._lidDefault == newCHP._lidDefault)               {                  newCHP._lidDefault = styleCHP._lidDefault;               }               if(genCHP._lidFE == newCHP._lidFE)               {                  newCHP._lidFE = styleCHP._lidFE;               }               break;          case 0x48:               newCHP._iss = (byte)param;               break;          case 0x49:               newCHP._hps = Utils.convertBytesToShort(varParam, 0);               break;          case 0x4a:               int increment = Utils.convertBytesToShort(varParam, 0);               newCHP._hps = Math.max(newCHP._hps + increment, 8);               break;          case 0x4b:               newCHP._hpsKern = param;               break;          case 0x4c:               doCHPOperation(oldCHP, newCHP, 0x47, param, varParam, grpprl, offset, styleSheet);               break;          case 0x4d:               float percentage = (float)param/100.0f;               int add = (int)((float)percentage * (float)newCHP._hps);               newCHP._hps += add;               break;          case 0x4e:               newCHP._ysr = (byte)param;               break;          case 0x4f:               newCHP._ftcAscii = (short)param;               break;          case 0x50:               newCHP._ftcFE = (short)param;               break;          case 0x51:               newCHP._ftcOther = (short)param;               break;          case 0x52:               break;          case 0x53:               newCHP._fDStrike = getFlag(param);               break;          case 0x54:               newCHP._fImprint = getFlag(param);               break;          case 0x55:               newCHP._fSpec = getFlag(param);               break;          case 0x56:               newCHP._fObj = getFlag(param);               break;          case 0x57:               newCHP._fPropMark = getFlag(varParam[0]);               newCHP._ibstPropRMark = (short)Utils.convertBytesToShort(varParam, 1);               newCHP._dttmPropRMark = Utils.convertBytesToInt(varParam, 3);               break;          case 0x58:               newCHP._fEmboss = getFlag(param);               break;          case 0x59:               newCHP._sfxtText = (byte)param;               break;          case 0x5a:               break;          case 0x5b:               break;          case 0x5c:               break;          case 0x5d:               break;          case 0x5e:               break;          case 0x5f:               break;          case 0x60:               break;          case 0x61:               break;          case 0x62:               newCHP._fDispFldRMark = getFlag(varParam[0]);               newCHP._ibstDispFldRMark = (short)Utils.convertBytesToShort(varParam, 1);               newCHP._dttmDispFldRMark = Utils.convertBytesToInt(varParam, 3);               System.arraycopy(varParam, 7, newCHP._xstDispFldRMark, 0, 32);               break;          case 0x63:               newCHP._ibstRMarkDel = (short)param;               break;          case 0x64:               newCHP._dttmRMarkDel[0] = Utils.convertBytesToShort(grpprl, offset - 4);               newCHP._dttmRMarkDel[1] = Utils.convertBytesToShort(grpprl, offset - 2);               break;          case 0x65:               newCHP._brc[0] = (short)Utils.convertBytesToShort(grpprl, offset - 4);               newCHP._brc[1] = (short)Utils.convertBytesToShort(grpprl, offset - 2);               break;          case 0x66:               newCHP._shd = (short)param;               break;          case 0x67:               break;          case 0x68:               break;          case 0x69:               break;          case 0x6a:               break;          case 0x6b:               break;          case 0x6c:               break;          case 0x6d:               newCHP._lidDefault = (short)param;               break;          case 0x6e:               newCHP._lidFE = (short)param;               break;          case 0x6f:               newCHP._idctHint = (byte)param;               break;      }  }  static Object uncompressProperty(byte[] grpprl, Object parent, StyleSheet styleSheet)  {    return uncompressProperty(grpprl, parent, styleSheet, true);  }  static Object uncompressProperty(byte[] grpprl, Object parent, StyleSheet styleSheet, boolean doIstd)  {      Object newProperty = null;      int offset = 0;      int propertyType = PAP_TYPE;      if(parent instanceof PAP)      {          try          {              newProperty = ((PAP)parent).clone();          }          catch(Exception e){}          if(doIstd)          {            ((PAP)newProperty)._istd = Utils.convertBytesToShort(grpprl, 0);            offset = 2;          }      }      else if(parent instanceof CHP)      {          try          {              newProperty = ((CHP)parent).clone();              ((CHP)newProperty)._baseIstd = ((CHP)parent)._istd;          }          catch(Exception e){}          propertyType = CHP_TYPE;      }      else if(parent instanceof SEP)      {          newProperty = parent;          propertyType = SEP_TYPE;      }      else if(parent instanceof TAP)      {          newProperty = parent;          propertyType = TAP_TYPE;          offset = 2;//because this is really just a papx      }      else      {          return null;      }      while(offset < grpprl.length)      {          short sprm = Utils.convertBytesToShort(grpprl, offset);          offset += 2;          byte spra = (byte)((sprm & 0xe000) >> 13);          int opSize = 0;          int param = 0;          byte[] varParam = null;          switch(spra)          {              case 0:              case 1:                   opSize = 1;                   param = grpprl[offset];                   break;              case 2:                   opSize = 2;                   param = Utils.convertBytesToShort(grpprl, offset);                   break;              case 3:                   opSize = 4;                   param = Utils.convertBytesToInt(grpprl, offset);                   break;              case 4:              case 5:                   opSize = 2;                   param = Utils.convertBytesToShort(grpprl, offset);                   break;              case 6://variable size                   //there is one sprm that is a very special case                   if(sprm != (short)0xd608)                   {                     opSize = Utils.convertUnsignedByteToInt(grpprl[offset]);                     offset++;                   }                   else                   {                     opSize = Utils.convertBytesToShort(grpprl, offset) - 1;                     offset += 2;                   }                   varParam = new byte[opSize];                   System.arraycopy(grpprl, offset, varParam, 0, opSize);                   break;              case 7:                   opSize = 3;                   param = Utils.convertBytesToInt((byte)0, grpprl[offset + 2], grpprl[offset + 1], grpprl[offset]);                   break;              default:                  throw new RuntimeException("unrecognized pap opcode");          }          offset += opSize;          short operand = (short)(sprm & 0x1ff);          byte type = (byte)((sprm & 0x1c00) >> 10);          switch(propertyType)          {              case PAP_TYPE:                   if(type == 1)//papx stores TAP sprms along with PAP sprms                   {                     doPAPOperation((PAP)newProperty, operand, param, varParam, grpprl,                                    offset, spra);                   }                   break;              case CHP_TYPE:                   doCHPOperation((CHP)parent, (CHP)newProperty, operand, param, varParam,                                  grpprl, offset, styleSheet);                   break;              case SEP_TYPE:                   doSEPOperation((SEP)newProperty, operand, param, varParam);                   break;              case TAP_TYPE:                   if(type == 5)                   {                     doTAPOperation((TAP)newProperty, operand, param, varParam);                   }                   break;          }      }      return newProperty;  }  static void doPAPOperation(PAP newPAP, int operand, int param,                             byte[] varParam, byte[] grpprl, int offset,                             int spra)  {      switch(operand)      {          case 0:               newPAP._istd = param;               break;          case 0x1:               //permuteIstd(newPAP, varParam);               break;          case 0x2:               if(newPAP._istd <=9 || newPAP._istd >=1)               {                  newPAP._istd += param;                  if(param > 0)                  {                      newPAP._istd = Math.max(newPAP._istd, 9);                  }                  else                  {                      newPAP._istd = Math.min(newPAP._istd, 1);                  }               }               break;          case 0x3:               newPAP._jc = (byte)param;               break;          case 0x4:               newPAP._fSideBySide = (byte)param;               break;          case 0x5:               newPAP._fKeep = (byte)param;               break;          case 0x6:               newPAP._fKeepFollow = (byte)param;               break;          case 0x7:               newPAP._fPageBreakBefore = (byte)param;               break;          case 0x8:               newPAP._brcl = (byte)param;               break;          case 0x9:               newPAP._brcp = (byte)param;               break;          case 0xa:               newPAP._ilvl = (byte)param;               break;          case 0xb:               newPAP._ilfo = param;               break;          case 0xc:               newPAP._fNoLnn = (byte)param;               break;          case 0xd:               /**@todo handle tabs*/               break;          case 0xe:               newPAP._dxaRight = param;               break;          case 0xf:               newPAP._dxaLeft = param;               break;          case 0x10:               newPAP._dxaLeft += param;               newPAP._dxaLeft = Math.max(0, newPAP._dxaLeft);               break;          case 0x11:               newPAP._dxaLeft1 = param;               break;          case 0x12:               newPAP._lspd[0] = Utils.convertBytesToShort(grpprl, offset - 4);               newPAP._lspd[1] = Utils.convertBytesToShort(grpprl, offset - 2);               break;          case 0x13:               newPAP._dyaBefore = param;               break;          case 0x14:               newPAP._dyaAfter = param;               break;          case 0x15:               /**@todo handle tabs*/               break;          case 0x16:               newPAP._fInTable = (byte)param;               break;          case 0x17:               newPAP._fTtp =(byte)param;               break;          case 0x18:               newPAP._dxaAbs = param;               break;          case 0x19:               newPAP._dyaAbs = param;               break;          case 0x1a:               newPAP._dxaWidth = param;               break;          case 0x1b:               /** @todo handle paragraph postioning*/               /*byte pcVert = (param & 0x0c) >> 2;               byte pcHorz = param & 0x03;               if(pcVert != 3)               {                  newPAP._pcVert = pcVert;               }               if(pcHorz != 3)               {                  newPAP._pcHorz = pcHorz;               }*/               break;          case 0x1c:               newPAP._brcTop1 = (short)param;               break;          case 0x1d:               newPAP._brcLeft1 = (short)param;               break;          case 0x1e:               newPAP._brcBottom1 = (short)param;               break;          case 0x1f:               newPAP._brcRight1 = (short)param;               break;          case 0x20:               newPAP._brcBetween1 = (short)param;               break;          case 0x21:               newPAP._brcBar1 = (byte)param;               break;          case 0x22:               newPAP._dxaFromText = param;               break;          case 0x23:               newPAP._wr = (byte)param;               break;          case 0x24:               newPAP._brcTop[0] = (short)Utils.convertBytesToShort(grpprl, offset - 4);               newPAP._brcTop[1] = (short)Utils.convertBytesToShort(grpprl, offset - 2);               break;          case 0x25:               newPAP._brcLeft[0] = (short)Utils.convertBytesToShort(grpprl, offset - 4);               newPAP._brcLeft[1] = (short)Utils.convertBytesToShort(grpprl, offset - 2);               break;          case 0x26:               newPAP._brcBottom[0] = (short)Utils.convertBytesToShort(grpprl, offset - 4);               newPAP._brcBottom[1] = (short)Utils.convertBytesToShort(grpprl, offset - 2);               break;          case 0x27:

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -