Jump to content

UniCreateTransformObject: Difference between revisions

From EDM2
Created page with "UniCreateTransformObject creates a string transform object. ==Syntax== int UniCreateTransformObject (const LocaleObject locale_object, const UniChar *xtype, XformObject *xfo..."
 
Ak120 (talk | contribs)
mNo edit summary
 
(2 intermediate revisions by one other user not shown)
Line 2: Line 2:


==Syntax==
==Syntax==
  int UniCreateTransformObject (const LocaleObject locale_object, const UniChar *xtype, XformObject *xform_object)
  UniCreateTransformObject (locale_object, xtype, xform_object)


==Parameters==
==Parameters==
;locale_object (const [[LocaleObject]]): A locale object created by [[UniCreateLocaleObject]] or NULL.
;xtype (const [[UniChar]]*) : A UniChar string identifying the transform type.
;xform_object ([[XformObject]]*) : An address that will receive a pointer to an XformObject upon successful completion of UniCreateTransformObject.


locale_object  (const LocaleObject)
==Returns==
    A locale object created by UniCreateLocaleObject or NULL.
Return value (int) - returns
xtype  (const UniChar *)
    A UniChar string identifying the transform type.
xform_object  (XformObject *)
    An address that will receive a pointer to an XformObject upon successful completion of UniCreateTransformObject.


Returns
;ULS_SUCCESS : No errors; the xform_object argument points to a valid transformation object.  
 
;ULS_UNSUPPORTED : The transformation name type specified by the xtype argument is not supported for locale_object.  
Return value  (int)  -  returns
 
ULS_SUCCESS
    No errors; the xform_object argument points to a valid transformation object.  
ULS_UNSUPPORTED
    The transformation name type specified by the xtype argument is not supported for locale_object.  
 
Remarks


==Remarks==
UniCreateTransformObject obtains a transformation object for a transformation type as defined in the locale indicated by the locale_object argument. The function returns a transformation object that can be used as an argument in UniTransformStr.
UniCreateTransformObject obtains a transformation object for a transformation type as defined in the locale indicated by the locale_object argument. The function returns a transformation object that can be used as an argument in UniTransformStr.


The following transformation types are defined in all locales:
The following transformation types are defined in all locales:
 
;lower: Transform to lowercase characters. A character that does not have a lowercase form is returned as itself.
lower
;upper: Transform to uppercase characters. A character that does not have an uppercase form is returned as itself.
    Transform to lowercase characters. A character that does not have a lowercase form is returned as itself.  
;compose : Transform to fully composed form for combined characters.
upper
;decompose : Transform to a string of decomposed characters where multiple characters are used to represent base and diacritics.
    Transform to uppercase characters. A character that does not have an uppercase form is returned as itself.  
;hiragana : Transform so that Japanese phonetic characters are in hiragana
compose
;katakana : Transform so that Japanese phonetic characters are in full size katakana
    Transform to fully composed form for combined characters.  
;kana : Transform so that Japanese phonetic characters are in half size katakana
decompose
    Transform to a string of decomposed characters where multiple characters are used to represent base and diacritics.  
hiragana
    Transform so that Japanese phonetic characters are in hiragana  
katakana
    Transform so that Japanese phonetic characters are in full size katakana  
kana
    Transform so that Japanese phonetic characters are in half size katakana  


In addition to the above transformation-type names, other transformation-type names in the locale (including user-defined transformation-type names) may be passed to UniCreateTransformObject through the xtype argument. To obtain a successful return, the transformation-type name must be defined in locale_object.
In addition to the above transformation-type names, other transformation-type names in the locale (including user-defined transformation-type names) may be passed to UniCreateTransformObject through the xtype argument. To obtain a successful return, the transformation-type name must be defined in locale_object.
Line 47: Line 31:
When UniCreateTransformObject completes without errors, the xform_object argument value specifies a valid pointer to a transformation object. The transformation object should be used in all subsequent calls to UniTransformStr. If the function result is other than ULS_SUCCESS, the contents of the area pointed to by xform_object are undefined.
When UniCreateTransformObject completes without errors, the xform_object argument value specifies a valid pointer to a transformation object. The transformation object should be used in all subsequent calls to UniTransformStr. If the function result is other than ULS_SUCCESS, the contents of the area pointed to by xform_object are undefined.


 
==Example==
Example
 
This example shows how to create and use a transform object.
This example shows how to create and use a transform object.
 
<PRE>
#include <stdio.h>
#include <stdio.h>
#include <unidef.h>
#include <unidef.h>
Line 98: Line 80:
     return ULS_SUCCESS;
     return ULS_SUCCESS;
}  
}  
 
</PRE>
Format
===Format===
 
<PRE>
#include <unidef.h>
#include <unidef.h>


Line 108: Line 90:
     XformObject        *xform_object    /* O  - Transform object */
     XformObject        *xform_object    /* O  - Transform object */
)
)
 
</PRE>


==Related Functions==
==Related Functions==
* [[UniFreeTransformObject]]


    UniFreeTransformObject
[[Category:Uni]]

Latest revision as of 02:53, 16 August 2017

UniCreateTransformObject creates a string transform object.

Syntax

UniCreateTransformObject (locale_object, xtype, xform_object)

Parameters

locale_object (const LocaleObject)
A locale object created by UniCreateLocaleObject or NULL.
xtype (const UniChar*)
A UniChar string identifying the transform type.
xform_object (XformObject*)
An address that will receive a pointer to an XformObject upon successful completion of UniCreateTransformObject.

Returns

Return value (int) - returns

ULS_SUCCESS
No errors; the xform_object argument points to a valid transformation object.
ULS_UNSUPPORTED
The transformation name type specified by the xtype argument is not supported for locale_object.

Remarks

UniCreateTransformObject obtains a transformation object for a transformation type as defined in the locale indicated by the locale_object argument. The function returns a transformation object that can be used as an argument in UniTransformStr.

The following transformation types are defined in all locales:

lower
Transform to lowercase characters. A character that does not have a lowercase form is returned as itself.
upper
Transform to uppercase characters. A character that does not have an uppercase form is returned as itself.
compose
Transform to fully composed form for combined characters.
decompose
Transform to a string of decomposed characters where multiple characters are used to represent base and diacritics.
hiragana
Transform so that Japanese phonetic characters are in hiragana
katakana
Transform so that Japanese phonetic characters are in full size katakana
kana
Transform so that Japanese phonetic characters are in half size katakana

In addition to the above transformation-type names, other transformation-type names in the locale (including user-defined transformation-type names) may be passed to UniCreateTransformObject through the xtype argument. To obtain a successful return, the transformation-type name must be defined in locale_object.

When UniCreateTransformObject completes without errors, the xform_object argument value specifies a valid pointer to a transformation object. The transformation object should be used in all subsequent calls to UniTransformStr. If the function result is other than ULS_SUCCESS, the contents of the area pointed to by xform_object are undefined.

Example

This example shows how to create and use a transform object.

#include <stdio.h>
#include <unidef.h>

int main(void) {

     LocaleObject locale_object = NULL;
     XformObject  xform_object = NULL;
     int          rc = ULS_SUCCESS;
     int          in_unistr_elem = 0;
     int          out_unistr_elem = 10;
     UniChar      *pin_unistr = (UniChar *)L"os2";
     UniChar      out_unistr[10];

     /*****************************************************************/
     /* Assumes LANG environment variable set to a valid locale name, */
     /* such as fr_FR                                                 */
     /*****************************************************************/
     rc = UniCreateLocaleObject(UNI_UCS_STRING_POINTER,
                               (UniChar *)L"", &locale_object);
     if (rc != ULS_SUCCESS) {
       printf("UniCreateLocaleObject error: return code = %u\n", rc);
       return 1;
     }

     /* Create an upper case transform object */
     rc = UniCreateTransformObject(locale_object,
                                  (UniChar *)L"upper", &xform_object);
     if (rc != ULS_SUCCESS) {
       printf("UniCreateTransformObject error: return code = %u\n", rc);
       return 1;
     }

     /* Calculate the number of elements to transform */
     in_unistr_elem = UniStrlen (pin_unistr) + 1;

     /* Make call to transform input string to uppercase */
     rc = UniTransformStr(xform_object, pin_unistr,
                         &in_unistr_elem, out_unistr,
                         &out_unistr_elem);
     if (rc != ULS_SUCCESS) {
       printf("UniTransformStr error: return code = %u\n", rc);
       return 1;
     }

     return ULS_SUCCESS;
} 

Format

#include <unidef.h>

int UniCreateTransformObject (
    const LocaleObject locale_object,    /* I  - Locale object    */
    const UniChar      *xtype,           /* I  - Transform type   */
    XformObject        *xform_object     /* O  - Transform object */
)

Related Functions