袁峰

www.fengyuan.com
随笔 - 24, 评论 - 281, 引用 - 62

导航

标签

每月存档

最新留言

  • 回复: 换工作了
    # 回复: 换工作了 2007-12-18 14:08 vb.net <br>厉害,佩服,学习 <br> <br># 回复: 换工作了 2007-12-18 1...
    by 1(匿名) on 2007/12/29 22:26:00
  • 回复: 换工作了
    ParallelFX !
    by DLU(匿名) on 2007/12/21 15:27:00
  • 回复: 换工作了
    只要不是去google就好
    by fwaef(匿名) on 2007/12/20 15:34:00
  • 回复: 换工作了
    aaaaa
    by s(匿名) on 2007/12/20 12:15:00
  • 回复: 换工作了
    是不是传说中的PLINQ呀?MS中的几个大牛正在做!
    by Boler Guo(匿名) on 2007/12/18 16:50:00
  • 回复: 换工作了
    11年, 佩服! <br>严老大不妨跟大家讲讲具体要做那些工作, 难道是VS上的多核程序调试工具? <br>:)
    by VincentChen(匿名) on 2007/12/18 16:48:00
  • 回复: 换工作了
    看看: <br> <br><a target="_new" href="http://msdn2.microsoft.com/en-us/c...
    by fyuan(匿名) on 2007/12/18 15:06:00
  • 回复: 换工作了
    具体的说说,大家还是很关注老大的
    by 小气的鬼(匿名) on 2007/12/18 14:32:00
  • 回复: 换工作了
    11年,大牛了
    by Victor.Woo(匿名) on 2007/12/18 14:16:00
  • 回复: 换工作了
    Visual Studio / 多核 <br> <br>这两个东西好像交集很小呀。 <br> <br>利用多核的技术提高 Visual Studio ...
    by ghj1976(匿名) on 2007/12/18 14:14:00
  • 回复: 换工作了
    袁老大真是厉害,让我佩服,向你学习!
    by vb.net(匿名) on 2007/12/18 14:09:00
  • 回复: 换工作了
    厉害,佩服,学习
    by vb.net(匿名) on 2007/12/18 14:08:00
  • 回复: 悬赏: large/huge EMF spool file
    sdsdadasdfafvfafdfadsfadsfdfdfgf
    by fsdfsd(匿名) on 2007/12/16 8:52:00
  • 回复: 梁肇新 《编程高手箴言》 书评
    我觉得我这种算是比较肤浅的人都能理解的到的书,你们这些所谓的高手确理解不了而是在讽刺,请问你们的成就是啥,也写出来让我膜拜一下吧。不要说人家做出来的东西是垃圾,在垃圾也有能学习的地方,何况这本书讲了许...
    by lr2000(匿名) on 2007/12/12 20:38:00
  • 回复: 梁肇新 《编程高手箴言》 书评
    不巧变成乱码~ <br> <br>我觉得两方都有各自的道理,但是呢,你说梁只是一个工人,一个垒代码的,确实,一个熟练工完全可以迅速垒出层叠嵌套的代码,再熟练点的,可以找出一个系...
    by lr2000(匿名) on 2007/12/12 20:32:00

广告

悬赏: large/huge EMF spool file

I'm collecting large/huge EMF spool files, which are usually generated printing from CAD/CAM/GIS applications. Here are some restrictions:

1) Single page. It's always possible to print lots of pages to generate a huge spool file.

2) Recent version of applications. Old applications may just be silly in generating EMF spool file.

3) Real applications, real documents. It's always possible to copy/paste a medium complex page to generate a very complicated page.

4) EMF spool file, not raw printer data. emf.exe from www.fengyuan.com\download should be able to open EMF spool file.

I usually install a printer driver to LPT2, print to it, and then go to the spooler folder to harvest the EMF spool file (system32\spool\printers).

Thanks

posted on 2004-05-16 17:20:00 by fyuan  评论(16) 阅读(4743)

ww.fengyuan.com 洗心革面

After several years, www.fengyuan.com finally gets a new look. This time, I hired someone to do it for me, 2.5 hours, $5 per hour, for a total cost of $12.5. Like every designer, he left a mark on my website, qc.fengyuan.com.

PS. I finished the blog on new Longhorn printing architecture: http://blog.joycode.com/fyuan/posts/20849.aspx

 

posted on 2004-05-09 14:56:00 by fyuan  评论(16) 阅读(4511)

A long time dream coming true

At WinHEC today, Microsoft unveiled details about a new printing architecture based on Longhorn's Avalon technology. It is a long time dream coming true for lots of people familar with Windows printing system. The same is true for me as I worked for four years on Deskjet printer drivers for HP, and three years for Microsoft on GDI, GDI+ and Avalon.

Here is a summary of the differences between the new and old printing architecture:

1) Double precision coordinate system. GDI on Win9X uses 16-bit coordinate system internally, GDI on NT-based systems uses 28.4 fixed point coordinate system internally, GDI+ uses single precision floating number. None of them is good enough for large size, high resolution application. Finally, Avalon changes to use double precision floating point numbers.

2) Well documented spool file format. GDI uses EMF as the basics for its spool file format. But the exact file format used is not documented and it even changes from version to version. Longhorn will support a new well documented spool file format, which is based on a subset of XAML, the markup language for Avalon. The Avalon printing system will convert contents into this subset of XAML and write to the new spool file, which can then be consumed by printer drivers, filters or devices capable of processing it. Versioning strategy and digital rights management are built in into the format.

3) Independence from GDI, DDI world. The Win32 printing system is tightly coupled with the GDI, DDI interface designed initially for display devices. Higher level GDI commands are broken down into lower level DDI commands originally designed for dump display devices. Even work group printers have to receive data through this narrow channel. Although starting from Windows 2000, user mode printer drivers are supported, rendering calls are still passed to kernel mode first before being thunked back to user mode printer driver. GDI+ does not have its own printer driver mode, so it just converts GDI+ primitive to GDI commands. Longhorn's printer driver will be based on managed code. Now printer driver is finally away from the driver mode designed for display devices. Printer drivers will be hosted in a managed process with each print queue having its own application domain, isolating bad drivers from good ones.

4) Open filter-based printer driver architecture. In the Win32 world, the first stage of printer driver is actually EMF print processor. But EMF print processor is not given direct access to EMF spool file, instead it's being fed with contents. EMF print processor also does not have direct control over the real printer driver. The real printer driver is a DDI-based driver which only receives one DDI commands at a time. More sophistated printer drivers have to save all DDI commands to a file and implement multi-stage conversion for high quality output. The new printer driver is just a chain of filter, each having directly access to spool files. Printer vendors can implement print processor like features, logging, archieving, page analysis, real conversion within the same framework. There will be lots of opportunity for innovation.

5) Consistent and extensible settings. Printing settings are kept in DEVMODE in Win32 world. But the DEVMODE mode structure was originally designed for 16-bit world so it has lots of limitation. One example is that paper size is limited to 16-bit integers. So printer vendors has to extend DEVMODE by adding data to private DEVMODE which no one else can understand. In the driver UI, there are several property sheet pages which are maintained by printer drivers according to private DEVMODE. There are lots of confusion and inconsistency between public and private settings. In Longhorn, DEVMODE is replaced with PrintTicket, an XML stream which holds all printing related settings. Printer vendors can extend it in a predefined way such that application, print UI can understand them. PrintTicket can be attached at job, document or page level for different levels of control.

6) ScRGB color space. Longhorn printing system will support ScRGB color space, CMYK color space, named color and spot colors, on top of sRGB support. In ScRGB color space, each color channel is represented using single precision floating point number using gamma of 1.0.

7) Smaller spool file size. When applications want to implement advanced graphics features like gradient fill and transparency, EMF spool file can grow to unmanageable size when they are broken down into GDI primitives. Other draw back of EMF spool file is that it does not allow compressed bitmap, unless the printer driver supports PNG and JPG pass-through; and it does not allow reuse of bitmaps. XAML-based spool file can natively represent gradient fill, transparency and different types of image formats. This translates to smaller spool file size and better performance.

8) Improved printing quality. Out of box, Longhorn will support all existing printer drivers on the market through a special built-in conversion path which translates Avalon context into GDI contents. This conversion path will provide far better printing quality than GDI+ implementation currently used by Office and .NET/WinForm applications. Further printing quality improvement can be achieved by implementing full-fledged Longhorn printer drivers.

 

posted on 2004-05-07 15:09:00 by fyuan  评论(13) 阅读(7517)

Spring at Lake Bill

At the end of MVP Summit last month, I had the honour of taking the Chinese MVPs on a short tour of Microsoft main campus. They visited my new office, which has a nice view of Lake Bill. Lake Bill is a tiny articifial lake centered by the oldest buildings in Microsoft. It's connected with lots of history of Microsoft.

The MVPs took quite a few pictures at Lake Bill. Now new lifes are coming to Lake Bill, so it's worth another look: http://www.fengyuan.com/lakebill/.

Happy Holidays.

P.S. I have been busy on CSDN recently.

posted on 2004-05-01 15:42:00 by fyuan  评论(13) 阅读(3760)

Powered by: Joycode.MVC引擎 0.5.2.0