def __init__ (self, sudoku_grid, # A SudokuGrid, a InteractiveSudoku/SudokuSolver, or a SudokuGridDisplay gpc, grid_size=9, grid_side_size=500, start_at=(800,50), label=None, label_font=('Arial',12), ): """Draw a sudoku grid. If we're labelling, we put our label above the start_at """ if isinstance(sudoku_grid,gsudoku.SudokuGridDisplay): self.sudoku_grid = sudoku_grid.grid self.sgd = sudoku_grid else: self.sudoku_grid = sudoku_grid self.sgd = None GridDrawer.__init__(self, gpc, grid_size=grid_size, grid_side_size=grid_side_size, start_at=start_at, label=label, label_font=label_font, ) self.alt_font = gnomeprint.font_find_closest('Sans Italic', self.font.get_size()*0.85 ) self.alt_color = .4,.4,.4
def my_draw(gpc): font = gnomeprint.font_find_closest("Helvetica", 12) gpc.beginpage("1") gpc.setfont(font) for i in xrange(100): gpc.moveto(100, 100) gpc.show("This is example_03.py which uses GnomeFont\n") gpc.showpage()
def __init__ (self, gpc, grid_size=9, grid_side_size=500, start_at=(800,50), default_color=(0,0,0), label=None, label_font=('Arial','12'), ): self.gpc = gpc self.grid_size = grid_size self.label = label self.label_font=gnomeprint.font_find_closest(*label_font) self.grid_side_size = grid_side_size self.start_at = start_at self.increment = float(grid_side_size) / grid_size self.left_upper = start_at self.right_lower = self.left_upper[0]+self.grid_side_size,self.left_upper[1]-self.grid_side_size self.box_size = math.sqrt(grid_size) #print 'beginpage 1' #self.gpc.beginpage("1") # get the right font size for our increment... self.increment * 0.7 # start with our maximum font... max_size=36 self.font = gnomeprint.font_find_closest('Sans Bold',max_size) self.default_color = default_color while self.font.get_width_utf8('1')> (self.increment * 0.4) and\ self.font.get_ascender()> (self.increment * 0.4): max_size = max_size - 1 self.font = gnomeprint.font_find_closest('Helvetica', max_size) self.THICK_WIDTH = 1 + float(max_size) / 8 #print 'FONT SIZE ',max_size, 'BORDER SIZE: ',self.THICK_WIDTH self.gpc.setfont( self.font ) self.gpc.setrgbcolor(*self.default_color)
def my_draw(gpc, page): font = gnomeprint.font_find_closest("Sans Regular", 18) gpc.beginpage(str(page)) gpc.moveto(1, 1) gpc.lineto(200, 200) gpc.stroke() gpc.setfont(font) gpc.moveto(200, 72) gpc.show("Page: %d" % (page + 1)) my_print_image_from_disk(gpc) gpc.showpage()
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_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()