Messages in this thread | | | Date | Mon, 3 Jul 2000 19:17:05 +0200 (CEST) | From | Urban Widmark <> | Subject | [patch] forward port of 16 bit nls (vfat, ntfs, ncpfs, joliet) |
| |
Hello
These patches are my second attempt at a forward port of the 16bit nls support in 2.2. I believe this is ok, but it would be nice to get some feedback from people using these filesystems with nls (most wanted: non-cp850/iso8859-1 testers) before suggesting they are included in 2.4.0-testX. Cc to maintainers and others that have shown interest before.
Patches vs 2.4.0-test3-pre2, but also applies fine vs 2.4.0-test1.
nls16-2.4.0-test3-pre2.patch: * Adds new conversion routines for charset <-> unicode to handle variable sized characters. Compared to 2.2, adds a returnvalue for failures. * Adds conversion routines for making characters upper/lower case since the old array solution isn't practical past 8 bit. * Sets CONFIG_NLS_DEFAULT to iso8859-1 by default since this value is used as "iocharset" (= local display charset) and not as the on-disk/remote codepage. 2.2 uses cp437.
nls16-new-charsets-2.4.0-test3-pre2.patch: * New charsets from 2.2 + updated Configure.help cp932 (sjis, euc-jp), cp936 (gb2312), cp949 (euc-kr), cp950 (big5) You only need this if you want to use these charsets, applies on top of the other nls16-* patch.
abc-charset.patch: * For testing fs handling of 16bit nls on an iso8859-1 display, doubles all a-zA-Z characters. You probably don't need this.
The patches are a bit to large to send to the list. For now they can be downloaded from here: http://www.hojdpunkten.ac.se/054/nls16-2.4.0-test3-pre2.patch.gz (6843 bytes) http://www.hojdpunkten.ac.se/054/nls16-new-charsets-2.4.0-test3-pre2.patch.gz (508184 bytes) http://www.hojdpunkten.ac.se/054/abc-charset.patch (14291 bytes)
Notes: ------
vfat: + Assumes that the on-disk characters are always 1 byte. (makes things simpler and I believe it is true). + Tested ok with "abc" charset and compared output in dosemu. (aauuttooeexxeecc.bbaatt, looks almost like finnish ... :)
joliet: + Tested ok: (I hope) mkisofs -a -J -o ../cdrom.iso `pwd` losetup /dev/loop0 <some_path> mount -t iso9660 -o norock,iocharset=abc /dev/loop0 /mnt/tmp
ncpfs: + Assumes only 8bit nls codepages are used. Will most likely fail (not crash, but fail) if the local page/charset is a 16bit charset. + Not tested, but very similar to the 2.2 change (and the previous version of this that Petr thought was ok ... for 8bit that is)
ntfs: + Looks funny with it's own conversion routines (util.c: ntfs_dupuni288591) I think it could be converted to use standard nls_ routines. + Not tested, but identical to the 2.2 change. + ntfs is wierd anyway ... linux/fs/ntfs/fs.c: if(vol->nct & nct_utf8 & (nct_map | nct_uni_xlate)){ hmm ...
Other nls related patches I know of that have been "flying around" that are not included: + make msdos fs support nls too in 2.4. This needs char2lower/upper fixing as done by these patches, and I think Andrzej wanted more testing. + make vfat nls in 2.2 work like vfat in 2.4. (Andrzej again)
/Urban
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |