-
Michael Stahl yazdı
... to actual minimum so that the fix for fdo#33090 in UniscribeLayout::GetNextGlyphs subtracts exactly the right number. The original value of mnSubStringMin is guessed and may be up to 8 smaller than the actual start of the first VisualItem. For the bugdoc it happens that sometimes it's too small by 8 and then the wrong entries in mpGlyphs2Chars are initialized and then apparently there are single glyphs that represent multiple characters and so GetNextGlyphs returns a -1 character which is invalid. ->GetNextGlyphs dir 1 36 mnSubStringMin 28 ->GetNextGlyphs g2c #1 [8] = 36 ->GetNextGlyphs g2c #1 [9] = 37 ->GetNextGlyphs g2c #1 [10] = 38 ->GetNextGlyphs g2c #1 [11] = 39 ->GetNextGlyphs g2c #1 [12] = 40 ->GetNextGlyphs g2c #2 [4] = 40 ->GetNextGlyphs g2c #2 [3] = 39 ->GetNextGlyphs g2c #2 [1] = 38 ->GetNextGlyphs g2c #2 [1] = 37 ->GetNextGlyphs g2c #2 [0] = 36 ... ->GetNextGlyphs init nCharPos -1 ->GetNextGlyphs g2c [2] nCharPos -1 ->GetNextGlyphs set pCharPosAry -1 layout[0]->GetNextGlyphs 768,1024 a1800 c-1 0 Change-Id: Ie33ec797a412aa898bec3f4e8f97b88dcfed4d11
cec68bce