# *******************************************************************************
# * Copyright (C) 2007-2009, International Business Machines
# * Corporation and others.  All Rights Reserved.
# *******************************************************************************
#
# test1.ucm
#
# Test file for MBCS conversion with single-byte codepage data.
# BMP-only, to test optimized code path.
# Includes extensions.

<code_set_name>     "test1bmp"
<mb_cur_max>        1
<mb_cur_min>        1
<uconv_class>       "MBCS"
<subchar>           \xff
<icu:state>         0, 5-9, c:0.s, ff

CHARMAP

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

# nothing special
<U0065>     \x05 |0

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

#unassigned \x09

# 1:2 mapping
<U0074>     \x07\x09 |0

# 2:1 mapping
<U0075><U0076> \x08 |0

END CHARMAP
