Font scaling fix.

Editor ended up in an infinite loop when font scaling was less than 1.
diff --git a/TextEditor.cpp b/TextEditor.cpp
index 4bf17b7..1f90db1 100644
--- a/TextEditor.cpp
+++ b/TextEditor.cpp
@@ -343,10 +343,9 @@
 		{

 			if (line[columnIndex].mChar == '\t')

 			{

-				auto fontScale = ImGui::GetFontSize() / ImGui::GetFont()->FontSize;

 				float spaceSize = ImGui::GetFont()->CalcTextSizeA(ImGui::GetFontSize(), FLT_MAX, -1.0f, " ").x;

 				float oldX = columnX;

-				columnX = (1.0f * fontScale + std::floor((1.0f + columnX) / (float(mTabSize) * spaceSize))) * (float(mTabSize) * spaceSize);

+				columnX = (1.0f + std::floor((1.0f + columnX) / (float(mTabSize) * spaceSize))) * (float(mTabSize) * spaceSize);

 				columnWidth = columnX - oldX;

 				columnCoord++;

 			}

@@ -892,7 +891,6 @@
 

 	if (!mLines.empty())

 	{

-		auto fontScale = ImGui::GetFontSize() / ImGui::GetFont()->FontSize;

 		float spaceSize = ImGui::GetFont()->CalcTextSizeA(ImGui::GetFontSize(), FLT_MAX, -1.0f, " ", nullptr, nullptr).x;

 

 		while (lineNo <= lineMax)

@@ -992,7 +990,7 @@
 							auto c = line[cindex].mChar;

 							if (c == '\t')

 							{

-								auto x = (1.0f * fontScale + std::floor((1.0f + cx) / (float(mTabSize) * spaceSize))) * (float(mTabSize) * spaceSize);

+								auto x = (1.0f + std::floor((1.0f + cx) / (float(mTabSize) * spaceSize))) * (float(mTabSize) * spaceSize);

 								width = x - cx;

 							}

 							else

@@ -1034,12 +1032,12 @@
 				if (glyph.mChar == '\t')

 				{

 					auto oldX = bufferOffset.x;

-					bufferOffset.x = (1.0f * fontScale + std::floor((1.0f + bufferOffset.x) / (float(mTabSize) * spaceSize))) * (float(mTabSize) * spaceSize);

+					bufferOffset.x = (1.0f + std::floor((1.0f + bufferOffset.x) / (float(mTabSize) * spaceSize))) * (float(mTabSize) * spaceSize);

 					++i;

 

 					if (mShowWhitespaces)

 					{

-						const auto s = ImGui::GetFontSize() * fontScale;

+						const auto s = ImGui::GetFontSize();

 						const auto x1 = textScreenPos.x + oldX + 1.0f;

 						const auto x2 = textScreenPos.x + bufferOffset.x - 1.0f;

 						const auto y = textScreenPos.y + bufferOffset.y + s * 0.5f;

@@ -1056,7 +1054,7 @@
 				{

 					if (mShowWhitespaces)

 					{

-						const auto s = ImGui::GetFontSize() * fontScale;

+						const auto s = ImGui::GetFontSize();

 						const auto x = textScreenPos.x + bufferOffset.x + spaceSize * 0.5f;

 						const auto y = textScreenPos.y + bufferOffset.y + s * 0.5f;

 						drawList->AddCircleFilled(ImVec2(x, y), 1.5f, 0x80808080, 4);

@@ -2396,14 +2394,13 @@
 {

 	auto& line = mLines[aFrom.mLine];

 	float distance = 0.0f;

-	auto fontScale = ImGui::GetFontSize() / ImGui::GetFont()->FontSize;

 	float spaceSize = ImGui::GetFont()->CalcTextSizeA(ImGui::GetFontSize(), FLT_MAX, -1.0f, " ", nullptr, nullptr).x;

 	int colIndex = GetCharacterIndex(aFrom);

 	for (size_t it = 0u; it < line.size() && it < colIndex; )

 	{

 		if (line[it].mChar == '\t')

 		{

-			distance = (1.0f * fontScale + std::floor((1.0f + distance) / (float(mTabSize) * spaceSize))) * (float(mTabSize) * spaceSize);

+			distance = (1.0f + std::floor((1.0f + distance) / (float(mTabSize) * spaceSize))) * (float(mTabSize) * spaceSize);

 			++it;

 		}

 		else