usp10: Implement and test ScriptCacheGetHeight. (rediffed)

Jeff Latimer lats at yless4u.com.au
Sun Jul 23 08:54:56 CDT 2006


I use Fedora core 4 to develop this code.  The version of 
ScriptStringAnalyse you have does not actually do anything other than 
return various values.  The problem occurs after the second call to 
ScriptStringAnalyse but the only difference is that *hdc* is specified.  
In theory it should drop through to the return E_NOTIMPL.

I think there are a couple of choices: you could fire up winedbg, set a 
break at ScriptStringAnalyse and step through the function; or  you 
could apply my last patch and see if the problem goes away (unsatisfying 
but expedient).

Jeff

Hans Leidekker wrote:

>On Sunday 23 July 2006 13:12, you wrote:
>
>  
>
>>Do you have the trace WINEDEBUG=+uniscribe wine usp10_test.exe?  It may
>>help withmailing down where the problem is.
>>    
>>
>
>Trace attached. This machine is a Fedora development installation
>b.t.w, my other machine runs Kubuntu Dapper and it doesn't show the
>problem.
>
> -Hans
>  
>
>------------------------------------------------------------------------
>
>../../../tools/runtest -q -P wine -M usp10.dll -T ../../.. -p usp10_test.exe.so usp10.c && touch usp10.ok
>fixme:font:WineEngCreateFontInstance Untranslated charset 123
>trace:uniscribe:ScriptGetProperties 0x406ffd84,0x406ffd88
>trace:uniscribe:ScriptGetProperties ppSp:0x406ffd84, *ppSp:0x40715780, **ppSp:0x40714888, 8
>fixme:uniscribe:ScriptItemize L"\6873\756f\646c\7220\7465",5,1,(nil),(nil),0x406fe704,0x406ffd78: semi-stub
>fixme:uniscribe:ScriptItemize (null),5,255,(nil),(nil),0x406fe704,0x406ffd78: semi-stub
>fixme:uniscribe:ScriptItemize L"",0,255,(nil),(nil),0x406fe704,0x406ffd78: semi-stub
>fixme:uniscribe:ScriptItemize L"\6873\756f\646c\7220\7465",5,255,(nil),(nil),(nil),0x406ffd78: semi-stub
>fixme:uniscribe:ScriptItemize L"\6873\756f\646c\7220\7465",5,255,(nil),(nil),0x406fe704,0x406ffd78: semi-stub
>trace:uniscribe:ScriptItemize L"\6873\756f\646c\7220\7465",5,255,(nil),(nil),0x406fe704,0x406ffd78,1
>trace:uniscribe:ScriptItemize Start Pos in string: 0, Stop Pos 5
>fixme:uniscribe:ScriptShape ((nil), 0x406ffd7c, 0x406ffd6c, 5, 5, 0x406fe708): semi-stub
>trace:uniscribe:ScriptShape psa values: 0, 0, 0, 0, 0, 0, 0
>trace:uniscribe:ScriptShape No Script_Cache (psc) and no hdc. Ask for one. Hdc=(nil), psc=(nil)
>fixme:uniscribe:ScriptShape (0x1c0, 0x406ffd7c, 0x406ffd6c, 5, 4, 0x406fe708): semi-stub
>trace:uniscribe:ScriptShape psa values: 0, 0, 0, 0, 0, 0, 0
>fixme:uniscribe:ScriptShape (0x1c0, 0x406ffd7c, 0x406ffd6c, 5, 256, 0x406fe708): semi-stub
>trace:uniscribe:ScriptShape psa values: 0, 0, 0, 0, 0, 0, 0
>trace:uniscribe:ScriptShape Before: 6873756f646c72207465
>trace:uniscribe:ScriptShape After:  00000000000000000000
>fixme:uniscribe:ScriptPlace (0x1c0, 0x406ffd7c, 0x406ff8fc, L"\0000\0000\0000\0000\0000", 5, 0x406ff2fc, 0x406fe708, 0x406feefc): semi-stub
>trace:uniscribe:ScriptPlace Total for run:   abcA=0,  abcB=0,  abcC=0
>fixme:uniscribe:ScriptPlace ((nil), 0x406ffd7c, 0x406ff8fc, L"\0000\0000\0000\0000\0000", 5, 0x406ff2fc, 0x406fe708, 0x406feefc): semi-stub
>trace:uniscribe:ScriptPlace Total for run:   abcA=0,  abcB=0,  abcC=0
>fixme:uniscribe:ScriptItemize L"\5374\7274\6e69\4167\616e",5,255,(nil),(nil),0x406fe704,0x406ffd78: semi-stub
>trace:uniscribe:ScriptItemize L"\5374\7274\6e69\4167\616e",5,255,(nil),(nil),0x406fe704,0x406ffd78,1
>trace:uniscribe:ScriptItemize Start Pos in string: 0, Stop Pos 5
>fixme:uniscribe:ScriptShape ((nil), 0x406ffd7c, 0x406ffd58, 5, 256, 0x406fe708): semi-stub
>trace:uniscribe:ScriptShape psa values: 0, 0, 0, 0, 0, 0, 1
>trace:uniscribe:ScriptShape Before: 537472746e694167616e
>trace:uniscribe:ScriptShape After:  537472746e694167616e
>fixme:uniscribe:ScriptPlace (0x1c0, 0x406ffd7c, 0x406ff6fc, L"\5374\7274\6e69\4167\616e", 5, 0x406ff2fc, 0x406fe708, 0x406feefc): semi-stub
>trace:uniscribe:ScriptPlace Total for run:   abcA=0,  abcB=0,  abcC=0
>trace:uniscribe:ScriptFreeCache 0x406ffd7c
>fixme:uniscribe:ScriptGetCMap ((nil),(nil),(null),0,0x0,(nil)): semi-stub
>fixme:uniscribe:ScriptGetCMap ((nil),(nil),L"Testa",5,0x0,0x406fd01c): semi-stub
>fixme:uniscribe:ScriptGetCMap ((nil),0x406fd228,(null),0,0x0,(nil)): semi-stub
>trace:uniscribe:ScriptGetCMap No Script_Cache (psc) and no hdc. Ask for one. Hdc=(nil), psc=(nil)
>fixme:uniscribe:ScriptGetCMap (0x1c0,0x406fd228,(null),0,0x0,(nil)): semi-stub
>trace:uniscribe:ScriptGetCMap Before: 
>trace:uniscribe:ScriptGetCMap After:  
>fixme:uniscribe:ScriptGetCMap ((nil),0x406fd228,L"Testa",5,0x0,0x406fd01c): semi-stub
>trace:uniscribe:ScriptGetCMap No Script_Cache (psc) and no hdc. Ask for one. Hdc=(nil), psc=(nil)
>fixme:uniscribe:ScriptGetCMap (0x1c0,0x406fd228,L"Testa",5,0x0,0x406fd01c): semi-stub
>trace:uniscribe:ScriptGetCMap Before:   54  65  73  74  61
>trace:uniscribe:ScriptGetCMap After:  00350046005400550042
>usp10.c:273: Test failed: Translation not correct. WCHAR 0 - 0000 != 0035
>trace:uniscribe:ScriptFreeCache 0x406fd228
>trace:uniscribe:ScriptGetFontProperties (nil),(nil),(nil)
>trace:uniscribe:ScriptGetFontProperties (nil),(nil),0x406fd218
>trace:uniscribe:ScriptGetFontProperties (nil),0x406fd228,(nil)
>trace:uniscribe:ScriptGetFontProperties (nil),0x406fd228,0x406fd218
>trace:uniscribe:ScriptGetFontProperties No Script_Cache (psc) and no hdc. Ask for one. Hdc=(nil), psc=(nil)
>trace:uniscribe:ScriptGetFontProperties 0x214,(nil),(nil)
>trace:uniscribe:ScriptGetFontProperties 0x214,(nil),0x406fd218
>trace:uniscribe:ScriptGetFontProperties 0x214,0x406fd228,(nil)
>trace:uniscribe:ScriptGetFontProperties 0x214,0x406fd228,0x406fd218
>trace:uniscribe:ScriptFreeCache 0x406fd228
>trace:uniscribe:ScriptGetFontProperties 0x214,0x406fd228,0x406fd218
>trace:uniscribe:ScriptGetFontProperties (nil),0x406fd228,0x406fd218
>trace:uniscribe:ScriptFreeCache 0x406fd228
>fixme:uniscribe:ScriptItemize L"Testa",5,255,(nil),(nil),0x406fbf08,0x406fd228: semi-stub
>trace:uniscribe:ScriptItemize L"Testa",5,255,(nil),(nil),0x406fbf08,0x406fd228,1
>trace:uniscribe:ScriptItemize Start Pos in string: 0, Stop Pos 5
>fixme:uniscribe:ScriptShape (0x214, 0x406fd224, 0x406fd210, 5, 256, 0x406fbf0c): semi-stub
>trace:uniscribe:ScriptShape psa values: 0, 0, 0, 0, 0, 0, 0
>trace:uniscribe:ScriptShape Before:   54  65  73  74  61
>trace:uniscribe:ScriptShape After:  00350046005400550042
>fixme:uniscribe:ScriptPlace (0x214, 0x406fd224, 0x406fcf00, L"5FTUB", 5, 0x406fcb00, 0x406fbf0c, 0x406fc700): semi-stub
>trace:uniscribe:ScriptPlace Total for run:   abcA=0,  abcB=0,  abcC=0
>trace:uniscribe:ScriptFreeCache 0x406fd224
>trace:uniscribe:ScriptTextOut ((nil), (nil), 0, 0, 0000, (nil), (nil), (nil), 0, (nil), 0, (nil), (nil), (nil)): stub
>trace:uniscribe:ScriptTextOut ((nil), (nil), 0, 0, 0000, (nil), 0x406fbf0c, (nil), 0, 0x406fcf00, 5, 0x406fc700, (nil), 0x406fb708): stub
>trace:uniscribe:ScriptTextOut ((nil), 0x406fd224, 0, 0, 0000, (nil), (nil), (nil), 0, (nil), 0, (nil), (nil), (nil)): stub
>trace:uniscribe:ScriptTextOut ((nil), 0x406fd224, 0, 0, 0000, (nil), 0x406fbf0c, (nil), 0, 0x406fcf00, 5, 0x406fc700, (nil), 0x406fb708): stub
>trace:uniscribe:ScriptTextOut (0x214, 0x406fd224, 0, 0, 0000, (nil), 0x406fbf0c, (nil), 0, 0x406fcf00, 5, 0x406fc700, (nil), 0x406fb708): stub
>trace:uniscribe:ScriptTextOut (0x214, 0x406fd224, 0, 0, 0000, 0x406fd200, 0x406fbf0c, (nil), 0, 0x406fcf00, 5, 0x406fc700, (nil), 0x406fb708): stub
>trace:uniscribe:ScriptCPtoX (1,0,5,5,0x406fcd00,0x406fcb00,0x406fc700,0x406fbf0c,0x406fd21c)
>trace:uniscribe:ScriptCPtoX *piX=0
>fixme:uniscribe:ScriptBreak (0x406fd210,5,0x406fbf0c,0x406fd100): stub
>trace:uniscribe:ScriptFreeCache 0x406fd224
>trace:uniscribe:ScriptXtoCP (-1,10,10,0x406ffd58,0x406ff8fc,0x406ffcfc,0x406ffd6c,0x406ffd80,0x406ffd78)
>trace:uniscribe:ScriptXtoCP (1954,10,10,0x406ffd58,0x406ff8fc,0x406ffcfc,0x406ffd6c,0x406ffd80,0x406ffd78)
>trace:uniscribe:ScriptXtoCP (779,10,10,0x406ffd58,0x406ff8fc,0x406ffcfc,0x406ffd6c,0x406ffd80,0x406ffd78)
>trace:uniscribe:ScriptXtoCP *piCP=3 iPposX=781
>trace:uniscribe:ScriptXtoCP (780,10,10,0x406ffd58,0x406ff8fc,0x406ffcfc,0x406ffd6c,0x406ffd80,0x406ffd78)
>trace:uniscribe:ScriptXtoCP *piCP=3 iPposX=781
>trace:uniscribe:ScriptXtoCP (868,10,10,0x406ffd58,0x406ff8fc,0x406ffcfc,0x406ffd6c,0x406ffd80,0x406ffd78)
>trace:uniscribe:ScriptXtoCP *piCP=4 iPposX=977
>trace:uniscribe:ScriptCPtoX (5,0,10,10,0x406ffd58,0x406ff8fc,0x406ffcfc,0x406ffd6c,0x406ffd7c)
>trace:uniscribe:ScriptCPtoX *piX=976
>trace:uniscribe:ScriptCPtoX (5,1,10,10,0x406ffd58,0x406ff8fc,0x406ffcfc,0x406ffd6c,0x406ffd7c)
>trace:uniscribe:ScriptCPtoX *piX=1171
>trace:uniscribe:ScriptCPtoX (6,0,10,10,0x406ffd58,0x406ff8fc,0x406ffcfc,0x406ffd6c,0x406ffd7c)
>trace:uniscribe:ScriptCPtoX *piX=1171
>trace:uniscribe:ScriptCPtoX (11,0,10,10,0x406ffd58,0x406ff8fc,0x406ffcfc,0x406ffd6c,0x406ffd7c)
>trace:uniscribe:ScriptCPtoX *piX=1953
>trace:uniscribe:ScriptCPtoX (11,1,10,10,0x406ffd58,0x406ff8fc,0x406ffcfc,0x406ffd6c,0x406ffd7c)
>trace:uniscribe:ScriptCPtoX *piX=1953
>fixme:font:WineEngCreateFontInstance Untranslated charset 64
>fixme:uniscribe:ScriptStringAnalyse ((nil),0x406fd214,5,26,-1,0x80,100,0x406fd224,0x406fd228,0x405e7a24,0x406fd204,0x406fd22b,0x406fd220): stub
>fixme:uniscribe:ScriptStringAnalyse (0x214,0x406fd214,5,26,-1,0x80,100,0x406fd224,0x406fd228,0x405e7a24,0x406fd204,0x406fd22b,0x406fd220): stub
>wine: Unhandled page fault on read access to 0x70697263 at address 0x70697263 (thread 0009), starting debugger...
>WineDbg starting on pid 0x8
>fixme:dbghelp:SymLoadModule Should have successfully loaded debug information for image Z:\usr\local\src\wine-git\dlls\usp10\tests\usp10_test.exe
>fixme:dbghelp:SymLoadModule Should have successfully loaded debug information for image c:\windows\system32\usp10.dll
>fixme:dbghelp:SymLoadModule Should have successfully loaded debug information for image c:\windows\system32\winex11.drv
>fixme:dbghelp:SymLoadModule Should have successfully loaded debug information for image c:\windows\system32\imm32.dll
>fixme:dbghelp:SymLoadModule Should have successfully loaded debug information for image c:\windows\system32\imm32.dll
>fixme:dbghelp:SymLoadModule Should have successfully loaded debug information for image c:\windows\system32\winex11.drv
>fixme:dbghelp:SymLoadModule Should have successfully loaded debug information for image c:\windows\system32\usp10.dll
>fixme:dbghelp:SymLoadModule Should have successfully loaded debug information for image Z:\usr\local\src\wine-git\dlls\usp10\tests\usp10_test.exe
>Unhandled exception: page fault on read access to 0x70697263 in 32-bit code (0x70697263).
>Register dump:
> CS:0073 SS:007b DS:007b ES:007b FS:003b GS:0033
> EIP:70697263 ESP:406fd240 EBP:5300000a EFLAGS:00010282(   - 00      - RIS1)
> EAX:00000001 EBX:20474e49 ECX:5c5c5c5c EDX:405e85bc
> ESI:20746f6e EDI:78383025
>Stack dump:
>0x406fd240:  72745374 41676e69 796c616e 53206573
>0x406fd250:  20627574 756f6873 7220646c 72757465
>0x406fd260:  5f45206e 49544f4e 204c504d 20746f6e
>0x406fd270:  78383025 5300000a 70697263 72745374
>0x406fd280:  4f676e69 53207475 20627574 756f6873
>0x406fd290:  7220646c 72757465 5f45206e 49544f4e
>fixme:ntdll:RtlNtStatusToDosErrorNoTeb no mapping for c0000119
>Backtrace:
>0x70697263: -- no code accessible --
>Modules:
>Module	Address			Debug info	Name (9 modules)
>PE	405e0000-405e9000	--none--        usp10_test
>PE	40710000-40716000	--none--        usp10
>PE	40730000-407a6000	Deferred        gdi32
>PE	407b0000-407ea000	Deferred        advapi32
>PE	40800000-40920000	Deferred        user32
>PE	40b40000-40bb4000	--none--        winex11
>PE	40bc0000-40bd0000	--none--        imm32
>PE	7b820000-7b905000	Deferred        kernel32
>PE	7bc10000-7bc80000	Deferred        ntdll
>Threads:
>process  tid      prio (all id:s are in hex)
>0000000a 
>	0000000b    0
>00000008 (D) Z:\usr\local\src\wine-git\dlls\usp10\tests\usp10_test.exe
>	00000009    0 <==
>  
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.winehq.org/pipermail/wine-devel/attachments/20060723/4279b6c9/attachment.html


More information about the wine-devel mailing list