mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-22 18:08:10 +00:00
Properly nest ulem commands within other font changes
This reverts the wrong fix to #8424 which caused #8733 and fixes both problems properly
This commit is contained in:
parent
2dfe540371
commit
db8abfec04
95
src/Font.cpp
95
src/Font.cpp
@ -393,30 +393,6 @@ int Font::latexWriteStartChanges(odocstream & os, BufferParams const & bparams,
|
|||||||
count += 6;
|
count += 6;
|
||||||
env = true; //We have opened a new environment
|
env = true; //We have opened a new environment
|
||||||
}
|
}
|
||||||
if (f.underbar() == FONT_ON) {
|
|
||||||
os << "\\uline{";
|
|
||||||
count += 10;
|
|
||||||
runparams.inulemcmd = true;
|
|
||||||
env = true; //We have opened a new environment
|
|
||||||
}
|
|
||||||
if (f.strikeout() == FONT_ON) {
|
|
||||||
os << "\\sout{";
|
|
||||||
count += 9;
|
|
||||||
runparams.inulemcmd = true;
|
|
||||||
env = true; //We have opened a new environment
|
|
||||||
}
|
|
||||||
if (f.uuline() == FONT_ON) {
|
|
||||||
os << "\\uuline{";
|
|
||||||
count += 11;
|
|
||||||
runparams.inulemcmd = true;
|
|
||||||
env = true; //We have opened a new environment
|
|
||||||
}
|
|
||||||
if (f.uwave() == FONT_ON) {
|
|
||||||
os << "\\uwave{";
|
|
||||||
count += 10;
|
|
||||||
runparams.inulemcmd = true;
|
|
||||||
env = true; //We have opened a new environment
|
|
||||||
}
|
|
||||||
// \noun{} is a LyX special macro
|
// \noun{} is a LyX special macro
|
||||||
if (f.noun() == FONT_ON) {
|
if (f.noun() == FONT_ON) {
|
||||||
os << "\\noun{";
|
os << "\\noun{";
|
||||||
@ -431,8 +407,31 @@ int Font::latexWriteStartChanges(odocstream & os, BufferParams const & bparams,
|
|||||||
}
|
}
|
||||||
os << '\\'
|
os << '\\'
|
||||||
<< LaTeXSizeNames[f.size()]
|
<< LaTeXSizeNames[f.size()]
|
||||||
<< '{';
|
<< "{}";
|
||||||
count += strlen(LaTeXSizeNames[f.size()]) + 2;
|
count += strlen(LaTeXSizeNames[f.size()]) + 3;
|
||||||
|
}
|
||||||
|
// The ulem commands need to be on the deepest nesting level
|
||||||
|
// because ulem puts every nested group or macro in a box,
|
||||||
|
// which prevents linebreaks (#8424, #8733)
|
||||||
|
if (f.underbar() == FONT_ON) {
|
||||||
|
os << "\\uline{";
|
||||||
|
count += 10;
|
||||||
|
runparams.inulemcmd = true;
|
||||||
|
}
|
||||||
|
if (f.strikeout() == FONT_ON) {
|
||||||
|
os << "\\sout{";
|
||||||
|
count += 9;
|
||||||
|
runparams.inulemcmd = true;
|
||||||
|
}
|
||||||
|
if (f.uuline() == FONT_ON) {
|
||||||
|
os << "\\uuline{";
|
||||||
|
count += 11;
|
||||||
|
runparams.inulemcmd = true;
|
||||||
|
}
|
||||||
|
if (f.uwave() == FONT_ON) {
|
||||||
|
os << "\\uwave{";
|
||||||
|
count += 10;
|
||||||
|
runparams.inulemcmd = true;
|
||||||
}
|
}
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
@ -481,30 +480,6 @@ int Font::latexWriteEndChanges(otexstream & os, BufferParams const & bparams,
|
|||||||
++count;
|
++count;
|
||||||
env = true; // Size change need not bother about closing env.
|
env = true; // Size change need not bother about closing env.
|
||||||
}
|
}
|
||||||
if (f.underbar() == FONT_ON) {
|
|
||||||
os << '}';
|
|
||||||
++count;
|
|
||||||
runparams.inulemcmd = false;
|
|
||||||
env = true; // Size change need not bother about closing env.
|
|
||||||
}
|
|
||||||
if (f.strikeout() == FONT_ON) {
|
|
||||||
os << '}';
|
|
||||||
++count;
|
|
||||||
runparams.inulemcmd = false;
|
|
||||||
env = true; // Size change need not bother about closing env.
|
|
||||||
}
|
|
||||||
if (f.uuline() == FONT_ON) {
|
|
||||||
os << '}';
|
|
||||||
++count;
|
|
||||||
runparams.inulemcmd = false;
|
|
||||||
env = true; // Size change need not bother about closing env.
|
|
||||||
}
|
|
||||||
if (f.uwave() == FONT_ON) {
|
|
||||||
os << '}';
|
|
||||||
++count;
|
|
||||||
runparams.inulemcmd = false;
|
|
||||||
env = true; // Size change need not bother about closing env.
|
|
||||||
}
|
|
||||||
if (f.noun() == FONT_ON) {
|
if (f.noun() == FONT_ON) {
|
||||||
os << '}';
|
os << '}';
|
||||||
++count;
|
++count;
|
||||||
@ -516,11 +491,29 @@ int Font::latexWriteEndChanges(otexstream & os, BufferParams const & bparams,
|
|||||||
os << '}';
|
os << '}';
|
||||||
++count;
|
++count;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
if (f.underbar() == FONT_ON) {
|
||||||
os << '}';
|
os << '}';
|
||||||
++count;
|
++count;
|
||||||
|
runparams.inulemcmd = false;
|
||||||
|
}
|
||||||
|
if (f.strikeout() == FONT_ON) {
|
||||||
|
os << '}';
|
||||||
|
++count;
|
||||||
|
runparams.inulemcmd = false;
|
||||||
|
}
|
||||||
|
if (f.uuline() == FONT_ON) {
|
||||||
|
os << '}';
|
||||||
|
++count;
|
||||||
|
runparams.inulemcmd = false;
|
||||||
|
}
|
||||||
|
if (f.uwave() == FONT_ON) {
|
||||||
|
os << '}';
|
||||||
|
++count;
|
||||||
|
runparams.inulemcmd = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// When the current language is Hebrew, Arabic, or Farsi
|
// If the current language is Hebrew, Arabic, or Farsi
|
||||||
// the numbers are written Left-to-Right. ArabTeX package
|
// the numbers are written Left-to-Right. ArabTeX package
|
||||||
// reorders the number automatically but the packages used
|
// reorders the number automatically but the packages used
|
||||||
// for Hebrew and Farsi (Arabi) do not.
|
// for Hebrew and Farsi (Arabi) do not.
|
||||||
|
@ -52,6 +52,9 @@ What's new
|
|||||||
|
|
||||||
* DOCUMENT INPUT/OUTPUT
|
* DOCUMENT INPUT/OUTPUT
|
||||||
|
|
||||||
|
- Fix output of ulem commands (underline etc.) which was broken as of
|
||||||
|
LyX 2.0.6 (bug 8733).
|
||||||
|
|
||||||
- Fix problem with unbalanced braces in XeTeX output (bug 8765).
|
- Fix problem with unbalanced braces in XeTeX output (bug 8765).
|
||||||
|
|
||||||
- Added h5 and h6 as tags for Paragraph and Subparagraph.
|
- Added h5 and h6 as tags for Paragraph and Subparagraph.
|
||||||
|
Loading…
Reference in New Issue
Block a user