From owner-freebsd-hackers@FreeBSD.ORG Sat Aug 12 17:28:20 2006 Return-Path: X-Original-To: freebsd-hackers@freebsd.org Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1F95016A4DD for ; Sat, 12 Aug 2006 17:28:20 +0000 (UTC) (envelope-from admin@intron.ac) Received: from intron.ac (unknown [210.51.165.237]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3EC6E43D45 for ; Sat, 12 Aug 2006 17:28:19 +0000 (GMT) (envelope-from admin@intron.ac) Received: from localhost (localhost [127.0.0.1]) (uid 1003) by intron.ac with local; Sun, 13 Aug 2006 01:28:17 +0800 id 00102E27.44DE0FB1.0001160E From: "Intron" To: freebsd-hackers@freebsd.org Date: Sun, 13 Aug 2006 01:28:17 +0800 Mime-Version: 1.0 Content-Type: text/plain; charset="gb2312"; format=flowed Content-Transfer-Encoding: 7bit Message-ID: Subject: UTF-8 <-> UTF-16BE Converter in Kernel Needs Test X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Aug 2006 17:28:20 -0000 I'm sorry that I send my experimental patch set here to call for test. But if I send it to freebsd-i18n@, I wonder no one will respond to me. Download: http://ftp.intron.ac/tmp/kiconv_utf8_20060813.tar.bz2 My patch set implements a UTF-8 <-> UTF-16BE converter for iconv in kernel. It doesn't need kiconv(3) to send unnecessary UTF-8 <-> UTF-16BE conversion tables to kernel. And it doesn't require the help of GNU libiconv, which kiconv(3) depends on. With my patch set, if you mount FAT/NTFS/ISO9660 file system, less resource will be occupied than before: mount_msdosfs -L ll_NN.UTF-8 /dev/md0s1 /mnt See my "readme.txt" for installation guide. ************ ATTENTION !!! ************ 1. Do NOT test my patch set upon your CRITICAL FAT/NTFS partition !!! 2. Limited by BUGGY FreeBSD modules msdosfs/ntfs/cd9660, whether you use my patch set or not, only 1/2-byte UTF-8 character (up to 0x7ff) is supported, which means only a few languages are supported. I will try to patch those modules to support all languages (up to 6-byte UTF-8 character) included in current Unicode step by step. ------------------------------------------------------------------------ From Beijing, China