From b697f0ccc89f742aa9bbc9322703221f31df874e Mon Sep 17 00:00:00 2001 From: Niklas Poslovski Date: Sun, 26 Jan 2025 11:54:28 +0100 Subject: [PATCH] RTFTranslator: Add support for struck-out text Change-Id: I900d305328513921068ad63a0e3345578bc61c04 Reviewed-on: https://review.haiku-os.org/c/haiku/+/8862 Tested-by: Commit checker robot Reviewed-by: John Scipione --- src/add-ons/translators/rtf/convert.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/add-ons/translators/rtf/convert.cpp b/src/add-ons/translators/rtf/convert.cpp index 3474666c80..5dece50b1c 100644 --- a/src/add-ons/translators/rtf/convert.cpp +++ b/src/add-ons/translators/rtf/convert.cpp @@ -459,13 +459,17 @@ TextOutput::Command(RTF::Command *command) PrepareTextRun(fCurrentRun); set_font_face(fCurrentRun->font, B_BOLD_FACE, command->Option() != 0); } else if (!strcmp(name, "i")) { - // bold style + // italic style PrepareTextRun(fCurrentRun); set_font_face(fCurrentRun->font, B_ITALIC_FACE, command->Option() != 0); } else if (!strcmp(name, "ul")) { - // bold style + // underscore style PrepareTextRun(fCurrentRun); set_font_face(fCurrentRun->font, B_UNDERSCORE_FACE, command->Option() != 0); + } else if (!strcmp(name, "strike")) { + // strikeout style + PrepareTextRun(fCurrentRun); + set_font_face(fCurrentRun->font, B_STRIKEOUT_FACE, command->Option() != 0); } else if (!strcmp(name, "fs")) { // font size in half points PrepareTextRun(fCurrentRun); @@ -779,6 +783,8 @@ status_t convert_styled_text_to_rtf( rtfFile << "\\ul"; if (fontFace & B_BOLD_FACE) rtfFile << "\\b"; + if (fontFace & B_STRIKEOUT_FACE) + rtfFile << "\\strike"; // RTF font size unit is half-points, but BFont::Size() returns // points