The convmap files support supplementary characters in the DBCS-to-UTF-8 conversion (type 17). Any conversion using supplementary characters must use the Unicode compression option. Unicode compression is input as an increasing set of Unicode pairs of the form high value, low value, followed by 0, for a maximum of 5 ranges, with an additional 0 at the end.
The following excerpt from a conversion specification compresses the Unicode values from four ranges in plane 0 and one range in plane 8:
CONVERT
SOURCE-NAME "SUPPLEMENTARY-CP"
TARGET-NAME "UTF-8"
TYPE "17"
FIRST-CONSTANTS
# single, 1st start, 2nd start, gap
0xFFFF 0 0x580 0x4ABF
# ccount, umin, umax, index power, delta power, bad character
779 0x0 0x0FFD 6 6 0
# unicode compression
0x451 0xA7 0 0x266F 0x2000 0 0x33CD 0x3000 0 0xFA2D 0xF900 0 0x8FFE5 0x8FF00 0 0
# High range
0x00 0x00 0x81 0xFC
# low range
0x40 0x7E 0x80 0xFC 0xFF 0xFE
ENDCONSTANTS
Compression cannot occur over more than one plane. For example, this would not be supported: