Add language support to Epub metadata and hyphenation logic

This commit is contained in:
Arthur Tazhitdinov
2026-01-08 02:32:52 +05:00
parent 4f94cf2c36
commit 61d0e1cadf
11 changed files with 86 additions and 25 deletions

View File

@@ -74,9 +74,16 @@ bool Epub::parseContentOpf(BookMetadataCache::BookMetadata& bookMetadata) {
// Grab data from opfParser into epub
bookMetadata.title = opfParser.title;
bookMetadata.author = opfParser.author;
bookMetadata.language = opfParser.language;
bookMetadata.coverItemHref = opfParser.coverItemHref;
bookMetadata.textReferenceHref = opfParser.textReferenceHref;
if (!bookMetadata.language.empty()) {
Serial.printf("[%lu] [EBP] OPF language: %s\n", millis(), bookMetadata.language.c_str());
} else {
Serial.printf("[%lu] [EBP] OPF language: <none>\n", millis());
}
if (!opfParser.tocNcxPath.empty()) {
tocNcxItem = opfParser.tocNcxPath;
}
@@ -345,6 +352,15 @@ const std::string& Epub::getAuthor() const {
return bookMetadataCache->coreMetadata.author;
}
const std::string& Epub::getLanguage() const {
static std::string blank;
if (!bookMetadataCache || !bookMetadataCache->isLoaded()) {
return blank;
}
return bookMetadataCache->coreMetadata.language;
}
std::string Epub::getCoverBmpPath() const { return cachePath + "/cover.bmp"; }
bool Epub::generateCoverBmp() const {