--- old/jdk/src/java.desktop/share/native/libfontmanager/layout/LEFontInstance.h 2015-02-26 09:38:07.091977745 -0800 +++ new/jdk/src/java.desktop/share/native/libfontmanager/layout/LEFontInstance.h 2015-02-26 09:38:06.948978679 -0800 @@ -181,28 +181,6 @@ * * Subclasses which represent composite fonts should always return NULL. * - * Note that implementing this function does not allow for range checking. - * Subclasses that desire the safety of range checking must implement the - * variation which has a length parameter. - * - * @param tableTag - the four byte table tag. (e.g. 'cmap') - * - * @return the address of the table in memory, or NULL - * if the table doesn't exist. - * - * @stable ICU 2.8 - */ - virtual const void *getFontTable(LETag tableTag) const = 0; - - /** - * This method reads a table from the font. Note that in general, - * it only makes sense to call this method on an LEFontInstance - * which represents a physical font - i.e. one which has been returned by - * getSubFont(). This is because each subfont in a composite font - * will have different tables, and there's no way to know which subfont to access. - * - * Subclasses which represent composite fonts should always return NULL. - * * This version sets a length, for range checking. * Note that range checking can only be accomplished if this function is * implemented in subclasses. @@ -213,7 +191,7 @@ * if the table doesn't exist. * @internal */ - virtual const void* getFontTable(LETag tableTag, size_t &length) const { length=-1; return getFontTable(tableTag); } /* -1 = unknown length */ + virtual const void* getFontTable(LETag tableTag, size_t &length) const = 0; virtual void *getKernPairs() const = 0; virtual void setKernPairs(void *pairs) const = 0;