diff options
| -rw-r--r-- | src/EditView.cxx | 5 | ||||
| -rw-r--r-- | src/EditView.h | 1 | 
2 files changed, 4 insertions, 2 deletions
| diff --git a/src/EditView.cxx b/src/EditView.cxx index 9d940f701..5372e3abd 100644 --- a/src/EditView.cxx +++ b/src/EditView.cxx @@ -173,6 +173,7 @@ const XYPOSITION epsilon = 0.0001f;	// A small nudge to avoid floating point pre  EditView::EditView() {  	ldTabstops = NULL; +	tabWidthMinimumPixels = 2; // needed for calculating tab stops for fractional proportional fonts  	hideSelection = false;  	drawOverstrikeCaret = true;  	bufferedDraw = true; @@ -220,10 +221,10 @@ void EditView::ClearAllTabstops() {  }  XYPOSITION EditView::NextTabstopPos(int line, XYPOSITION x, XYPOSITION tabWidth) const { -	int next = GetNextTabstop(line, static_cast<int>(x + 2)); +	int next = GetNextTabstop(line, static_cast<int>(x + tabWidthMinimumPixels));  	if (next > 0)  		return static_cast<XYPOSITION>(next); -	return (static_cast<int>((x + 2) / tabWidth) + 1) * tabWidth; +	return (static_cast<int>((x + tabWidthMinimumPixels) / tabWidth) + 1) * tabWidth;  }  bool EditView::ClearTabstops(int line) { diff --git a/src/EditView.h b/src/EditView.h index 70af6b2bf..79a88657a 100644 --- a/src/EditView.h +++ b/src/EditView.h @@ -51,6 +51,7 @@ class EditView {  public:  	PrintParameters printParameters;  	PerLine *ldTabstops; +	int tabWidthMinimumPixels;  	bool hideSelection;  	bool drawOverstrikeCaret; | 
