1
0
mirror of https://github.com/azure-rtos/guix.git synced 2025-02-04 07:13:17 +08:00
guix/guix_studio/canonical_normalize.h

40 lines
1.2 KiB
C

#pragma once
typedef struct GX_CANONICAL_DECOMPOSE_MAP_STRUCT
{
ULONG gx_canonical_decompose_map_code;
ULONG gx_canonical_decompose_map[2];
}GX_CANONICAL_DECOMPOSE_MAP;
typedef struct GX_CANONICAL_COMBINING_CLASS_STRUCT
{
ULONG gx_canonical_combining_class_code;
GX_UBYTE gx_canonical_combining_class;
}GX_CANONICAL_COMBINING_CLASS;
typedef struct GX_UNICODE_RANGE_STRUCT
{
ULONG gx_unicode_range_start;
ULONG gx_unicode_range_end;
}GX_UNICODE_RANGE;
typedef struct GX_CANONICAL_UNIT_STRUCT
{
ULONG gx_canonical_unit_code_point;
GX_UBYTE gx_canonical_unit_combining_class;
} GX_CANONICAL_UNIT;
typedef struct GX_CANONICAL_CONTEXT_STRUCT
{
ULONG *gx_canonical_context_code_list;
UINT gx_canonical_context_code_count;
GX_CANONICAL_UNIT *gx_canonical_context_unit_list;
UINT gx_canonical_context_unit_count;
} GX_CANONICAL_CONTEXT;
#define GX_NORMALIZATION_FORM_NO 0 /* The code point cannot occur in the normalization form. */
#define GX_NORMALIZATION_FORM_YES 1 /* The code point is a starter and can occur in the normalization form. */
#define GX_NORMALIZATION_FORM_MAYBE 2
UINT gx_studio_canonical_normalize(GX_CONST GX_STRING *string, GX_STRING *normalised_string);