package uk.co.mmscomputing.io; import java.io.*; public class ModREADInputStream extends ModModREADInputStream{ // T.4 MR Input Stream. How to use, see ..imageio.tiff.TIFFImageReader private boolean isReferenceLine=false; public ModREADInputStream(InputStream in,int width)throws IOException{ super(in,width); } protected void init(int width)throws IOException{ } public void readEOL()throws IOException{ // TIFFImageReader (Class F T4 MR) initNewLine(); // initialise for new line scan syncWithEOL(); // read EOL code isReferenceLine=(readBit()==1); // 1 = one-dimensional 0 = two-dimensional if(!isReferenceLine){ getREADCode(); } } public int read()throws IOException{ return (isReferenceLine)?read1D():read2D(); } } /* [1] FAX: Facsimile Technology and Systems (3rd); Kenneth McConnell,Dennis Bodson,Stephen Urban Artech House Publishers ISBN: 0-89006-944-1 [2] RFC 2306: Tag Image File Format (TIFF) - F Profile for Facsimile [3] ITU T.4: Group 3 MR code; Modified READ Code; READ = Relative Element Address Designate [4] ITU T.6: Group 4 MMR code; Modified Modified READ [5] http://einstein.informatik.uni-oldenburg.de/rechnernetze/ccitt_t4.htm [last accessed: 2005-08-26] [6] http://www.buddism.ru//DHARMA_text/YagpoTibetanOCR/_OCR/WORK_ARCH/hsfsys2.2/src/lib/image/grp4deco.c [last accessed: 2005-10-13] */