(mtext_change_prop): Delete extern.
[m17n/m17n-lib.git] / src / m17n-core.h
index 5631450..b87e0fe 100644 (file)
@@ -111,7 +111,7 @@ typedef struct
 /*=*/
 
 /* Return a newly allocated managed object.  */
-extern void *m17n_object_setup (int size, void (*freer) (void *));
+extern void *m17n_object (int size, void (*freer) (void *));
 
 /* Increment the reference count of managed object OBJECT.  */
 extern int m17n_object_ref (void *object);
@@ -331,10 +331,7 @@ typedef struct MText MText;
 
 /*=*/
 
-extern MText *mtext ();
-
-/*=*/
-
+/*** @ingroup m17nMtext */
 /***en
     @brief Enumeration for specifying the format of an M-text.
 
@@ -361,8 +358,66 @@ enum MTextFormat
   };
 /*=*/
 
-extern const enum MTextFormat MTEXT_FORMAT_UTF_16;
-extern const enum MTextFormat MTEXT_FORMAT_UTF_32;
+extern MText *mtext ();
+
+/*=*/
+
+/*** @ingroup m17nMtext */
+/***en @name Variables: System's UTF-16 and UTF-32 types */
+/***ja @name ÊÑ¿ô: ¥·¥¹¥Æ¥à¤Î UTF-16 ¤È UTF-32 ¤Î¥¿¥¤¥× */
+/*** @{ */
+/*=*/
+
+/***en
+    @brief Variable of value MTEXT_FORMAT_UTF_16LE or MTEXT_FORMAT_UTF_16BE.
+
+    The global variable #MTEXT_FORMAT_UTF_16 is initialized to
+    #MTEXT_FORMAT_UTF_16LE on a "Little Endian" system (storing words
+    with the least significant byte first), and to
+    #MTEXT_FORMAT_UTF_16BE depneding on a "Big Endian" system (storing
+    words with the most significant byte first).  */
+
+/***ja
+    @brief Ãͤ¬ MTEXT_FORMAT_UTF_16LE ¤« MTEXT_FORMAT_UTF_16BE ¤Ç¤¢¤ëÊÑ¿ô
+
+    Âç°èÊÑ¿ô #MTEXT_FORMAT_UTF_16 ¤Ï¥ê¥È¥ë¡¦¥¨¥ó¥Ç¥£¥¢¥ó¡¦¥·¥¹¥Æ¥à¡Ê¥ï¡¼
+    ¥É¤ò LSB (Least Significant Byte) ¤òÀè¤Ë¤·¤Æ³ÊǼ¡Ë¾å¤Ç¤Ï
+    #MTEXT_FORMAT_UTF_16LE ¤Ë½é´ü²½¤µ¤ì¡¢¥Ó¥Ã¥°¡¦¥¨¥ó¥Ç¥£¥¢¥ó¡¦¥·¥¹¥Æ¥à
+    ¡Ê¥ï¡¼¥É¤ò MSB (Most Significant Byte) ¤òÀè¤Ë¤·¤Æ³ÊǼ¡Ë¾å¤Ç¤Ï
+    #MTEXT_FORMAT_UTF_16BE ¤Ë½é´ü²½¤µ¤ì¤ë¡£  */
+
+/***
+    @seealso
+    mtext_from_data ()  */
+
+extern const int MTEXT_FORMAT_UTF_16;
+/*=*/
+
+/***en
+    @brief Variable of value MTEXT_FORMAT_UTF_32LE or MTEXT_FORMAT_UTF_32BE.
+
+    The global variable #MTEXT_FORMAT_UTF_32 is initialized to
+    #MTEXT_FORMAT_UTF_32LE on a "Little Endian" system (storing words
+    with the least significant byte first), and to
+    #MTEXT_FORMAT_UTF_32BE depneding on a "Big Endian" system (storing
+    words with the most significant byte first).  */
+
+/***ja
+    @brief Ãͤ¬ MTEXT_FORMAT_UTF_32LE ¤« MTEXT_FORMAT_UTF_32BE ¤Ç¤¢¤ëÊÑ¿ô
+
+    Âç°èÊÑ¿ô #MTEXT_FORMAT_UTF_32 ¤Ï¥ê¥È¥ë¡¦¥¨¥ó¥Ç¥£¥¢¥ó¡¦¥·¥¹¥Æ¥à¡Ê¥ï¡¼
+    ¥É¤ò LSB (Least Significant Byte) ¤òÀè¤Ë¤·¤Æ³ÊǼ¡Ë¾å¤Ç¤Ï
+    #MTEXT_FORMAT_UTF_32LE ¤Ë½é´ü²½¤µ¤ì¡¢¥Ó¥Ã¥°¡¦¥¨¥ó¥Ç¥£¥¢¥ó¡¦¥·¥¹¥Æ¥à
+    ¡Ê¥ï¡¼¥É¤ò MSB (Most Significant Byte) ¤òÀè¤Ë¤·¤Æ³ÊǼ¡Ë¾å¤Ç¤Ï
+    #MTEXT_FORMAT_UTF_32BE ¤Ë½é´ü²½¤µ¤ì¤ë¡£  */
+
+/***
+    @seealso
+    mtext_from_data ()  */
+
+extern const int MTEXT_FORMAT_UTF_32;
+
+/*** @} */
 
 /*=*/
 
@@ -518,7 +573,8 @@ extern MSymbol Mtext_prop_deserializer;
     property is #Msymbol_prop_serializer, the value must be of this
     type.
 
-    @seealso Mtext_prop_serialize (), Mtext_prop_serializer
+    @seealso
+    mtext_prop_serialize (), Mtext_prop_serializer
 */
 /***ja
     @brief ¥·¥ê¥¢¥é¥¤¥¶´Ø¿ô¤Î·¿Àë¸À.
@@ -526,7 +582,8 @@ extern MSymbol Mtext_prop_deserializer;
     ¥·¥ê¥¢¥é¥¤¥¶´Ø¿ô¤Î·¿¤Ç¤¢¤ë¡£ ¤¢¤ë¥·¥ó¥Ü¥ë¤Î¥×¥í¥Ñ¥Æ¥£¤Î¥­¡¼¤¬ @c
     #Msymbol_prop_serializer ¤Ç¤¢¤ë¤È¤­¡¢ ÃͤϤ³¤Î·¿¤Ç¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£
 
-    @seealso Mtext_prop_serialize (), Mtext_prop_serializer
+    @seealso
+    Mtext_prop_serialize (), Mtext_prop_serializer
 */
 
 typedef MPlist *(*MTextPropSerializeFunc) (void *val);
@@ -539,7 +596,8 @@ typedef MPlist *(*MTextPropSerializeFunc) (void *val);
     symbol property is #Msymbol_prop_deserializer, the value must be
     of this type.
 
-    @seealso Mtext_prop_deserialize (), Mtext_prop_deserializer
+    @seealso
+    Mtext_prop_deserialize (), Mtext_prop_deserializer
 */
 /***ja
     @brief ¥Ç¥·¥ê¥¢¥é¥¤¥¶´Ø¿ô¤Î·¿Àë¸À.
@@ -547,7 +605,8 @@ typedef MPlist *(*MTextPropSerializeFunc) (void *val);
     ¥Ç¥·¥ê¥¢¥é¥¤¥¶´Ø¿ô¤Î·¿¤Ç¤¢¤ë¡£ ¤¢¤ë¥·¥ó¥Ü¥ë¤Î¥×¥í¥Ñ¥Æ¥£¤Î¥­¡¼¤¬ @c
     #Msymbol_prop_deserializer ¤Ç¤¢¤ë¤È¤­¡¢ ÃͤϤ³¤Î·¿¤Ç¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£
 
-    @seealso Mtext_prop_deserialize (), Mtext_prop_deserializer
+    @seealso
+    Mtext_prop_deserialize (), Mtext_prop_deserializer
 */
 typedef void *(*MTextPropDeserializeFunc) (MPlist *plist);
 
@@ -570,14 +629,23 @@ extern int mtext_push_prop (MText *mt, int from, int to,
 extern int mtext_pop_prop (MText *mt, int from, int to,
                           MSymbol key);
 
-extern int mtext_change_prop (MText *mt, int from, int to,
-                             MSymbol key,
-                             int (*func) (int, void ***, int *));
-
 extern int mtext_prop_range (MText *mt, MSymbol key, int pos,
                             int *from, int *to, int deeper);
 
 /*=*/
+/***
+    @ingroup m17nTextProperty */
+/***en
+    @brief Type of text properties.
+
+    The type #MTextProperty is for a @e text @e property objects.  Its
+    internal structure is concealed from application programs.  */
+/***ja
+    @brief @c ¥Æ¥­¥¹¥È¥×¥í¥Ñ¥Æ¥£¤Î·¿Àë¸À.
+
+    #MTextProperty ¤Ï @e ¥Æ¥­¥¹¥È¥×¥í¥Ñ¥Æ¥£ ¥ª¥Ö¥¸¥§¥¯¥È¤Î·¿¤Ç¤¢¤ë¡£
+    ÆâÉô¹½Â¤¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤«¤é¤Ï¸«¤¨¤Ê¤¤¡£  */
+
 typedef struct MTextProperty MTextProperty;
 
 /*=*/