Merge pull request #7879 from rossj/highlight-fix
Make use of textAdvanceScale consistent during combineTextItems. Fix for #7878.
This commit is contained in:
		
						commit
						3b3a179486
					
				@ -1366,10 +1366,10 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
 | 
			
		||||
 | 
			
		||||
        if (!font.vertical) {
 | 
			
		||||
          textChunk.lastAdvanceWidth = width;
 | 
			
		||||
          textChunk.width += width * textChunk.textAdvanceScale;
 | 
			
		||||
          textChunk.width += width;
 | 
			
		||||
        } else {
 | 
			
		||||
          textChunk.lastAdvanceHeight = height;
 | 
			
		||||
          textChunk.height += Math.abs(height * textChunk.textAdvanceScale);
 | 
			
		||||
          textChunk.height += Math.abs(height);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return textChunk;
 | 
			
		||||
@ -1393,6 +1393,10 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
 | 
			
		||||
        if (!textContentItem.initialized) {
 | 
			
		||||
          return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // Do final text scaling
 | 
			
		||||
        textContentItem.width *= textContentItem.textAdvanceScale;
 | 
			
		||||
        textContentItem.height *= textContentItem.textAdvanceScale;
 | 
			
		||||
        textContent.items.push(runBidiTransform(textContentItem));
 | 
			
		||||
 | 
			
		||||
        textContentItem.initialized = false;
 | 
			
		||||
@ -1545,10 +1549,8 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
 | 
			
		||||
                  advance = items[j] * textState.fontSize / 1000;
 | 
			
		||||
                  var breakTextRun = false;
 | 
			
		||||
                  if (textState.font.vertical) {
 | 
			
		||||
                    offset = advance *
 | 
			
		||||
                      (textState.textHScale * textState.textMatrix[2] +
 | 
			
		||||
                       textState.textMatrix[3]);
 | 
			
		||||
                    textState.translateTextMatrix(0, advance);
 | 
			
		||||
                    offset = advance;
 | 
			
		||||
                    textState.translateTextMatrix(0, offset);
 | 
			
		||||
                    breakTextRun = textContentItem.textRunBreakAllowed &&
 | 
			
		||||
                                   advance > textContentItem.fakeMultiSpaceMax;
 | 
			
		||||
                    if (!breakTextRun) {
 | 
			
		||||
@ -1557,10 +1559,8 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
 | 
			
		||||
                    }
 | 
			
		||||
                  } else {
 | 
			
		||||
                    advance = -advance;
 | 
			
		||||
                    offset = advance * (
 | 
			
		||||
                      textState.textHScale * textState.textMatrix[0] +
 | 
			
		||||
                      textState.textMatrix[1]);
 | 
			
		||||
                    textState.translateTextMatrix(advance, 0);
 | 
			
		||||
                    offset = advance * textState.textHScale;
 | 
			
		||||
                    textState.translateTextMatrix(offset, 0);
 | 
			
		||||
                    breakTextRun = textContentItem.textRunBreakAllowed &&
 | 
			
		||||
                                   advance > textContentItem.fakeMultiSpaceMax;
 | 
			
		||||
                    if (!breakTextRun) {
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										1
									
								
								test/pdfs/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								test/pdfs/.gitignore
									
									
									
									
										vendored
									
									
								
							@ -269,3 +269,4 @@
 | 
			
		||||
!annotation-button-widget.pdf
 | 
			
		||||
!zero_descent.pdf
 | 
			
		||||
!operator-in-TJ-array.pdf
 | 
			
		||||
!issue7878.pdf
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								test/pdfs/issue7878.pdf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								test/pdfs/issue7878.pdf
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							@ -3346,5 +3346,12 @@
 | 
			
		||||
       "link": false,
 | 
			
		||||
       "rounds": 1,
 | 
			
		||||
       "type": "text"
 | 
			
		||||
    },
 | 
			
		||||
    {  "id": "issue7878",
 | 
			
		||||
       "file": "pdfs/issue7878.pdf",
 | 
			
		||||
       "md5": "59194e30037e8c09ae846ddd0ace4c81",
 | 
			
		||||
       "link": false,
 | 
			
		||||
       "rounds": 1,
 | 
			
		||||
       "type": "text"
 | 
			
		||||
    }
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user