Add upper-case I as a possible space replacement fallback in Font.spaceWidth to improve text-selection (issue 7180)

In fonts with only upper-case glyphs, that are also missing a space glyph, `get spaceWidth` won't be able to return anything useful.
By adding upper-case `I` as a fallback, we can thus improve text-selection in some PDF files.
Note that locally, the patch causes slight movement in a few existing `text` tests, but in my opinion this actually looks like slight improvements.

Fixes 7180.
This commit is contained in:
Jonas Jenwald 2016-06-07 22:40:06 +02:00
parent c4db4dd4ac
commit 6a0b047bfa
4 changed files with 9 additions and 1 deletions

View File

@ -2650,7 +2650,7 @@ var Font = (function FontClosure() {
}
// trying to estimate space character width
var possibleSpaceReplacements = ['space', 'minus', 'one', 'i'];
var possibleSpaceReplacements = ['space', 'minus', 'one', 'i', 'I'];
var width;
for (var i = 0, ii = possibleSpaceReplacements.length; i < ii; i++) {
var glyphName = possibleSpaceReplacements[i];

View File

@ -24,6 +24,7 @@
!issue7020.pdf
!issue7101.pdf
!issue7115.pdf
!issue7180.pdf
!issue7200.pdf
!issue7229.pdf
!filled-background.pdf

BIN
test/pdfs/issue7180.pdf Normal file

Binary file not shown.

View File

@ -1555,6 +1555,13 @@
"link": false,
"type": "eq"
},
{ "id": "issue7180-text",
"file": "pdfs/issue7180.pdf",
"md5": "73ed92d7ca55475f1f31d1d75fee3283",
"rounds": 1,
"link": false,
"type": "text"
},
{
"id": "bug1123803",
"file": "pdfs/bug1123803.pdf",