Uploaded image for project: 'PDFBox'
  1. PDFBox
  2. PDFBOX-5191

isEmbeddingPermitted() is too restrictive on TTFs with OS2 table versions 0-2

VotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.0.21, 3.0.0 PDFBox
    • 2.0.24, 3.0.0 PDFBox
    • PDModel
    • None

    Description

      PDFBOX-4882 fixed a bug that made isEmbeddingPermitted() too permissive.  But it introduced a bug that made isEmbeddingPermitted() too restrictive for TTFs with OS2 table versions 0-2.

       

      TTFs with OS2 table versions 0-2 can have multiple permission bits set.  According to the spec described in 

      https://docs.microsoft.com/en-us/typography/opentype/spec/os2#fstype

      "in the event that more than one of bits 0 to 3 are set in a given font, then the least-restrictive permission indicated take precedence."

      Unfortunately, the current code essentially makes the most restrictive permission take precedence.  This causes pdfbox to throw an error: 

      "This font does not permit embedding"

      when attempting to process fonts that worked fine in pdfbox v2.0.20 and lower

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            tilman Tilman Hausherr
            larry.lynn@workiva.com Larry Lynn
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment