Kids in US can't read analog clock
print on nearest PS printer:<p><pre><code>  %!PS-Adobe-3.0
  %%Creator: Toby Thurston
  %%Title: (Pages of pedagogical clocks)
  %%CreationDate: (2014-02-14)
  %%BoundingBox: 12 12 600 780 
  %%Pages: 1
  %%EndComments
  &lt;&lt; &#x2F;PageSize [612 792] &gt;&gt; setpagedevice
  %�ginSetup
  &#x2F;clock {
      &#x2F;mins exch def
      &#x2F;hour exch def
      &#x2F;r exch def % radius
      &#x2F;cr r 100 div def
      % draw the minute marks
      12 { .5 setlinewidth 4 { 6 rotate r 0 moveto r 20 div 0 rlineto stroke } repeat
	   2 setlinewidth     6 rotate r 0 moveto r 20 div 0 rlineto stroke } repeat  
      % numbers           
      &#x2F;fontsize r 0.14 mul def
      &#x2F;Helvetica findfont fontsize scalefont setfont
      &#x2F;s 2 string def 
      &#x2F;rr r 0.9 mul def
      1 1 12 { &#x2F;n exch def &#x2F;theta 90 30 n mul sub def
	       &#x2F;st n s cvs def st stringwidth pop &#x2F;dx exch 2 div neg def
	       rr theta cos mul rr theta sin mul moveto dx fontsize 3 div neg rmoveto st show
	     } for

      % draw hands (unless hour is negative)
      -1 hour lt {
	  gsave % hour hand first
	  90 60 hour mul mins add 2 div sub rotate
	  newpath
	  0 2 moveto
	  15 cr mul  3 cr mul 33 cr mul   0 cr mul 50 cr mul  3 cr mul curveto 
	  55 cr mul 15 cr mul 60 cr mul   0 cr mul 76 cr mul  0 cr mul curveto
	  60 cr mul  0 cr mul 55 cr mul -15 cr mul 50 cr mul -3 cr mul curveto 
	  33 cr mul  0 cr mul 15 cr mul  -3 cr mul  0 cr mul -2 cr mul curveto
	  closepath 0 0 .677 setrgbcolor fill
	  grestore
	  gsave % minute hand on top
	  90 6 mins mul sub rotate
	  newpath
	  0 2 moveto
	  15 cr mul 3 cr mul 33 cr mul 0         50 cr mul  1 cr mul curveto 
	  65 cr mul 3 cr mul 83 cr mul 0         97 cr mul  0        curveto
	  83 cr mul 0        65 cr mul -3 cr mul 50 cr mul -1 cr mul curveto 
	  33 cr mul 0        15 cr mul -3 cr mul 0         -2 cr mul curveto
	  closepath .635 0 0 setrgbcolor fill
	  grestore
      } if 

      % finally do central dot (to cover starts of hands) and outer band      
      .5 setlinewidth
      0 0 moveto 0 0 r 20 div   0 360 arc fill
      0 0 r 1.07 mul 0 360 arc stroke

  } def

  &#x2F;emptyclock {
      &#x2F;r exch def % radius
      &#x2F;cr r 100 div def
      % draw the minute marks
      12 { .5 setlinewidth 4 { 6 rotate r 0 moveto r 20 div 0 rlineto stroke } repeat
	   2 setlinewidth     6 rotate r 0 moveto r 20 div 0 rlineto stroke } repeat  
      % numbers           
      &#x2F;fontsize r 0.14 mul def
      &#x2F;Helvetica findfont fontsize scalefont setfont
      &#x2F;s 2 string def 
      &#x2F;rr r 0.9 mul def
      1 1 12 { &#x2F;n exch def &#x2F;theta 90 30 n mul sub def
	       &#x2F;st n s cvs def st stringwidth pop &#x2F;dx exch 2 div neg def
	       rr theta cos mul rr theta sin mul moveto dx fontsize 3 div neg rmoveto st show
	     } for

      % finally do central dot (to cover starts of hands) and outer band      
      .5 setlinewidth
      0 0 moveto 0 0 r 20 div   0 360 arc fill
      0 0 r 1.07 mul 0 360 arc stroke

  } def


  %%EndSetup
  %%Page: 1 1 
  %�ginPageSetup
  &#x2F;pgsave save def
  %%EndPageSetup
  297 480 translate
  120 

  (�lendar%) &#x2F;IODevice resourcestatus {
      pop pop (�lendar%) currentdevparams
      dup &#x2F;Running get { dup &#x2F;Hour get exch &#x2F;Minute get }{ 0 0 } ifelse } { -1 -1 } ifelse

  clock
  pgsave restore
  showpage
  %%Page: 2 2
  %�ginPageSetup
  &#x2F;pgsave save def
  %%EndPageSetup
  50 -55 translate
  4 {
      5 { 0 165 translate % a page of clocks for learners
	  50 rand 12 mod rand 60 mod clock 
	  % line underneath           
	  gsave [1 3] 0 setdash 50 neg dup 1.8 mul moveto 50 2 mul 0 rlineto stroke grestore
	} repeat
      146 5 165 mul neg translate
  } repeat
  pgsave restore
  showpage
  %%Page: 3 3
  %�ginPageSetup
  &#x2F;pgsave save def
  %%EndPageSetup
  75 -55 translate
  4 {
      5 { 0 165 translate    % whole multiple of five minutes only
	  45 rand 12 mod rand 12 mod 5 mul clock 
	  gsave [1 3] 0 setdash 50 neg dup 1.8 mul moveto 50 2 mul 0 rlineto stroke grestore
	} repeat
      146 5 165 mul neg translate
  } repeat
  pgsave restore
  showpage
  %%Page: 4 4
  %�ginPageSetup
  &#x2F;pgsave save def
  %%EndPageSetup
  75 -55 translate
  4 {
      5 { 0 165 translate    % quarter hours only
	  45 rand 12 mod rand 4 mod 15 mul clock 
	  gsave [1 3] 0 setdash 50 neg dup 1.8 mul moveto 50 2 mul 0 rlineto stroke grestore
	} repeat
      146 5 165 mul neg translate
  } repeat
  pgsave restore
  showpage

  %%Page: 5 5
  %�ginPageSetup
  &#x2F;pgsave save def
  %%EndPageSetup
  75 -55 translate
  4 {
      5 { 0 165 translate    % empty clocks
	  45 emptyclock 
	  gsave [1 3] 0 setdash 50 neg dup 1.8 mul moveto 50 2 mul 0 rlineto stroke grestore
	} repeat
      146 5 165 mul neg translate
  } repeat
  pgsave restore
  showpage



  %%Eof</code></pre>