# *******************************************************************************
# * Copyright (C) 2007, 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, 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
