From 15f197d030ffdc26afd1490ed0d5227356b74d88 Mon Sep 17 00:00:00 2001 From: Michael R Sweet Date: Sat, 14 Feb 2026 09:51:49 -0500 Subject: [PATCH] Fix conversions of Unicode characters above plane 0 (Issue #159) --- CHANGES.md | 1 + pdfio-string.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index e94a501..73998ab 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -28,6 +28,7 @@ v1.6.2 - YYYY-MM-DD - Fixed xref reconstruction for objects lacking a `Type` value. - Fixed `pdfioPageOpenStream` for indirect `Contents` arrays. - Fixed an error propagation bug when reading too-long values (Issue #146) +- Fixed a bug when converting Unicode characters above plane 0 (issue #159) - Fixed a Clang warning. diff --git a/pdfio-string.c b/pdfio-string.c index 6f8dcbe..ab38045 100644 --- a/pdfio-string.c +++ b/pdfio-string.c @@ -229,7 +229,7 @@ _pdfio_utf16cpy( else { // 4-byte UTF-8 - *dstptr++ = (char)(0xe0 | (ch >> 18)); + *dstptr++ = (char)(0xf0 | (ch >> 18)); *dstptr++ = (char)(0x80 | ((ch >> 12) & 0x3f)); *dstptr++ = (char)(0x80 | ((ch >> 6) & 0x3f)); *dstptr++ = (char)(0x80 | (ch & 0x3f));