tdf#156050: Fix how misspelling line is calculated for RTL text

Partially revert:

commit 74b6c5ea3c333de7c5e7ef8636732edadd9083f2
Author: Khaled Hosny <khaled@libreoffice.org>
Date:   Thu Jun 8 16:41:18 2023 +0300

    tdf#151968: Fix vertical position of RTL spelling wavy line

Instead of changing how fStart and fEnd are calculated, calculate them
like before then swap them. This seems to be more reliable, and matches
what we do in Writer.

Change-Id: Ia15408881666a86151a12fcf016cc81c1568f7e5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153572
Tested-by: Jenkins
Reviewed-by: خالد حسني <khaled@libreoffice.org>
(cherry picked from commit 7d4d1728fe794620fe918e44e23c20f25ed5bce8)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153596
diff --git a/svx/source/svdraw/svdotextdecomposition.cxx b/svx/source/svdraw/svdotextdecomposition.cxx
index 726ee85..5d7c512 100644
--- a/svx/source/svdraw/svdotextdecomposition.cxx
+++ b/svx/source/svdraw/svdotextdecomposition.cxx
@@ -427,12 +427,14 @@ namespace
                        // full portion width
                        const double fTextWidth(aDXArray[aDXArray.size() - 1]);

                        fStart = fTextWidth - fStart;
                        fEnd = fTextWidth - fEnd;

                        // tdf#151968
                        // if start < end, OutputDevice::DrawWaveLine() will
                        // think it is a rotated line, so we swap fStart and
                        // fEnd to avoid this.
                        fStart = fTextWidth - fEnd;
                        fEnd = fTextWidth - fStart;
                        std::swap(fStart, fEnd);
                    }

                    // need to take FontScaling out of values; it's already part of