8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-27 06:03:02 +01:00
firebird-mirror/src/intl/cs_big5.c
2003-02-13 09:58:19 +00:00

56 lines
1.8 KiB
C

/*
* PROGRAM: InterBase International support
* MODULE: cs_big5.c
* DESCRIPTION: Character Set definitions for BIG5 family.
*
* The contents of this file are subject to the Interbase Public
* License Version 1.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy
* of the License at http://www.Inprise.com/IPL.html
*
* Software distributed under the License is distributed on an
* "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express
* or implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code was created by Inprise Corporation
* and its predecessors. Portions created by Inprise Corporation are
* Copyright (C) Inprise Corporation.
*
* All Rights Reserved.
* Contributor(s): ______________________________________.
*/
#include "../intl/ldcommon.h"
extern USHORT CVBIG5_big5_to_unicode();
extern USHORT CVBIG5_unicode_to_big5();
extern USHORT CVBIG5_check_big5();
CHARSET_ENTRY(CS_big_5)
{
#include "../intl/charsets/cs_big5.h"
static const ASCII POSIX[] = "BIG_5";
csptr->charset_version = 40;
csptr->charset_id = CS_BIG5;
csptr->charset_name = (ASCII *) POSIX;
csptr->charset_flags = 0;
csptr->charset_min_bytes_per_char = 1;
csptr->charset_max_bytes_per_char = 2;
csptr->charset_space_length = 1;
csptr->charset_space_character = (BYTE *) " ";
csptr->charset_well_formed = (FPTR_SHORT) CVBIG5_check_big5;
CV_convert_init(&csptr->charset_to_unicode, CS_UNICODE_UCS2, CS_BIG5,
CVBIG5_big5_to_unicode, to_unicode_mapping_array,
to_unicode_map);
CV_convert_init(&csptr->charset_from_unicode, CS_BIG5, CS_UNICODE_UCS2,
CVBIG5_unicode_to_big5, from_unicode_mapping_array,
from_unicode_map);
CHARSET_RETURN;
}