@@ -549,6 +549,12 @@ bool ResultIterator::IsAtFinalElement(PageIteratorLevel level,
549
549
return true ;
550
550
}
551
551
552
+ // Returns the number of blanks before the current word.
553
+ int ResultIterator::BlanksBeforeWord () const {
554
+ if (CurrentParagraphIsLtr ()) return LTRResultIterator::BlanksBeforeWord ();
555
+ return IsAtBeginningOf (RIL_TEXTLINE) ? 0 : 1 ;
556
+ }
557
+
552
558
/* *
553
559
* Returns the null terminated UTF-8 encoded text string for the current
554
560
* object at the given level. Use delete [] to free after use.
@@ -585,7 +591,7 @@ char* ResultIterator::GetUTF8Text(PageIteratorLevel level) const {
585
591
if (at_beginning_of_minor_run_) {
586
592
text += reading_direction_is_ltr ? kLRM : kRLM ;
587
593
}
588
- text = it_->word ()->BestUTF8 (blob_index_, !reading_direction_is_ltr );
594
+ text = it_->word ()->BestUTF8 (blob_index_, false );
589
595
if (IsAtFinalSymbolOfWord ()) AppendSuffixMarks (&text);
590
596
}
591
597
break ;
@@ -608,7 +614,7 @@ void ResultIterator::AppendUTF8WordText(STRING *text) const {
608
614
GenericVector<int > blob_order;
609
615
CalculateBlobOrder (&blob_order);
610
616
for (int i = 0 ; i < blob_order.size (); i++) {
611
- *text += it_->word ()->BestUTF8 (blob_order[i], !reading_direction_is_ltr );
617
+ *text += it_->word ()->BestUTF8 (blob_order[i], false );
612
618
}
613
619
AppendSuffixMarks (text);
614
620
}
@@ -643,6 +649,9 @@ void ResultIterator::IterateAndAppendUTF8TextlineText(STRING *text) {
643
649
}
644
650
AppendUTF8WordText (text);
645
651
words_appended++;
652
+ if (BidiDebug (2 )) {
653
+ tprintf (" Num spaces=%d, text=%s\n " , numSpaces, text->string ());
654
+ }
646
655
} while (Next (RIL_WORD) && !IsAtBeginningOf (RIL_TEXTLINE));
647
656
if (BidiDebug (1 )) {
648
657
tprintf (" %d words printed\n " , words_appended);
0 commit comments