[LyX features/features/indexmacros] Fix a warning related to comparing different signedness

2022-09-01 Thread Thibaut Cuvelier
The branch, features/indexmacros, has been updated.

- Log -

commit 5e87cfbf4c0e64f15f0a26c4ac5a29236b1eb962
Author: Thibaut Cuvelier 
Date:   Thu Sep 1 10:57:04 2022 +0200

Fix a warning related to comparing different signedness

diff --git a/src/insets/InsetIndex.cpp b/src/insets/InsetIndex.cpp
index b4a143e..94bfa13 100644
--- a/src/insets/InsetIndex.cpp
+++ b/src/insets/InsetIndex.cpp
@@ -1476,7 +1476,7 @@ bool operator<(IndexEntry const & lhs, IndexEntry const & 
rhs)
if (lhs.terms_.empty())
return false;
 
-   for (int i = 0; i < min(rhs.terms_.size(), lhs.terms_.size()); ++i) {
+   for (unsigned i = 0; i < min(rhs.terms_.size(), lhs.terms_.size()); 
++i) {
int comp = compare_no_case(lhs.terms_[i], rhs.terms_[i]);
if (comp != 0)
return comp < 0;

---

Summary of changes:
 src/insets/InsetIndex.cpp |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)


hooks/post-receive
-- 
Repository for new features
-- 
lyx-cvs mailing list
lyx-cvs@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-cvs


[LyX/master] Small fixes to fr.po related to status bar menu

2022-09-01 Thread Jean-Marc Lasgouttes
commit 9de6768e9c2443d678d7c091e58850a19ba80356
Author: Jean-Marc Lasgouttes 
Date:   Thu Sep 1 17:35:55 2022 +0200

Small fixes to fr.po related to status bar menu
---
 po/fr.gmo |  Bin 632360 -> 632374 bytes
 po/fr.po  |8 
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/po/fr.gmo b/po/fr.gmo
index 78e6c27..50b7811 100644
Binary files a/po/fr.gmo and b/po/fr.gmo differ
diff --git a/po/fr.po b/po/fr.po
index cd4298b..ccbff91 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -20823,7 +20823,7 @@ msgstr "Afficher le degré de zoom|z"
 
 #: lib/ui/stdcontext.inc:733
 msgid "Show Zoom Slider|S"
-msgstr "Afficher la barre de zoom|z"
+msgstr "Afficher la barre de zoom|b"
 
 #: lib/ui/stdcontext.inc:735
 msgid "Show Word Count|W"
@@ -20831,11 +20831,11 @@ msgstr "Afficher le décompte des mots|m"
 
 #: lib/ui/stdcontext.inc:736
 msgid "Show Character Count (Incl. Blanks)|C"
-msgstr "Afficher le décompte des mots (avec les espaces)|a"
+msgstr "Afficher le décompte des caractères (avec les espaces)|c"
 
 #: lib/ui/stdcontext.inc:737
 msgid "Show Character Count (Without Blanks)|h"
-msgstr "Afficher le décompte des mots (sans les espaces)|s"
+msgstr "Afficher le décompte des caractères (sans les espaces)|s"
 
 #: lib/ui/stdmenus.inc:30
 msgid "File|F"
@@ -35733,7 +35733,7 @@ msgstr "Augmenter le zoom|A"
 
 #: src/frontends/qt/Menus.cpp:1837
 msgid "Zoom Out|O"
-msgstr "Réduire le zoom[R"
+msgstr "Réduire le zoom|R"
 
 #: src/frontends/qt/Menus.cpp:1879
 msgid "No Quote in Scope!"
-- 
lyx-cvs mailing list
lyx-cvs@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-cvs


[LyX/master] InsetTabular: move more helper methods to private

2022-09-01 Thread Thibaut Cuvelier
commit 8074b696bcb8a3d8fe2f86bcef4233ba01763a41
Author: Thibaut Cuvelier 
Date:   Fri Sep 2 01:29:19 2022 +0200

InsetTabular: move more helper methods to private
---
 src/insets/InsetTabular.h |   65 
 1 files changed, 35 insertions(+), 30 deletions(-)

diff --git a/src/insets/InsetTabular.h b/src/insets/InsetTabular.h
index 6896323..1c07ba0 100644
--- a/src/insets/InsetTabular.h
+++ b/src/insets/InsetTabular.h
@@ -919,40 +919,10 @@ public:
///
BoxType useBox(idx_type cell) const;
///
-   // helper function for Latex
-   ///
-   void TeXTopHLine(otexstream &, row_type row, std::list,
-std::list) const;
-   ///
-   void TeXBottomHLine(otexstream &, row_type row, std::list,
-   std::list) const;
-   ///
-   void TeXCellPreamble(otexstream &, idx_type cell, bool & ismulticol, 
bool & ismultirow,
-bool const bidi) const;
-   ///
-   void TeXCellPostamble(otexstream &, idx_type cell, bool ismulticol, 
bool ismultirow) const;
-   ///
-   void TeXLongtableHeaderFooter(otexstream &, OutputParams const &, 
std::list,
- std::list) const;
-   ///
bool isValidRow(row_type const row) const;
///
void TeXRow(otexstream &, row_type const row,
OutputParams const &, std::list, 
std::list) const;
-   ///
-   // helper functions for plain text
-   ///
-   bool plaintextTopHLine(odocstringstream &, row_type row,
-  std::vector const &) const;
-   ///
-   bool plaintextBottomHLine(odocstringstream &, row_type row,
- std::vector const &) const;
-   ///
-   void plaintextPrintCell(odocstringstream &,
-   OutputParams const &,
-   idx_type cell, row_type row, col_type column,
-   std::vector const &,
-   bool onlydata, size_t max_length) const;
 
/// change associated Buffer
void setBuffer(Buffer & buffer);
@@ -964,6 +934,9 @@ public:
 private:
Buffer * buffer_;
 
+   ///
+   // helper function for DocBook
+   ///
/// Determines whether the tabular item should be generated as DocBook 
or XHTML.
enum class XmlOutputFormat : bool {
XHTML = true,
@@ -985,6 +958,38 @@ private:
XmlRowWiseBorders computeXmlBorders(row_type row) const;
std::vector computeCssStylePerCell(row_type row, col_type 
col, idx_type cell) const;
 
+   ///
+   // helper functions for plain text
+   ///
+   bool plaintextTopHLine(odocstringstream &, row_type row,
+  std::vector const &) const;
+   ///
+   bool plaintextBottomHLine(odocstringstream &, row_type row,
+ std::vector const &) const;
+   ///
+   void plaintextPrintCell(odocstringstream &,
+   OutputParams const &,
+   idx_type cell, row_type row, col_type column,
+   std::vector const &,
+   bool onlydata, size_t max_length) const;
+
+   ///
+   // helper function for LaTeX
+   ///
+   void TeXTopHLine(otexstream &, row_type row, std::list,
+std::list) const;
+   ///
+   void TeXBottomHLine(otexstream &, row_type row, std::list,
+   std::list) const;
+   ///
+   void TeXCellPreamble(otexstream &, idx_type cell, bool & ismulticol, 
bool & ismultirow,
+bool const bidi) const;
+   ///
+   void TeXCellPostamble(otexstream &, idx_type cell, bool ismulticol, 
bool ismultirow) const;
+   ///
+   void TeXLongtableHeaderFooter(otexstream &, OutputParams const &, 
std::list,
+ std::list) const;
+
 }; // Tabular
 
 
-- 
lyx-cvs mailing list
lyx-cvs@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-cvs


[LyX/master] InsetTabular: move XML helper methods to private

2022-09-01 Thread Thibaut Cuvelier
commit ff9f3c774edb513dab96e33fbc18a6856e3ab323
Author: Thibaut Cuvelier 
Date:   Thu Sep 1 23:35:52 2022 +0200

InsetTabular: move XML helper methods to private

They are not needed outside InsetTabular.
---
 src/insets/InsetTabular.h |   29 +++--
 1 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/src/insets/InsetTabular.h b/src/insets/InsetTabular.h
index 73e61f2..1bd49f1 100644
--- a/src/insets/InsetTabular.h
+++ b/src/insets/InsetTabular.h
@@ -953,20 +953,6 @@ public:
idx_type cell, row_type row, col_type column,
std::vector const &,
bool onlydata, size_t max_length) const;
-   ///
-   docstring xmlRow(XMLStream & xs, row_type row, OutputParams const &,
-bool header = false, bool is_xhtml = true,
-BufferParams::TableOutput 
docbook_table_output = BufferParams::TableOutput::HTMLTable) const;
-   void xmlHeader(XMLStream & xs, OutputParams const &, bool is_xhtml) 
const;
-   void xmlFooter(XMLStream & xs, OutputParams const &, bool is_xhtml) 
const;
-   void xmlBody(XMLStream & xs, OutputParams const &, bool is_xhtml) const;
-   XmlRowWiseBorders computeXmlBorders(row_type row) const;
-   std::vector computeCssStylePerCell(row_type row, col_type 
col, idx_type cell) const;
-
-   /// Transforms the vertical alignment of the given cell as a prebaked 
XML attribute (for HTML and CALS).
-   std::string getHAlignAsXmlAttribute(idx_type cell, bool is_xhtml = 
true) const;
-   /// Transforms the vertical alignment of the given cell as a prebaked 
XML attribute (for HTML and CALS).
-   std::string getVAlignAsXmlAttribute(idx_type cell) const;
 
/// change associated Buffer
void setBuffer(Buffer & buffer);
@@ -978,6 +964,21 @@ public:
 private:
Buffer * buffer_;
 
+   /// Transforms the vertical alignment of the given cell as a prebaked 
XML attribute (for HTML and CALS).
+   std::string getHAlignAsXmlAttribute(idx_type cell, XmlOutputFormat 
output_format) const;
+   /// Transforms the vertical alignment of the given cell as a prebaked 
XML attribute (for HTML and CALS).
+   std::string getVAlignAsXmlAttribute(idx_type cell) const;
+
+   /// Helpers for XML tables (XHTML or DocBook).
+   docstring xmlRow(XMLStream & xs, row_type row, OutputParams const &,
+bool header = false, bool is_xhtml = true,
+BufferParams::TableOutput docbook_table_output = 
BufferParams::TableOutput::HTMLTable) const;
+   void xmlHeader(XMLStream & xs, OutputParams const &, bool is_xhtml) 
const;
+   void xmlFooter(XMLStream & xs, OutputParams const &, bool is_xhtml) 
const;
+   void xmlBody(XMLStream & xs, OutputParams const &, bool is_xhtml) const;
+   XmlRowWiseBorders computeXmlBorders(row_type row) const;
+   std::vector computeCssStylePerCell(row_type row, col_type 
col, idx_type cell) const;
+
 }; // Tabular
 
 
-- 
lyx-cvs mailing list
lyx-cvs@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-cvs


[LyX/master] DocBook: amend 50374e38e1

2022-09-01 Thread Thibaut Cuvelier
commit 3637d6d408332c9acd293e0afde073de0a5dfa6e
Author: Thibaut Cuvelier 
Date:   Thu Sep 1 23:33:56 2022 +0200

DocBook: amend 50374e38e1

All table rows were generated in the same XML dialect, irrespectively of 
the caller context (XHTML or DocBook).
---
 src/insets/InsetTabular.cpp |   35 ++-
 src/insets/InsetTabular.h   |6 +++---
 2 files changed, 21 insertions(+), 20 deletions(-)

diff --git a/src/insets/InsetTabular.cpp b/src/insets/InsetTabular.cpp
index 011146e..e813fc7 100644
--- a/src/insets/InsetTabular.cpp
+++ b/src/insets/InsetTabular.cpp
@@ -3726,8 +3726,8 @@ std::vector 
Tabular::computeCssStylePerCell(row_type row, col_type
 }
 
 
-docstring Tabular::xmlRow(XMLStream & xs, row_type row, OutputParams const & 
runparams,
-   bool header, bool is_xhtml, BufferParams::TableOutput 
docbook_table_output) const
+docstring Tabular::xmlRow(XMLStream & xs, const row_type row, OutputParams 
const & runparams,
+   const bool header, const bool is_xhtml, BufferParams::TableOutput 
docbook_table_output) const
 {
docstring ret;
const bool is_xhtml_table = is_xhtml || docbook_table_output == 
BufferParams::TableOutput::HTMLTable;
@@ -3809,7 +3809,7 @@ docstring Tabular::xmlRow(XMLStream & xs, row_type row, 
OutputParams const & run
 }
 
 
-void Tabular::xmlHeader(XMLStream & xs, OutputParams const & runparams) const
+void Tabular::xmlHeader(XMLStream & xs, OutputParams const & runparams, const 
bool is_xhtml) const
 {
// Output the header of the table. For both HTML and CALS, this is 
surrounded by a thead.
bool const have_first_head = haveLTFirstHead(false);
@@ -3824,7 +3824,7 @@ void Tabular::xmlHeader(XMLStream & xs, OutputParams 
const & runparams) const
if (((have_first_head && row_info[r].endfirsthead) ||
 (have_head && row_info[r].endhead)) &&
!row_info[r].caption) {
-   xmlRow(xs, r, runparams, true, false, 
buffer().params().docbook_table_output);
+   xmlRow(xs, r, runparams, true, is_xhtml, 
buffer().params().docbook_table_output);
}
}
xs << xml::EndTag("thead");
@@ -3833,7 +3833,7 @@ void Tabular::xmlHeader(XMLStream & xs, OutputParams 
const & runparams) const
 }
 
 
-void Tabular::xmlFooter(XMLStream & xs, OutputParams const & runparams) const
+void Tabular::xmlFooter(XMLStream & xs, OutputParams const & runparams, const 
bool is_xhtml) const
 {
// Output the footer of the table. For both HTML and CALS, this is 
surrounded by a tfoot and output just after
// the header (and before the body).
@@ -3846,7 +3846,7 @@ void Tabular::xmlFooter(XMLStream & xs, OutputParams 
const & runparams) const
if (((have_last_foot && row_info[r].endlastfoot) ||
 (have_foot && row_info[r].endfoot)) &&
!row_info[r].caption) {
-   xmlRow(xs, r, runparams, false, false, 
buffer().params().docbook_table_output);
+   xmlRow(xs, r, runparams, false, is_xhtml, 
buffer().params().docbook_table_output);
}
}
xs << xml::EndTag("tfoot");
@@ -3855,7 +3855,7 @@ void Tabular::xmlFooter(XMLStream & xs, OutputParams 
const & runparams) const
 }
 
 
-void Tabular::xmlBody(XMLStream & xs, OutputParams const & runparams) const
+void Tabular::xmlBody(XMLStream & xs, OutputParams const & runparams, const 
bool is_xhtml) const
 {
// Output the main part of the table. The tbody container is mandatory 
for CALS, but optional for HTML (only if
// there is no header and no footer). It never hurts to have it, though.
@@ -3863,7 +3863,7 @@ void Tabular::xmlBody(XMLStream & xs, OutputParams const 
& runparams) const
xs << xml::CR();
for (row_type r = 0; r < nrows(); ++r)
if (isValidRow(r))
-   xmlRow(xs, r, runparams, false, false, 
buffer().params().docbook_table_output);
+   xmlRow(xs, r, runparams, false, is_xhtml, 
buffer().params().docbook_table_output);
xs << xml::EndTag("tbody");
xs << xml::CR();
 }
@@ -3908,9 +3908,9 @@ void Tabular::docbook(XMLStream & xs, OutputParams const 
& runparams) const
}
}
 
-   xmlHeader(xs, runparams);
-   xmlFooter(xs, runparams);
-   xmlBody(xs, runparams);
+   xmlHeader(xs, runparams, false);
+   xmlFooter(xs, runparams, false);
+   xmlBody(xs, runparams, false);
 
// If this method started the table tag, also make it close it.
if (!runparams.docbook_in_table) {
@@ -3925,7 +3925,7 @@ docstring Tabular::xhtml(XMLStream & xs, OutputParams 
const & runparams) const
docstring ret;
 
if (is_long_tabular) {
-   // we'll wrap it in a div, 

[LyX/master] InsetTabular: fix a typo

2022-09-01 Thread Thibaut Cuvelier
commit 962785cb0f112ac3dfeb60b661af6b5d386a7824
Author: Thibaut Cuvelier 
Date:   Fri Sep 2 01:30:25 2022 +0200

InsetTabular: fix a typo
---
 src/insets/InsetTabular.h |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/insets/InsetTabular.h b/src/insets/InsetTabular.h
index 1c07ba0..4356777 100644
--- a/src/insets/InsetTabular.h
+++ b/src/insets/InsetTabular.h
@@ -702,7 +702,7 @@ public:
/// can return different things. this is because cellIndex(r,c)
/// returns the VISIBLE cell at r,c, which may be the same as the
/// cell at the previous row or column, if we're dealing with some
-   /// multirow or multicell.
+   /// multirow or multicolumn.
std::shared_ptr cellInset(idx_type cell);
std::shared_ptr cellInset(row_type row, col_type 
column);
InsetTableCell const * cellInset(idx_type cell) const;
-- 
lyx-cvs mailing list
lyx-cvs@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-cvs


[LyX/master] InsetTabular: replace a Boolean parameter to choose between XHTML and DocBook by an enum class

2022-09-01 Thread Thibaut Cuvelier
commit 89c203faa4f1aea1f530dd226afcb605242d11c4
Author: Thibaut Cuvelier 
Date:   Fri Sep 2 01:26:20 2022 +0200

InsetTabular: replace a Boolean parameter to choose between XHTML and 
DocBook by an enum class

The only goal is to improve code readability: this enum class is strictly 
equivalent to a Boolean, with the same meaning as the previous is_xhtml 
arguments (arbitrary choice).
---
 src/insets/InsetTabular.cpp |   47 ++-
 src/insets/InsetTabular.h   |   14 +---
 2 files changed, 34 insertions(+), 27 deletions(-)

diff --git a/src/insets/InsetTabular.cpp b/src/insets/InsetTabular.cpp
index e813fc7..bfb78a0 100644
--- a/src/insets/InsetTabular.cpp
+++ b/src/insets/InsetTabular.cpp
@@ -3628,9 +3628,8 @@ std::string Tabular::getVAlignAsXmlAttribute(idx_type 
cell) const
 }
 
 
-std::string Tabular::getHAlignAsXmlAttribute(idx_type cell, bool is_xhtml) 
const
+std::string Tabular::getHAlignAsXmlAttribute(idx_type cell, const 
XmlOutputFormat output_format) const
 {
-   // TODO: the Boolean flag isn't really clean; switch to an enum at some 
point.
switch (getAlignment(cell)) {
case LYX_ALIGN_LEFT:
return "align='left'";
@@ -3639,7 +3638,7 @@ std::string Tabular::getHAlignAsXmlAttribute(idx_type 
cell, bool is_xhtml) const
 
default:
// HTML only supports left, right, and center.
-   if (is_xhtml)
+   if (output_format == XmlOutputFormat::XHTML)
return "align='center'";
 
// DocBook also has justify and decimal.
@@ -3727,11 +3726,13 @@ std::vector 
Tabular::computeCssStylePerCell(row_type row, col_type
 
 
 docstring Tabular::xmlRow(XMLStream & xs, const row_type row, OutputParams 
const & runparams,
-   const bool header, const bool is_xhtml, BufferParams::TableOutput 
docbook_table_output) const
+   const bool header, const XmlOutputFormat output_format, 
BufferParams::TableOutput docbook_table_output) const
 {
docstring ret;
-   const bool is_xhtml_table = is_xhtml || docbook_table_output == 
BufferParams::TableOutput::HTMLTable;
-   const bool is_cals_table = !is_xhtml && docbook_table_output == 
BufferParams::TableOutput::CALSTable;
+   const bool is_xhtml_table = output_format == XmlOutputFormat::XHTML ||
+   docbook_table_output == 
BufferParams::TableOutput::HTMLTable;
+   const bool is_cals_table = output_format == XmlOutputFormat::DOCBOOK &&
+   docbook_table_output == 
BufferParams::TableOutput::CALSTable;
 
std::string const row_tag = is_xhtml_table ? "tr" : "row";
std::string const cell_tag = is_xhtml_table ? (header ? "th" : "td") : 
"entry";
@@ -3772,7 +3773,7 @@ docstring Tabular::xmlRow(XMLStream & xs, const row_type 
row, OutputParams const
attr << "rowsep='1' ";
}
 
-   attr << getHAlignAsXmlAttribute(cell, false) << " " << 
getVAlignAsXmlAttribute(cell);
+   attr << getHAlignAsXmlAttribute(cell, output_format) << " " << 
getVAlignAsXmlAttribute(cell);
 
if (is_xhtml_table) {
if (isMultiColumn(cell))
@@ -3790,9 +3791,9 @@ docstring Tabular::xmlRow(XMLStream & xs, const row_type 
row, OutputParams const
 
// Render the cell as either XHTML or DocBook.
xs << xml::StartTag(cell_tag, attr.str(), true);
-   if (is_xhtml) {
+   if (output_format == XmlOutputFormat::XHTML) {
ret += cellInset(cell)->xhtml(xs, runparams);
-   } else {
+   } else if (output_format == XmlOutputFormat::DOCBOOK) {
// DocBook: no return value for this function.
OutputParams rp = runparams;
rp.docbook_in_par = false;
@@ -3809,7 +3810,7 @@ docstring Tabular::xmlRow(XMLStream & xs, const row_type 
row, OutputParams const
 }
 
 
-void Tabular::xmlHeader(XMLStream & xs, OutputParams const & runparams, const 
bool is_xhtml) const
+void Tabular::xmlHeader(XMLStream & xs, OutputParams const & runparams, const 
XmlOutputFormat output_format) const
 {
// Output the header of the table. For both HTML and CALS, this is 
surrounded by a thead.
bool const have_first_head = haveLTFirstHead(false);
@@ -3824,7 +3825,7 @@ void Tabular::xmlHeader(XMLStream & xs, OutputParams 
const & runparams, const bo
if (((have_first_head && row_info[r].endfirsthead) ||
 (have_head && row_info[r].endhead)) &&
!row_info[r].caption) {
-   xmlRow(xs, r, runparams, true, is_xhtml, 
buffer().params().docbook_table_output);
+   xmlRow(xs, r, runparams, true, output_format, 
buffer().params().docbook_table_output);
}

[LyX/master] MathML: should display "Text" MathFont using proper tag

2022-09-01 Thread Thibaut Cuvelier
commit 5b405426f140c55fff696d813230c52e2787d22a
Author: Thibaut Cuvelier 
Date:   Fri Sep 2 01:57:06 2022 +0200

MathML: should display "Text" MathFont using proper  tag

Fixes bug 12397

Contributed by lynx
---
 src/mathed/InsetMathFont.cpp |   29 -
 src/mathed/MathExtern.cpp|   15 +--
 2 files changed, 25 insertions(+), 19 deletions(-)

diff --git a/src/mathed/InsetMathFont.cpp b/src/mathed/InsetMathFont.cpp
index 2a0cb99..7a1a18d 100644
--- a/src/mathed/InsetMathFont.cpp
+++ b/src/mathed/InsetMathFont.cpp
@@ -198,22 +198,18 @@ void InsetMathFont::mathmlize(MathMLStream & ms) const
// the fonts already in effect.
std::string variant;
docstring const & tag = key_->name;
-   if (tag == "mathnormal" || tag == "mathrm"
-   || tag == "text" || tag == "textnormal"
-   || tag == "textrm" || tag == "textup"
-   || tag == "textmd")
+   if (tag == "mathnormal" || tag == "mathrm")
variant = "normal";
else if (tag == "frak" || tag == "mathfrak")
variant = "fraktur";
else if (tag == "mathbf" || tag == "textbf")
variant = "bold";
-   else if (tag == "mathbb" || tag == "mathbbm"
-|| tag == "mathds")
+   else if (tag == "mathbb" || tag == "mathbbm" || tag == "mathds")
variant = "double-struck";
else if (tag == "mathcal")
variant = "script";
-   else if (tag == "mathit" || tag == "textsl"
-|| tag == "emph" || tag == "textit")
+   else if (tag == "mathit" || tag == "textsl" || tag == "emph" ||
+   tag == "textit")
variant = "italic";
else if (tag == "mathsf" || tag == "textsf")
variant = "sans-serif";
@@ -221,12 +217,19 @@ void InsetMathFont::mathmlize(MathMLStream & ms) const
variant = "monospace";
// no support at present for textipa, textsc, noun
 
-   if (!variant.empty())
-   ms << MTag("mstyle", "mathvariant='" + variant + "'")
-  << cell(0)
-  << ETag("mstyle");
-   else
+   if (tag == "text" || tag == "textnormal" || tag == "textrm" ||
+   tag == "textup" || tag == "textmd") {
+   SetMode textmode(ms, true);
+   ms << MTagInline("mtext");
ms << cell(0);
+   ms << ETagInline("mtext");
+   } else if (!variant.empty()) {
+   ms << MTag("mstyle", "mathvariant='" + variant + "'");
+   ms << cell(0);
+   ms << ETag("mstyle");
+   } else {
+   ms << cell(0);
+   }
 }
 
 
diff --git a/src/mathed/MathExtern.cpp b/src/mathed/MathExtern.cpp
index 527543a..daf1719 100644
--- a/src/mathed/MathExtern.cpp
+++ b/src/mathed/MathExtern.cpp
@@ -1594,15 +1594,18 @@ void mathmlize(MathData const & dat, MathMLStream & ms)
 {
MathData ar = dat;
extractStructure(ar, MATHML);
-   if (ar.empty())
-   ms << CTag("mrow");
-   else if (ar.size() == 1)
+   if (ar.empty()) {
+   if (!ms.inText())
+   ms << CTag("mrow");
+   } else if (ar.size() == 1) {
ms << ar.front();
-   else {
-   ms << MTag("mrow");
+   } else {
+   if (!ms.inText())
+   ms << MTag("mrow");
for (MathData::const_iterator it = ar.begin(); it != ar.end(); 
++it)
(*it)->mathmlize(ms);
-   ms << ETag("mrow");
+   if (!ms.inText())
+   ms << ETag("mrow");
}
 }
 
-- 
lyx-cvs mailing list
lyx-cvs@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-cvs


[LyX/master] MathML: amend 26300c565f as discussed in bug 12513

2022-09-01 Thread Thibaut Cuvelier
commit 0bda6950e4578febfd379bd8f44efe7787f26988
Author: Thibaut Cuvelier 
Date:   Fri Sep 2 02:00:12 2022 +0200

MathML: amend 26300c565f as discussed in bug 12513

Contributed by lynx
---
 src/mathed/InsetMathFrac.cpp |2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/src/mathed/InsetMathFrac.cpp b/src/mathed/InsetMathFrac.cpp
index 3ad0dfe..2431f68 100644
--- a/src/mathed/InsetMathFrac.cpp
+++ b/src/mathed/InsetMathFrac.cpp
@@ -546,13 +546,11 @@ void InsetMathFrac::mathmlize(MathMLStream & ms) const
if (nargs() == 2) {
ms << MTag("mrow");
ms << cell(0);
-   SetMode textmode(ms, true);
ms << MTagInline("mstyle mathvariant='normal'");
ms << cell(1);
ms << ETagInline("mstyle");
ms << ETag("mrow");
} else {
-   SetMode textmode(ms, true);
ms << MTag("mstyle mathvariant='normal'");
ms << cell(0);
ms << ETag("mstyle");
-- 
lyx-cvs mailing list
lyx-cvs@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-cvs