commit f758894c2fc78f33be0c8bd60c2fd0a1f470056e
Author: Jean-Marc Lasgouttes <[email protected]>
Date: Fri Jul 10 17:17:15 2020 +0200
Use Common Number separator instead of European to detect numbers
The is a fixup to commit 611df441. It seems that the wrong unicode
property was selected. It could be that both classes should be used.
Fixes bug #11900.
---
src/Text.cpp | 6 +++---
src/support/lstrings.cpp | 4 ++--
src/support/textutils.h | 4 ++--
3 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/src/Text.cpp b/src/Text.cpp
index 4b897bb..2da97f6 100644
--- a/src/Text.cpp
+++ b/src/Text.cpp
@@ -1012,11 +1012,11 @@ void Text::insertChar(Cursor & cur, char_type c)
static docstring const number_operators = from_ascii("+-/*");
static docstring const number_unary_operators =
from_ascii("+-");
- // European Number Separators: comma, dot etc.
+ // Common Number Separators: comma, dot etc.
// European Number Terminators: percent, permille, degree, euro
etc.
if (cur.current_font.fontInfo().number() == FONT_ON) {
if (!isDigitASCII(c) && !contains(number_operators, c)
&&
- !(isEuropeanNumberSeparator(c) &&
+ !(isCommonNumberSeparator(c) &&
cur.pos() != 0 &&
cur.pos() != cur.lastpos() &&
tm.displayFont(pit,
cur.pos()).fontInfo().number() == FONT_ON &&
@@ -1041,7 +1041,7 @@ void Text::insertChar(Cursor & cur, char_type c)
) {
setCharFont(pit, cur.pos() - 1,
cur.current_font,
tm.font_);
- } else if (isEuropeanNumberSeparator(ch)
+ } else if (isCommonNumberSeparator(ch)
&& cur.pos() >= 2
&& tm.displayFont(pit, cur.pos() -
2).fontInfo().number() == FONT_ON) {
setCharFont(pit, cur.pos() - 1,
cur.current_font,
diff --git a/src/support/lstrings.cpp b/src/support/lstrings.cpp
index 377645a..df356ba 100644
--- a/src/support/lstrings.cpp
+++ b/src/support/lstrings.cpp
@@ -164,13 +164,13 @@ bool isNumber(char_type c)
}
-bool isEuropeanNumberSeparator(char_type c)
+bool isCommonNumberSeparator(char_type c)
{
if (!is_utf16(c))
// assume that no non-utf16 character is a numeral
// c outside the UCS4 range is caught as well
return false;
- return ucs4_to_qchar(c).direction() == QChar::DirES;
+ return ucs4_to_qchar(c).direction() == QChar::DirCS;
}
diff --git a/src/support/textutils.h b/src/support/textutils.h
index 314ea75..3c29c92 100644
--- a/src/support/textutils.h
+++ b/src/support/textutils.h
@@ -45,8 +45,8 @@ bool isSpace(char_type c);
bool isNumber(char_type c);
/// return true if a unicode char has the direction attribute
-/// European Number Separator [ES]
-bool isEuropeanNumberSeparator(char_type c);
+/// Common Number Separator [CS]
+bool isCommonNumberSeparator(char_type c);
/// return true if a unicode char has the direction attribute
/// European Number Terminator [ET]
--
lyx-cvs mailing list
[email protected]
http://lists.lyx.org/mailman/listinfo/lyx-cvs