All:

I've just committed a php-style version of the ucdata package that Stig
directed me to.

usage:
proto string mb_convert_case(string str, int mode [, string encoding]);

mode can be one of MB_CASE_UPPER, MB_CASE_LOWER or MB_CASE_TITLE.
encoding specifies the encoding of str; if omitted, the
mbstring.internal_encoding value will be used.
The return value is str with the appropriate case folding applied.

The function works by internally converting the string into UCS-4 format
and applying php_unicode_to(upper|lower|title) to each unicode character,
and then converts the string back into the original encoding.

Stig:
Rather than generate binary data files at configure time, based on
a bundled UnicodeData.txt file which is quite large, causes problems
for win32 builds, and has run-time thread safety and data file location
issues (for freshly built but not installed php binaries), I settled on
having ucgendat generate a header file with the ctype and case data tables
declared within it.
All that is needed is to add these files to the build and voila! it works :-)

Yasuo:
I know that there is development going on on sf.net; to save problems with
merging I've tried to keep as much of this new code separate from existing
files as possible, and also to keep the changes to mbstring.c to a minimum.

There are some interesting functions available in the ucdata package; some
of them might benefit mbstring, so perhaps it is worth a look?

--Wez.


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to