Skip to content

UCS reads its R2000+ elevation and ortho fields on R13/R14 (§20.4.62) #274

Closed

Description

@DrunkOnJava

Spec: §20.4.62 UCS (63), p170-171. Common: Entry name TV, 64-flag B, xrefindex+1 BS, Xdep B, Origin 3BD, X-direction 3BD, Y-direction 3BD. R2000+ only: Elevation BD 146, OrthographicViewType BS 79, OrthographicType BS 71.

Finding

The spec's own example, §20.4.62.1 (p171-172, OBJECT: ucs (3FH), len 45H (69), handle: 4C, printed CRC verifies), closes exactly on the RL boundary of its R13-R14 common object data with the common fields alone.

tables::ucs::decode reads Elevation, OrthographicViewType and the fields after them on every pre-R2007 release, R14 included, so it reads the record's handle bytes as an ortho view type and fails:

UCS ortho_view_type 29456 outside 0..=6

The R2000+ fields need the same release gate the spec gives them. No UCS record is in the R14 files of the local corpus.

Reproduce

cargo run --release --example spec_examples

Row 20.4.62 of tests/fixtures/spec-examples/r14-objects.tsv (#107).

Acceptance

  • On R13/R14 the decoder stops after Y-direction.
  • The §20.4.62.1 row closes, and its expect cell becomes closes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:tablesSymbol tables and their controls (§20.4.51 to §20.4.70)priority:P2Quality and completenessrelease:R13Affects R13 filesrelease:R14Affects R14 filestype:bugSomething reads, writes or reports wrongly

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions