mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-24 13:48:59 +00:00
Automatically adjust tab stop width
Extend tab stops to the same indentation point instead of a fixed number of spaces. Fix for bug #12736
This commit is contained in:
parent
a487a7e250
commit
bb16efc07e
@ -899,10 +899,13 @@ Row TextMetrics::tokenizeParagraph(pit_type const pit) const
|
|||||||
FontMetrics const & fm = theFontMetrics(text_->labelFont(par));
|
FontMetrics const & fm = theFontMetrics(text_->labelFont(par));
|
||||||
int const wid = fm.width(par.layout().labelsep);
|
int const wid = fm.width(par.layout().labelsep);
|
||||||
row.addMarginSpace(i, wid, *fi, par.lookupChange(i));
|
row.addMarginSpace(i, wid, *fi, par.lookupChange(i));
|
||||||
} else if (c == '\t')
|
} else if (c == '\t') {
|
||||||
row.addSpace(i, theFontMetrics(*fi).width(from_ascii(" ")),
|
// Make tab stop size adjust automatically depending on char number
|
||||||
|
int tabStopWidth = 4;
|
||||||
|
std::string s = std::string(tabStopWidth - i % tabStopWidth, ' ');
|
||||||
|
row.addSpace(i, theFontMetrics(*fi).width(from_ascii(s)),
|
||||||
*fi, par.lookupChange(i));
|
*fi, par.lookupChange(i));
|
||||||
else if (c == 0x2028 || c == 0x2029) {
|
} else if (c == 0x2028 || c == 0x2029) {
|
||||||
/**
|
/**
|
||||||
* U+2028 LINE SEPARATOR
|
* U+2028 LINE SEPARATOR
|
||||||
* U+2029 PARAGRAPH SEPARATOR
|
* U+2029 PARAGRAPH SEPARATOR
|
||||||
|
Loading…
Reference in New Issue
Block a user