>The question is how to convert a chinese font to binary data.
>
>If I crate a file without chinese, I print properly. However, when there is a chinese character, it prints wrong.
>I send my file to lpt1 by API 'CopyFile'.
The Chinese character set is not native to the target printer, so use Windows to interpret the output stream and generate the necessary print stuff. The whole approach used with the CopyFile() API is designed to avoid and bypass the GDI, but you need to use it to handle hardware independent support of non-native fonts. The printer doesn't understand the coded characters should be rendered as Chinese characters. Let Windows handle that.
If the printer understood and properly rendered the character set, Windows' GDI would be an unwanted and unneeded layer. Since the printer doesn't do that, the GSI's ability to interpret and render the output is your best friend.