1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
|
#! /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..."
|