Skip to content

feat: support other iso-8859 encodings in single-byte#14

Merged
ChALkeR merged 1 commit intomasterfrom
chalker/iso-8859/1
Jan 1, 2026
Merged

feat: support other iso-8859 encodings in single-byte#14
ChALkeR merged 1 commit intomasterfrom
chalker/iso-8859/1

Conversation

@ChALkeR
Copy link
Collaborator

@ChALkeR ChALkeR commented Dec 30, 2025

This brings in actual iso-8859-1 support, also iso-8859-9 and iso-8859-11
TextDecoder API is unchanged

@ChALkeR ChALkeR marked this pull request as draft December 30, 2025 14:18
@ChALkeR ChALkeR marked this pull request as ready for review December 31, 2025 07:36
@ChALkeR ChALkeR requested a review from Copilot December 31, 2025 07:36
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds support for three ISO-8859 encodings (iso-8859-1, iso-8859-9, iso-8859-11) using their official Unicode.org definitions, which differ from WHATWG's label mappings to Windows encodings.

  • Implements actual iso-8859-1 (Latin-1) as a direct Unicode subset rather than mapping to windows-1252
  • Adds iso-8859-9 (Turkish) and iso-8859-11 (Thai) using official Unicode mappings
  • Splits test suite to separately verify Unicode-based and WHATWG-based encoding behavior
  • Optimizes iso-8859-1 encoding/decoding with fast paths using native Latin1 operations

Reviewed changes

Copilot reviewed 22 out of 22 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tests/single-byte.test.js Adds new Unicode-based test suite alongside existing WHATWG tests; validates against official Unicode mapping tables
tests/encoding/fixtures/unicode/ISO8859/*.txt Adds 16 official Unicode Consortium mapping files for ISO-8859 encodings (8859-1 through 8859-16)
tests/encoding/fixtures/README.md Documents new Unicode.org fixture sources
fallback/single-byte.encodings.js Refactors encoding maps to include all iso-8859-* variants (1-16); marks non-WHATWG variants
fallback/single-byte.js Adds fast path for iso-8859-1 decoding using decodeLatin1()
single-byte.js Adds non-WHATWG encodings to skipNative set; adds fast path for iso-8859-1 encoding
single-byte.node.js Updates Node.js decoder to use latin1Slice() for iso-8859-1
README.md Documents new encodings and clarifies WHATWG vs Unicode.org differences with examples

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@ChALkeR ChALkeR force-pushed the chalker/iso-8859/1 branch 6 times, most recently from f937b54 to 13cb09e Compare January 1, 2026 15:26
@ChALkeR ChALkeR requested a review from Copilot January 1, 2026 15:26
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 7 out of 7 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@ChALkeR ChALkeR force-pushed the chalker/iso-8859/1 branch 3 times, most recently from 533bf5e to 8639a6d Compare January 1, 2026 15:42
@ChALkeR ChALkeR force-pushed the chalker/iso-8859/1 branch from 8639a6d to 5f532f3 Compare January 1, 2026 15:43
@ChALkeR ChALkeR force-pushed the chalker/iso-8859/1 branch 2 times, most recently from 8005f55 to 7c4c44a Compare January 1, 2026 15:48
This brings in actual iso-8859-1 support, also iso-8859-9 and iso-8859-11
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 7 out of 7 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@ChALkeR ChALkeR merged commit 7aa73f9 into master Jan 1, 2026
36 checks passed
@ChALkeR ChALkeR deleted the chalker/iso-8859/1 branch January 2, 2026 05:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants