EPI-LI-0001

Title

Better Unicode support

One line summary

Improve efficiency of Unicode operations in Eiffel

Status

Not started

Description

Currently EiffelStudio offers STRING_8 and STRING_32 as a data structure to manipulate strings, the latter being the one that can hold Unicode characters. Unfortunately, this class does not support most of the Unicode operations such as `to_lower', `to_upper', `index_of', `substring_index', `replace_substring' and ...

The Gobo library provides a Unicode implementation offering the above, but it is largely inefficient in terms of size and most likely speed.

The idea is to look at how other libraries are implementing the Unicode table (e.g. PCRE) and reuse this into Eiffel and to update the FreeELKS library with the added functionality.

Skills needed

Have a somewhat good knowledge of Unicode. Knownledge of some other programming language (C, C++, others...) Even no knowledge of Eiffel is ok (Eiffel is easy to learn) and plus you have a mentor to help you.

Difficulty

High

Licensing

EFLv2

Benefit

The student will learn a lot about Unicode and its intricacies, he will also learn a lot on Eiffel and how to design classes.

The community will benefit from an efficient and easy to use library for Unicode handling. Some of our other libraries, such as the internationalization or encoding library can benefit from that new work.

Documentation

In the Eiffel source code and at http://docs.eiffel.com for user documentation.

Submitter

Eiffel Software

Possible mentor

Ted Feng