[LyX/master] Use utf8 strings for previewed labels when possible
Enrico Forestieri
forenr at lyx.org
Thu Aug 10 15:20:00 UTC 2023
commit 4fa0fbe5bfd01bf3878db53852f74478c0f2da5d
Author: Enrico Forestieri <forenr at lyx.org>
Date: Thu Aug 10 18:34:17 2023 +0200
Use utf8 strings for previewed labels when possible
Fixes bug #12842.
---
src/mathed/InsetMathHull.cpp | 14 ++++++++++----
1 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/src/mathed/InsetMathHull.cpp b/src/mathed/InsetMathHull.cpp
index fc7dbe5..9c64180 100644
--- a/src/mathed/InsetMathHull.cpp
+++ b/src/mathed/InsetMathHull.cpp
@@ -1659,10 +1659,16 @@ void InsetMathHull::eol(TeXMathStream & os, row_type row, bool fragile, bool lat
bool last_eoln) const
{
if (numberedType()) {
+ bool const for_preview =
+ (os.output() == TeXMathStream::wsPreview);
if (label_[row]) {
- docstring const name =
- latex ? escape(label_[row]->getParam("name"))
- : label_[row]->getParam("name");
+ // Use utf8 strings for previewed labels when possible
+ bool use_utf8 = for_preview &&
+ (buffer().params().useNonTeXFonts ||
+ buffer().params().encoding().package() == Encoding::japanese);
+ docstring const name = (latex && !use_utf8)
+ ? escape(label_[row]->getParam("name"))
+ : label_[row]->getParam("name");
os << "\\label{" + name + '}';
}
if (type_ != hullMultline) {
@@ -1671,7 +1677,7 @@ void InsetMathHull::eol(TeXMathStream & os, row_type row, bool fragile, bool lat
else if (numbered_[row] == NOTAG)
os<< "\\notag ";
}
- if (os.output() == TeXMathStream::wsPreview && !numbers_[row].empty()) {
+ if (for_preview && !numbers_[row].empty()) {
os << "\\global\\def\\theequation{" << numbers_[row] << "}\n";
}
More information about the lyx-cvs
mailing list