List:Commits« Previous MessageNext Message »
From:paul Date:April 28 2008 9:25pm
Subject:svn commit - mysqldoc@docsrva: r10604 - in trunk: . it/refman-5.1 pt/refman-5.1 refman-4.1 refman-5.0 refman-5.1 refman-6.0
View as plain text  
Author: paul
Date: 2008-04-28 21:25:37 +0200 (Mon, 28 Apr 2008)
New Revision: 10604

Log:
 r31012@frost:  paul | 2008-04-28 14:24:42 -0500
 Adding-a-charset revisions


Modified:
   trunk/it/refman-5.1/internationalization.xml
   trunk/pt/refman-5.1/internationalization.xml
   trunk/refman-4.1/internationalization.xml
   trunk/refman-5.0/internationalization.xml
   trunk/refman-5.1/internationalization.xml
   trunk/refman-6.0/internationalization.xml

Property changes on: trunk
___________________________________________________________________
Name: svk:merge
   - 4767c598-dc10-0410-bea0-d01b485662eb:/mysqldoc-local/mysqldoc/trunk:35828
7d8d2c4e-af1d-0410-ab9f-b038ce55645b:/mysqldoc-local/mysqldoc:31010
b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:14218
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:30933
   + 4767c598-dc10-0410-bea0-d01b485662eb:/mysqldoc-local/mysqldoc/trunk:35828
7d8d2c4e-af1d-0410-ab9f-b038ce55645b:/mysqldoc-local/mysqldoc:31012
b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:14218
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:30933


Modified: trunk/it/refman-5.1/internationalization.xml
===================================================================
--- trunk/it/refman-5.1/internationalization.xml	2008-04-28 17:29:50 UTC (rev 10603)
+++ trunk/it/refman-5.1/internationalization.xml	2008-04-28 19:25:37 UTC (rev 10604)
Changed blocks: 13, Lines Added: 60, Lines Deleted: 44; 9822 bytes

@@ -5503,16 +5503,16 @@
           This step depends on whether you are adding a simple or
           complex character set. A simple character set requires only a
           configuration file, whereas a complex character set requires C
-          source file that defines support routines for collation,
-          multi-byte handling, or both.
+          source file that defines collation functions, multi-byte
+          functions, or both.
         </para>
 
         <para>
           For a simple character set, create a configuration file that
           describes the character set properties. Create the file
-         
<filename>sql/share/charsets/<replaceable>MYSET</replaceable>.conf</filename>.
-          (You can use a copy of
-          <filename>sql/share/charsets/latin1.conf</filename> as the
+         
<filename><replaceable>MYSET</replaceable>.conf</filename>
+          file in the <filename>sql/share/charsets</filename> directory.
+          (You can use a copy of <filename>latin1.conf</filename> as the
           basis for this file.) The syntax for the file is very simple:
         </para>
 

@@ -5542,19 +5542,15 @@
             <para>
               The <literal>ctype</literal> array takes up the first 257
               words. The <literal>to_lower[]</literal>,
-              <literal>to_upper[]</literal> and
+              <literal>to_upper[]</literal>, and
               <literal>sort_order[]</literal> arrays take up 256 words
-              each after that.
+              each after that. See <xref linkend="character-arrays"/>.
             </para>
           </listitem>
 
         </itemizedlist>
 
         <para>
-          See <xref linkend="character-arrays"/>.
-        </para>
-
-        <para>
           For a complex character set, create a C source file that
           describes the character set properties and defines the support
           routines necessary to properly perform operations on the

@@ -5566,12 +5562,11 @@
           <listitem>
             <para>
               Create the file
-             
<filename>strings/ctype-<replaceable>MYSET</replaceable>.c</filename>
-              in the MySQL source distribution. Look at one of the
-              existing <filename>ctype-*.c</filename> files (such as
-              <filename>strings/ctype-big5.c</filename>) to see what
-              needs to be defined. The arrays in your file must have
-              names like
+             
<filename>ctype-<replaceable>MYSET</replaceable>.c</filename>
+              in the <filename>strings</filename> directory. Look at one
+              of the existing <filename>ctype-*.c</filename> files (such
+              as <filename>ctype-big5.c</filename>) to see what needs to
+              be defined. The arrays in your file must have names like
              
<literal>ctype_<replaceable>MYSET</replaceable></literal>,
              
<literal>to_lower_<replaceable>MYSET</replaceable></literal>,
               and so on. These correspond to the arrays for a simple

@@ -5590,7 +5585,6 @@
  * This comment is parsed by configure to create ctype.c,
  * so don't change it unless you know what you are doing.
  *
- * .configure.
number_<replaceable>MYSET</replaceable>=<replaceable>MYNUMBER</replaceable>
  * .configure.
strxfrm_multiply_<replaceable>MYSET</replaceable>=<replaceable>N</replaceable>
  * .configure.
mbmaxlen_<replaceable>MYSET</replaceable>=<replaceable>N</replaceable>
  */

@@ -5693,7 +5687,11 @@
       <title>The Character Definition Arrays</title>
 
       <para>
-        Each character set is described by several arrays:
+        For each simple character set, the
+       
<filename><replaceable>MYSET</replaceable>.conf</filename> file
+        in the <filename>sql/share/charsets</filename> directory
+        contains several arrays that describe the character set's
+        properties:
       </para>
 
       <itemizedlist>

@@ -5723,6 +5721,22 @@
       </itemizedlist>
 
       <para>
+        For a complex character set as implemented in a
+       
<filename>ctype-<replaceable>MYSET</replaceable>.c</filename>
+        file in the <filename>strings</filename> directory, there are
+        corresponding arrays:
+       
<literal>ctype_<replaceable>MYSET</replaceable>[]</literal>,
+       
<literal>to_lower_<replaceable>MYSET</replaceable>[]</literal>,
+        and so forth. Not every complex character set has all of the
+        arrays. See the existing
+       
<filename>ctype-<replaceable>charset_name</replaceable>.c</filename>
+        files for examples. See also the
+        <filename>CHARSET_INFO.txt</filename> file in the
+        <filename>strings</filename> directory for additional
+        information.
+      </para>
+
+      <para>
         <literal>to_lower[]</literal>,
<literal>to_upper[]</literal>,
         and <literal>sort_order[]</literal> are indexed by character
         value, whereas <literal>ctype[]</literal> is indexed by

@@ -5733,11 +5747,8 @@
       <para>
         <literal>ctype[]</literal> is an array of bit values, with one
         element for each character of the character set. Each element
-        describes the attributes of a single character.
-      </para>
-
-      <para>
-        The bitmask definitions are as defined in
+        describes the attributes of a single character. Each attribute
+        is associated with a bitmask, as defined in
         <filename>include/m_ctype.h</filename>:
       </para>
 

@@ -5753,16 +5764,16 @@
 </programlisting>
 
       <para>
-        The <literal>ctype[]</literal> entry for each character should
-        be the union of the applicable bitmask values that describe the
-        character. For example, <literal>'A'</literal> is an uppercase
-        character (<literal>_U</literal>) as well as a hexadecimal digit
-        (<literal>_X</literal>), so
<literal>ctype['A'+1]</literal>
-        should contain the value:
+        The <literal>ctype[]</literal> entry for a given character
+        should be the union of the applicable bitmask values that
+        describe the character. For example, <literal>'A'</literal> is
+        an uppercase character (<literal>_MY_U</literal>) as well as a
+        hexadecimal digit (<literal>_MY_X</literal>), so
+        <literal>ctype['A'+1]</literal> should contain the value:
       </para>
 
 <programlisting>
-_U | _X = 01 | 0200 = 0201
+_MY_U | _MY_X = 01 | 0200 = 0201
 </programlisting>
 
       <para>

@@ -5791,8 +5802,9 @@
         the same as <literal>to_upper[]</literal>, which means that
         sorting is case-insensitive. MySQL sorts characters based on the
         values of <literal>sort_order[]</literal> elements. For more
-        complicated sorting rules, see the discussion of string
-        collating in <xref linkend="string-collating"/>.
+        complicated sorting rules (for complex character sets), see the
+        discussion of string collating in
+        <xref linkend="string-collating"/>.
       </para>
 
     </section>

@@ -5829,8 +5841,9 @@
         You must specify the
        
<literal>strxfrm_multiply_<replaceable>MYSET</replaceable>=<replaceable>N</replaceable></literal>
         value in the special comment at the top of the source file.
-        <replaceable>N</replaceable> should be set to the maximum ratio
-        to which strings may grow during execution of the
+        <replaceable>N</replaceable> must be a positive integer that
+        indicates the maximum ratio to which strings may grow during
+        execution of the
        
<function>my_strxfrm_<replaceable>MYSET</replaceable>()</function>
         function. <replaceable>N</replaceable> must be a positive
         integer.

@@ -5853,18 +5866,21 @@
 
       <para>
         If you want to add support for a new character set that includes
-        multi-byte characters, you need to use the multi-byte character
-        functions.
+        multi-byte characters in the
+       
<filename>ctype-<replaceable>MYSET</replaceable>.c</filename>
+        source file in the <filename>strings</filename> directory, you
+        need to use the multi-byte character functions.
       </para>
 
       <para>
-        The best documentation for this is the existing character sets.
-        Look at the <literal>euc_kr</literal>,
+        For examples of how these functions are implemented, look at the
+        existing
+       
<filename>ctype-<replaceable>charset_name</replaceable>.c</filename>
+        files in the <filename>strings</filename> directory, such as the
+        files for the <literal>euc_kr</literal>,
         <literal>gb2312</literal>, <literal>gbk</literal>,
         <literal>sjis</literal>, and <literal>ujis</literal>
character
-        sets for examples. These are implemented in the
-       
<filename>ctype-<replaceable>charset_name</replaceable>.c</filename>
-        files in the <filename>strings</filename> directory.
+        sets.
       </para>
 
       <para>

@@ -5895,7 +5911,7 @@
       <listitem>
         <para>
           Your program uses an incorrect path to determine where the
-          character sets are stored (typically in the
+          character sets are stored (which is typically the
           <filename>share/mysql/charsets</filename> or
           <filename>share/charsets</filename> directory under the MySQL
           installation directory). This can be fixed by using the

@@ -5918,7 +5934,7 @@
 
       <listitem>
         <para>
-          The character set is a multi-byte character set that cannot be
+          The character set is a complex character set that cannot be
           loaded dynamically. In this case, you must recompile the
           program with support for the character set.
         </para>


Modified: trunk/pt/refman-5.1/internationalization.xml
===================================================================
--- trunk/pt/refman-5.1/internationalization.xml	2008-04-28 17:29:50 UTC (rev 10603)
+++ trunk/pt/refman-5.1/internationalization.xml	2008-04-28 19:25:37 UTC (rev 10604)
Changed blocks: 13, Lines Added: 60, Lines Deleted: 44; 9822 bytes

@@ -5503,16 +5503,16 @@
           This step depends on whether you are adding a simple or
           complex character set. A simple character set requires only a
           configuration file, whereas a complex character set requires C
-          source file that defines support routines for collation,
-          multi-byte handling, or both.
+          source file that defines collation functions, multi-byte
+          functions, or both.
         </para>
 
         <para>
           For a simple character set, create a configuration file that
           describes the character set properties. Create the file
-         
<filename>sql/share/charsets/<replaceable>MYSET</replaceable>.conf</filename>.
-          (You can use a copy of
-          <filename>sql/share/charsets/latin1.conf</filename> as the
+         
<filename><replaceable>MYSET</replaceable>.conf</filename>
+          file in the <filename>sql/share/charsets</filename> directory.
+          (You can use a copy of <filename>latin1.conf</filename> as the
           basis for this file.) The syntax for the file is very simple:
         </para>
 

@@ -5542,19 +5542,15 @@
             <para>
               The <literal>ctype</literal> array takes up the first 257
               words. The <literal>to_lower[]</literal>,
-              <literal>to_upper[]</literal> and
+              <literal>to_upper[]</literal>, and
               <literal>sort_order[]</literal> arrays take up 256 words
-              each after that.
+              each after that. See <xref linkend="character-arrays"/>.
             </para>
           </listitem>
 
         </itemizedlist>
 
         <para>
-          See <xref linkend="character-arrays"/>.
-        </para>
-
-        <para>
           For a complex character set, create a C source file that
           describes the character set properties and defines the support
           routines necessary to properly perform operations on the

@@ -5566,12 +5562,11 @@
           <listitem>
             <para>
               Create the file
-             
<filename>strings/ctype-<replaceable>MYSET</replaceable>.c</filename>
-              in the MySQL source distribution. Look at one of the
-              existing <filename>ctype-*.c</filename> files (such as
-              <filename>strings/ctype-big5.c</filename>) to see what
-              needs to be defined. The arrays in your file must have
-              names like
+             
<filename>ctype-<replaceable>MYSET</replaceable>.c</filename>
+              in the <filename>strings</filename> directory. Look at one
+              of the existing <filename>ctype-*.c</filename> files (such
+              as <filename>ctype-big5.c</filename>) to see what needs to
+              be defined. The arrays in your file must have names like
              
<literal>ctype_<replaceable>MYSET</replaceable></literal>,
              
<literal>to_lower_<replaceable>MYSET</replaceable></literal>,
               and so on. These correspond to the arrays for a simple

@@ -5590,7 +5585,6 @@
  * This comment is parsed by configure to create ctype.c,
  * so don't change it unless you know what you are doing.
  *
- * .configure.
number_<replaceable>MYSET</replaceable>=<replaceable>MYNUMBER</replaceable>
  * .configure.
strxfrm_multiply_<replaceable>MYSET</replaceable>=<replaceable>N</replaceable>
  * .configure.
mbmaxlen_<replaceable>MYSET</replaceable>=<replaceable>N</replaceable>
  */

@@ -5693,7 +5687,11 @@
       <title>The Character Definition Arrays</title>
 
       <para>
-        Each character set is described by several arrays:
+        For each simple character set, the
+       
<filename><replaceable>MYSET</replaceable>.conf</filename> file
+        in the <filename>sql/share/charsets</filename> directory
+        contains several arrays that describe the character set's
+        properties:
       </para>
 
       <itemizedlist>

@@ -5723,6 +5721,22 @@
       </itemizedlist>
 
       <para>
+        For a complex character set as implemented in a
+       
<filename>ctype-<replaceable>MYSET</replaceable>.c</filename>
+        file in the <filename>strings</filename> directory, there are
+        corresponding arrays:
+       
<literal>ctype_<replaceable>MYSET</replaceable>[]</literal>,
+       
<literal>to_lower_<replaceable>MYSET</replaceable>[]</literal>,
+        and so forth. Not every complex character set has all of the
+        arrays. See the existing
+       
<filename>ctype-<replaceable>charset_name</replaceable>.c</filename>
+        files for examples. See also the
+        <filename>CHARSET_INFO.txt</filename> file in the
+        <filename>strings</filename> directory for additional
+        information.
+      </para>
+
+      <para>
         <literal>to_lower[]</literal>,
<literal>to_upper[]</literal>,
         and <literal>sort_order[]</literal> are indexed by character
         value, whereas <literal>ctype[]</literal> is indexed by

@@ -5733,11 +5747,8 @@
       <para>
         <literal>ctype[]</literal> is an array of bit values, with one
         element for each character of the character set. Each element
-        describes the attributes of a single character.
-      </para>
-
-      <para>
-        The bitmask definitions are as defined in
+        describes the attributes of a single character. Each attribute
+        is associated with a bitmask, as defined in
         <filename>include/m_ctype.h</filename>:
       </para>
 

@@ -5753,16 +5764,16 @@
 </programlisting>
 
       <para>
-        The <literal>ctype[]</literal> entry for each character should
-        be the union of the applicable bitmask values that describe the
-        character. For example, <literal>'A'</literal> is an uppercase
-        character (<literal>_U</literal>) as well as a hexadecimal digit
-        (<literal>_X</literal>), so
<literal>ctype['A'+1]</literal>
-        should contain the value:
+        The <literal>ctype[]</literal> entry for a given character
+        should be the union of the applicable bitmask values that
+        describe the character. For example, <literal>'A'</literal> is
+        an uppercase character (<literal>_MY_U</literal>) as well as a
+        hexadecimal digit (<literal>_MY_X</literal>), so
+        <literal>ctype['A'+1]</literal> should contain the value:
       </para>
 
 <programlisting>
-_U | _X = 01 | 0200 = 0201
+_MY_U | _MY_X = 01 | 0200 = 0201
 </programlisting>
 
       <para>

@@ -5791,8 +5802,9 @@
         the same as <literal>to_upper[]</literal>, which means that
         sorting is case-insensitive. MySQL sorts characters based on the
         values of <literal>sort_order[]</literal> elements. For more
-        complicated sorting rules, see the discussion of string
-        collating in <xref linkend="string-collating"/>.
+        complicated sorting rules (for complex character sets), see the
+        discussion of string collating in
+        <xref linkend="string-collating"/>.
       </para>
 
     </section>

@@ -5829,8 +5841,9 @@
         You must specify the
        
<literal>strxfrm_multiply_<replaceable>MYSET</replaceable>=<replaceable>N</replaceable></literal>
         value in the special comment at the top of the source file.
-        <replaceable>N</replaceable> should be set to the maximum ratio
-        to which strings may grow during execution of the
+        <replaceable>N</replaceable> must be a positive integer that
+        indicates the maximum ratio to which strings may grow during
+        execution of the
        
<function>my_strxfrm_<replaceable>MYSET</replaceable>()</function>
         function. <replaceable>N</replaceable> must be a positive
         integer.

@@ -5853,18 +5866,21 @@
 
       <para>
         If you want to add support for a new character set that includes
-        multi-byte characters, you need to use the multi-byte character
-        functions.
+        multi-byte characters in the
+       
<filename>ctype-<replaceable>MYSET</replaceable>.c</filename>
+        source file in the <filename>strings</filename> directory, you
+        need to use the multi-byte character functions.
       </para>
 
       <para>
-        The best documentation for this is the existing character sets.
-        Look at the <literal>euc_kr</literal>,
+        For examples of how these functions are implemented, look at the
+        existing
+       
<filename>ctype-<replaceable>charset_name</replaceable>.c</filename>
+        files in the <filename>strings</filename> directory, such as the
+        files for the <literal>euc_kr</literal>,
         <literal>gb2312</literal>, <literal>gbk</literal>,
         <literal>sjis</literal>, and <literal>ujis</literal>
character
-        sets for examples. These are implemented in the
-       
<filename>ctype-<replaceable>charset_name</replaceable>.c</filename>
-        files in the <filename>strings</filename> directory.
+        sets.
       </para>
 
       <para>

@@ -5895,7 +5911,7 @@
       <listitem>
         <para>
           Your program uses an incorrect path to determine where the
-          character sets are stored (typically in the
+          character sets are stored (which is typically the
           <filename>share/mysql/charsets</filename> or
           <filename>share/charsets</filename> directory under the MySQL
           installation directory). This can be fixed by using the

@@ -5918,7 +5934,7 @@
 
       <listitem>
         <para>
-          The character set is a multi-byte character set that cannot be
+          The character set is a complex character set that cannot be
           loaded dynamically. In this case, you must recompile the
           program with support for the character set.
         </para>


Modified: trunk/refman-4.1/internationalization.xml
===================================================================
--- trunk/refman-4.1/internationalization.xml	2008-04-28 17:29:50 UTC (rev 10603)
+++ trunk/refman-4.1/internationalization.xml	2008-04-28 19:25:37 UTC (rev 10604)
Changed blocks: 13, Lines Added: 60, Lines Deleted: 44; 9813 bytes

@@ -5644,16 +5644,16 @@
           This step depends on whether you are adding a simple or
           complex character set. A simple character set requires only a
           configuration file, whereas a complex character set requires C
-          source file that defines support routines for collation,
-          multi-byte handling, or both.
+          source file that defines collation functions, multi-byte
+          functions, or both.
         </para>
 
         <para>
           For a simple character set, create a configuration file that
           describes the character set properties. Create the file
-         
<filename>sql/share/charsets/<replaceable>MYSET</replaceable>.conf</filename>.
-          (You can use a copy of
-          <filename>sql/share/charsets/latin1.conf</filename> as the
+         
<filename><replaceable>MYSET</replaceable>.conf</filename>
+          file in the <filename>sql/share/charsets</filename> directory.
+          (You can use a copy of <filename>latin1.conf</filename> as the
           basis for this file.) The syntax for the file is very simple:
         </para>
 

@@ -5683,19 +5683,15 @@
             <para>
               The <literal>ctype</literal> array takes up the first 257
               words. The <literal>to_lower[]</literal>,
-              <literal>to_upper[]</literal> and
+              <literal>to_upper[]</literal>, and
               <literal>sort_order[]</literal> arrays take up 256 words
-              each after that.
+              each after that. See <xref linkend="character-arrays"/>.
             </para>
           </listitem>
 
         </itemizedlist>
 
         <para>
-          See <xref linkend="character-arrays"/>.
-        </para>
-
-        <para>
           For a complex character set, create a C source file that
           describes the character set properties and defines the support
           routines necessary to properly perform operations on the

@@ -5707,12 +5703,11 @@
           <listitem>
             <para>
               Create the file
-             
<filename>strings/ctype-<replaceable>MYSET</replaceable>.c</filename>
-              in the MySQL source distribution. Look at one of the
-              existing <filename>ctype-*.c</filename> files (such as
-              <filename>strings/ctype-big5.c</filename>) to see what
-              needs to be defined. The arrays in your file must have
-              names like
+             
<filename>ctype-<replaceable>MYSET</replaceable>.c</filename>
+              in the <filename>strings</filename> directory. Look at one
+              of the existing <filename>ctype-*.c</filename> files (such
+              as <filename>ctype-big5.c</filename>) to see what needs to
+              be defined. The arrays in your file must have names like
              
<literal>ctype_<replaceable>MYSET</replaceable></literal>,
              
<literal>to_lower_<replaceable>MYSET</replaceable></literal>,
               and so on. These correspond to the arrays for a simple

@@ -5731,7 +5726,6 @@
  * This comment is parsed by configure to create ctype.c,
  * so don't change it unless you know what you are doing.
  *
- * .configure.
number_<replaceable>MYSET</replaceable>=<replaceable>MYNUMBER</replaceable>
  * .configure.
strxfrm_multiply_<replaceable>MYSET</replaceable>=<replaceable>N</replaceable>
  * .configure.
mbmaxlen_<replaceable>MYSET</replaceable>=<replaceable>N</replaceable>
  */

@@ -5834,7 +5828,11 @@
       <title>The Character Definition Arrays</title>
 
       <para>
-        Each character set is described by several arrays:
+        For each simple character set, the
+       
<filename><replaceable>MYSET</replaceable>.conf</filename> file
+        in the <filename>sql/share/charsets</filename> directory
+        contains several arrays that describe the character set's
+        properties:
       </para>
 
       <itemizedlist>

@@ -5864,6 +5862,22 @@
       </itemizedlist>
 
       <para>
+        For a complex character set as implemented in a
+       
<filename>ctype-<replaceable>MYSET</replaceable>.c</filename>
+        file in the <filename>strings</filename> directory, there are
+        corresponding arrays:
+       
<literal>ctype_<replaceable>MYSET</replaceable>[]</literal>,
+       
<literal>to_lower_<replaceable>MYSET</replaceable>[]</literal>,
+        and so forth. Not every complex character set has all of the
+        arrays. See the existing
+       
<filename>ctype-<replaceable>charset_name</replaceable>.c</filename>
+        files for examples. See also the
+        <filename>CHARSET_INFO.txt</filename> file in the
+        <filename>strings</filename> directory for additional
+        information.
+      </para>
+
+      <para>
         <literal>to_lower[]</literal>,
<literal>to_upper[]</literal>,
         and <literal>sort_order[]</literal> are indexed by character
         value, whereas <literal>ctype[]</literal> is indexed by

@@ -5874,11 +5888,8 @@
       <para>
         <literal>ctype[]</literal> is an array of bit values, with one
         element for each character of the character set. Each element
-        describes the attributes of a single character.
-      </para>
-
-      <para>
-        The bitmask definitions are as defined in
+        describes the attributes of a single character. Each attribute
+        is associated with a bitmask, as defined in
         <filename>include/m_ctype.h</filename>:
       </para>
 

@@ -5894,16 +5905,16 @@
 </programlisting>
 
       <para>
-        The <literal>ctype[]</literal> entry for each character should
-        be the union of the applicable bitmask values that describe the
-        character. For example, <literal>'A'</literal> is an uppercase
-        character (<literal>_U</literal>) as well as a hexadecimal digit
-        (<literal>_X</literal>), so
<literal>ctype['A'+1]</literal>
-        should contain the value:
+        The <literal>ctype[]</literal> entry for a given character
+        should be the union of the applicable bitmask values that
+        describe the character. For example, <literal>'A'</literal> is
+        an uppercase character (<literal>_MY_U</literal>) as well as a
+        hexadecimal digit (<literal>_MY_X</literal>), so
+        <literal>ctype['A'+1]</literal> should contain the value:
       </para>
 
 <programlisting>
-_U | _X = 01 | 0200 = 0201
+_MY_U | _MY_X = 01 | 0200 = 0201
 </programlisting>
 
       <para>

@@ -5932,8 +5943,9 @@
         the same as <literal>to_upper[]</literal>, which means that
         sorting is case-insensitive. MySQL sorts characters based on the
         values of <literal>sort_order[]</literal> elements. For more
-        complicated sorting rules, see the discussion of string
-        collating in <xref linkend="string-collating"/>.
+        complicated sorting rules (for complex character sets), see the
+        discussion of string collating in
+        <xref linkend="string-collating"/>.
       </para>
 
     </section>

@@ -5970,8 +5982,9 @@
         You must specify the
        
<literal>strxfrm_multiply_<replaceable>MYSET</replaceable>=<replaceable>N</replaceable></literal>
         value in the special comment at the top of the source file.
-        <replaceable>N</replaceable> should be set to the maximum ratio
-        to which strings may grow during execution of the
+        <replaceable>N</replaceable> must be a positive integer that
+        indicates the maximum ratio to which strings may grow during
+        execution of the
        
<function>my_strxfrm_<replaceable>MYSET</replaceable>()</function>
         function. <replaceable>N</replaceable> must be a positive
         integer.

@@ -5994,18 +6007,21 @@
 
       <para>
         If you want to add support for a new character set that includes
-        multi-byte characters, you need to use the multi-byte character
-        functions.
+        multi-byte characters in the
+       
<filename>ctype-<replaceable>MYSET</replaceable>.c</filename>
+        source file in the <filename>strings</filename> directory, you
+        need to use the multi-byte character functions.
       </para>
 
       <para>
-        The best documentation for this is the existing character sets.
-        Look at the <literal>euc_kr</literal>,
+        For examples of how these functions are implemented, look at the
+        existing
+       
<filename>ctype-<replaceable>charset_name</replaceable>.c</filename>
+        files in the <filename>strings</filename> directory, such as the
+        files for the <literal>euc_kr</literal>,
         <literal>gb2312</literal>, <literal>gbk</literal>,
         <literal>sjis</literal>, and <literal>ujis</literal>
character
-        sets for examples. These are implemented in the
-       
<filename>ctype-<replaceable>charset_name</replaceable>.c</filename>
-        files in the <filename>strings</filename> directory.
+        sets.
       </para>
 
       <para>

@@ -6036,7 +6052,7 @@
       <listitem>
         <para>
           Your program uses an incorrect path to determine where the
-          character sets are stored (typically in the
+          character sets are stored (which is typically the
           <filename>share/mysql/charsets</filename> or
           <filename>share/charsets</filename> directory under the MySQL
           installation directory). This can be fixed by using the

@@ -6059,7 +6075,7 @@
 
       <listitem>
         <para>
-          The character set is a multi-byte character set that cannot be
+          The character set is a complex character set that cannot be
           loaded dynamically. In this case, you must recompile the
           program with support for the character set.
         </para>


Modified: trunk/refman-5.0/internationalization.xml
===================================================================
--- trunk/refman-5.0/internationalization.xml	2008-04-28 17:29:50 UTC (rev 10603)
+++ trunk/refman-5.0/internationalization.xml	2008-04-28 19:25:37 UTC (rev 10604)
Changed blocks: 13, Lines Added: 60, Lines Deleted: 44; 9813 bytes

@@ -5502,16 +5502,16 @@
           This step depends on whether you are adding a simple or
           complex character set. A simple character set requires only a
           configuration file, whereas a complex character set requires C
-          source file that defines support routines for collation,
-          multi-byte handling, or both.
+          source file that defines collation functions, multi-byte
+          functions, or both.
         </para>
 
         <para>
           For a simple character set, create a configuration file that
           describes the character set properties. Create the file
-         
<filename>sql/share/charsets/<replaceable>MYSET</replaceable>.conf</filename>.
-          (You can use a copy of
-          <filename>sql/share/charsets/latin1.conf</filename> as the
+         
<filename><replaceable>MYSET</replaceable>.conf</filename>
+          file in the <filename>sql/share/charsets</filename> directory.
+          (You can use a copy of <filename>latin1.conf</filename> as the
           basis for this file.) The syntax for the file is very simple:
         </para>
 

@@ -5541,19 +5541,15 @@
             <para>
               The <literal>ctype</literal> array takes up the first 257
               words. The <literal>to_lower[]</literal>,
-              <literal>to_upper[]</literal> and
+              <literal>to_upper[]</literal>, and
               <literal>sort_order[]</literal> arrays take up 256 words
-              each after that.
+              each after that. See <xref linkend="character-arrays"/>.
             </para>
           </listitem>
 
         </itemizedlist>
 
         <para>
-          See <xref linkend="character-arrays"/>.
-        </para>
-
-        <para>
           For a complex character set, create a C source file that
           describes the character set properties and defines the support
           routines necessary to properly perform operations on the

@@ -5565,12 +5561,11 @@
           <listitem>
             <para>
               Create the file
-             
<filename>strings/ctype-<replaceable>MYSET</replaceable>.c</filename>
-              in the MySQL source distribution. Look at one of the
-              existing <filename>ctype-*.c</filename> files (such as
-              <filename>strings/ctype-big5.c</filename>) to see what
-              needs to be defined. The arrays in your file must have
-              names like
+             
<filename>ctype-<replaceable>MYSET</replaceable>.c</filename>
+              in the <filename>strings</filename> directory. Look at one
+              of the existing <filename>ctype-*.c</filename> files (such
+              as <filename>ctype-big5.c</filename>) to see what needs to
+              be defined. The arrays in your file must have names like
              
<literal>ctype_<replaceable>MYSET</replaceable></literal>,
              
<literal>to_lower_<replaceable>MYSET</replaceable></literal>,
               and so on. These correspond to the arrays for a simple

@@ -5589,7 +5584,6 @@
  * This comment is parsed by configure to create ctype.c,
  * so don't change it unless you know what you are doing.
  *
- * .configure.
number_<replaceable>MYSET</replaceable>=<replaceable>MYNUMBER</replaceable>
  * .configure.
strxfrm_multiply_<replaceable>MYSET</replaceable>=<replaceable>N</replaceable>
  * .configure.
mbmaxlen_<replaceable>MYSET</replaceable>=<replaceable>N</replaceable>
  */

@@ -5692,7 +5686,11 @@
       <title>The Character Definition Arrays</title>
 
       <para>
-        Each character set is described by several arrays:
+        For each simple character set, the
+       
<filename><replaceable>MYSET</replaceable>.conf</filename> file
+        in the <filename>sql/share/charsets</filename> directory
+        contains several arrays that describe the character set's
+        properties:
       </para>
 
       <itemizedlist>

@@ -5722,6 +5720,22 @@
       </itemizedlist>
 
       <para>
+        For a complex character set as implemented in a
+       
<filename>ctype-<replaceable>MYSET</replaceable>.c</filename>
+        file in the <filename>strings</filename> directory, there are
+        corresponding arrays:
+       
<literal>ctype_<replaceable>MYSET</replaceable>[]</literal>,
+       
<literal>to_lower_<replaceable>MYSET</replaceable>[]</literal>,
+        and so forth. Not every complex character set has all of the
+        arrays. See the existing
+       
<filename>ctype-<replaceable>charset_name</replaceable>.c</filename>
+        files for examples. See also the
+        <filename>CHARSET_INFO.txt</filename> file in the
+        <filename>strings</filename> directory for additional
+        information.
+      </para>
+
+      <para>
         <literal>to_lower[]</literal>,
<literal>to_upper[]</literal>,
         and <literal>sort_order[]</literal> are indexed by character
         value, whereas <literal>ctype[]</literal> is indexed by

@@ -5732,11 +5746,8 @@
       <para>
         <literal>ctype[]</literal> is an array of bit values, with one
         element for each character of the character set. Each element
-        describes the attributes of a single character.
-      </para>
-
-      <para>
-        The bitmask definitions are as defined in
+        describes the attributes of a single character. Each attribute
+        is associated with a bitmask, as defined in
         <filename>include/m_ctype.h</filename>:
       </para>
 

@@ -5752,16 +5763,16 @@
 </programlisting>
 
       <para>
-        The <literal>ctype[]</literal> entry for each character should
-        be the union of the applicable bitmask values that describe the
-        character. For example, <literal>'A'</literal> is an uppercase
-        character (<literal>_U</literal>) as well as a hexadecimal digit
-        (<literal>_X</literal>), so
<literal>ctype['A'+1]</literal>
-        should contain the value:
+        The <literal>ctype[]</literal> entry for a given character
+        should be the union of the applicable bitmask values that
+        describe the character. For example, <literal>'A'</literal> is
+        an uppercase character (<literal>_MY_U</literal>) as well as a
+        hexadecimal digit (<literal>_MY_X</literal>), so
+        <literal>ctype['A'+1]</literal> should contain the value:
       </para>
 
 <programlisting>
-_U | _X = 01 | 0200 = 0201
+_MY_U | _MY_X = 01 | 0200 = 0201
 </programlisting>
 
       <para>

@@ -5790,8 +5801,9 @@
         the same as <literal>to_upper[]</literal>, which means that
         sorting is case-insensitive. MySQL sorts characters based on the
         values of <literal>sort_order[]</literal> elements. For more
-        complicated sorting rules, see the discussion of string
-        collating in <xref linkend="string-collating"/>.
+        complicated sorting rules (for complex character sets), see the
+        discussion of string collating in
+        <xref linkend="string-collating"/>.
       </para>
 
     </section>

@@ -5828,8 +5840,9 @@
         You must specify the
        
<literal>strxfrm_multiply_<replaceable>MYSET</replaceable>=<replaceable>N</replaceable></literal>
         value in the special comment at the top of the source file.
-        <replaceable>N</replaceable> should be set to the maximum ratio
-        to which strings may grow during execution of the
+        <replaceable>N</replaceable> must be a positive integer that
+        indicates the maximum ratio to which strings may grow during
+        execution of the
        
<function>my_strxfrm_<replaceable>MYSET</replaceable>()</function>
         function. <replaceable>N</replaceable> must be a positive
         integer.

@@ -5852,18 +5865,21 @@
 
       <para>
         If you want to add support for a new character set that includes
-        multi-byte characters, you need to use the multi-byte character
-        functions.
+        multi-byte characters in the
+       
<filename>ctype-<replaceable>MYSET</replaceable>.c</filename>
+        source file in the <filename>strings</filename> directory, you
+        need to use the multi-byte character functions.
       </para>
 
       <para>
-        The best documentation for this is the existing character sets.
-        Look at the <literal>euc_kr</literal>,
+        For examples of how these functions are implemented, look at the
+        existing
+       
<filename>ctype-<replaceable>charset_name</replaceable>.c</filename>
+        files in the <filename>strings</filename> directory, such as the
+        files for the <literal>euc_kr</literal>,
         <literal>gb2312</literal>, <literal>gbk</literal>,
         <literal>sjis</literal>, and <literal>ujis</literal>
character
-        sets for examples. These are implemented in the
-       
<filename>ctype-<replaceable>charset_name</replaceable>.c</filename>
-        files in the <filename>strings</filename> directory.
+        sets.
       </para>
 
       <para>

@@ -5894,7 +5910,7 @@
       <listitem>
         <para>
           Your program uses an incorrect path to determine where the
-          character sets are stored (typically in the
+          character sets are stored (which is typically the
           <filename>share/mysql/charsets</filename> or
           <filename>share/charsets</filename> directory under the MySQL
           installation directory). This can be fixed by using the

@@ -5917,7 +5933,7 @@
 
       <listitem>
         <para>
-          The character set is a multi-byte character set that cannot be
+          The character set is a complex character set that cannot be
           loaded dynamically. In this case, you must recompile the
           program with support for the character set.
         </para>


Modified: trunk/refman-5.1/internationalization.xml
===================================================================
--- trunk/refman-5.1/internationalization.xml	2008-04-28 17:29:50 UTC (rev 10603)
+++ trunk/refman-5.1/internationalization.xml	2008-04-28 19:25:37 UTC (rev 10604)
Changed blocks: 13, Lines Added: 60, Lines Deleted: 44; 9813 bytes

@@ -5503,16 +5503,16 @@
           This step depends on whether you are adding a simple or
           complex character set. A simple character set requires only a
           configuration file, whereas a complex character set requires C
-          source file that defines support routines for collation,
-          multi-byte handling, or both.
+          source file that defines collation functions, multi-byte
+          functions, or both.
         </para>
 
         <para>
           For a simple character set, create a configuration file that
           describes the character set properties. Create the file
-         
<filename>sql/share/charsets/<replaceable>MYSET</replaceable>.conf</filename>.
-          (You can use a copy of
-          <filename>sql/share/charsets/latin1.conf</filename> as the
+         
<filename><replaceable>MYSET</replaceable>.conf</filename>
+          file in the <filename>sql/share/charsets</filename> directory.
+          (You can use a copy of <filename>latin1.conf</filename> as the
           basis for this file.) The syntax for the file is very simple:
         </para>
 

@@ -5542,19 +5542,15 @@
             <para>
               The <literal>ctype</literal> array takes up the first 257
               words. The <literal>to_lower[]</literal>,
-              <literal>to_upper[]</literal> and
+              <literal>to_upper[]</literal>, and
               <literal>sort_order[]</literal> arrays take up 256 words
-              each after that.
+              each after that. See <xref linkend="character-arrays"/>.
             </para>
           </listitem>
 
         </itemizedlist>
 
         <para>
-          See <xref linkend="character-arrays"/>.
-        </para>
-
-        <para>
           For a complex character set, create a C source file that
           describes the character set properties and defines the support
           routines necessary to properly perform operations on the

@@ -5566,12 +5562,11 @@
           <listitem>
             <para>
               Create the file
-             
<filename>strings/ctype-<replaceable>MYSET</replaceable>.c</filename>
-              in the MySQL source distribution. Look at one of the
-              existing <filename>ctype-*.c</filename> files (such as
-              <filename>strings/ctype-big5.c</filename>) to see what
-              needs to be defined. The arrays in your file must have
-              names like
+             
<filename>ctype-<replaceable>MYSET</replaceable>.c</filename>
+              in the <filename>strings</filename> directory. Look at one
+              of the existing <filename>ctype-*.c</filename> files (such
+              as <filename>ctype-big5.c</filename>) to see what needs to
+              be defined. The arrays in your file must have names like
              
<literal>ctype_<replaceable>MYSET</replaceable></literal>,
              
<literal>to_lower_<replaceable>MYSET</replaceable></literal>,
               and so on. These correspond to the arrays for a simple

@@ -5590,7 +5585,6 @@
  * This comment is parsed by configure to create ctype.c,
  * so don't change it unless you know what you are doing.
  *
- * .configure.
number_<replaceable>MYSET</replaceable>=<replaceable>MYNUMBER</replaceable>
  * .configure.
strxfrm_multiply_<replaceable>MYSET</replaceable>=<replaceable>N</replaceable>
  * .configure.
mbmaxlen_<replaceable>MYSET</replaceable>=<replaceable>N</replaceable>
  */

@@ -5693,7 +5687,11 @@
       <title>The Character Definition Arrays</title>
 
       <para>
-        Each character set is described by several arrays:
+        For each simple character set, the
+       
<filename><replaceable>MYSET</replaceable>.conf</filename> file
+        in the <filename>sql/share/charsets</filename> directory
+        contains several arrays that describe the character set's
+        properties:
       </para>
 
       <itemizedlist>

@@ -5723,6 +5721,22 @@
       </itemizedlist>
 
       <para>
+        For a complex character set as implemented in a
+       
<filename>ctype-<replaceable>MYSET</replaceable>.c</filename>
+        file in the <filename>strings</filename> directory, there are
+        corresponding arrays:
+       
<literal>ctype_<replaceable>MYSET</replaceable>[]</literal>,
+       
<literal>to_lower_<replaceable>MYSET</replaceable>[]</literal>,
+        and so forth. Not every complex character set has all of the
+        arrays. See the existing
+       
<filename>ctype-<replaceable>charset_name</replaceable>.c</filename>
+        files for examples. See also the
+        <filename>CHARSET_INFO.txt</filename> file in the
+        <filename>strings</filename> directory for additional
+        information.
+      </para>
+
+      <para>
         <literal>to_lower[]</literal>,
<literal>to_upper[]</literal>,
         and <literal>sort_order[]</literal> are indexed by character
         value, whereas <literal>ctype[]</literal> is indexed by

@@ -5733,11 +5747,8 @@
       <para>
         <literal>ctype[]</literal> is an array of bit values, with one
         element for each character of the character set. Each element
-        describes the attributes of a single character.
-      </para>
-
-      <para>
-        The bitmask definitions are as defined in
+        describes the attributes of a single character. Each attribute
+        is associated with a bitmask, as defined in
         <filename>include/m_ctype.h</filename>:
       </para>
 

@@ -5753,16 +5764,16 @@
 </programlisting>
 
       <para>
-        The <literal>ctype[]</literal> entry for each character should
-        be the union of the applicable bitmask values that describe the
-        character. For example, <literal>'A'</literal> is an uppercase
-        character (<literal>_U</literal>) as well as a hexadecimal digit
-        (<literal>_X</literal>), so
<literal>ctype['A'+1]</literal>
-        should contain the value:
+        The <literal>ctype[]</literal> entry for a given character
+        should be the union of the applicable bitmask values that
+        describe the character. For example, <literal>'A'</literal> is
+        an uppercase character (<literal>_MY_U</literal>) as well as a
+        hexadecimal digit (<literal>_MY_X</literal>), so
+        <literal>ctype['A'+1]</literal> should contain the value:
       </para>
 
 <programlisting>
-_U | _X = 01 | 0200 = 0201
+_MY_U | _MY_X = 01 | 0200 = 0201
 </programlisting>
 
       <para>

@@ -5791,8 +5802,9 @@
         the same as <literal>to_upper[]</literal>, which means that
         sorting is case-insensitive. MySQL sorts characters based on the
         values of <literal>sort_order[]</literal> elements. For more
-        complicated sorting rules, see the discussion of string
-        collating in <xref linkend="string-collating"/>.
+        complicated sorting rules (for complex character sets), see the
+        discussion of string collating in
+        <xref linkend="string-collating"/>.
       </para>
 
     </section>

@@ -5829,8 +5841,9 @@
         You must specify the
        
<literal>strxfrm_multiply_<replaceable>MYSET</replaceable>=<replaceable>N</replaceable></literal>
         value in the special comment at the top of the source file.
-        <replaceable>N</replaceable> should be set to the maximum ratio
-        to which strings may grow during execution of the
+        <replaceable>N</replaceable> must be a positive integer that
+        indicates the maximum ratio to which strings may grow during
+        execution of the
        
<function>my_strxfrm_<replaceable>MYSET</replaceable>()</function>
         function. <replaceable>N</replaceable> must be a positive
         integer.

@@ -5853,18 +5866,21 @@
 
       <para>
         If you want to add support for a new character set that includes
-        multi-byte characters, you need to use the multi-byte character
-        functions.
+        multi-byte characters in the
+       
<filename>ctype-<replaceable>MYSET</replaceable>.c</filename>
+        source file in the <filename>strings</filename> directory, you
+        need to use the multi-byte character functions.
       </para>
 
       <para>
-        The best documentation for this is the existing character sets.
-        Look at the <literal>euc_kr</literal>,
+        For examples of how these functions are implemented, look at the
+        existing
+       
<filename>ctype-<replaceable>charset_name</replaceable>.c</filename>
+        files in the <filename>strings</filename> directory, such as the
+        files for the <literal>euc_kr</literal>,
         <literal>gb2312</literal>, <literal>gbk</literal>,
         <literal>sjis</literal>, and <literal>ujis</literal>
character
-        sets for examples. These are implemented in the
-       
<filename>ctype-<replaceable>charset_name</replaceable>.c</filename>
-        files in the <filename>strings</filename> directory.
+        sets.
       </para>
 
       <para>

@@ -5895,7 +5911,7 @@
       <listitem>
         <para>
           Your program uses an incorrect path to determine where the
-          character sets are stored (typically in the
+          character sets are stored (which is typically the
           <filename>share/mysql/charsets</filename> or
           <filename>share/charsets</filename> directory under the MySQL
           installation directory). This can be fixed by using the

@@ -5918,7 +5934,7 @@
 
       <listitem>
         <para>
-          The character set is a multi-byte character set that cannot be
+          The character set is a complex character set that cannot be
           loaded dynamically. In this case, you must recompile the
           program with support for the character set.
         </para>


Modified: trunk/refman-6.0/internationalization.xml
===================================================================
--- trunk/refman-6.0/internationalization.xml	2008-04-28 17:29:50 UTC (rev 10603)
+++ trunk/refman-6.0/internationalization.xml	2008-04-28 19:25:37 UTC (rev 10604)
Changed blocks: 13, Lines Added: 60, Lines Deleted: 44; 9813 bytes

@@ -6770,16 +6770,16 @@
           This step depends on whether you are adding a simple or
           complex character set. A simple character set requires only a
           configuration file, whereas a complex character set requires C
-          source file that defines support routines for collation,
-          multi-byte handling, or both.
+          source file that defines collation functions, multi-byte
+          functions, or both.
         </para>
 
         <para>
           For a simple character set, create a configuration file that
           describes the character set properties. Create the file
-         
<filename>sql/share/charsets/<replaceable>MYSET</replaceable>.conf</filename>.
-          (You can use a copy of
-          <filename>sql/share/charsets/latin1.conf</filename> as the
+         
<filename><replaceable>MYSET</replaceable>.conf</filename>
+          file in the <filename>sql/share/charsets</filename> directory.
+          (You can use a copy of <filename>latin1.conf</filename> as the
           basis for this file.) The syntax for the file is very simple:
         </para>
 

@@ -6809,19 +6809,15 @@
             <para>
               The <literal>ctype</literal> array takes up the first 257
               words. The <literal>to_lower[]</literal>,
-              <literal>to_upper[]</literal> and
+              <literal>to_upper[]</literal>, and
               <literal>sort_order[]</literal> arrays take up 256 words
-              each after that.
+              each after that. See <xref linkend="character-arrays"/>.
             </para>
           </listitem>
 
         </itemizedlist>
 
         <para>
-          See <xref linkend="character-arrays"/>.
-        </para>
-
-        <para>
           For a complex character set, create a C source file that
           describes the character set properties and defines the support
           routines necessary to properly perform operations on the

@@ -6833,12 +6829,11 @@
           <listitem>
             <para>
               Create the file
-             
<filename>strings/ctype-<replaceable>MYSET</replaceable>.c</filename>
-              in the MySQL source distribution. Look at one of the
-              existing <filename>ctype-*.c</filename> files (such as
-              <filename>strings/ctype-big5.c</filename>) to see what
-              needs to be defined. The arrays in your file must have
-              names like
+             
<filename>ctype-<replaceable>MYSET</replaceable>.c</filename>
+              in the <filename>strings</filename> directory. Look at one
+              of the existing <filename>ctype-*.c</filename> files (such
+              as <filename>ctype-big5.c</filename>) to see what needs to
+              be defined. The arrays in your file must have names like
              
<literal>ctype_<replaceable>MYSET</replaceable></literal>,
              
<literal>to_lower_<replaceable>MYSET</replaceable></literal>,
               and so on. These correspond to the arrays for a simple

@@ -6857,7 +6852,6 @@
  * This comment is parsed by configure to create ctype.c,
  * so don't change it unless you know what you are doing.
  *
- * .configure.
number_<replaceable>MYSET</replaceable>=<replaceable>MYNUMBER</replaceable>
  * .configure.
strxfrm_multiply_<replaceable>MYSET</replaceable>=<replaceable>N</replaceable>
  * .configure.
mbmaxlen_<replaceable>MYSET</replaceable>=<replaceable>N</replaceable>
  */

@@ -6960,7 +6954,11 @@
       <title>The Character Definition Arrays</title>
 
       <para>
-        Each character set is described by several arrays:
+        For each simple character set, the
+       
<filename><replaceable>MYSET</replaceable>.conf</filename> file
+        in the <filename>sql/share/charsets</filename> directory
+        contains several arrays that describe the character set's
+        properties:
       </para>
 
       <itemizedlist>

@@ -6990,6 +6988,22 @@
       </itemizedlist>
 
       <para>
+        For a complex character set as implemented in a
+       
<filename>ctype-<replaceable>MYSET</replaceable>.c</filename>
+        file in the <filename>strings</filename> directory, there are
+        corresponding arrays:
+       
<literal>ctype_<replaceable>MYSET</replaceable>[]</literal>,
+       
<literal>to_lower_<replaceable>MYSET</replaceable>[]</literal>,
+        and so forth. Not every complex character set has all of the
+        arrays. See the existing
+       
<filename>ctype-<replaceable>charset_name</replaceable>.c</filename>
+        files for examples. See also the
+        <filename>CHARSET_INFO.txt</filename> file in the
+        <filename>strings</filename> directory for additional
+        information.
+      </para>
+
+      <para>
         <literal>to_lower[]</literal>,
<literal>to_upper[]</literal>,
         and <literal>sort_order[]</literal> are indexed by character
         value, whereas <literal>ctype[]</literal> is indexed by

@@ -7000,11 +7014,8 @@
       <para>
         <literal>ctype[]</literal> is an array of bit values, with one
         element for each character of the character set. Each element
-        describes the attributes of a single character.
-      </para>
-
-      <para>
-        The bitmask definitions are as defined in
+        describes the attributes of a single character. Each attribute
+        is associated with a bitmask, as defined in
         <filename>include/m_ctype.h</filename>:
       </para>
 

@@ -7020,16 +7031,16 @@
 </programlisting>
 
       <para>
-        The <literal>ctype[]</literal> entry for each character should
-        be the union of the applicable bitmask values that describe the
-        character. For example, <literal>'A'</literal> is an uppercase
-        character (<literal>_U</literal>) as well as a hexadecimal digit
-        (<literal>_X</literal>), so
<literal>ctype['A'+1]</literal>
-        should contain the value:
+        The <literal>ctype[]</literal> entry for a given character
+        should be the union of the applicable bitmask values that
+        describe the character. For example, <literal>'A'</literal> is
+        an uppercase character (<literal>_MY_U</literal>) as well as a
+        hexadecimal digit (<literal>_MY_X</literal>), so
+        <literal>ctype['A'+1]</literal> should contain the value:
       </para>
 
 <programlisting>
-_U | _X = 01 | 0200 = 0201
+_MY_U | _MY_X = 01 | 0200 = 0201
 </programlisting>
 
       <para>

@@ -7058,8 +7069,9 @@
         the same as <literal>to_upper[]</literal>, which means that
         sorting is case-insensitive. MySQL sorts characters based on the
         values of <literal>sort_order[]</literal> elements. For more
-        complicated sorting rules, see the discussion of string
-        collating in <xref linkend="string-collating"/>.
+        complicated sorting rules (for complex character sets), see the
+        discussion of string collating in
+        <xref linkend="string-collating"/>.
       </para>
 
     </section>

@@ -7096,8 +7108,9 @@
         You must specify the
        
<literal>strxfrm_multiply_<replaceable>MYSET</replaceable>=<replaceable>N</replaceable></literal>
         value in the special comment at the top of the source file.
-        <replaceable>N</replaceable> should be set to the maximum ratio
-        to which strings may grow during execution of the
+        <replaceable>N</replaceable> must be a positive integer that
+        indicates the maximum ratio to which strings may grow during
+        execution of the
        
<function>my_strxfrm_<replaceable>MYSET</replaceable>()</function>
         function. <replaceable>N</replaceable> must be a positive
         integer.

@@ -7120,18 +7133,21 @@
 
       <para>
         If you want to add support for a new character set that includes
-        multi-byte characters, you need to use the multi-byte character
-        functions.
+        multi-byte characters in the
+       
<filename>ctype-<replaceable>MYSET</replaceable>.c</filename>
+        source file in the <filename>strings</filename> directory, you
+        need to use the multi-byte character functions.
       </para>
 
       <para>
-        The best documentation for this is the existing character sets.
-        Look at the <literal>euc_kr</literal>,
+        For examples of how these functions are implemented, look at the
+        existing
+       
<filename>ctype-<replaceable>charset_name</replaceable>.c</filename>
+        files in the <filename>strings</filename> directory, such as the
+        files for the <literal>euc_kr</literal>,
         <literal>gb2312</literal>, <literal>gbk</literal>,
         <literal>sjis</literal>, and <literal>ujis</literal>
character
-        sets for examples. These are implemented in the
-       
<filename>ctype-<replaceable>charset_name</replaceable>.c</filename>
-        files in the <filename>strings</filename> directory.
+        sets.
       </para>
 
       <para>

@@ -7162,7 +7178,7 @@
       <listitem>
         <para>
           Your program uses an incorrect path to determine where the
-          character sets are stored (typically in the
+          character sets are stored (which is typically the
           <filename>share/mysql/charsets</filename> or
           <filename>share/charsets</filename> directory under the MySQL
           installation directory). This can be fixed by using the

@@ -7185,7 +7201,7 @@
 
       <listitem>
         <para>
-          The character set is a multi-byte character set that cannot be
+          The character set is a complex character set that cannot be
           loaded dynamically. In this case, you must recompile the
           program with support for the character set.
         </para>


Thread
svn commit - mysqldoc@docsrva: r10604 - in trunk: . it/refman-5.1 pt/refman-5.1 refman-4.1 refman-5.0 refman-5.1 refman-6.0paul28 Apr