# *******************************************************************************
# * Copyright (C) 2001-2003, International Business Machines
# * Corporation and others.  All Rights Reserved.
# *******************************************************************************
#
# test4.ucm
#
# Test file for MBCS conversion with four-byte codepage data.

<code_set_name>     "test4"
<mb_cur_max>        4
<mb_cur_min>        1
<uconv_class>       "MBCS"

# both subchars are single-byters, which does not make sense
# but works - adding subchar1 for tests but don't want to
# change old tests for a new subchar -- markus 20031028
<subchar>           \xff
<subchar1>          \xe1
<icu:state>         0, 1:1, 5-9, e1, ff
<icu:state>         2:2
<icu:state>         3:3
<icu:state>         a-f.p, ff

CHARMAP

# fromUnicode result is zero byte from other than U+0000
<U20ac>     \x00 |0

# fallback from non-zero to zero possible with extension table
<U20ad>     \x00 |1

# nothing special
<U0005>     \x05 |0

# toUnicode result is fallback direct
<U0006>     \x06 |3

# toUnicode result is direct non-BMP code point
<U101234>   \x07 |0
<Ufebcd>    \x08 |3

#unassigned \x09

# toUnicode result is surrogate pair: test real pair, single unit, unassigned
<U23456>    \x01\x02\x03\x0a |0
<U000b>     \x01\x02\x03\x0b |0
#unassigned \x01\x02\x03\x0c
<U34567>    \x01\x02\x03\x0d |3
<U000e>     \x01\x02\x03\x0e |3
#unassigned \x01\x02\x03\x0f

# <subchar1> non-mapping
<U50005>    \xe1 |2
# add a mapping that turns the above's Unicode side into a prefix
<U50005><U60006> \x06 |1

# many bytes, and bytes per UChar
<U30ab><U309a> \x01\x02\x03\x0a\x01\x02\x03\x0b\x01\x02\x03\x0c\x01\x02\x03\x0d\x01\x02\x03\x0e\x01\x02\x03\x0f\x01\x02\x03\x0a\x05\x06\x07 |0

# many UChars, and UChars per byte
<U304b><U309a><U304d><U309a><U304f><U309a><U3051><U309a><U3053><U309a><U30ab><U309a><U30ad><U309a><U30af><U309a><U30b1><U309a><U0300> \x08\x09 |0

END CHARMAP