First created at: 3/12/2007 Last updated at: 3/13/2007 UTF-8 text preparation functions -------------------------------- OVERVIEW This project proposes to add six new kernel functions for the support of UTF-8 text preparations as described in [1]. The interfaces proposed will do case foldings and normalizations on UTF-8 text as specified in the Unicode standard [2, 3]. The interfaces are requested by SNAS Technologies group and file system groups such as NFS and PCFS to support necessary standards and also to be compatible with file systems from other vendors. Unicode case foldings and normalizations together will require less than 80KB of data to contain necessary case mappings and equivalency mappings for a version of Unicode. The project proposes to support Unicode versions 3.2 and 5.0 as they are the only two notable versions of Unicode that we need to support for our products. Unicode normally comes out with a major version every two years or so. The latest Unicode 5.0 came out at November of 2006. INTERFACE STABILITY AND RELEASE BINDING There is no notable imported interfaces. The following are the exported interfaces: Interface Stability Reference u8_textprep_open(), Committed [1] u8_textprep_buf(), u8_textprep_close(), u8_textprep_str(), u8_strcmp(), u8_validate() | U8_* macros Committed [1] | The project team asks for Micro/Patch release binding. REFERENCES [1] Man pages at the case directory in flat text files: materials/*.9f [2] The Unicode standard: http://www.unicode.org/standard/standard.html [3] Unicode Standard Annex #15: UNICODE NORMALIZATION FORMS http://www.unicode.org/reports/tr15/