From 103fac2ee134b0f49e8e545debb2cbbefd8eee2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maik=20Allg=C3=B6wer?= Date: Thu, 19 Feb 2026 14:13:23 +0100 Subject: [PATCH] feat: Basic table support (#980) I've been reading "Children of Time" over the last days and that book, annyoingly, has some tabular content. This content is relevant for the story so I needed some really basic way to at least be able to read those tables. This commit simply renders the contents of table cells as separate paragraphs with a small header describing its position in the table. For me, it's better than nothing. ## Summary * **What is the goal of this PR?** Implements really basic table support * **What changes are included?** * Minimal changes to ChapterHtmlSlimParser * A demo book in test/epubs ## Additional Context Here's some screenshots of the demo-book I provide with this PR. ![PXL_20260218_211446510](https://github.com/user-attachments/assets/49ef81b8-2fa0-4f0d-bb6f-4ef885be6772) ![PXL_20260218_211456379](https://github.com/user-attachments/assets/e7c82b35-b4a9-4a7d-9ec5-2b4bc2ff3514) --- ### 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? _**PARTIALLY**_ _Little bit of guidance on what to touch, parts of the impl, rest manually._ --- .../Epub/parsers/ChapterHtmlSlimParser.cpp | 103 ++++++++++++++++-- lib/Epub/Epub/parsers/ChapterHtmlSlimParser.h | 3 + test/epubs/test_tables.epub | Bin 0 -> 68277 bytes 3 files changed, 95 insertions(+), 11 deletions(-) create mode 100644 test/epubs/test_tables.epub diff --git a/lib/Epub/Epub/parsers/ChapterHtmlSlimParser.cpp b/lib/Epub/Epub/parsers/ChapterHtmlSlimParser.cpp index da8bbf575..7bada8f2e 100644 --- a/lib/Epub/Epub/parsers/ChapterHtmlSlimParser.cpp +++ b/lib/Epub/Epub/parsers/ChapterHtmlSlimParser.cpp @@ -53,6 +53,10 @@ bool isHeaderOrBlock(const char* name) { return matches(name, HEADER_TAGS, NUM_HEADER_TAGS) || matches(name, BLOCK_TAGS, NUM_BLOCK_TAGS); } +bool isTableStructuralTag(const char* name) { + return strcmp(name, "table") == 0 || strcmp(name, "tr") == 0 || strcmp(name, "td") == 0 || strcmp(name, "th") == 0; +} + // Update effective bold/italic/underline based on block style and inline style stack void ChapterHtmlSlimParser::updateEffectiveInlineStyle() { // Start with block-level styles @@ -145,18 +149,66 @@ void XMLCALL ChapterHtmlSlimParser::startElement(void* userData, const XML_Char* centeredBlockStyle.textAlignDefined = true; centeredBlockStyle.alignment = CssTextAlign::Center; - // Special handling for tables - show placeholder text instead of dropping silently + // Special handling for tables/cells: flatten into per-cell paragraphs with a prefixed header. if (strcmp(name, "table") == 0) { - // Add placeholder text - self->startNewTextBlock(centeredBlockStyle); + // skip nested tables + if (self->tableDepth > 0) { + self->tableDepth += 1; + return; + } - self->italicUntilDepth = min(self->italicUntilDepth, self->depth); - // Advance depth before processing character data (like you would for an element with text) + if (self->partWordBufferIndex > 0) { + self->flushPartWordBuffer(); + } + self->tableDepth += 1; + self->tableRowIndex = 0; + self->tableColIndex = 0; self->depth += 1; - self->characterData(userData, "[Table omitted]", strlen("[Table omitted]")); + return; + } - // Skip table contents (skip until parent as we pre-advanced depth above) - self->skipUntilDepth = self->depth - 1; + if (self->tableDepth == 1 && strcmp(name, "tr") == 0) { + self->tableRowIndex += 1; + self->tableColIndex = 0; + self->depth += 1; + return; + } + + if (self->tableDepth == 1 && (strcmp(name, "td") == 0 || strcmp(name, "th") == 0)) { + if (self->partWordBufferIndex > 0) { + self->flushPartWordBuffer(); + } + self->tableColIndex += 1; + + auto tableCellBlockStyle = BlockStyle(); + tableCellBlockStyle.textAlignDefined = true; + const auto align = (self->paragraphAlignment == static_cast(CssTextAlign::None)) + ? CssTextAlign::Justify + : static_cast(self->paragraphAlignment); + tableCellBlockStyle.alignment = align; + self->startNewTextBlock(tableCellBlockStyle); + + const std::string headerText = + "Tab Row " + std::to_string(self->tableRowIndex) + ", Cell " + std::to_string(self->tableColIndex) + ":"; + StyleStackEntry headerStyle; + headerStyle.depth = self->depth; + headerStyle.hasBold = true; + headerStyle.bold = false; + headerStyle.hasItalic = true; + headerStyle.italic = true; + headerStyle.hasUnderline = true; + headerStyle.underline = false; + self->inlineStyleStack.push_back(headerStyle); + self->updateEffectiveInlineStyle(); + self->characterData(userData, headerText.c_str(), static_cast(headerText.length())); + if (self->partWordBufferIndex > 0) { + self->flushPartWordBuffer(); + } + self->nextWordContinues = false; + self->inlineStyleStack.pop_back(); + self->updateEffectiveInlineStyle(); + + self->depth += 1; return; } @@ -445,6 +497,11 @@ void XMLCALL ChapterHtmlSlimParser::startElement(void* userData, const XML_Char* void XMLCALL ChapterHtmlSlimParser::characterData(void* userData, const XML_Char* s, const int len) { auto* self = static_cast(userData); + // Skip content of nested table + if (self->tableDepth > 1) { + return; + } + // Middle of skip if (self->skipUntilDepth < self->depth) { return; @@ -548,15 +605,24 @@ void XMLCALL ChapterHtmlSlimParser::endElement(void* userData, const XML_Char* n const bool styleWillChange = willPopStyleStack || willClearBold || willClearItalic || willClearUnderline; const bool headerOrBlockTag = isHeaderOrBlock(name); + const bool tableStructuralTag = isTableStructuralTag(name); + + if (self->tableDepth > 1 && strcmp(name, "table") == 0) { + // get rid of all text inside the nested table + self->partWordBufferIndex = 0; + self->tableDepth -= 1; + LOG_DBG("EHP", "nested table detected, get rid of its content"); + return; + } // Flush buffer with current style BEFORE any style changes if (self->partWordBufferIndex > 0) { // Flush if style will change OR if we're closing a block/structural element - const bool isInlineTag = !headerOrBlockTag && strcmp(name, "table") != 0 && - !matches(name, IMAGE_TAGS, NUM_IMAGE_TAGS) && self->depth != 1; + const bool isInlineTag = + !headerOrBlockTag && !tableStructuralTag && !matches(name, IMAGE_TAGS, NUM_IMAGE_TAGS) && self->depth != 1; const bool shouldFlush = styleWillChange || headerOrBlockTag || matches(name, BOLD_TAGS, NUM_BOLD_TAGS) || matches(name, ITALIC_TAGS, NUM_ITALIC_TAGS) || - matches(name, UNDERLINE_TAGS, NUM_UNDERLINE_TAGS) || strcmp(name, "table") == 0 || + matches(name, UNDERLINE_TAGS, NUM_UNDERLINE_TAGS) || tableStructuralTag || matches(name, IMAGE_TAGS, NUM_IMAGE_TAGS) || self->depth == 1; if (shouldFlush) { @@ -575,6 +641,21 @@ void XMLCALL ChapterHtmlSlimParser::endElement(void* userData, const XML_Char* n self->skipUntilDepth = INT_MAX; } + if (self->tableDepth == 1 && (strcmp(name, "td") == 0 || strcmp(name, "th") == 0)) { + self->nextWordContinues = false; + } + + if (self->tableDepth == 1 && (strcmp(name, "tr") == 0)) { + self->nextWordContinues = false; + } + + if (self->tableDepth == 1 && strcmp(name, "table") == 0) { + self->tableDepth -= 1; + self->tableRowIndex = 0; + self->tableColIndex = 0; + self->nextWordContinues = false; + } + // Leaving bold tag if (self->boldUntilDepth == self->depth) { self->boldUntilDepth = INT_MAX; diff --git a/lib/Epub/Epub/parsers/ChapterHtmlSlimParser.h b/lib/Epub/Epub/parsers/ChapterHtmlSlimParser.h index f9d622ba9..a496e5c2a 100644 --- a/lib/Epub/Epub/parsers/ChapterHtmlSlimParser.h +++ b/lib/Epub/Epub/parsers/ChapterHtmlSlimParser.h @@ -62,6 +62,9 @@ class ChapterHtmlSlimParser { bool effectiveBold = false; bool effectiveItalic = false; bool effectiveUnderline = false; + int tableDepth = 0; + int tableRowIndex = 0; + int tableColIndex = 0; void updateEffectiveInlineStyle(); void startNewTextBlock(const BlockStyle& blockStyle); diff --git a/test/epubs/test_tables.epub b/test/epubs/test_tables.epub new file mode 100644 index 0000000000000000000000000000000000000000..a7a4d311bc3cffd2e18463770858f9a3c4a54747 GIT binary patch literal 68277 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