This version of the casefix program and the casefix library, libcasefix, deals with only 7 and 8 bit charsets supported by the standard libc version you compile under. Additionally, at least for GLIBC, a very internationalized version of the standard c lib library, libc functionality is effected by the locale that it is used to compile with, and possibly the locale that it (GLIBC) was compiled under.(1)

Also, to be ISO C90 compliant, one must call setlocale before non-ASCII character functionality can be used, and probably needs to be called in that case.(2)

Here is a list of the chararacter sets that the casefix program and the casefix library, libcasefix, should support compiling with GLIBC (3):

	ASCII (7 bit)/ ECMA-6 and its 8 bit, one byte per char derivatives(3):
	ISO-8859-1:
				Albanian, Catalan, Danish, Dutch, English, Faroese, Finnish, French, German, Galician, Irish, Icelandic, Italian, Norwegian, Portuguese, Spanish, and Swedish. The lack of the ligatures, Dutch ij, French oe and old-style German quotation marks is considered  tolerable.
	ISO-8859-2:
				Croatian, Czech, German, Hungarian, Polish, Rumanian, Slovak, and Slovene
	ISO-8859-3:
				Esperanto, Galician, and Maltese
	ISO-8859-5:
				Bulgarian, Byelorussian, Macedonian, Russian, Serbian and Ukrainian.  Ukrainians  read  the letter "ghe" with downstroke as "heh" and would need a ghe with upstroke to write a correct ghe.
	ISO-8859-6:
				Arabic.  The 8859-6 glyph table is a fixed font of separate letter forms, but a  proper display engine should combine these using the proper initial, medial, and final forms.
	ISO-8859-7:
				Modern Greek
	ISO-8859-8:
				modern Hebrew without niqud (punctuation signs).  Niqud and full-fledged Biblical Hebrew are outside the scope of this character set; under Linux, UTF-8 is the preferred encoding for these.
	ISO-8859-9:
				variant of Latin-1 that replaces Icelandic letters with Turkish ones
	ISO-8859-13:
				Baltic Rim languages; in particular, it includes Latvian characters not found in Latin-4
	ISO-8859-15:
				This adds the Euro sign and French and Finnish letters that were missing in Latin-1.
	     KOI8-R:
	     		non-ISO character set popular in Russia.  The lower half is US ASCII; the upper is a Cyrillic character set somewhat better designed than ISO 8859-5. KOI8-R is not ISO-2022 compatible, unlike the ISO-8859 series
	     KOI8-U:
	     		KOI8-U is a common character set, based off KOI8-U, that  has better support for Ukrainian. KOI8-U is not ISO-2022 compatible, unlike the ISO-8859 series
	    TIS-620: Thai national standard character set

Partial support:
	UTF-8: characters that use only ASCII compatible characters, such as ASCII files encoded under UTF-8. UTF-8 is an encoding of Unicode. The classic US-ASCII characters are encoded simply as bytes  0x00  to 0x7f  (ASCII  compatibility), All UCS characters greater than 0x7f are encoded as a multi-byte sequence. You maybe using this and think your using a ASCII machine. It works for English (US English). Tested. 


These have not been ruled out for use, because no information on these char sets:
CP1251, ISO-8859-16, EUC-{KR,JP,TW}<- Extended Unix Code - Unix AT&T, GB18030,  GBK

At least several of these are asiatic which I don't believe traditionaly would have two cases. However modernized versions of these written languges which utilize a limited character alphabet may have some casing aspect; I don't know so I haven't eliminated them from possible inclusion.

There may be others.

-------------------------------------------------

(1) The GNU C Library (GLIBC) Reference Manual', for Version 2.00 Beta of the GNU C Library - libc.info, says: functions are affected by the current locale.  (More precisely, they are affected
by the locale currently selected for character classification.

(2) The GNU C Library (GLIBC) Reference Manual', for Version 2.00 Beta of the GNU C Library - libc.info, says:
	ISO C says that all programs start by default in the standard `C' locale.  To use the locales specified by the environment, you must call `setlocale'

(3) release 3.05 of the Linux man-pages project, man charsets, says:
	A   complete   list   of   charsets   used   in   an   officially   supported   locale   in   glibc   2.2.3   is:
       ISO-8859-{1,2,3,5,6,7,8,9,13,15},   CP1251,  UTF-8,  EUC-{KR,JP,TW},  KOI8-{R,U},  GB2312, GB18030,  GBK,  BIG5, BIG5-HKSCS and TIS-620 (in no particular order.)  (Romanian may be switching to ISO-8859-16.)

