private AddChar ( |
||
mark | ||
code | ||
return | void |
internal override void AddChar(PdfString mark, PdfObject code)
{
byte[] src = mark.GetBytes();
String dest = CreateStringFromBytes(code.GetBytes());
if (src.Length == 1) {
singleByteMappings[src[0] & 0xff] = dest;
} else if (src.Length == 2) {
int intSrc = src[0] & 0xFF;
intSrc <<= 8;
intSrc |= src[1] & 0xFF;
doubleByteMappings[intSrc] = dest;
} else {
throw new IOException(MessageLocalization.GetComposedMessage("mapping.code.should.be.1.or.two.bytes.and.not.1", src.Length));
}
}
private void CheckInsertAndRetrieval(byte[] bytes, string uni) { CMapToUnicode c = new CMapToUnicode(); c.AddChar(new PdfString(bytes), new PdfString(uni, "UTF-16BE")); string lookupResult = c.Lookup(bytes, 0, bytes.Length); Assert.AreEqual(uni, lookupResult); }