Add constants

Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
jpirnay
2026-04-30 12:12:28 +02:00
co-authored by Copilot
parent 867bd34798
commit b6c90fdac6
+13 -2
View File
@@ -123,6 +123,17 @@ std::string buildLinePreview(const std::vector<std::string>& words, const std::v
return preview;
}
constexpr int kBionicReadingMinCodepoints = 4;
constexpr int kBionicReadingMinBoldPrefix = 1;
constexpr int kBionicReadingBoldPrefixNumerator = 1;
constexpr int kBionicReadingBoldPrefixDenominator = 2;
static int computeBionicBoldPrefixCount(const int codepointCount) {
return std::max(kBionicReadingMinBoldPrefix,
(codepointCount * kBionicReadingBoldPrefixNumerator + kBionicReadingBoldPrefixDenominator - 1) /
kBionicReadingBoldPrefixDenominator);
}
} // namespace
void ParsedText::addWord(std::string word, const EpdFontFamily::Style fontStyle, const bool underline,
@@ -532,14 +543,14 @@ void ParsedText::applyBionicReadingTransform() {
codepointCount++;
}
if (codepointCount <= 3) {
if (codepointCount < kBionicReadingMinCodepoints) {
transformedWords.push_back(word);
transformedStyles.push_back(originalStyle);
transformedContinues.push_back(attachToPrevious);
continue;
}
const int boldPrefixCount = std::max(1, (codepointCount + 1) / 2);
const int boldPrefixCount = computeBionicBoldPrefixCount(codepointCount);
ptr = reinterpret_cast<const unsigned char*>(word.c_str());
const unsigned char* prefixEnd = ptr;
for (int j = 0; j < boldPrefixCount && *prefixEnd; ++j) {