commit e5f42f67d01819645f23c7348bddfc3603472139
Author: Jean-Marc Lasgouttes <[email protected]>
Date: Fri Oct 9 16:16:13 2015 +0200
Fix display of perenthesis in Hebrew documents
This was a regression from 2.1.x. I failed to copy the horrible hack that
was present for the special case of () in Hebrew.
There is a real need for someone who understands RTL language stuff to fix
this. Currently () are wrong in .lyx files IMO. We should not have to swap them
for display.
diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp
index d62dae7..902c62d 100644
--- a/src/TextMetrics.cpp
+++ b/src/TextMetrics.cpp
@@ -28,6 +28,7 @@
#include "CutAndPaste.h"
#include "HSpace.h"
#include "InsetList.h"
+#include "Language.h"
#include "Layout.h"
#include "LyXRC.h"
#include "MetricsInfo.h"
@@ -819,8 +820,17 @@ void TextMetrics::breakRow(Row & row, int const
right_margin, pit_type const pit
} else if (c == '\t')
row.addSpace(i, theFontMetrics(*fi).width(from_ascii("
")),
*fi, par.lookupChange(i));
- else
+ else {
+ // FIXME: please someone fix the Hebrew/Arabic
parenthesis mess!
+ // see also Paragraph::getUChar.
+ if (fi->language()->lang() == "hebrew") {
+ if (c == '(')
+ c = ')';
+ else if (c == ')')
+ c = '(';
+ }
row.add(i, c, *fi, par.lookupChange(i));
+ }
// add inline completion width
// draw logically behind the previous character