_fonts[0].read(dis, 0);
_fonts[0].read(dis, 0, 0);
    protected void read(String pathName) {        this._pathName = pathName;        File f = new File(pathName);        if (!f.exists()) {            // TODO: Throw TTException            return;        }        try {            DataInputStream dis = new DataInputStream(                new BufferedInputStream(new FileInputStream(f), (int) f.length()));            dis.mark((int) f.length());            if (pathName.endsWith(".dfont")) {                                // This is a Macintosh font suitcase resource                // Note that the resource fork must have been converted to a                // data fork, which appears to be the standard case for                // Mac OS X, thus the "dfont" extension.                ResourceHeader resourceHeader = new ResourceHeader(dis);                        // Seek to the map offset and read the map                dis.reset();                dis.skip(resourceHeader.getMapOffset());                ResourceMap map = new ResourceMap(dis);                                // Get the 'sfnt' resources                ResourceType resourceType = map.getResourceType("sfnt");                                // Load the font data                _fonts = new OTFont[resourceType.getCount()];                for (int i = 0; i < resourceType.getCount(); i++) {                    ResourceReference resourceReference = resourceType.getReference(i);                    _fonts[i] = new OTFont(this);                    _fonts[i].read(                        dis,                        resourceHeader.getDataOffset() + resourceReference.getDataOffset() + 4);                }            } else if (TTCHeader.isTTC(dis)) {                                // This is a TrueType font collection                dis.reset();                _ttcHeader = new TTCHeader(dis);                _fonts = new OTFont[_ttcHeader.getDirectoryCount()];                for (int i = 0; i < _ttcHeader.getDirectoryCount(); i++) {                    _fonts[i] = new OTFont(this);                    _fonts[i].read(dis, _ttcHeader.getTableDirectory(i));                }            } else {                // This is a standalone font file                _fonts = new OTFont[1];                _fonts[0] = new OTFont(this);                _fonts[0].read(dis, 0);            }            dis.close();        } catch (IOException e) {            System.err.println(e.getMessage());        }    }