Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8077584 Value of java.awt.font.OpenType.TAG_OPBD is incorrect
  3. JDK-8175063

Release Note: Value of java.awt.font.OpenType.TAG_OPBD is incorrect

XMLWordPrintable

    • 2d
    • 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

            psadhukhan Prasanta Sadhukhan
            psadhukhan Prasanta Sadhukhan
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: