那你得自己写一个drawstring函数了 GDI+ 本身没这个功能。 
不过这个函数写起来 应该挺费劲的 毕竟区分哪里是中文就是个麻烦事情。当然 主要也就是这个事情

解决方案 »

  1.   

    系统并非英文用第一个字体中文用第二个,而是未在系统中设置字体链接的英文字体,中文都会使用默认的宋体。比如:
    font-family:'Calibri', '微软雅黑'
    也只是如果系统中有 Calibri 字体时,页面是 Calibri + 宋体。如果不存在 Calibri 这个字体,则就全部是雅黑的中英文。
      

  2.   

    你用 GdiPlus 创建字体的话,如果系统中并不存在这个字体名,那么肯定无法成功。不像 GDI 有的时候字体名不存在也会返回句柄,只是字体效果不是你想要的。既然 GdiPlus 能失败,那就好办了,返回值不是 Gdiplus::Ok 就说明不支持。但是只要 Calibri 字体能创建成功,其中文虽然不存在,系统仍会使用宋体,这个是受注册表里的字体链接影响,由系统控制,我们就不管了。
      

  3.   

    呵呵 不管怎样 你同一行文字不同的字符或者字 可能会用不同的字体 GDI+没这个功能 你必须自己写逻辑