J. King
befd1feb3a
Apply stricter house style where possible
4 years ago
J. King
0954518eb5
Fix gb18030 seeking; tidy up
4 years ago
J. King
6d9eba25d3
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
e48220250a
Simplify EUC-KR seeking
This is in line with Big5 logic
4 years ago
J. King
b4c3f3c86d
Move dirty EOF handling to UTF-16
It remains useful for this encoding, which is other self-synchronizing
4 years ago
J. King
dc11f98c4c
Fix UTF-8 seeking through truncated sequences
4 years ago
J. King
93cbbc24b7
Address performance regression in peeking
4 years ago
J. King
f2c3488ec0
Fix backwards seeking for Big5
Other non-synchronizing encodings will also need fixing
4 years ago
J. King
33059a2906
Start overhauling error handling; adjust coverage annotations
4 years ago
J. King
b9ea5f8b9b
Ensure seekBack is defined
4 years ago
J. King
9421a3aca2
Make GenericEncoding trait an abstract class
4 years ago
J. King
7ec8f148ff
Note self-synchronizing encodings for later
4 years ago
J. King
280e97e444
Correct documentation of StatefulEncoding
4 years ago
J. King
87e34b3074
Make posErr fully generic
4 years ago
J. King
c115e3857a
Split error handlers
4 years ago
J. King
a7142284f5
Apply stricter house style where possible
4 years ago
J. King
85f06186f2
Partial Shift_JIS implementation
4 years ago
J. King
fc44bb1415
Generalize handling of dirty EOF
4 years ago
J. King
f9e3d795a7
Add label matcher
4 years ago
J. King
200a310f72
Optionally allow surrogates
Also removed unnecessary docblocks
4 years ago
J. King
eae901a9e2
Add new methods
4 years ago
J. King
106167ab39
Cleanup
6 years ago
J. King
8dfb1ba984
Initial implementation of EUC-JP
6 years ago
J. King
2810ed9b2a
Full tests for EUC-KR
6 years ago
J. King
fb70543c0f
Change gb18030 loop to be consistent with Big5 and EUC-KR
6 years ago
J. King
c4cdbdd5c8
Initial implementation of EUC-KR
6 years ago
J. King
bfc6c677c5
Complete Big5 tests, with numerous fixes
6 years ago
J. King
4a091610e9
Initial implementation of Big5 encoding
Only the decoder is tested, and even that requires more thorough testing.
Testing of seeking and encoding still to come
6 years ago
J. King
fdbeecdb17
Add name and label to x-user-defined
6 years ago
J. King
d5327a3b83
Implement x-user-defined decoder
Also further refactored tests to better account for one-way encodings
6 years ago
J. King
dd9bed2e84
Implement UTF-16
6 years ago
J. King
a0bf8a9b05
Don't check for dirty EOF on every iteration
6 years ago
J. King
e683167905
Style fixes
Because of the large arrays in the GBCommon class and its test suite,
memory limits had to be disabled in php-cs-fixer
6 years ago
J. King
1449fae908
Refactor UTF-8 seeking
6 years ago
J. King
4c686aa8a1
Complete battery of tests for gb18030
6 years ago
J. King
1b9889914a
Fix numerous bugs with gb18030
6 years ago
J. King
467c565e8c
Implement gb18030 seeking
Also fix some bugs in EOF handling
6 years ago
J. King
40d0054bd1
Implement gb18030 and GBK encoders
6 years ago
J. King
766643aa37
Common infrstructure for gb18030 and GBK
6 years ago
J. King
d6747532cd
Implement gb18030 decoder
6 years ago
J. King
3a19b93aab
Move nextChar to generic class
6 years ago
J. King
3ee653307c
Implement all other single-byte encodings
6 years ago
J. King
269ecf4a96
Style fixes
6 years ago
J. King
7de6d7a6fc
Implement ISO-8859-6 single-byte encoding
Other single-byte encodings to follow
6 years ago
J. King
8c97b42303
Define interfaces for encodings
6 years ago
J. King
d8af9600ee
Clarified docstrings
6 years ago
J. King
540d8a237e
Style fixes
6 years ago
J. King
3920f11e22
Clean up
6 years ago
J. King
e2c4136001
Change iterator to a set of generators
Not only is the faster than a classical iterator (though still not as
fast as a while loop), but it also offers the choice of characters
or code points.
6 years ago
J. King
7f2c11dcc2
Make the iterator iterate over code points rather than characters
Also fix performance measurement for the iterator; it was all wrong.
6 years ago