[LyX/master] Hack to display section symbol

Richard Kimberly Heck rikiheck at lyx.org
Fri Jul 28 14:54:07 UTC 2023


commit 5cb80b867f4a59c3253487652ba74a29ad5b3f0f
Author: Richard Kimberly Heck <rikiheck at lyx.org>
Date:   Thu Jul 27 01:18:55 2023 -0400

    Hack to display section symbol
---
 lib/unicodesymbols |    1 -
 src/BiblioInfo.cpp |   12 ++++++++++++
 2 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/lib/unicodesymbols b/lib/unicodesymbols
index 458a9ee..1b2a88d 100644
--- a/lib/unicodesymbols
+++ b/lib/unicodesymbols
@@ -68,7 +68,6 @@
 0x00a5 "\\textyen"                "textcomp" "force=cp862;cp1255;cp1256;euc-jp;euc-jp-platex;jis;shift-jis-platex" "\\yen" "amssymb" # YEN SIGN
 0x00a6 "\\textbrokenbar"          "textcomp" "force=cp1255;cp1256;iso8859-7;euc-jp;euc-jp-platex;utf8-platex" # BROKEN BAR
 0x00a7 "\\textsection"            "textcomp" "force=cp1255;cp1256;iso8859-7;euc-cn;euc-jp;euc-kr;euc-tw;gbk;jis;shift-jis-platex" "\\mathsection" "" # SECTION SIGN
-0x00a7 "\\S" ""
 0x00a8 "\\textasciidieresis"      "textcomp" "force=cp1255;cp1256;iso8859-7;euc-cn;euc-jp;euc-kr;gbk;jis;shift-jis-platex" # DIAERESIS
 0x00a9 "\\textcopyright"          "textcomp" "force=cp1255;cp1256;koi8-u;iso8859-7;euc-jp;euc-jp-platex;utf8-platex" # COPYRIGHT SIGN
 0x00a9 "\\copyright" ""
diff --git a/src/BiblioInfo.cpp b/src/BiblioInfo.cpp
index 7c15cdd..36509c6 100644
--- a/src/BiblioInfo.cpp
+++ b/src/BiblioInfo.cpp
@@ -333,6 +333,7 @@ docstring convertLaTeXCommands(docstring const & str)
 
 	bool scanning_cmd = false;
 	bool scanning_math = false;
+	bool is_section = false;
 	bool escaped = false; // used to catch \$, etc.
 	while (!val.empty()) {
 		char_type const ch = val[0];
@@ -355,13 +356,24 @@ docstring convertLaTeXCommands(docstring const & str)
 		// discard characters until we hit something that
 		// isn't alpha.
 		if (scanning_cmd) {
+			if (!is_section && ch == 'S') {
+				is_section = true;
+				val = val.substr(1);
+				continue;
+			}
 			if (isAlphaASCII(ch)) {
+				is_section = false;
 				val = val.substr(1);
 				escaped = false;
 				continue;
+			} else if (is_section) {
+				ret.push_back(0x00a7);
+				is_section = false;
+				continue;
 			}
 			// so we're done with this command.
 			// now we fall through and check this character.
+			is_section = false;
 			scanning_cmd = false;
 		}
 


More information about the lyx-cvs mailing list