Do not show carriage return characters (bug #3696)

pull/1562/head
Andrei Kortunov 7 years ago
parent 2136003e1c
commit 4f190bf7f4

@ -16,6 +16,7 @@ class BookPageImpl;
static bool ucsSpace (int codePoint);
static bool ucsLineBreak (int codePoint);
static bool ucsCarriageReturn (int codePoint);
static bool ucsBreakingSpace (int codePoint);
struct BookTypesetter::Style { virtual ~Style () {} };
@ -280,7 +281,7 @@ struct TypesetBookImpl::Typesetter : BookTypesetter
style.mActiveColour = fontColour;
style.mNormalColour = fontColour;
style.mInteractiveId = 0;
return &style;
}
@ -342,7 +343,7 @@ struct TypesetBookImpl::Typesetter : BookTypesetter
writeImpl (static_cast <StyleImpl*> (style), begin_, end_);
}
void lineBreak (float margin)
{
assert (margin == 0); //TODO: figure out proper behavior here...
@ -352,7 +353,7 @@ struct TypesetBookImpl::Typesetter : BookTypesetter
mRun = NULL;
mLine = NULL;
}
void sectionBreak (int margin)
{
add_partial_text();
@ -1188,6 +1189,9 @@ public:
{
Utf8Stream::UnicodeChar code_point = stream.consume ();
if (ucsCarriageReturn (code_point))
continue;
if (!ucsSpace (code_point))
glyphStream.emitGlyph (code_point);
else
@ -1331,6 +1335,11 @@ static bool ucsLineBreak (int codePoint)
return codePoint == '\n';
}
static bool ucsCarriageReturn (int codePoint)
{
return codePoint == '\r';
}
static bool ucsSpace (int codePoint)
{
switch (codePoint)

Loading…
Cancel
Save