Commit Graph
86 Commits
Author SHA1 Message Date
Dean 78e4248fea Merge pull request #12946 from KernelPanicNT/feat/cescs-jiscs
feat(libSceCesCs): implement sceCesJiscsToUcs and sceCesUcsToJiscs
2026-11-06 02:50:25 +13:00
Dean 912062ed7b Merge pull request #13140 from Celegans12/feat/ces-inventory-exports-20261030
feat(ces): add missing GB 18030 inventory export
2026-11-05 21:51:19 +13:00
Dean Galvin 4b5a696b6d Merge branch 'main' 2026-11-05 13:35:26 +13:00
Dean Galvin e44de952a4 Merge branch 'main' 2026-11-05 12:31:36 +13:00
Dean Galvin aab061574f Merge branch 'main' 2026-11-05 05:47:29 +13:00
KernelPanicNT 27023c8799 Merge remote-tracking branch 'origin/main' into feat/cescs-jiscs 2026-11-04 14:58:23 +00:00
Rookie 250184698a test(libSceCesCs): use the public header in the profile setter tests 2026-11-04 05:23:49 +00:00
Rookie 2b1321cb7f feat(libSceCesCs): select the single-byte set of an MBCS profile and a replacement character for a context 2026-11-04 05:23:02 +00:00
noamrogerandClaude Opus 5.5 f2a59bf84f Merge branch 'main' into claude/project-thread-gcmyxo-cp864
Keep the profiles #10056 added; Cp864 stays implemented, so its pending
stub and int declaration are dropped and the pending count goes to 17.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01N6PcbFBJ6WBtt4TVxUhgTW
2026-11-02 09:24:22 +00:00
Dean Galvin 64f05fe297 Merge main 88e804b0a7 into #10751 (5954984266)
docs/dev/debt/libSceCesCs.md: keep this branch's new sceCesJisGetLevel bullet, take main's edit of the single-byte profiles bullet, and recount PendingExports.cpp: 17 pending (main implemented 8 profile exports, this branch sceCesJisGetLevel).
2026-11-02 21:18:54 +13:00
Rookie 5954984266 feat(libSceCesCs): report the JIS X 0213 level of a cell as the console does 2026-11-01 22:32:29 +00:00
atharvjairath a6d4ce5a64 feat(ces): add eight sparse single-byte profiles 2026-11-01 17:54:37 +05:30
zaryabzip 3c478fe2a4 docs(libSceCesCs): keep the surrogate note in the new entry, clear of #13573 2026-10-31 14:25:32 +05:00
zaryabzip 5f4b1c401e fix(libSceCesCs): refuse the Cp1254 and Cp1258 holes and UTF-32 surrogates as a PS5 does
Bytes 81 8D 8E 8F 90 9D 9E of Cp1254 and 81 8A 8D 8E 8F 90 9A 9D 9E of
Cp1258 now answer 0x805C0020 both ways instead of mapping to C1 controls,
and sceCesUtf32ToSbc answers 0x805C0015 for a surrogate, as a sweep on a
PS5 measured and a firmware 13.42 run of the module agrees.
2026-10-31 14:16:37 +05:00
noamrogerandClaude Opus 5.5 f79f5aecf8 feat(libSceCesCs): add the code page 864 profile
Implement sceCesRefersUcsProfileCp864 with Microsoft's CP864.TXT table.
Byte 0x25 maps to U+066A through the low-byte table, U+0025 has no
byte, and the six undefined bytes answer UNASSIGNED_CODE.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01N6PcbFBJ6WBtt4TVxUhgTW
2026-10-30 13:53:58 +00:00
KernelPanicNT aebab1eb2a docs(libSceCesCs): keep the measured sheet out of the unmeasured gaps and update the pending count 2026-10-30 12:57:47 +00:00
KernelPanicNT c92934b022 docs(libSceCesCs): separate measured and unmeasured Jiscs gaps
Split the sceCesJiscsToUcs and sceCesUcsToJiscs debt entry in two. The
first lists the forms a payload process on a device answered that still
throw here, with what the device returned: native Shift-JIS and EUC-JP
codes, 0x02002422, the null-profile results and plane 2 with a JIS X
0208 profile. The second lists what was not measured: planes 1 and
3-16, the encoder's 0x03PPRRCC and 0x0400RRCC codes as input, and other
or modified profiles.
2026-10-30 12:26:56 +00:00
KernelPanicNT f2a362c0e5 Merge remote-tracking branch 'origin/main' into feat/cescs-jiscs 2026-10-30 12:25:18 +00:00
Codex c7b4c7cb27 feat(ces): add missing GB 18030 inventory export 2026-10-30 05:58:21 +02:00
KernelPanicNT b8411fd070 feat(libSceCesCs): implement sceCesJiscsToUcs and sceCesUcsToJiscs
Convert between Unicode and JIS codes for the eight JIS profiles, as
measured as a payload process on a device: single bytes and rows and
cells of the profile's table one way, and bytes, 0x03PPRRCC and
0x0400RRCC codes the other way, with the measured error codes. Forms,
planes and profiles that were not measured throw and are listed in the
technical debt, including the type-prefixed codes the encoder returns.
2026-10-29 15:43:08 +00:00
Dean cb63e034cd Merge pull request #10430 from rooklz/feat/cescs-iso646
feat(libSceCesCs): add the ISO 646 national variants and JIS X 0201 profiles
2026-10-29 07:26:50 +13:00
Dean 84a4b12f45 Merge pull request #10739 from rooklz/fix/cescs-gb18030-console
fix(libSceCesCs): map the GB 18030 profiles as the console does
2026-10-27 21:14:08 +13:00
Rookie 350daeee41 feat(libSceCesCs): add the ISO 646 national variants and JIS X 0201 profiles 2026-10-27 06:44:02 +00:00
Rookie fbccfffde3 test(libSceCesCs): use the public header in the JIS X 0213 tests 2026-10-26 16:11:50 +00:00
Rookie faf7ff1421 test(libSceCesCs): pin the console's answer for JIS X 0213's two-code-point cells 2026-10-26 16:11:21 +00:00
Rookie 0d8319d1cc feat(libSceCesCs): add the EUC-JIS-2004 and Shift_JIS-2004 profiles 2026-10-26 16:11:21 +00:00
Claude b56801fc19 feat(libSceCesCs): add the code page 858 profile
sceCesRefersUcsProfileCp858 threw. It now returns a single-byte profile
accepted by sceCesSbcToUtf8, sceCesUtf8ToSbc and the MBCS context
conversions. Code page 858 is code page 850 with byte 0xD5 mapped to the
euro sign (U+20AC) instead of U+0131; that is the whole high half of
ICU's ibm-858_P100-1997.ucm. Bytes 0x00-0x7F stay unchanged, as in the
other single-byte profiles.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01FzhWRMauD3ouc8kSxT2NnT
2026-10-26 10:59:59 +00:00
Dean d5e493883f Merge pull request #10738 from rooklz/fix/cescs-big5-box-drawing
fix(libSceCesCs): encode the Big5 box-drawing duplicates into their lower cells as the console does
2026-10-26 21:56:25 +13:00
Rookie 9a914b76aa fix(libSceCesCs): map the GB 18030 profiles as the console does 2026-10-26 03:02:37 +00:00
Rookie a8c6b562d6 fix(libSceCesCs): map the strict JIS X 0208 profiles' unsettled cells as the console does 2026-10-26 00:10:31 +00:00
Dean 2a16d79fb9 Merge pull request #10722 from rooklz/fix/cescs-error-length
fix(libSceCesCs): report the length of a rejected MBCS character as the console does
2026-10-26 12:10:41 +13:00
Dean Galvin d37ee247d7 Merge branch 'main' into pr10738 2026-10-26 06:07:25 +13:00
Rookie 8e08731a36 fix(libSceCesCs): report the length of a rejected MBCS character as the console does 2026-10-25 13:10:08 +00:00
Rookie f71434eec8 docs(libSceCesCs): keep the Big5 debt entry within the length limit 2026-10-25 12:46:25 +00:00
Rookie 78540129bc fix(libSceCesCs): encode the Big5 box-drawing duplicates into their lower cells as the console does 2026-10-25 12:46:17 +00:00
Rookie 22e5cd7e1a fix(libSceCesCs): decode KS X 1001 cell 0xA2E8 as U+327E as the console does 2026-10-25 12:46:16 +00:00
Rookie 12e3082520 feat(libSceCesCs): encode UCS-2, UTF-8, UTF-16 and UTF-32 characters into any MBCS profile 2026-10-25 01:57:27 +00:00
Rookie fab132f19f feat(libSceCesCs): add the ISO-2022-JP profiles, context and string conversions 2026-10-23 23:56:05 +01:00
orezraeyandClaude Opus 5.5 76e43cade8 Merge fix/libscecescs-mbcs-strings-measured-ps5 into fix/libscecescs-jis-encode-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 19:13:28 -03:00
orezraeyandClaude Opus 5.5 67ef849d7c Merge fix/libscecescs-scalar-measured-ps5 into fix/libscecescs-mbcs-strings-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 19:08:57 -03:00
orezraeyandClaude Opus 5.5 a349c9dcd2 Merge main into fix/libscecescs-scalar-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 19:03:24 -03:00
orezraeyandClaude Opus 5.5 26090c534a Merge fix/libscecescs-mbcs-strings-measured-ps5 into fix/libscecescs-jis-encode-measured-ps5
Brings in main with #9204. The measured CP932 and CP51932 encoding rules (JIS form aliases, U+FEFF, the C1 range and U+000E) apply to those profiles only; the strict JIS X 0208 profiles keep #9204's tables.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 17:41:53 -03:00
orezraeyandClaude Opus 5.5 cce3beb67a Merge main into fix/libscecescs-mbcs-strings-measured-ps5
Keep #9204's strict JIS X 0208 profiles with their SS2 and SS3 choices inside the new helpers: decodeEucJp sends the measured CP51932 profile to decodeEucJpScalar and the strict profiles to #9204's rules, and only the X0208Ss2Ss3 profile encodes JIS X 0212. The EUC-KR, UHC and Big5 UTF-8 forms decode with decodeScalarUtf8.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 17:39:22 -03:00
Rookie b62b28831d feat(libSceCesCs): add the GB18030-2000 and GB18030-2005 profiles
Implement sceCesUcsProfileInitGb18030_2000 and sceCesUcsProfileInitGb18030_2005.
Two-byte cells are the CP936 table plus the cells that differ, and four-byte
sequences are runs over the BMP and the supplementary planes, generated from
ICU's gb-18030-2000.ucm (before ICU-8427) and gb-18030-2005.ucm with ICU's
GB 18030 ranges. The GB, MBC and MBCS string conversions accept both profiles
and produce four-byte UTF-8 and surrogate pairs for supplementary characters.
2026-10-23 21:16:05 +01:00
Rookie c345ed42d2 feat(libSceCesCs): add the strict JIS X 0208 EUC-JP and Shift-JIS profiles
Implement sceCesUcsProfileInitEucJpX0208, sceCesUcsProfileInitEucJpX0208Ss2,
sceCesUcsProfileInitEucJpX0208Ss2Ss3 and sceCesUcsProfileInitSJis1997X0208.
The JIS X 0208 table is JIS0208.TXT, derived from the CP932 table without
rows 13 and 89-92 and with six cells changed. The EUC-JP variants add SS2
half-width katakana and SS3 JIS X 0212 as their names say. Cell 0x2140 and
the Shift-JIS single bytes 0x5C and 0x7E, where the sources disagree, throw.
2026-10-23 19:33:21 +01:00
orezraeyandClaude Opus 5.5 556b195d59 Merge main into fix/libscecescs-jis-encode-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 09:56:08 -03:00
orezraeyandClaude Opus 5.5 e4ed848821 Merge main into fix/libscecescs-mbcs-strings-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 09:55:06 -03:00
orezraeyandClaude Opus 5.5 8e10ddbb5c Merge main into fix/libscecescs-scalar-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 09:54:01 -03:00
jacob6769 509243a7e1 Merge remote-tracking branch 'origin/main' into feat/ces-korean-big5-scalars
# Conflicts:
#	docs/dev/debt/libSceCesCs.md
2026-10-23 21:52:29 +09:00
orezraey 567b164839 Merge branch 'fix/libscecescs-mbcs-strings-measured-ps5' into fix/libscecescs-jis-encode-measured-ps5 2026-10-23 09:09:26 -03:00