test.pl 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #!/usr/bin/env perl
  2. my @fonts = ("cyrilc","gothgbt","gothgrt","gothitt","greekc","greekcs","greekp",
  3. "greeks","italicc","italiccs","italict","romanc","romancs","romand",
  4. "romans","romant","scriptc","scripts","cyrilc","gothgbtlu");
  5. my @colors = ("red","orange","yellow","green","blue","indigo","violet", "black",
  6. "gray","brown","magenta","aqua","grey","cyan","purple");
  7. sub rc{
  8. printf ".X %s\n.Y %s\n", shift, shift;
  9. }
  10. sub xy{
  11. printf ".X %s%\n.Y %s%\n", shift, shift;
  12. }
  13. sub font{
  14. printf ".F %s\n", shift;
  15. }
  16. sub size{
  17. printf ".S %s\n", shift;
  18. }
  19. sub color{
  20. printf ".C %s\n", shift;
  21. }
  22. sub rotate{
  23. printf ".R %s\n", shift;
  24. }
  25. sub align{
  26. printf ".A %s\n", shift;
  27. }
  28. sub text{
  29. $_ = shift;
  30. s/^\./../mg;
  31. s/\n$//;
  32. print "$_\n";
  33. }
  34. size 4;
  35. for(my $i = 0; $i < 36; $i++){
  36. font $fonts[$i%$#fonts];
  37. size ((($i>=9&&$i<18)||$i>27?36-$i:$i)%9);
  38. rotate $i*10;
  39. color $colors[$i%$#colors];
  40. xy 80+10*cos($i*10/180*3.141593), 50+10*640/480*sin($i*10/180*3.141593);
  41. text ". $fonts[$i%$#fonts]";
  42. }
  43. size 2;
  44. rotate 0;
  45. font "romans";
  46. color "gray";
  47. rc 1, 1;
  48. undef $/;
  49. open FH, "test.pl";
  50. my $src = <FH>;
  51. close FH;
  52. $src =~ s/\n/\n.L 1\n.L 0\n/g;
  53. $src =~ s/(".*?")/\n.C red\n$1\n.C gray\n/g;
  54. $src = ".L 0\n$src";
  55. print $src;