This tool is part of the Sambasuite.
A text Samba codepage definition file is a description that tells Samba how to map from upper to lower case for characters greater than ascii 127 in the specified DOS code page. Note that for certain DOS codepages (437 for example) mapping from lower to upper case may be non-symmetrical. For example, in code page 437 lower case a acute maps to a plain upper case A when going from lower to upper case, but plain upper case A maps to plain lower case a when lower casing a character.
A binary Samba codepage definition file is a binary representation of the same information, including a value that specifies what codepage this file is describing.
As Samba does not yet use UNICODE (current for Samba version 2.2) you must specify the client code page that your DOS and Windows clients are using if you wish to have case insensitivity done correctly for your particular language. The default codepage Samba uses is 850 (Western European). Text codepage definition sample files are provided in the Samba distribution for codepages 437 (USA), 737 (Greek), 850 (Western European) 852 (MS-DOS Latin 2), 861 (Icelandic), 866 (Cyrillic), 932 (Kanji SJIS), 936 (Simplified Chinese), 949 (Hangul) and 950 (Traditional Chinese). Users are encouraged to write text codepage definition files for their own code pages and donate them to email@example.com. All codepage files in the Samba source/codepages directory are compiled and installed when a 'make install' command is issued there.
These are the input (text) codepage files provided in the Samba source/codepages directory.
A text codepage definition file consists of multiple lines containing four fields. These fields are:
codepage.<codepage> - These are the output (binary) codepage files produced and placed in the Samba destination lib/codepage directory.
The location of the server and its support files is a matter for individual system administrators. The following are thus suggestions only.
It is recommended that the make_smbcodepage program be installed under the /usr/local/samba hierarchy, in a directory readable by all, writeable only by root. The program itself should be executable by all. The program should NOT be setuid or setgid!
The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.
The original Samba man pages were written by Karl Auer. The man page sources were converted to YODL format (another excellent piece of Open Source software, available at ftp://ftp.icce.rug.nl/pub/unix/ <URL:ftp://ftp.icce.rug.nl/pub/unix/>) and updated for the Samba 2.0 release by Jeremy Allison. The conversion to DocBook for Samba 2.2 was done by Gerald Carter