On Thu, Feb 01, 2001 at 11:19:31PM +0600, Ian Pilcher wrote:
I think I can probably handle reading the registry. (Although from what little I've seen of the Win32 API, even that could be a night- mare.)
OK, I've just submitted G|SetPrinterData implementations to wine-patches - please use these instead of direct Reg apis. (it should make life easier anyway.
You basically want
HANDLE hprn; OpenPrinterA("Wine PostScript Driver", &hprn, NULL); SetPrinterDataA(hprn, "FontSubTable" /*or whatever*/, REG_MULTI_SZ, pData, size); ClosePrinter(hprn);
where pData is a list of \0 terminated strings that make up the table, finally terminated by a double \0.
Reading the data back is almost the same using GetPrinterDataA
I think we should also allow the Wine config file to override what's in the registry.
Not really convinced about this. I'd like to move all of the psdrv stuff out of the config file (which afterall is just a bit of the registry) into its correct place under HKLM\System\CurrentControlSet\Control\Printers\Print The configuration should all be done via a GUI control.
Which leads me to another, more dangerous, thought. It seems to me that life would be simpler for everyone if we could bring some consistency to the way that Wine's display and print subsystems work with fonts. What about a section in the configuration file that related Windows, X, and PostScript font names?
In the old style, I would have suggested something of the form:
Windows Font = X LFD, PostScript font name
This would seem to be relatively straightforward to implement, and it would bring a small measure of sanity to the area. (I currently have both 'MS Sans Serif' and 'Ms Sans Serif' fonts, because the X server and the PostScript driver don't agree on what the font should be called!)
This should all be a lot easier when I get a FreeType engine bolted on to gdi. Then psdrv,x11drv,ttydrv(?) will all have access to the same data and thus consistancy should not be a problem.
Huw.