wiki:GoogleSummerOfCode09/Utf8Support

Version 2 (modified by winnie, 16 years ago) (diff)

--

UTF8 Support for Midnight Commander

State of the Art

Currently there is no UTF8 support at all, users need to use patches provided from the distributions to really use mc on UTF8 systems. As the number of UTF8 Systems rapidly grow, we need as fast as possible UTF8 Support inside MC.

The current set of branches which are mostly used have several drawbacks:

  • some mc functions doesn't work: mc -a (for example)
  • some completion stuff is simply broken and leads to segfaults and/or aborts
  • the code is currently written to support slang1 and slang2, as we decided to drop the support for slang1 many #ifdefs can simply be removed
  • general code cleanup - this code is not in a good state currently, so many things need a rewrite
  • -ansi -pedantic compability: atm mc won't compile with -ansi -pedantic with utf8 patches applied. this should be fixed

What you should do

Currently there are two sets of patches:

  • the patches currently used inside most distributions
  • one set of patches which was created by Rostislav Beneš (see Nov-Dez. 2007 on mc-devel)

At first you have to decide which set of patches you want to base your work on. If you like you can of course completly write the UTF8 Support from scratch. Then you should have a look the (not complete) list above and try to fix everything. It's okay if you can't archieve this goal within the 3 months if you've worked hard. There could be many greater issues which consumes much time, but of course you can feel free to work further on this (or on other issues) after !GSoC is over

What we expect

We expect that you write/modify the UTF8 Support so that we can use it. To archieve this all things which are mentioned above needs to be sorted out and the patches needs to be fully tested. We expect to have a fully working Midnight Commander with UTF8 support afterwards.

This site should give you only a small hint what have to be done for UTF8 Support. For further informations please don't hesitate to ask us on the mailinglist.