Skip to content

pdf-codec: contextual GSUB, page-level widget annotations, and schema-gated image passthrough #1189

Description

@Mearman

Three named follow-ups from the #967/#975 scorecards:

  • GSUB applies liga/rlig through lookup types 1/4/7; calt/clig (contextual machinery out of proportion as a first cut) and smcp/dlig (opt-in in every real shaper) are refused by name, and nonzero-lookupFlag lookups are skipped because GDEF glyph classes are not read. The honest next step for contextual shaping is GDEF + chaining-contextual lookups.
  • Form-field widgets ride the field's /Kids rather than their page's /Annots -- spec-legal, and this package's own reader recovers them symmetrically, but a viewer relying on page-level /Annots will not render them. pdf-codec's writer covers a small fraction of what its reader now extracts #967 flagged this as the follow-up it skipped.
  • JBIG2/JP2 verbatim passthrough is blocked solely on the model carrying the original filter plus compressed bytes (tracked in the schema-gaps issue).

Evidence

#967 and #975 scorecards; src/gsub-table.ts refusal comment; src/write.ts form-field emission.

Affected packages: pdf-codec, document-schema.js

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions