diff --git a/src/share/classes/sun/font/TrueTypeFont.java b/src/share/classes/sun/font/TrueTypeFont.java index 544f78d20fa8881bc20115223ce69e97c7b87668..5ee84d93201056a4e0720354885f4b18ee56ec8c 100644 --- a/src/share/classes/sun/font/TrueTypeFont.java +++ b/src/share/classes/sun/font/TrueTypeFont.java @@ -570,8 +570,8 @@ public class TrueTypeFont extends FileFont { tableDirectory[i] = table = new DirectoryEntry(); table.tag = ibuffer.get(); /* checksum */ ibuffer.get(); - table.offset = ibuffer.get(); - table.length = ibuffer.get(); + table.offset = ibuffer.get() & 0x7FFFFFFF; + table.length = ibuffer.get() & 0x7FFFFFFF; if (table.offset + table.length > fileSize) { throw new FontFormatException("bad table, tag="+table.tag); }