#!/usr/bin/python # -*- coding: utf-8 -*- """Reportlab Chinese hello-world.""" from reportlab.pdfgen.canvas import Canvas from reportlab.pdfbase import pdfmetrics from reportlab.pdfbase.cidfonts import UnicodeCIDFont def main(): font = 'STSong-Light' # works, simplified Chinese # Produces broken PDFs: font = 'MSung-Light' # Documented but not present: font = 'MHei-Medium' #font = 'HeiseiMin-W3' # works, Japanese, doesn't cover 妈 #font = 'HeiseiKakuGo-W5' # works, Japanese, doesn't cover 妈 # Documented but not present: font = 'HYSMyeongJoStd-Medium' # Doesn't cover 你, leaves a blank space: font = 'HYGothic-Medium' pdfmetrics.registerFont(UnicodeCIDFont(font)) c = Canvas('hellochinese.pdf', invariant=True, pagesize=(72*2, 72)) c.setFont(font, 36) c.drawString(36, 24, '你好') c.save() if __name__ == '__main__': main()