|
PIDDLE StringTest
PIDDLEStringTest""" This module tests basic font- and string-handling functions of PIDDLE. In particular, it illustrates the seven standard fonts. """ from piddle import * ### change the following two lines to try a different PIDDLE backend: from piddleQD import QDCanvas TestCanvas = QDCanvas tx = 10 ty = 70 def Write(s, font=None): global tx,ty if font: canvas.defaultFont = font text = s while text and text[-1] == '\n': text = text[:-1] canvas.drawString(text, x=tx, y=ty) if s[-1] == '\n': tx = 10 ty = ty + canvas.fontHeight() + canvas.fontDescent() else: tx = tx + canvas.stringWidth(s) def CenterAndBox(s, cx=200, y=40): "tests string positioning, stringWidth, fontAscent, and fontDescent" canvas.drawLine(cx,y-30, cx,y+30, color=yellow) w = canvas w = canvas.stringWidth(s) canvas.drawLine(cx-w/2, y, cx+w/2, y, color=red) canvas.drawString(s, cx-w/2, y ) canvas.defaultLineColor = Color(0.7,0.7,1.0) # light blue canvas.drawLine(cx-w/2, y-20, cx-w/2, y+20) # left canvas.drawLine(cx+w/2, y-20, cx+w/2, y+20) # right asc, desc = canvas.fontAscent(), canvas.fontDescent() canvas.drawLine(cx-w/2-20, y-asc, cx+w/2+20, y-asc) # top canvas.drawLine(cx-w/2-20, y+desc, cx+w/2+20, y+desc) # bottom def StandardFonts(): canvas.defaultLineColor = black global tx,ty for size in (12, 18): for fontname in ("times", "courier", "helvetica", "symbol", "monospaced", "serif", "sansserif"): tx = 10 ty = ty + size*1.5 Write("%s %d " % (fontname,size), Font(face=fontname, size=size)) Write("bold ", Font(face=fontname, size=size, bold=1)) Write("italic ", Font(face=fontname, size=size, italic=1)) Write("underline", Font(face=fontname, size=size, underline=1)) try: canvas.close() except: pass canvas = TestCanvas( size=(400,400) ) CenterAndBox("spam, spam, spam, baked beans, and spam!") StandardFonts() http://www.strout.net/info/coding/python/piddle/stringtest.html Last Updated: 5/17/99 . . . . . . webmaster@strout.net |