获取当前打印作业的信息可用EnumJobs获得JobInfo,包括文件名,页数,颜色,单双面,纸型等等。但如何获取当前打印作业的字体呢?(Windows API, EnumFonts是获得设备的字体的。不是想要的。)大家有经验的请给与指教。

解决方案 »

  1.   

    获取当前打印作业的信息可用EnumJobs获得JobInfo,包括文件名,页数,颜色,单双面,纸型等等。但如何获取当前打印作业的字体呢?FaceName,Weight,Italic,Charset...?(Windows API, EnumFonts是获得设备的字体的。不是想要的。)大家有经验的请给与指教。
      

  2.   

     正在打印的打印作业中的,作业的font信息包括: FaceName,Weight,Italic,Charset。 多谢!
      

  3.   

    正在打印的打印作业中的, 该作业的所有fonts的具体信息包括: FaceName,Weight,Italic,Charset。 多谢! 
     
      

  4.   

    HFONT CreateFont(
      int nHeight,               // height of font
      int nWidth,                // average character width
      int nEscapement,           // angle of escapement
      int nOrientation,          // base-line orientation angle
      int fnWeight,              // font weight
      DWORD fdwItalic,           // italic attribute option
      DWORD fdwUnderline,        // underline attribute option
      DWORD fdwStrikeOut,        // strikeout attribute option
      DWORD fdwCharSet,          // character set identifier
      DWORD fdwOutputPrecision,  // output precision
      DWORD fdwClipPrecision,    // clipping precision
      DWORD fdwQuality,          // output quality
      DWORD fdwPitchAndFamily,   // pitch and family
      LPCTSTR lpszFace           // typeface name
    );
    创建完了选入设备上下文CDC
      

  5.   

    看错了,GetCurrentFont,返回Font结构体,里面有你说的属性
      

  6.   

    在windows上打印机被抽象成一个dc,跟在屏幕上面画图逻辑上没有任何区别。因此可以获得dc上面最后设置的字体信息。但这个信息一般来说是没有多大意义的。
      

  7.   

     to lisunlin0,
     
     是想得到正在打印的打印池里的文件的fonts信息。 其结构体定义如下:
    struct FontHeader { 
      WORD   dfVersion; 
      DWORD  dfSize;   
      char   dfCopyright[60]; 
      WORD   dfType; 
      WORD   dfPoints; 
      WORD   dfVertRes; 
      WORD   dfHorizRes; 
      WORD   dfAscent; 
      WORD   dfInternalLeading; 
      WORD   dfExternalLeading; 
      BYTE   dfItalic; 
      BYTE   dfUnderline; 
      BYTE   dfStrikeOut; 
      WORD   dfWeight; 
      BYTE   dfCharSet; 
      WORD   dfPixWidth; 
      WORD   dfPixHeight; 
      BYTE   dfPitchAndFamily; 
      WORD   dfAvgWidth; 
      WORD   dfMaxWidth; 
      BYTE   dfFirstChar; 
      BYTE   dfLastChar; 
      BYTE   dfDefaultChar; 
      BYTE   dfBreakChar; 
      WORD   dfWidthBytes; 
      DWORD  dfDevice; 
      DWORD  dfFace; 
      DWORD  dfReserved; 
      char   szDeviceName[]; 
      char   szFaceName[]; 
    };