Bug 5739 - nls_cp936 doesn't handle characters in the 00 plane of U16(e.g U+00B7, U+00A8..) correctly
Summary: nls_cp936 doesn't handle characters in the 00 plane of U16(e.g U+00B7, U+00A8...
Status: CLOSED CODE_FIX
Alias: None
Product: File System
Classification: Unclassified
Component: Other (show other bugs)
Hardware: i386 Linux
: P2 blocking
Assignee: fs_other
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-12-13 17:41 UTC by Jun Chen
Modified: 2007-07-06 19:30 UTC (History)
2 users (show)

See Also:
Kernel Version: 2.6.14.2
Subsystem:
Regression: ---
Bisected commit-id:


Attachments
Patch to make cp936 handle U00XY characters and U20AC correctly. (7.19 KB, patch)
2005-12-13 22:47 UTC, Jun Chen
Details | Diff

Description Jun Chen 2005-12-13 17:41:58 UTC
Most recent kernel where this bug did not occur: 
Not sure if it's correct before. I checked 2.6.11, the same problem.

Distribution: 
FC4, but I use standard kernel.

Problem Description:
Twenty characters in cp936 are not correctly handled. They're all in the U00
plane.  nls_cp936 converts all U00XY to XY but this is not correct for some
characters.(e.g. U00B7 -> A1A4, U00A8 -> A1A7)
Comment 1 Jun Chen 2005-12-13 22:47:17 UTC
Created attachment 6817 [details]
Patch to make cp936 handle  U00XY characters and U20AC correctly.

I made a patch by generating u2c_00 based on all c2u_xx and changing uni2char()
to give U00 plane a special handling. Also I found "
Comment 2 Andrew Morton 2006-01-19 03:40:20 UTC
Please email me the patch as per
http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt, thanks.
Comment 3 Natalie Protasevich 2007-07-06 18:44:32 UTC
It looks like the patch is in now - the bug can be closed.
Thanks.

Note You need to log in before you can comment on or make changes to this bug.