#!/usr/bin/env python # -*- coding: UTF-8 -*- """Display unicode text strings.""" # data from http://www.columbia.edu/kermit/utf8.html phrases = {'English': u"I can eat glass and it doesn't hurt me.", 'Sanskrit': u"à¤à¤¾à¤à¤ शà¤à¥à¤¨à¥à¤®à¥à¤¯à¤¤à¥à¤¤à¥à¤®à¥ । नà¥à¤ªà¤¹à¤¿à¤¨à¤¸à¥à¤¤à¤¿ मामॠ॥", 'Sanskrit (standard transcription)': u"kÄcaá¹ Åaknomyattum; nopahinasti mÄm.", 'Classical Greek': u"á½Î±Î»Î¿Î½ Ïαγεá¿Î½ δύναμαιΠÏοῦÏο οὠμε βλάÏÏει.", 'Greek': u"ÎÏοÏÏ Î½Î± ÏÎ¬Ï ÏÏαÏμÎνα Î³Ï Î±Î»Î¹Î¬ ÏÏÏÎ¯Ï Î½Î± ÏÎ¬Î¸Ï ÏίÏοÏα.", 'Thai': u"à¸à¸±à¸à¸à¸´à¸à¸à¸£à¸°à¸à¸à¹à¸à¹ à¹à¸à¹à¸¡à¸±à¸à¹à¸¡à¹à¸à¸³à¹à¸«à¹à¸à¸±à¸à¹à¸à¹à¸", 'Chinese': u"æè½åä¸ç»çèä¸ä¼¤èº«ä½", 'Chinese (Traditional)': u"æè½åä¸ç»çèä¸å·èº«é«", 'Japanese': u"ç§ã¯ã¬ã©ã¹ãé£ã¹ããã¾ããããã¯ç§ãå·ã¤ãã¾ããã", 'Korean': u"ëë ì 리를 먹ì ì ìì´ì. ê·¸ëë ìíì§ ììì", 'Arabic': u"Ø£Ùا Ùادر عÙ٠أÙ٠اÙزجاج Ù Ùذا Ùا ÙؤÙÙ ÙÙ.", 'Hebrew': u"×× × ×××× ××××× ×××××ת ××× ×× ×××ק ××.", } # collect above data into 2 sequences: language, phrase = zip(*[item for item in phrases.iteritems()]) import VisionEgg VisionEgg.start_default_logging(); VisionEgg.watch_exceptions() from VisionEgg.Core import * from VisionEgg.FlowControl import Presentation from VisionEgg.Text import * import pygame from pygame.locals import * screen = get_default_screen() screen.parameters.bgcolor = (0.0,0.0,1.0) # background blue (RGB) if sys.platform == 'win32': font_name = r'C:\Windows\Fonts\Arial.ttf' else: font_name = '/usr/share/fonts/truetype/Arial.ttf' if not os.path.exists(font_name): print 'WARNING: font_name "%s" does not exist, using default font'%font_name font_name = None text = Text(color=(1.0,1.0,1.0), # alpha is ignored (set with max_alpha_param) position=(screen.size[0]/2,screen.size[1]/2), ignore_size_parameter=False, # ignore font size (use texture size) size = (screen.size[0],max(screen.size[0]/10,10)), anchor='center', font_name=font_name) viewport = Viewport(screen=screen, size=screen.size, stimuli=[text]) # The main loop below is an alternative to using the # VisionEgg.FlowControl.Presentation class. frame_timer = FrameTimer() quit_now = 0 while not quit_now: for event in pygame.event.get(): if event.type in (QUIT,KEYDOWN,MOUSEBUTTONDOWN): quit_now = 1 idx = int(VisionEgg.time_func()%len(language)) text.parameters.text = "%s: %s"%(language[idx],phrase[idx]) screen.clear() viewport.draw() swap_buffers() frame_timer.tick() frame_timer.log_histogram()