-
Sub-task
-
Resolution: Delivered
-
P4
-
9
-
Verified
The value of the static final int field `java.awt.font.OpenType.TAG_OPBD` was incorrect
It was erroneously using the same value as `TAG_MORT` `0x6D6F7274UL` and it has been
changed to the correct `0x6F706264UL`
Although this is strictly an incompatible binary change the likelihood of any
practical impact on applications is near zero.
The opbd table is used only in AAT fonts:
https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6opbd.html
and as such is likely to be extremely rare in the wild as they are natively understood only by MacOS and iOS.
This table is not critical to rendering of text by Java or anything else.
As such nothing goes looking for the table and nothing inside JDK utilises any part of this class.
The JDK does not provide a way to directly utilize these values. No Java API currently exists that accepts them and the class can not become useful unless an additional Java API is added.
Even if an application were to use it by passing the Java field's value to some custom native
code to look up a table then it is likely to return "null" both before and afterward since:
1) the opbd table is extremely rare.
2) the "mort" table that the old value located is already replaced in all fonts on OSX by the "morx" table.
A representative sampling of 6 OS X fonts found none of them to have either table
It was erroneously using the same value as `TAG_MORT` `0x6D6F7274UL` and it has been
changed to the correct `0x6F706264UL`
Although this is strictly an incompatible binary change the likelihood of any
practical impact on applications is near zero.
The opbd table is used only in AAT fonts:
https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6opbd.html
and as such is likely to be extremely rare in the wild as they are natively understood only by MacOS and iOS.
This table is not critical to rendering of text by Java or anything else.
As such nothing goes looking for the table and nothing inside JDK utilises any part of this class.
The JDK does not provide a way to directly utilize these values. No Java API currently exists that accepts them and the class can not become useful unless an additional Java API is added.
Even if an application were to use it by passing the Java field's value to some custom native
code to look up a table then it is likely to return "null" both before and afterward since:
1) the opbd table is extremely rare.
2) the "mort" table that the old value located is already replaced in all fonts on OSX by the "morx" table.
A representative sampling of 6 OS X fonts found none of them to have either table