J. King
4299bf0100
Pre-emptively update changelog
4 years ago
J. King
16f411c767
Prototype ISO 2022-JP encoder
The encoder currently operates only on single code points, but will later be
expanded to operate on iterables to construct complete strings. For encodings
other than ISO 2022-JP this is merely a convenience, but the algorithm for
that encoding mandates that encoded strings terminate in a switch to ASCII
mode, which a single-character encoder cannot accomplish by itself.
4 years ago
J. King
cdd1c0182b
Corrected ISO 2022-JP decoder and seeker
4 years ago
J. King
9f7e496bf6
Plug potential memory leak
4 years ago
J. King
86c2b0d628
Fix coverage
4 years ago
J. King
2f3ad29ce6
Prototype ISO 2022-JP decoder
4 years ago
J. King
53b27d1a55
Correct buggy Shift_JIS tests
4 years ago
J. King
96846d061c
Complete Shift_JIS testing
4 years ago
J. King
d45e0be7c3
Typo
4 years ago
J. King
915aa7ca93
Finally fix Shift_JIS seeker
4 years ago
J. King
4b2a396c64
Prototype for replacement encoding
4 years ago
J. King
ef9932ffcb
Correct various ShiftJIS errors
4 years ago
J. King
d9b8cd8dd1
Fixes for multi-byte index-base encoders
- array_flip() retains the last duplicate, when we need the first
- Indexes are now prepared with a list of first-duplicate code points
to search before flipping
- This affected only U+3000 in GBK
- Big5 did not use array_flip(), but its list of override code points
did not include U+2561; Big5 now flips like the others
- EUC-JP had a long list of errors, but this encoding was not
previously released
- Shift_JIS' indexes are probably not correct, still
4 years ago
J. King
9e812ffdf8
Second stab at Shift_JIS
- Decoder implemented, with correct table
- Modernized decoder; may have bugs
- Backwards seeker hopefully, though it does not yet pass fuzzer
4 years ago
J. King
b284056644
Encode correct duplicate pointers in EUC-JP
4 years ago
J. King
46b6ac3c44
Complete and correct EUC-JP implementation
4 years ago
J. King
0682e294c8
Add new labels
4 years ago
J. King
7803b8af9e
Cleanup
6 years ago
J. King
1200891feb
Update changelog
4 years ago
J. King
f7246ccc34
Fix gb18030 seeking; tidy up
4 years ago
J. King
14d67ad49f
Add fuzz test for backwards seeking
Test data is 1025 random bytes; gb18030 still fails
4 years ago
J. King
0eb2a8ac24
Fix bugs in gb18030 and UTF-16
- UTF-16 needs to restore dirtyEOF after seeking
- gb18030 now tracks errors like other non-synchronizing encodings
- gb18030 could produce null when asked for a character
4 years ago
J. King
a12a2a0413
Simplify EUC-KR seeking
This is in line with Big5 logic
4 years ago
J. King
be034a08e0
Move dirty EOF handling to UTF-16
It remains useful for this encoding, which is other self-synchronizing
4 years ago
J. King
1f007b88f1
Fix UTF-8 seeking through truncated sequences
4 years ago
J. King
220cbce9a0
Address performance regression in peeking
4 years ago
J. King
9f08fb7424
Fix backwards seeking for Big5
Other non-synchronizing encodings will also need fixing
4 years ago
J. King
6417e8f0be
Start overhauling error handling; adjust coverage annotations
4 years ago
J. King
b90f194a81
Support PCOV for code coverage
4 years ago
J. King
e06096c624
Ensure seekBack is defined
4 years ago
J. King
61a77086bb
Make GenericEncoding trait an abstract class
4 years ago
J. King
235fdc4103
Note self-synchronizing encodings for later
4 years ago
J. King
a3c16252b8
Correct documentation of StatefulEncoding
4 years ago
J. King
f69cd98b4c
Make posErr fully generic
4 years ago
J. King
7339176e3e
Split error handlers
4 years ago
J. King
befd1feb3a
Apply stricter house style where possible
5 years ago
J. King
85f06186f2
Partial Shift_JIS implementation
5 years ago
J. King
f49d632642
Merge branch 'master' into multi-byte
5 years ago
J. King
fc44bb1415
Generalize handling of dirty EOF
5 years ago
J. King
c4a2ae1714
Tests for new features
5 years ago
J. King
19a28edebd
Restore changelog
5 years ago
J. King
f9e3d795a7
Add label matcher
5 years ago
J. King
200a310f72
Optionally allow surrogates
Also removed unnecessary docblocks
5 years ago
J. King
2e47fde774
Upgrade to PHPUnit 8
5 years ago
J. King
eae901a9e2
Add new methods
5 years ago
J. King
ba35252b80
Tooling update
5 years ago
J. King
106167ab39
Cleanup
6 years ago
J. King
74d8e07a65
Fully corrected WPT test data for EUC-JP
6 years ago
J. King
8dfb1ba984
Initial implementation of EUC-JP
6 years ago
J. King
58328b7524
Changelog for 0.4.0
6 years ago