public Range getOverallRange() { // Life is easy when we have no footers, headers or unicode! return new Range( 0, _fib.getFibBase().getFcMac() - _fib.getFibBase().getFcMin(), this ); }
public Range getOverallRange() { // Life is easy when we have no footers, headers or unicode! return new Range( 0, _fib.getFibBase().getFcMac() - _fib.getFibBase().getFcMin(), this ); }
/** * * @param guessedCharset charset that we think this is * @return a new text piece * @throws IllegalStateException if the length isn't correct */ private TextPiece buildTextPiece(Charset guessedCharset) throws IllegalStateException { PieceDescriptor pd = new PieceDescriptor(new byte[] {0,0, 0,0,0,127, 0,0}, 0, guessedCharset); pd.setFilePosition(_fib.getFibBase().getFcMin()); // Generate a single Text Piece Table, with a single Text Piece // which covers all the (8 bit only) text in the file tpt = new OldTextPieceTable(); byte[] textData = IOUtils.safelyAllocate( _fib.getFibBase().getFcMac()-_fib.getFibBase().getFcMin(), MAX_RECORD_LENGTH); System.arraycopy(_mainStream, _fib.getFibBase().getFcMin(), textData, 0, textData.length); int numChars = textData.length; if (CodePageUtil.DOUBLE_BYTE_CHARSETS.contains(guessedCharset)) { numChars /= 2; } return new TextPiece( 0, numChars, textData, pd ); }
cft = new ComplexFileTable( _mainStream, _mainStream, complexTableOffset, _fib.getFibBase().getFcMin() ); tpt = cft.getTextPieceTable(); pd.setFilePosition(_fib.getFibBase().getFcMin()); byte[] textData = new byte[_fib.getFibBase().getFcMac()-_fib.getFibBase().getFcMin()]; System.arraycopy(_mainStream, _fib.getFibBase().getFcMin(), textData, 0, textData.length); TextPiece tp = new TextPiece( 0, textData.length, textData, pd _fib.getFibBase().getFcMin(), tpt ); _pbt = new OldPAPBinTable( _mainStream, papTableOffset, papTableSize, _fib.getFibBase().getFcMin(), tpt ); _st = new OldSectionTable( _mainStream, sedTableOffset, sedTableSize, _fib.getFibBase().getFcMin(), tpt );
cft = new OldComplexFileTable( _mainStream, _mainStream, complexTableOffset, _fib.getFibBase().getFcMin(), guessedCharset ); tpt = (OldTextPieceTable)cft.getTextPieceTable(); _fib.getFibBase().getFcMin(), tpt ); _pbt = new OldPAPBinTable( _mainStream, papTableOffset, papTableSize, _fib.getFibBase().getFcMin(), tpt ); _st = new OldSectionTable( _mainStream, sedTableOffset, sedTableSize, _fib.getFibBase().getFcMin(), tpt );