From 57250b97e44191d20fcaa45563659a386d7c40ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20H=C3=BClsmann?= Date: Mon, 23 Feb 2026 15:25:22 +0100 Subject: [PATCH] fix: Consider extra quotation styles when hyphenating quoted words (#1077) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary * **What is the goal of this PR?** Address expected hyphenation issue from https://github.com/crosspoint-reader/crosspoint-reader/issues/998#issuecomment-3940533510 * Closes #998 * **What changes are included?** Add `„` (U+201E, _Double Low-9 Quotation Mark_), `‚` (U+201A, _Single Low-9 Quotation Mark_) and `‹` (U+2039, _Single Left-pointing Angle Quotation Mark_) exceptions, other quote types were handled correctly. **Before** hyph3 **After** hyph3-fix ## Additional Context * Add any other information that might be helpful for the reviewer (e.g., performance implications, potential risks, specific areas to focus on). --- ### AI Usage While CrossPoint doesn't have restrictions on AI tools in contributing, please be transparent about their usage as it helps set the right context for reviewers. Did you use AI tools to help write this code? _**NO**_ --- lib/Epub/Epub/hyphenation/HyphenationCommon.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/Epub/Epub/hyphenation/HyphenationCommon.cpp b/lib/Epub/Epub/hyphenation/HyphenationCommon.cpp index 15791ae0..b402d5b9 100644 --- a/lib/Epub/Epub/hyphenation/HyphenationCommon.cpp +++ b/lib/Epub/Epub/hyphenation/HyphenationCommon.cpp @@ -86,14 +86,17 @@ bool isPunctuation(const uint32_t cp) { case 0x00BB: // » case 0x2018: // ‘ case 0x2019: // ’ + case 0x201A: // ‚ case 0x201C: // “ case 0x201D: // ” + case 0x201E: // „ case 0x00A0: // no-break space case '{': case '}': case '[': case ']': case '/': + case 0x2039: // ‹ case 0x203A: // › case 0x2026: // … return true;