home *** CD-ROM | disk | FTP | other *** search
- #! /usr/bin/env python
- #
- # * example_04.c: sample gnome-print code
- # *
- # * This program is free software; you can redistribute it and/or
- # * modify it under the terms of the GNU Library General Public License
- # * as published by the Free Software Foundation; either version 2 of
- # * the License, or (at your option) any later version.
- # *
- # * This program is distributed in the hope that it will be useful,
- # * but WITHOUT ANY WARRANTY; without even the implied warranty of
- # * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- # * GNU Library General Public License for more details.
- # *
- # * You should have received a copy of the GNU Library General Public
- # * License along with this program; if not, write to the Free Software
- # * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- # *
- # * Authors:
- # * Chema Celorio <chema@ximian.com>
- # Python conversion:
- # Gustavo J. A. M. Carneiro <gustavo@users.sf.net>
- # *
- # * Copyright (C) 2002 Ximian Inc. and authors
- # *
- # */
-
- #/*
- # * See README
- # */
-
- import pygtk; pygtk.require("2.0")
- import gnomeprint
-
-
- def my_draw(gpc):
- # Make some UTF-8 strings
- acented = "".join(map(chr, (0xC3, 0xA0, 0xC3, 0xA8, 0xC3, 0xAC,
- 0xC3, 0xB2, 0xC3, 0xB9, 0x20, 0xC3,
- 0xB1, 0xC3, 0x91, 0x20, 0xC3, 0xBB,
- 0xC3, 0xB4, 0x20)))
-
- cyrillic = "".join(map(chr, (0xD0, 0xA1, 0xD0, 0xBE, 0xD0, 0xBC, 0xD0, 0xB5,
- 0x20, 0xD1, 0x80, 0xD0, 0xB0, 0xD0, 0xBD,
- 0xD0, 0xB4, 0xD0, 0xBE, 0xD0, 0xBC, 0x20, 0xD1,
- 0x86, 0xD1, 0x8B, 0xD1, 0x80, 0xD1, 0x83,
- 0xD0, 0xBB, 0xD0, 0xBB, 0xD0, 0xB8, 0xD1, 0x86,
- 0x20, 0xD1, 0x87, 0xD0, 0xB0, 0xD1, 0x80,
- 0xD1, 0x81)))
-
- # Get this font from:
- # http://bibliofile.mc.duke.edu/gww/fonts/Unicode.html
- # I used the TTF Caslon Roman.
-
- font = gnomeprint.font_find_closest("Caslon Roman", 12)
- font_name = font.get_name()
- print "Found:", font_name
- if font_name != "Caslon Roman":
- print "You might not see cyrillic characters because Caslon Roman was not found.\n"
-
- gpc.beginpage("1")
-
- gpc.setfont(font)
-
- gpc.moveto(100, 700)
- gpc.show("Some acented characters:")
- gpc.moveto(100, 680)
- gpc.show(acented)
-
- gpc.moveto(100, 650)
- gpc.show("Some cyrillic:")
- gpc.moveto(100, 630)
- gpc.show(cyrillic)
-
- gpc.showpage()
-
- def my_print():
- job = gnomeprint.Job(gnomeprint.config_default())
- gpc = job.get_context()
-
- my_draw(gpc)
-
- job.close()
- job.print_()
-
- my_print()
- print "Done..."
-
-