GIMP Script-fu

Hex Artifact Content
Login

Artifact c85e0c16c2c0fcc384ed34be968089eb359824bb:


0000: 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69  ; This program i
0010: 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b  s free software;
0020: 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72   you can redistr
0030: 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20  ibute it and/or 
0040: 6d 6f 64 69 66 79 0a 3b 20 69 74 20 75 6e 64 65  modify.; it unde
0050: 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74  r the terms of t
0060: 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50  he GNU General P
0070: 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73  ublic License as
0080: 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 3b 20   published by.; 
0090: 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72  the Free Softwar
00a0: 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69  e Foundation; ei
00b0: 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f  ther version 2 o
00c0: 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f  f the License, o
00d0: 72 0a 3b 20 28 61 74 20 79 6f 75 72 20 6f 70 74  r.; (at your opt
00e0: 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76  ion) any later v
00f0: 65 72 73 69 6f 6e 2e 0a 3b 0a 3b 20 54 68 69 73  ersion..;.; This
0100: 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74   program is dist
0110: 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68  ributed in the h
0120: 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c  ope that it will
0130: 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 20 62 75   be useful,.; bu
0140: 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41  t WITHOUT ANY WA
0150: 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20  RRANTY; without 
0160: 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64  even the implied
0170: 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b 20 4d   warranty of.; M
0180: 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f  ERCHANTABILITY o
0190: 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20  r FITNESS FOR A 
01a0: 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f  PARTICULAR PURPO
01b0: 53 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 20 47  SE.  See the.; G
01c0: 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69  NU General Publi
01d0: 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f  c License for mo
01e0: 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 0a 3b 3b  re details....;;
01f0: 20 55 6e 66 6f 72 74 75 6e 61 74 65 6c 79 2c 20   Unfortunately, 
0200: 77 65 20 63 61 6e 27 74 20 67 75 61 72 61 6e 74  we can't guarant
0210: 65 65 20 77 68 61 74 20 6f 72 64 65 72 20 74 68  ee what order th
0220: 65 20 73 63 72 69 70 74 73 20 77 69 6c 6c 20 6c  e scripts will l
0230: 6f 61 64 65 64 2c 0a 3b 3b 20 73 6f 20 77 65 20  oaded,.;; so we 
0240: 6d 75 73 74 20 72 65 70 6c 69 63 61 74 65 20 74  must replicate t
0250: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6c 61 6e  he following lan
0260: 67 75 61 67 65 20 74 72 61 6e 73 6c 61 74 69 6f  guage translatio
0270: 6e 73 20 64 65 66 69 6e 65 64 20 69 6e 0a 3b 3b  ns defined in.;;
0280: 20 73 67 2d 63 61 6c 65 6e 64 61 72 2e 73 63 6d   sg-calendar.scm
0290: 2e 0a 0a 28 64 65 66 69 6e 65 20 73 67 2d 63 61  ...(define sg-ca
02a0: 6c 65 6e 64 61 72 2d 6c 61 6e 67 75 61 67 65 73  lendar-languages
02b0: 20 27 28 22 45 6e 67 6c 69 73 68 22 20 20 20 20   '("English"    
02c0: 20 20 20 22 47 65 72 6d 61 6e 22 20 20 20 20 20     "German"     
02d0: 20 20 20 20 20 22 49 74 61 6c 69 61 6e 22 20 20       "Italian"  
02e0: 20 22 53 70 61 6e 69 73 68 22 20 20 20 0a 20 20   "Spanish"   .  
02f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0300: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 46                "F
0310: 72 65 6e 63 68 22 20 20 20 20 20 20 20 20 22 48  rench"        "H
0320: 75 6e 67 61 72 69 61 6e 22 20 20 20 20 20 20 20  ungarian"       
0330: 22 50 6f 6c 69 73 68 22 20 20 20 20 22 52 75 73  "Polish"    "Rus
0340: 73 69 61 6e 22 20 20 20 0a 20 20 20 20 20 20 20  sian"   .       
0350: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0360: 20 20 20 20 20 20 20 20 20 22 53 65 72 62 69 61           "Serbia
0370: 6e 20 6c 61 74 69 6e 22 20 22 53 65 72 62 69 61  n latin" "Serbia
0380: 6e 20 63 79 72 69 6c 69 63 22 20 22 43 72 6f 61  n cyrilic" "Croa
0390: 74 69 61 6e 22 20 20 22 53 6c 6f 76 65 6e 69 61  tian"  "Slovenia
03a0: 6e 22 20 0a 20 20 20 20 20 20 20 20 20 20 20 20  n" .            
03b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
03c0: 20 20 20 20 22 4d 61 63 65 64 6f 6e 69 61 6e 22      "Macedonian"
03d0: 20 20 20 20 22 53 77 65 64 69 73 68 22 20 20 20      "Swedish"   
03e0: 20 20 20 20 20 20 22 43 61 74 61 6c 61 6e 22 29        "Catalan")
03f0: 20 29 0a 0a 3b 3b 20 45 61 63 68 20 6f 66 20 74   )..;; Each of t
0400: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 72 61  he following tra
0410: 6e 73 6c 61 74 69 6f 6e 73 20 61 72 65 20 63 6f  nslations are co
0420: 6d 70 72 69 73 65 64 20 6f 66 20 61 20 6c 69 73  mprised of a lis
0430: 74 20 6f 66 3a 0a 3b 3b 20 20 20 28 6d 6f 6e 74  t of:.;;   (mont
0440: 68 73 29 20 28 64 61 79 73 29 20 28 64 61 79 2d  hs) (days) (day-
0450: 61 62 62 72 65 76 69 61 74 69 6f 6e 73 29 0a 3b  abbreviations).;
0460: 3b 20 49 66 20 74 68 65 20 64 61 79 2d 61 62 62  ; If the day-abb
0470: 72 65 76 69 61 74 69 6f 6e 73 20 69 73 20 23 66  reviations is #f
0480: 20 74 68 65 6e 20 74 68 65 20 6c 65 74 74 65 72   then the letter
0490: 73 2d 69 6e 2d 64 61 79 20 70 61 72 61 6d 65 74  s-in-day paramet
04a0: 65 72 20 69 73 0a 3b 3b 20 75 73 65 64 20 74 6f  er is.;; used to
04b0: 20 67 65 6e 65 72 61 74 65 20 74 68 65 20 61 62   generate the ab
04c0: 62 72 65 76 69 61 74 69 6f 6e 20 66 72 6f 6d 20  breviation from 
04d0: 74 68 65 20 66 75 6c 6c 20 64 61 79 20 6e 61 6d  the full day nam
04e0: 65 2e 0a 3b 3b 20 0a 3b 3b 20 4c 61 6e 67 75 61  e..;; .;; Langua
04f0: 67 65 73 20 61 70 70 65 61 72 20 69 6e 20 74 68  ges appear in th
0500: 65 20 6f 72 64 65 72 20 74 68 61 74 20 74 68 65  e order that the
0510: 79 20 77 65 72 65 20 63 6f 6e 74 72 69 62 75 74  y were contribut
0520: 65 64 2e 0a 3b 3b 0a 28 64 65 66 69 6e 65 20 73  ed..;;.(define s
0530: 67 2d 63 61 6c 65 6e 64 61 72 2d 74 72 61 6e 73  g-calendar-trans
0540: 6c 61 74 69 6f 6e 73 0a 20 20 27 28 28 20 3b 20  lations.  '(( ; 
0550: 22 45 6e 67 6c 69 73 68 22 20 0a 20 20 20 20 20  "English" .     
0560: 20 20 20 20 28 22 4a 61 6e 75 61 72 79 22 20 20      ("January"  
0570: 20 20 20 20 22 46 65 62 72 75 61 72 79 22 20 20      "February"  
0580: 20 20 20 22 4d 61 72 63 68 22 20 20 20 20 20 20     "March"      
0590: 20 22 41 70 72 69 6c 22 20 0a 20 20 20 20 20 20   "April" .      
05a0: 20 20 20 20 22 4d 61 79 22 20 20 20 20 20 20 20      "May"       
05b0: 20 20 20 22 4a 75 6e 65 22 20 20 20 20 20 20 20     "June"       
05c0: 20 20 22 4a 75 6c 79 22 20 20 20 20 20 20 20 20    "July"        
05d0: 22 41 75 67 75 73 74 22 0a 20 20 20 20 20 20 20  "August".       
05e0: 20 20 20 22 53 65 70 74 65 6d 62 65 72 22 20 20     "September"  
05f0: 20 20 22 4f 63 74 6f 62 65 72 22 20 20 20 20 20    "October"     
0600: 20 22 4e 6f 76 65 6d 62 65 72 22 20 20 20 20 22   "November"    "
0610: 44 65 63 65 6d 62 65 72 22 29 0a 20 20 20 20 20  December").     
0620: 20 20 20 20 28 22 4d 6f 6e 64 61 79 22 20 20 20      ("Monday"   
0630: 20 20 20 20 22 54 75 65 73 64 61 79 22 20 20 20      "Tuesday"   
0640: 20 20 20 22 57 65 64 6e 65 73 64 61 79 22 20 20     "Wednesday"  
0650: 20 22 54 68 75 72 73 64 61 79 22 0a 20 20 20 20   "Thursday".    
0660: 20 20 20 20 20 20 22 46 72 69 64 61 79 22 20 20        "Friday"  
0670: 20 20 20 20 20 22 53 61 74 75 72 64 61 79 22 20       "Saturday" 
0680: 20 20 20 20 22 53 75 6e 64 61 79 22 29 0a 20 20      "Sunday").  
0690: 20 20 20 20 20 20 20 20 23 66 29 0a 20 20 20 20          #f).    
06a0: 28 20 3b 20 22 47 65 72 6d 61 6e 22 20 0a 20 20  ( ; "German" .  
06b0: 20 20 20 20 20 20 28 22 4a 61 6e 75 61 72 22 20        ("Januar" 
06c0: 20 20 20 20 20 20 20 22 46 65 62 72 75 61 72 22         "Februar"
06d0: 20 20 20 20 20 20 22 4d c3 a4 72 7a 22 20 20 20        "M..rz"   
06e0: 20 20 20 20 20 22 41 70 72 69 6c 22 0a 20 20 20       "April".   
06f0: 20 20 20 20 20 20 22 4d 61 69 22 20 20 20 20 20        "Mai"     
0700: 20 20 20 20 20 20 22 4a 75 6e 69 22 20 20 20 20        "Juni"    
0710: 20 20 20 20 20 22 4a 75 6c 69 22 20 20 20 20 20       "Juli"     
0720: 20 20 20 22 41 75 67 75 73 74 22 20 0a 20 20 20     "August" .   
0730: 20 20 20 20 20 20 22 53 65 70 74 65 6d 62 65 72        "September
0740: 22 20 20 20 20 20 22 4f 6b 74 6f 62 65 72 22 20  "     "Oktober" 
0750: 20 20 20 20 20 22 4e 6f 76 65 6d 62 65 72 22 20       "November" 
0760: 20 20 20 22 44 65 7a 65 6d 62 65 72 22 29 0a 20     "Dezember"). 
0770: 20 20 20 20 20 20 20 28 22 4d 6f 6e 74 61 67 22         ("Montag"
0780: 20 20 20 20 20 20 20 20 22 44 69 65 6e 73 74 61          "Diensta
0790: 67 22 20 20 20 20 20 22 4d 69 74 74 77 6f 63 68  g"     "Mittwoch
07a0: 22 20 20 20 20 22 44 6f 6e 6e 65 72 73 74 61 67  "    "Donnerstag
07b0: 22 20 0a 20 20 20 20 20 20 20 20 20 22 46 72 65  " .         "Fre
07c0: 69 74 61 67 22 20 20 20 20 20 20 20 22 53 61 6d  itag"       "Sam
07d0: 73 74 61 67 22 20 20 20 20 20 20 22 53 6f 6e 6e  stag"      "Sonn
07e0: 74 61 67 22 29 0a 20 20 20 20 20 20 20 20 23 66  tag").        #f
07f0: 29 0a 20 20 20 20 28 20 3b 20 22 49 74 61 6c 69  ).    ( ; "Itali
0800: 61 6e 22 20 0a 20 20 20 20 20 20 20 20 28 22 47  an" .        ("G
0810: 65 6e 6e 61 69 6f 22 20 20 20 20 20 20 20 22 46  ennaio"       "F
0820: 65 62 62 72 61 69 6f 22 20 20 20 20 20 22 4d 61  ebbraio"     "Ma
0830: 72 7a 6f 22 20 20 20 20 20 20 20 22 41 70 72 69  rzo"       "Apri
0840: 6c 65 22 20 0a 20 20 20 20 20 20 20 20 20 22 4d  le" .         "M
0850: 61 67 67 69 6f 22 20 20 20 20 20 20 20 20 22 47  aggio"        "G
0860: 69 75 67 6e 6f 22 20 20 20 20 20 20 20 22 4c 75  iugno"       "Lu
0870: 67 6c 69 6f 22 20 20 20 20 20 20 22 41 67 6f 73  glio"      "Agos
0880: 74 6f 22 20 0a 20 20 20 20 20 20 20 20 20 22 53  to" .         "S
0890: 65 74 74 65 6d 62 72 65 22 20 20 20 20 20 22 4f  ettembre"     "O
08a0: 74 74 6f 62 72 65 22 20 20 20 20 20 20 22 4e 6f  ttobre"      "No
08b0: 76 65 6d 62 72 65 22 20 20 20 20 22 44 69 63 65  vembre"    "Dice
08c0: 6d 62 72 65 22 29 0a 20 20 20 20 20 20 20 20 28  mbre").        (
08d0: 22 4c 75 6e 65 64 69 22 20 20 20 20 20 20 20 20  "Lunedi"        
08e0: 22 4d 61 72 74 65 64 69 22 20 20 20 20 20 20 22  "Martedi"      "
08f0: 4d 65 72 63 6f 6c 65 64 69 22 20 20 20 22 47 69  Mercoledi"   "Gi
0900: 6f 76 65 64 69 22 20 0a 20 20 20 20 20 20 20 20  ovedi" .        
0910: 20 22 56 65 6e 65 72 64 69 22 20 20 20 20 20 20   "Venerdi"      
0920: 20 22 53 61 62 61 74 6f 22 20 20 20 20 20 20 20   "Sabato"       
0930: 22 44 6f 6d 65 6e 69 63 61 22 29 0a 20 20 20 20  "Domenica").    
0940: 20 20 20 20 23 66 29 0a 20 20 20 20 28 20 3b 20      #f).    ( ; 
0950: 22 53 70 61 6e 69 73 68 22 0a 20 20 20 20 20 20  "Spanish".      
0960: 20 20 28 22 45 6e 65 72 6f 22 20 20 20 20 20 20    ("Enero"      
0970: 20 20 20 22 46 65 62 72 65 72 6f 22 20 20 20 20     "Febrero"    
0980: 20 20 22 4d 61 72 7a 6f 22 20 20 20 20 20 20 20    "Marzo"       
0990: 22 41 62 72 69 6c 22 20 0a 20 20 20 20 20 20 20  "Abril" .       
09a0: 20 20 22 4d 61 79 6f 22 20 20 20 20 20 20 20 20    "Mayo"        
09b0: 20 20 22 4a 75 6e 69 6f 22 20 20 20 20 20 20 20    "Junio"       
09c0: 20 22 4a 75 6c 69 6f 22 20 20 20 20 20 20 20 22   "Julio"       "
09d0: 41 67 6f 73 74 6f 22 20 0a 20 20 20 20 20 20 20  Agosto" .       
09e0: 20 20 22 53 65 70 74 69 65 6d 62 72 65 22 20 20    "Septiembre"  
09f0: 20 20 22 4f 63 74 75 62 72 65 22 20 20 20 20 20    "Octubre"     
0a00: 20 22 4e 6f 76 69 65 6d 62 72 65 22 20 20 20 22   "Noviembre"   "
0a10: 44 69 63 69 65 6d 62 72 65 22 29 0a 20 20 20 20  Diciembre").    
0a20: 20 20 20 20 28 22 4c 75 6e 65 73 22 20 20 20 20      ("Lunes"    
0a30: 20 20 20 20 20 22 4d 61 72 74 65 73 22 20 20 20       "Martes"   
0a40: 20 20 20 20 22 4d 69 65 72 63 6f 6c 65 73 22 20      "Miercoles" 
0a50: 20 20 22 4a 75 65 76 65 73 22 20 0a 20 20 20 20    "Jueves" .    
0a60: 20 20 20 20 20 22 56 69 65 72 6e 65 73 22 20 20       "Viernes"  
0a70: 20 20 20 20 20 22 53 61 62 61 64 6f 22 20 20 20       "Sabado"   
0a80: 20 20 20 20 22 44 6f 6d 69 6e 67 6f 22 29 0a 20      "Domingo"). 
0a90: 20 20 20 20 20 20 20 23 66 29 0a 20 20 20 20 28         #f).    (
0aa0: 20 3b 20 22 46 72 65 6e 63 68 22 0a 20 20 20 20   ; "French".    
0ab0: 20 20 20 20 28 22 4a 61 6e 76 69 65 72 22 20 20      ("Janvier"  
0ac0: 20 20 20 20 20 22 46 c3 a9 76 72 69 65 72 22 20       "F..vrier" 
0ad0: 20 20 20 20 20 22 4d 61 72 73 22 20 20 20 20 20       "Mars"     
0ae0: 20 20 20 22 41 76 72 69 6c 22 0a 20 20 20 20 20     "Avril".     
0af0: 20 20 20 20 22 4d 61 69 22 20 20 20 20 20 20 20      "Mai"       
0b00: 20 20 20 20 22 4a 75 69 6e 22 20 20 20 20 20 20      "Juin"      
0b10: 20 20 20 22 4a 75 69 6c 6c 65 74 22 20 20 20 20     "Juillet"    
0b20: 20 22 41 6f c3 bb 74 22 20 0a 20 20 20 20 20 20   "Ao..t" .      
0b30: 20 20 20 22 53 65 70 74 65 6d 62 72 65 22 20 20     "Septembre"  
0b40: 20 20 20 22 4f 63 74 6f 62 72 65 22 20 20 20 20     "Octobre"    
0b50: 20 20 22 4e 6f 76 65 6d 62 72 65 22 20 20 20 20    "Novembre"    
0b60: 22 44 c3 a9 63 65 6d 62 72 65 22 29 0a 20 20 20  "D..cembre").   
0b70: 20 20 20 20 20 28 22 4c 75 6e 64 69 22 20 20 20       ("Lundi"   
0b80: 20 20 20 20 20 20 22 4d 61 72 64 69 22 20 20 20        "Mardi"   
0b90: 20 20 20 20 20 22 4d 65 72 63 72 65 64 69 22 20       "Mercredi" 
0ba0: 20 20 20 22 4a 65 75 64 69 22 20 0a 20 20 20 20     "Jeudi" .    
0bb0: 20 20 20 20 20 22 56 65 6e 64 72 65 64 69 22 20       "Vendredi" 
0bc0: 20 20 20 20 20 22 53 61 6d 65 64 69 22 20 20 20       "Samedi"   
0bd0: 20 20 20 20 22 44 69 6d 61 6e 63 68 65 22 29 0a      "Dimanche").
0be0: 20 20 20 20 20 20 20 20 23 66 29 0a 20 20 20 20          #f).    
0bf0: 28 20 3b 20 22 48 75 6e 67 61 72 69 61 6e 22 0a  ( ; "Hungarian".
0c00: 20 20 20 20 20 20 20 20 28 22 4a 61 6e 75 c3 a1          ("Janu..
0c10: 72 22 20 20 20 20 20 20 20 20 22 46 65 62 72 75  r"        "Febru
0c20: c3 a1 72 22 20 20 20 20 20 20 22 4d c3 a1 72 63  ..r"      "M..rc
0c30: 69 75 73 22 20 20 20 20 20 22 c3 81 70 72 69 6c  ius"     "..pril
0c40: 69 73 22 20 0a 20 20 20 20 20 20 20 20 20 22 4d  is" .         "M
0c50: c3 a1 6a 75 73 22 20 20 20 20 20 20 20 20 20 22  ..jus"         "
0c60: 4a c3 ba 6e 69 75 73 22 20 20 20 20 20 20 20 22  J..nius"       "
0c70: 4a c3 ba 6c 69 75 73 22 20 20 20 20 20 20 22 41  J..lius"      "A
0c80: 75 67 75 73 7a 74 75 73 22 20 0a 20 20 20 20 20  ugusztus" .     
0c90: 20 20 20 20 22 53 7a 65 70 74 65 6d 62 65 72 22      "Szeptember"
0ca0: 20 20 20 20 22 4f 6b 74 c3 b3 62 65 72 22 20 20      "Okt..ber"  
0cb0: 20 20 20 20 22 4e 6f 76 65 6d 62 65 72 22 20 20      "November"  
0cc0: 20 20 22 44 65 63 65 6d 62 65 72 22 29 0a 20 20    "December").  
0cd0: 20 20 20 20 20 20 28 22 76 61 73 c3 a1 72 6e 61        ("vas..rna
0ce0: 70 22 20 20 20 20 20 20 22 68 c3 a9 74 66 c5 91  p"      "h..tf..
0cf0: 22 20 20 20 20 20 20 20 20 22 6b 65 64 64 22 20  "        "kedd" 
0d00: 20 20 20 20 20 20 20 22 73 7a 65 72 64 61 22 20         "szerda" 
0d10: 0a 20 20 20 20 20 20 20 20 20 22 63 73 c3 bc 74  .         "cs..t
0d20: c3 b6 72 74 c3 b6 6b 22 20 20 20 20 20 22 70 c3  ..rt..k"     "p.
0d30: a9 6e 74 65 6b 22 20 20 20 20 20 20 20 22 73 7a  .ntek"       "sz
0d40: 6f 6d 62 61 74 22 29 0a 20 20 20 20 20 20 20 20  ombat").        
0d50: 23 66 29 0a 20 20 20 20 28 20 3b 20 22 50 6f 6c  #f).    ( ; "Pol
0d60: 69 73 68 22 0a 20 20 20 20 20 20 20 20 28 22 53  ish".        ("S
0d70: 74 79 63 7a 65 c5 84 22 20 20 20 20 20 20 20 22  tycze.."       "
0d80: 4c 75 74 79 22 20 20 20 20 20 20 20 20 20 22 4d  Luty"         "M
0d90: 61 72 7a 65 63 22 20 20 20 20 20 20 22 4b 77 69  arzec"      "Kwi
0da0: 65 63 69 65 c5 84 22 20 0a 20 20 20 20 20 20 20  ecie.." .       
0db0: 20 20 22 4d 61 6a 22 20 20 20 20 20 20 20 20 20    "Maj"         
0dc0: 20 20 22 43 7a 65 72 77 69 65 63 22 20 20 20 20    "Czerwiec"    
0dd0: 20 22 4c 69 70 69 65 63 22 20 20 20 20 20 20 22   "Lipiec"      "
0de0: 53 69 65 72 70 69 65 c5 84 22 20 0a 20 20 20 20  Sierpie.." .    
0df0: 20 20 20 20 20 22 57 72 7a 65 73 69 65 c5 84 22       "Wrzesie.."
0e00: 20 20 20 20 20 20 22 50 61 c5 ba 64 7a 69 65 72        "Pa..dzier
0e10: 6e 69 6b 22 20 20 22 4c 69 73 74 6f 70 61 64 22  nik"  "Listopad"
0e20: 20 20 20 20 22 47 72 75 64 7a 69 65 c5 84 22 29      "Grudzie..")
0e30: 0a 20 20 20 20 20 20 20 20 28 22 50 6f 6e 69 65  .        ("Ponie
0e40: 64 7a 69 61 c5 82 65 6b 22 20 20 22 57 74 6f 72  dzia..ek"  "Wtor
0e50: 65 6b 22 20 20 20 20 20 20 20 22 c5 9a 72 6f 64  ek"       "..rod
0e60: 61 22 20 20 20 20 20 20 20 22 43 7a 77 61 72 74  a"       "Czwart
0e70: 65 6b 22 20 0a 20 20 20 20 20 20 20 20 20 22 50  ek" .         "P
0e80: 69 c4 85 74 65 6b 22 20 20 20 20 20 20 20 20 22  i..tek"        "
0e90: 53 6f 62 6f 74 61 22 20 20 20 20 20 20 20 22 4e  Sobota"       "N
0ea0: 69 65 64 7a 69 65 6c 61 22 29 0a 20 20 20 20 20  iedziela").     
0eb0: 20 20 20 23 66 29 0a 20 20 20 20 28 20 3b 20 22     #f).    ( ; "
0ec0: 52 75 73 73 69 61 6e 22 0a 20 20 20 20 20 20 20  Russian".       
0ed0: 20 28 22 d0 af d0 bd d0 b2 d0 b0 d1 80 d1 8c 22   ("............"
0ee0: 20 20 20 20 20 20 20 20 22 d0 a4 d0 b5 d0 b2 d1          ".......
0ef0: 80 d0 b0 d0 bb d1 8c 22 20 20 20 20 20 20 22 d0  ......."      ".
0f00: 9c d0 b0 d1 80 d1 82 22 20 20 20 20 20 20 20 20  ......."        
0f10: 22 d0 90 d0 bf d1 80 d0 b5 d0 bb d1 8c 22 20 0a  "............" .
0f20: 20 20 20 20 20 20 20 20 20 22 d0 9c d0 b0 d0 b9           "......
0f30: 22 20 20 20 20 20 20 20 20 20 20 20 22 d0 98 d1  "           "...
0f40: 8e d0 bd d1 8c 22 20 20 20 20 20 20 20 20 20 22  ....."         "
0f50: d0 98 d1 8e d0 bb d1 8c 22 20 20 20 20 20 20 20  ........"       
0f60: 20 22 d0 90 d0 b2 d0 b3 d1 83 d1 81 d1 82 22 20   "............" 
0f70: 0a 20 20 20 20 20 20 20 20 20 22 d0 a1 d0 b5 d0  .         ".....
0f80: bd d1 82 d1 8f d0 b1 d1 80 d1 8c 22 20 20 20 20  ..........."    
0f90: 20 20 22 d0 9e d0 ba d1 82 d1 8f d0 b1 d1 80 d1    ".............
0fa0: 8c 22 20 20 20 20 20 20 22 d0 9d d0 be d1 8f d0  ."      ".......
0fb0: b1 d1 80 d1 8c 22 20 20 20 20 20 20 22 d0 94 d0  ....."      "...
0fc0: b5 d0 ba d0 b0 d0 b1 d1 80 d1 8c 22 29 0a 20 20  ...........").  
0fd0: 20 20 20 20 20 20 28 22 d0 9f d0 be d0 bd d0 b5        ("........
0fe0: d0 b4 d0 b5 d0 bb d1 8c d0 bd d0 b8 d0 ba 22 20  .............." 
0ff0: 20 20 22 d0 92 d1 82 d0 be d1 80 d0 bd d0 b8 d0    ".............
1000: ba 22 20 20 20 20 20 20 22 d0 a1 d1 80 d0 b5 d0  ."      ".......
1010: b4 d0 b0 22 20 20 20 20 20 20 20 22 d0 a7 d0 b5  ..."       "....
1020: d1 82 d0 b2 d0 b5 d1 80 d0 b3 22 0a 20 20 20 20  ..........".    
1030: 20 20 20 20 20 22 d0 9f d1 8f d1 82 d0 bd d0 b8       "..........
1040: d1 86 d0 b0 22 20 20 20 20 20 20 20 22 d0 a1 d1  ...."       "...
1050: 83 d0 b1 d0 b1 d0 be d1 82 d0 b0 22 20 20 20 20  ..........."    
1060: 20 20 22 d0 92 d0 be d1 81 d0 ba d1 80 d0 b5 d1    ".............
1070: 81 d0 b5 d0 bd d1 8c d0 b5 22 29 0a 20 20 20 20  .........").    
1080: 20 20 20 20 23 66 29 0a 20 20 20 20 28 20 3b 20      #f).    ( ; 
1090: 22 53 65 72 62 69 61 6e 20 6c 61 74 69 6e 22 0a  "Serbian latin".
10a0: 20 20 20 20 20 20 20 20 28 22 4a 61 6e 75 61 72          ("Januar
10b0: 22 20 20 20 20 20 20 20 20 22 46 65 62 72 75 61  "        "Februa
10c0: 72 22 20 20 20 20 20 20 22 4d 61 72 74 22 20 20  r"      "Mart"  
10d0: 20 20 20 20 20 20 22 41 70 72 69 6c 22 0a 20 20        "April".  
10e0: 20 20 20 20 20 20 20 22 4d 61 6a 22 20 20 20 20         "Maj"    
10f0: 20 20 20 20 20 20 20 22 4a 75 6e 22 20 20 20 20         "Jun"    
1100: 20 20 20 20 20 20 22 4a 75 6c 22 20 20 20 20 20        "Jul"     
1110: 20 20 20 20 22 41 76 67 75 73 74 22 0a 20 20 20      "Avgust".   
1120: 20 20 20 20 20 20 22 53 65 70 74 65 6d 62 61 72        "Septembar
1130: 22 20 20 20 20 20 22 4f 6b 74 6f 62 61 72 22 20  "     "Oktobar" 
1140: 20 20 20 20 20 22 4e 6f 76 65 6d 62 61 72 22 20       "Novembar" 
1150: 20 20 20 22 44 65 63 65 6d 62 61 72 22 29 0a 20     "Decembar"). 
1160: 20 20 20 20 20 20 20 28 22 50 6f 6e 65 64 65 6c         ("Ponedel
1170: 6a 61 6b 22 20 20 20 20 22 55 74 6f 72 61 6b 22  jak"    "Utorak"
1180: 20 20 20 20 20 20 20 22 53 72 65 64 61 22 20 20         "Sreda"  
1190: 20 20 20 20 20 22 c4 8c 65 74 76 72 74 61 6b 22       "..etvrtak"
11a0: 20 0a 20 20 20 20 20 20 20 20 20 22 50 65 74 61   .         "Peta
11b0: 6b 22 20 20 20 20 20 20 20 20 20 22 53 75 62 6f  k"         "Subo
11c0: 74 61 22 20 20 20 20 20 20 20 22 4e 65 64 65 6c  ta"       "Nedel
11d0: 6a 61 22 29 0a 20 20 20 20 20 20 20 20 23 66 29  ja").        #f)
11e0: 0a 20 20 20 20 28 20 3b 20 22 53 65 72 62 69 61  .    ( ; "Serbia
11f0: 6e 20 63 79 72 69 6c 69 63 22 0a 20 20 20 20 20  n cyrilic".     
1200: 20 20 20 28 22 d0 88 d0 b0 d0 bd d1 83 d0 b0 d1     ("...........
1210: 80 22 20 20 20 20 20 20 20 20 22 d0 a4 d0 b5 d0  ."        ".....
1220: b1 d1 80 d1 83 d0 b0 d1 80 22 20 20 20 20 20 20  ........."      
1230: 22 d0 9c d0 b0 d1 80 d1 82 22 20 20 20 20 20 20  "........"      
1240: 20 20 22 d0 90 d0 bf d1 80 d0 b8 d0 bb 22 0a 20    "..........". 
1250: 20 20 20 20 20 20 20 20 22 d0 9c d0 b0 d1 98 22          "......"
1260: 20 20 20 20 20 20 20 20 20 20 20 22 d0 88 d1 83             "....
1270: d0 bd 22 20 20 20 20 20 20 20 20 20 20 22 d0 88  .."          "..
1280: d1 83 d0 bb 22 20 20 20 20 20 20 20 20 20 22 d0  ...."         ".
1290: 90 d0 b2 d0 b3 d1 83 d1 81 d1 82 22 0a 20 20 20  ...........".   
12a0: 20 20 20 20 20 20 22 d0 a1 d0 b5 d0 bf d1 82 d0        ".........
12b0: b5 d0 bc d0 b1 d0 b0 d1 80 22 20 20 20 20 20 22  ........."     "
12c0: d0 9e d0 ba d1 82 d0 be d0 b1 d0 b0 d1 80 22 20  .............." 
12d0: 20 20 20 20 20 22 d0 9d d0 be d0 b2 d0 b5 d0 bc       "..........
12e0: d0 b1 d0 b0 d1 80 22 20 20 20 20 22 d0 94 d0 b5  ......"    "....
12f0: d1 86 d0 b5 d0 bc d0 b1 d0 b0 d1 80 22 29 0a 20  ............"). 
1300: 20 20 20 20 20 20 20 28 22 d0 9f d0 be d0 bd d0         (".......
1310: b5 d0 b4 d0 b5 d1 99 d0 b0 d0 ba 22 20 20 20 20  ..........."    
1320: 20 22 d0 a3 d1 82 d0 be d1 80 d0 b0 d0 ba 22 20   "............" 
1330: 20 20 20 20 20 20 22 d0 a1 d1 80 d0 b5 d0 b4 d0        ".........
1340: b0 22 20 20 20 20 20 20 20 22 d0 a7 d0 b5 d1 82  ."       "......
1350: d0 b2 d1 80 d1 82 d0 b0 d0 ba 22 0a 20 20 20 20  ..........".    
1360: 20 20 20 20 20 22 d0 9f d0 b5 d1 82 d0 b0 d0 ba       "..........
1370: 22 20 20 20 20 20 20 20 20 20 22 d0 a1 d1 83 d0  "         ".....
1380: b1 d0 be d1 82 d0 b0 22 20 20 20 20 20 20 20 22  ......."       "
1390: d0 9d d0 b5 d0 b4 d0 b5 d1 99 d0 b0 22 29 0a 20  ............"). 
13a0: 20 20 20 20 20 20 20 23 66 29 0a 20 20 20 20 28         #f).    (
13b0: 20 3b 20 22 43 72 6f 61 74 69 61 6e 22 0a 20 20   ; "Croatian".  
13c0: 20 20 20 20 20 20 28 22 53 69 6a 65 c4 8d 61 6e        ("Sije..an
13d0: 6a 22 20 20 20 20 20 20 22 56 65 6c 6a 61 c4 8d  j"      "Velja..
13e0: 61 22 20 20 20 20 20 20 22 4f c5 be 75 6a 61 6b  a"      "O..ujak
13f0: 22 20 20 20 20 20 20 22 54 72 61 76 61 6e 6a 22  "      "Travanj"
1400: 0a 20 20 20 20 20 20 20 20 20 22 53 76 69 62 61  .         "Sviba
1410: 6e 6a 22 20 20 20 20 20 20 20 22 4c 69 70 61 6e  nj"       "Lipan
1420: 6a 22 20 20 20 20 20 20 20 22 53 72 70 61 6e 6a  j"       "Srpanj
1430: 22 20 20 20 20 20 20 22 4b 6f 6c 6f 76 6f 7a 22  "      "Kolovoz"
1440: 0a 20 20 20 20 20 20 20 20 20 22 52 75 6a 61 6e  .         "Rujan
1450: 22 20 20 20 20 20 20 20 20 20 22 4c 69 73 74 6f  "         "Listo
1460: 70 61 64 22 20 20 20 20 20 22 53 74 75 64 65 6e  pad"     "Studen
1470: 69 22 20 20 20 20 20 22 50 72 6f 73 69 6e 61 63  i"     "Prosinac
1480: 22 29 0a 20 20 20 20 20 20 20 20 28 22 50 6f 6e  ").        ("Pon
1490: 65 64 6a 65 6c 6a 61 6b 22 20 20 20 22 55 74 6f  edjeljak"   "Uto
14a0: 72 61 6b 22 20 20 20 20 20 20 20 22 53 72 69 6a  rak"       "Srij
14b0: 65 64 61 22 20 20 20 20 20 22 c4 8c 65 74 76 72  eda"     "..etvr
14c0: 74 61 6b 22 20 0a 20 20 20 20 20 20 20 20 20 22  tak" .         "
14d0: 50 65 74 61 6b 22 20 20 20 20 20 20 20 20 20 22  Petak"         "
14e0: 53 75 62 6f 74 61 22 20 20 20 20 20 20 20 22 4e  Subota"       "N
14f0: 65 64 6a 65 6c 6a 61 22 29 0a 20 20 20 20 20 20  edjelja").      
1500: 20 20 23 66 29 0a 20 20 20 20 28 20 3b 20 22 53    #f).    ( ; "S
1510: 6c 6f 76 65 6e 69 61 6e 22 0a 20 20 20 20 20 20  lovenian".      
1520: 20 20 28 22 4a 61 6e 75 61 72 22 20 20 20 20 20    ("Januar"     
1530: 20 20 20 22 46 65 62 72 75 61 72 22 20 20 20 20     "Februar"    
1540: 20 20 22 4d 61 72 65 63 22 20 20 20 20 20 20 20    "Marec"       
1550: 22 41 70 72 69 6c 22 0a 20 20 20 20 20 20 20 20  "April".        
1560: 20 22 4d 61 6a 22 20 20 20 20 20 20 20 20 20 20   "Maj"          
1570: 20 22 4a 75 6e 69 6a 22 20 20 20 20 20 20 20 20   "Junij"        
1580: 22 4a 75 6c 69 6a 22 20 20 20 20 20 20 20 22 41  "Julij"       "A
1590: 76 67 75 73 74 22 0a 20 20 20 20 20 20 20 20 20  vgust".         
15a0: 22 53 65 70 74 65 6d 62 65 72 22 20 20 20 20 20  "September"     
15b0: 22 4f 6b 74 6f 62 65 72 22 20 20 20 20 20 20 22  "Oktober"      "
15c0: 4e 6f 76 65 6d 62 65 72 22 20 20 20 20 22 44 65  November"    "De
15d0: 63 65 6d 62 65 72 22 29 0a 20 20 20 20 20 20 20  cember").       
15e0: 20 28 22 50 6f 6e 65 64 65 6c 6a 65 6b 22 20 20   ("Ponedeljek"  
15f0: 20 20 22 54 6f 72 65 6b 22 20 20 20 20 20 20 20    "Torek"       
1600: 20 22 53 72 65 64 61 22 20 20 20 20 20 20 20 22   "Sreda"       "
1610: c4 8c 65 74 72 74 65 6b 22 20 0a 20 20 20 20 20  ..etrtek" .     
1620: 20 20 20 20 22 50 65 74 65 6b 22 20 20 20 20 20      "Petek"     
1630: 20 20 20 20 22 53 6f 62 6f 74 61 22 20 20 20 20      "Sobota"    
1640: 20 20 20 22 4e 65 64 65 6c 6a 61 22 29 0a 20 20     "Nedelja").  
1650: 20 20 20 20 20 20 23 66 29 0a 20 20 20 20 28 20        #f).    ( 
1660: 3b 20 22 4d 61 63 65 64 6f 6e 69 61 6e 22 0a 20  ; "Macedonian". 
1670: 20 20 20 20 20 20 20 28 22 d0 9a d0 be d0 bb d0         (".......
1680: be d0 b6 d0 b5 d0 b3 22 20 20 20 20 20 20 20 22  ......."       "
1690: d0 a1 d0 b5 d1 87 d0 ba d0 be 22 20 20 20 20 20  .........."     
16a0: 20 20 20 22 d0 a6 d1 83 d1 82 d0 b0 d1 80 22 20     ".........." 
16b0: 20 20 20 20 20 20 22 d0 a2 d1 80 d0 b5 d0 b2 d0        ".........
16c0: b5 d0 bd 22 0a 20 20 20 20 20 20 20 20 20 22 d0  ...".         ".
16d0: 9a d0 be d1 81 d0 b0 d1 80 22 20 20 20 20 20 20  ........."      
16e0: 20 20 20 22 d0 96 d0 b5 d1 82 d0 b2 d0 b0 d1 80     "............
16f0: 22 20 20 20 20 20 20 20 22 d0 97 d0 bb d0 b0 d1  "       ".......
1700: 82 d0 b5 d1 86 22 20 20 20 20 20 20 22 d0 96 d0  ....."      "...
1710: b8 d1 82 d0 b0 d1 80 22 0a 20 20 20 20 20 20 20  .......".       
1720: 20 20 22 d0 93 d1 80 d0 be d0 b7 d0 b4 d0 be d0    ".............
1730: b1 d0 b5 d1 80 22 20 20 20 20 20 22 d0 9b d0 b8  ....."     "....
1740: d1 81 d1 82 d0 be d0 bf d0 b0 d0 b4 22 20 20 20  ............"   
1750: 20 20 22 d0 a1 d1 82 d1 83 d0 b4 d0 b5 d0 bd 22    "............"
1760: 20 20 20 20 20 20 22 d0 a1 d0 bd d0 b5 d0 b6 d0        ".........
1770: bd d0 b8 d0 ba 22 29 0a 20 20 20 20 20 20 20 20  .....").        
1780: 28 22 d0 9f d0 be d0 bd d0 b5 d0 b4 d0 b5 d0 bb  ("..............
1790: d0 bd d0 b8 d0 ba 22 20 20 20 20 22 d0 92 d1 82  ......"    "....
17a0: d0 be d1 80 d0 bd d0 b8 d0 ba 22 20 20 20 20 20  .........."     
17b0: 20 22 d0 a1 d1 80 d0 b5 d0 b4 d0 b0 22 20 20 20   ".........."   
17c0: 20 20 20 20 22 d0 a7 d0 b5 d1 82 d0 b2 d1 80 d1      "...........
17d0: 82 d0 be d0 ba 22 0a 20 20 20 20 20 20 20 20 20  .....".         
17e0: 22 d0 9f d0 b5 d1 82 d0 be d0 ba 22 20 20 20 20  ".........."    
17f0: 20 20 20 20 20 22 d0 a1 d0 b0 d0 b1 d0 be d1 82       "..........
1800: d0 b0 22 20 20 20 20 20 20 20 22 d0 9d d0 b5 d0  .."       ".....
1810: b4 d0 b5 d0 bb d0 b0 22 29 0a 20 20 20 20 20 20  .......").      
1820: 20 20 23 66 29 0a 20 20 20 20 28 20 3b 20 22 53    #f).    ( ; "S
1830: 77 65 64 69 73 68 22 0a 20 20 20 20 20 20 20 20  wedish".        
1840: 28 22 4a 61 6e 75 61 72 69 22 20 20 20 20 20 20  ("Januari"      
1850: 20 22 46 65 62 72 75 61 72 69 22 20 20 20 20 20   "Februari"     
1860: 22 4d 61 72 73 22 20 20 20 20 20 20 20 20 22 41  "Mars"        "A
1870: 70 72 69 6c 22 20 0a 20 20 20 20 20 20 20 20 20  pril" .         
1880: 22 4d 61 6a 22 20 20 20 20 20 20 20 20 20 20 20  "Maj"           
1890: 22 4a 75 6e 69 22 20 20 20 20 20 20 20 20 20 22  "Juni"         "
18a0: 4a 75 6c 69 22 20 20 20 20 20 20 20 20 22 41 75  Juli"        "Au
18b0: 67 75 73 74 69 22 20 0a 20 20 20 20 20 20 20 20  gusti" .        
18c0: 20 22 53 65 70 74 65 6d 62 65 72 22 20 20 20 20   "September"    
18d0: 20 22 4f 6b 74 6f 62 65 72 22 20 20 20 20 20 20   "Oktober"      
18e0: 22 4e 6f 76 65 6d 62 65 72 22 20 20 20 20 22 44  "November"    "D
18f0: 65 63 65 6d 62 65 72 22 29 0a 20 20 20 20 20 20  ecember").      
1900: 20 20 28 22 4d c3 a5 6e 64 61 67 22 20 20 20 20    ("M..ndag"    
1910: 20 20 20 20 22 54 69 73 64 61 67 22 20 20 20 20      "Tisdag"    
1920: 20 20 20 22 4f 6e 73 64 61 67 22 20 20 20 20 20     "Onsdag"     
1930: 20 22 54 6f 72 73 64 61 67 22 0a 20 20 20 20 20   "Torsdag".     
1940: 20 20 20 20 22 46 72 65 64 61 67 22 20 20 20 20      "Fredag"    
1950: 20 20 20 20 22 4c c3 b6 72 64 61 67 22 20 20 20      "L..rdag"   
1960: 20 20 20 20 22 53 c3 b6 6e 64 61 67 22 29 0a 20      "S..ndag"). 
1970: 20 20 20 20 20 20 20 23 66 29 0a 20 20 20 20 28         #f).    (
1980: 20 3b 20 22 43 61 74 61 6c 61 6e 22 0a 20 20 20   ; "Catalan".   
1990: 20 20 20 20 20 28 22 47 65 6e 65 72 22 20 20 20       ("Gener"   
19a0: 20 20 20 20 20 20 22 46 65 62 72 65 72 22 20 20        "Febrer"  
19b0: 20 20 20 20 20 22 4d 61 72 c3 a7 22 20 20 20 20       "Mar.."    
19c0: 20 20 20 20 22 41 62 72 69 6c 22 20 0a 20 20 20      "Abril" .   
19d0: 20 20 20 20 20 20 22 4d 61 69 67 22 20 20 20 20        "Maig"    
19e0: 20 20 20 20 20 20 22 4a 75 6e 79 22 20 20 20 20        "Juny"    
19f0: 20 20 20 20 20 22 4a 75 6c 69 6f 6c 22 20 20 20       "Juliol"   
1a00: 20 20 20 22 41 67 6f 73 74 22 20 0a 20 20 20 20     "Agost" .    
1a10: 20 20 20 20 20 22 53 65 74 65 6d 62 72 65 22 20       "Setembre" 
1a20: 20 20 20 20 20 22 4f 63 74 75 62 72 65 22 20 20       "Octubre"  
1a30: 20 20 20 20 22 4e 6f 76 65 6d 62 72 65 22 20 20      "Novembre"  
1a40: 20 20 22 44 65 73 65 6d 62 72 65 22 29 0a 20 20    "Desembre").  
1a50: 20 20 20 20 20 20 28 22 44 69 6c 6c 75 6e 73 22        ("Dilluns"
1a60: 20 20 20 20 20 20 20 22 44 69 6d 61 72 74 73 22         "Dimarts"
1a70: 20 20 20 20 20 20 22 44 69 6d 65 63 72 65 73 22        "Dimecres"
1a80: 20 20 20 20 22 44 69 6a 6f 75 73 22 0a 20 20 20      "Dijous".   
1a90: 20 20 20 20 20 20 22 44 69 76 65 6e 64 72 65 73        "Divendres
1aa0: 22 20 20 20 20 20 22 44 69 73 73 61 62 74 65 22  "     "Dissabte"
1ab0: 20 20 20 20 20 22 44 69 75 6d 65 6e 67 65 22 29       "Diumenge")
1ac0: 0a 20 20 20 20 20 20 20 20 28 22 44 4c 22 20 22  .        ("DL" "
1ad0: 44 54 22 20 22 44 43 22 20 22 44 4a 22 20 22 44  DT" "DC" "DJ" "D
1ae0: 56 22 20 22 44 53 22 20 22 44 47 22 29 29 0a 20  V" "DS" "DG")). 
1af0: 20 20 20 29 29 0a 0a 28 64 65 66 69 6e 65 20 28     ))..(define (
1b00: 73 63 72 69 70 74 2d 66 75 2d 73 67 2d 70 6c 61  script-fu-sg-pla
1b10: 74 6f 6e 69 63 2d 63 61 6c 65 6e 64 61 72 20 65  tonic-calendar e
1b20: 64 67 65 2d 6c 65 6e 67 74 68 0a 20 20 20 20 20  dge-length.     
1b30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b50: 20 20 20 79 6d 2d 6c 61 79 6f 75 74 20 3b 20 30     ym-layout ; 0
1b60: 20 3d 20 75 6e 64 65 72 2c 20 31 3d 79 65 61 72   = under, 1=year
1b70: 2d 6d 6f 6e 74 68 2c 20 32 3d 6d 6f 6e 74 68 2d  -month, 2=month-
1b80: 79 65 61 72 2c 20 33 3d 65 71 75 61 6c 2c 20 34  year, 3=equal, 4
1b90: 3d 6c 67 20 6d 6f 6e 74 68 2c 20 35 3d 6c 67 20  =lg month, 5=lg 
1ba0: 79 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  yr.             
1bb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bc0: 20 20 20 20 20 20 20 20 20 20 20 3b 20 74 68 65             ; the
1bd0: 20 66 6f 6c 6c 6f 77 69 6e 67 20 61 72 65 20 63   following are c
1be0: 6f 6d 6d 6f 6e 20 74 6f 20 73 63 72 69 70 74 2d  ommon to script-
1bf0: 66 75 2d 73 67 2d 63 61 6c 65 6e 64 61 72 0a 20  fu-sg-calendar. 
1c00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c20: 20 20 20 20 20 20 20 6c 61 6e 67 20 79 65 61 72         lang year
1c30: 20 73 75 6e 64 61 79 3f 20 6c 65 74 74 65 72 73   sunday? letters
1c40: 2d 69 6e 2d 64 61 79 20 0a 20 20 20 20 20 20 20  -in-day .       
1c50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c70: 20 6c 61 79 6f 75 74 20 74 65 78 74 2d 66 6f 6e   layout text-fon
1c80: 74 20 6e 75 6d 62 65 72 2d 66 6f 6e 74 20 66 6f  t number-font fo
1c90: 6e 74 2d 73 69 7a 65 25 20 0a 20 20 20 20 20 20  nt-size% .      
1ca0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cc0: 20 20 6a 75 73 74 69 66 79 3f 20 67 72 61 76 69    justify? gravi
1cd0: 74 79 20 0a 20 20 20 20 20 20 20 20 20 20 20 20  ty .            
1ce0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf0: 20 20 20 20 20 20 20 20 20 20 20 20 75 73 65 2d              use-
1d00: 66 61 63 65 74 2d 69 6d 61 67 65 20 66 61 63 65  facet-image face
1d10: 74 2d 69 6d 61 67 65 29 0a 20 20 20 20 20 20 20  t-image).       
1d20: 20 20 20 20 0a 20 20 28 64 65 66 69 6e 65 20 28      .  (define (
1d30: 64 65 67 2d 3e 72 61 64 20 78 29 0a 20 20 20 20  deg->rad x).    
1d40: 28 2f 20 28 2a 20 78 20 2a 70 69 2a 29 20 31 38  (/ (* x *pi*) 18
1d50: 30 29 20 29 0a 20 20 28 64 65 66 69 6e 65 20 28  0) ).  (define (
1d60: 72 61 64 2d 3e 64 65 67 20 78 29 0a 20 20 20 20  rad->deg x).    
1d70: 28 2f 20 28 2a 20 78 20 31 38 30 29 20 2a 70 69  (/ (* x 180) *pi
1d80: 2a 29 20 29 0a 0a 20 20 3b 20 70 6f 6c 61 72 20  *) )..  ; polar 
1d90: 74 6f 20 72 65 63 74 61 6e 67 75 6c 61 72 0a 20  to rectangular. 
1da0: 20 3b 20 52 65 74 75 72 6e 73 20 61 20 70 61 69   ; Returns a pai
1db0: 72 20 28 78 20 2e 20 79 29 0a 20 20 3b 0a 20 20  r (x . y).  ;.  
1dc0: 28 64 65 66 69 6e 65 20 28 70 2d 3e 72 20 72 61  (define (p->r ra
1dd0: 64 20 61 6e 67 29 20 0a 20 20 20 20 28 63 6f 6e  d ang) .    (con
1de0: 73 20 28 2a 20 72 61 64 20 28 63 6f 73 20 28 2f  s (* rad (cos (/
1df0: 20 61 6e 67 20 28 2f 20 31 38 30 20 2a 70 69 2a   ang (/ 180 *pi*
1e00: 29 29 29 29 20 0a 20 20 20 20 20 20 20 20 20 20  )))) .          
1e10: 28 2a 20 72 61 64 20 28 73 69 6e 20 28 2f 20 61  (* rad (sin (/ a
1e20: 6e 67 20 28 2f 20 31 38 30 20 2a 70 69 2a 29 29  ng (/ 180 *pi*))
1e30: 29 29 20 29 29 0a 20 20 0a 20 20 3b 20 72 65 74  )) )).  .  ; ret
1e40: 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 70 61  urn a list of pa
1e50: 69 72 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74  irs containing t
1e60: 68 65 20 61 6e 63 68 6f 72 20 70 6f 69 6e 74 73  he anchor points
1e70: 20 6f 66 20 61 20 70 61 74 68 27 73 20 73 74 72   of a path's str
1e80: 6f 6b 65 0a 20 20 3b 20 46 6f 72 20 65 78 61 6d  oke.  ; For exam
1e90: 70 6c 65 2c 20 28 28 78 30 20 2e 20 79 30 29 20  ple, ((x0 . y0) 
1ea0: 28 78 31 20 2e 20 79 31 29 20 28 78 32 20 2e 20  (x1 . y1) (x2 . 
1eb0: 79 32 29 20 28 78 33 20 2e 20 79 33 29 20 28 78  y2) (x3 . y3) (x
1ec0: 34 20 2e 20 79 34 29 29 0a 20 20 3b 20 49 66 20  4 . y4)).  ; If 
1ed0: 73 74 72 6f 6b 65 20 69 73 20 6e 6f 74 20 73 75  stroke is not su
1ee0: 70 70 6c 69 65 64 20 74 68 65 6e 20 66 69 72 73  pplied then firs
1ef0: 74 20 73 74 72 6f 6b 65 20 69 73 20 61 73 73 75  t stroke is assu
1f00: 6d 65 64 0a 20 20 3b 0a 20 20 28 64 65 66 69 6e  med.  ;.  (defin
1f10: 65 20 28 67 65 74 2d 61 6e 63 68 6f 72 73 20 70  e (get-anchors p
1f20: 61 74 68 20 2e 20 73 74 72 6f 6b 65 29 0a 20 20  ath . stroke).  
1f30: 20 20 28 6c 65 74 20 28 28 73 74 72 6f 6b 65 20    (let ((stroke 
1f40: 28 69 66 20 28 6e 75 6c 6c 3f 20 73 74 72 6f 6b  (if (null? strok
1f50: 65 29 20 0a 20 20 20 20 20 20 20 20 20 20 20 20  e) .            
1f60: 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f            (vecto
1f70: 72 2d 72 65 66 20 28 63 61 64 72 20 28 67 69 6d  r-ref (cadr (gim
1f80: 70 2d 76 65 63 74 6f 72 73 2d 67 65 74 2d 73 74  p-vectors-get-st
1f90: 72 6f 6b 65 73 20 70 61 74 68 29 29 20 30 29 0a  rokes path)) 0).
1fa0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fb0: 20 20 20 20 20 20 28 63 61 72 20 73 74 72 6f 6b        (car strok
1fc0: 65 29 20 29 29 29 0a 20 20 20 20 20 20 28 6c 65  e) ))).      (le
1fd0: 74 20 6c 6f 6f 70 20 28 28 70 6f 69 6e 74 73 20  t loop ((points 
1fe0: 28 76 65 63 74 6f 72 2d 3e 6c 69 73 74 20 28 63  (vector->list (c
1ff0: 61 64 64 72 20 28 67 69 6d 70 2d 76 65 63 74 6f  addr (gimp-vecto
2000: 72 73 2d 73 74 72 6f 6b 65 2d 67 65 74 2d 70 6f  rs-stroke-get-po
2010: 69 6e 74 73 20 70 61 74 68 20 73 74 72 6f 6b 65  ints path stroke
2020: 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20  )))).           
2030: 20 20 20 20 20 20 28 61 6e 63 68 6f 72 73 20 27        (anchors '
2040: 28 29 29 20 29 0a 20 20 20 20 20 20 20 20 28 69  ()) ).        (i
2050: 66 20 28 6e 75 6c 6c 3f 20 70 6f 69 6e 74 73 29  f (null? points)
2060: 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28  .          (if (
2070: 6e 75 6c 6c 3f 20 61 6e 63 68 6f 72 73 29 0a 20  null? anchors). 
2080: 20 20 20 20 20 20 20 20 20 20 20 27 28 29 0a 20             '(). 
2090: 20 20 20 20 20 20 20 20 20 20 20 28 72 65 76 65             (reve
20a0: 72 73 65 20 61 6e 63 68 6f 72 73 29 20 29 0a 20  rse anchors) ). 
20b0: 20 20 20 20 20 20 20 20 20 28 6c 6f 6f 70 20 28           (loop (
20c0: 63 64 64 64 72 20 28 63 64 64 64 72 20 70 6f 69  cdddr (cdddr poi
20d0: 6e 74 73 29 29 20 0a 20 20 20 20 20 20 20 20 20  nts)) .         
20e0: 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 63 6f         (cons (co
20f0: 6e 73 20 28 63 61 64 72 20 28 63 64 64 64 72 20  ns (cadr (cdddr 
2100: 70 6f 69 6e 74 73 29 29 20 28 63 61 64 72 20 70  points)) (cadr p
2110: 6f 69 6e 74 73 29 29 20 61 6e 63 68 6f 72 73 29  oints)) anchors)
2120: 20 29 29 29 29 29 0a 20 20 3b 20 52 65 76 65 72   ))))).  ; Rever
2130: 73 65 20 74 68 65 20 64 69 72 65 63 74 69 6f 6e  se the direction
2140: 20 6f 66 20 61 20 70 61 74 68 27 73 20 70 6f 6c   of a path's pol
2150: 79 67 6f 6e 61 6c 20 73 74 72 6f 6b 65 2e 20 57  ygonal stroke. W
2160: 6f 72 6b 73 20 62 79 20 63 72 65 61 74 69 6e 67  orks by creating
2170: 0a 20 20 3b 20 61 20 6e 65 77 20 28 72 65 76 65  .  ; a new (reve
2180: 72 73 65 64 29 20 73 74 72 6f 6b 65 20 61 6e 64  rsed) stroke and
2190: 20 72 65 6d 6f 76 69 6e 67 20 74 68 65 20 6f 72   removing the or
21a0: 69 67 69 6e 61 6c 2e 0a 20 20 3b 20 52 65 74 75  iginal..  ; Retu
21b0: 72 6e 73 20 74 68 65 20 6e 65 77 20 73 74 72 6f  rns the new stro
21c0: 6b 65 2e 0a 20 20 3b 20 49 66 20 73 74 72 6f 6b  ke..  ; If strok
21d0: 65 20 69 73 20 6e 6f 74 20 73 75 70 70 6c 69 65  e is not supplie
21e0: 64 20 74 68 65 6e 20 66 69 72 73 74 20 73 74 72  d then first str
21f0: 6f 6b 65 20 69 73 20 61 73 73 75 6d 65 64 2e 0a  oke is assumed..
2200: 20 20 3b 0a 20 20 28 64 65 66 69 6e 65 20 28 72    ;.  (define (r
2210: 65 76 65 72 73 65 2d 70 65 6e 74 20 70 61 74 68  everse-pent path
2220: 20 2e 20 73 74 72 6f 6b 65 29 0a 20 20 20 20 28   . stroke).    (
2230: 6c 65 74 2a 20 28 28 73 74 72 6f 6b 65 20 28 69  let* ((stroke (i
2240: 66 20 28 6e 75 6c 6c 3f 20 73 74 72 6f 6b 65 29  f (null? stroke)
2250: 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20   .              
2260: 20 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 2d          (vector-
2270: 72 65 66 20 28 63 61 64 72 20 28 67 69 6d 70 2d  ref (cadr (gimp-
2280: 76 65 63 74 6f 72 73 2d 67 65 74 2d 73 74 72 6f  vectors-get-stro
2290: 6b 65 73 20 70 61 74 68 29 29 20 30 29 0a 20 20  kes path)) 0).  
22a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
22b0: 20 20 20 20 28 63 61 72 20 73 74 72 6f 6b 65 29      (car stroke)
22c0: 20 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28   )).           (
22d0: 61 6e 63 68 6f 72 73 20 28 67 65 74 2d 61 6e 63  anchors (get-anc
22e0: 68 6f 72 73 20 70 61 74 68 20 73 74 72 6f 6b 65  hors path stroke
22f0: 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6e  )).           (n
2300: 65 77 2d 73 74 72 6f 6b 65 20 30 29 20 29 0a 20  ew-stroke 0) ). 
2310: 20 20 20 20 20 3b 20 6d 61 6e 67 6c 65 20 6c 69       ; mangle li
2320: 73 74 20 6f 72 64 65 72 20 62 65 63 61 75 73 65  st order because
2330: 20 73 74 72 6f 6b 65 73 20 61 72 65 20 62 75 69   strokes are bui
2340: 6c 74 20 69 6e 20 72 65 76 65 72 73 65 20 6f 72  lt in reverse or
2350: 64 65 72 0a 20 20 20 20 20 20 28 73 65 74 21 20  der.      (set! 
2360: 61 6e 63 68 6f 72 73 20 28 72 65 76 65 72 73 65  anchors (reverse
2370: 20 28 61 70 70 65 6e 64 20 28 6c 69 73 74 20 28   (append (list (
2380: 63 61 72 20 61 6e 63 68 6f 72 73 29 29 20 28 72  car anchors)) (r
2390: 65 76 65 72 73 65 20 28 63 64 72 20 61 6e 63 68  everse (cdr anch
23a0: 6f 72 73 29 29 29 29 29 0a 20 20 20 20 20 20 28  ors))))).      (
23b0: 73 65 74 21 20 6e 65 77 2d 73 74 72 6f 6b 65 20  set! new-stroke 
23c0: 28 63 61 72 20 28 67 69 6d 70 2d 76 65 63 74 6f  (car (gimp-vecto
23d0: 72 73 2d 62 65 7a 69 65 72 2d 73 74 72 6f 6b 65  rs-bezier-stroke
23e0: 2d 6e 65 77 2d 6d 6f 76 65 74 6f 20 70 61 74 68  -new-moveto path
23f0: 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20   .              
2400: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2410: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2420: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2430: 20 20 20 20 20 28 63 61 61 72 20 61 6e 63 68 6f       (caar ancho
2440: 72 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  rs).            
2450: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2460: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2470: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2480: 20 20 20 20 20 20 20 28 63 64 61 72 20 61 6e 63         (cdar anc
2490: 68 6f 72 73 29 20 29 29 29 0a 20 20 20 20 20 20  hors) ))).      
24a0: 28 67 69 6d 70 2d 76 65 63 74 6f 72 73 2d 72 65  (gimp-vectors-re
24b0: 6d 6f 76 65 2d 73 74 72 6f 6b 65 20 70 61 74 68  move-stroke path
24c0: 20 73 74 72 6f 6b 65 29 0a 20 20 20 20 20 20 28   stroke).      (
24d0: 6c 65 74 20 6c 6f 6f 70 20 28 28 61 6e 63 68 6f  let loop ((ancho
24e0: 72 73 20 28 63 64 72 20 61 6e 63 68 6f 72 73 29  rs (cdr anchors)
24f0: 29 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 28  )).        (if (
2500: 6e 75 6c 6c 3f 20 61 6e 63 68 6f 72 73 29 0a 20  null? anchors). 
2510: 20 20 20 20 20 20 20 20 20 6e 65 77 2d 73 74 72           new-str
2520: 6f 6b 65 0a 20 20 20 20 20 20 20 20 20 20 28 62  oke.          (b
2530: 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20  egin.           
2540: 20 28 67 69 6d 70 2d 76 65 63 74 6f 72 73 2d 62   (gimp-vectors-b
2550: 65 7a 69 65 72 2d 73 74 72 6f 6b 65 2d 6c 69 6e  ezier-stroke-lin
2560: 65 74 6f 20 70 61 74 68 20 6e 65 77 2d 73 74 72  eto path new-str
2570: 6f 6b 65 20 28 63 61 61 72 20 61 6e 63 68 6f 72  oke (caar anchor
2580: 73 29 20 28 63 64 61 72 20 61 6e 63 68 6f 72 73  s) (cdar anchors
2590: 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28  )).            (
25a0: 6c 6f 6f 70 20 28 63 64 72 20 61 6e 63 68 6f 72  loop (cdr anchor
25b0: 73 29 29 20 29 29 29 29 29 0a 20 20 3b 20 46 6f  s)) ))))).  ; Fo
25c0: 72 20 64 65 62 75 67 67 69 6e 67 20 6f 6e 6c 79  r debugging only
25d0: 0a 3b 20 20 28 64 65 66 69 6e 65 20 28 70 72 69  .;  (define (pri
25e0: 6e 74 2d 70 6f 69 6e 74 73 20 70 61 74 68 29 0a  nt-points path).
25f0: 3b 20 20 20 20 28 6c 65 74 2a 20 28 28 73 74 72  ;    (let* ((str
2600: 6f 6b 65 20 28 76 65 63 74 6f 72 2d 72 65 66 20  oke (vector-ref 
2610: 28 63 61 64 72 20 28 67 69 6d 70 2d 76 65 63 74  (cadr (gimp-vect
2620: 6f 72 73 2d 67 65 74 2d 73 74 72 6f 6b 65 73 20  ors-get-strokes 
2630: 70 61 74 68 29 29 20 30 29 29 29 0a 3b 20 20 20  path)) 0))).;   
2640: 20 20 20 28 64 69 73 70 6c 61 79 20 28 67 69 6d     (display (gim
2650: 70 2d 76 65 63 74 6f 72 73 2d 73 74 72 6f 6b 65  p-vectors-stroke
2660: 2d 67 65 74 2d 70 6f 69 6e 74 73 20 70 61 74 68  -get-points path
2670: 20 73 74 72 6f 6b 65 29 29 20 29 29 0a 0a 20 20   stroke)) ))..  
2680: 3b 20 43 72 65 61 74 65 20 61 20 6e 65 77 20 70  ; Create a new p
2690: 65 6e 74 61 67 6f 6e 20 28 61 20 70 6f 6c 79 67  entagon (a polyg
26a0: 6f 6e 61 6c 20 70 61 74 68 20 77 69 74 68 20 66  onal path with f
26b0: 69 76 65 20 61 6e 63 68 6f 72 20 70 6f 69 6e 74  ive anchor point
26c0: 73 29 0a 20 20 3b 20 78 79 61 20 69 73 20 61 20  s).  ; xya is a 
26d0: 6c 69 73 74 20 63 6f 6e 74 61 69 6e 69 6e 67 20  list containing 
26e0: 74 68 65 20 78 20 61 6e 64 20 79 20 63 6f 6f 72  the x and y coor
26f0: 64 69 6e 61 74 65 73 2c 20 61 6e 64 20 74 68 65  dinates, and the
2700: 20 61 6e 67 6c 65 20 28 69 6e 20 64 65 67 72 65   angle (in degre
2710: 65 73 29 20 6f 66 20 74 68 65 20 66 69 72 73 74  es) of the first
2720: 20 65 64 67 65 0a 20 20 3b 20 52 65 74 75 72 6e   edge.  ; Return
2730: 73 20 74 68 65 20 70 61 74 68 20 49 44 20 6f 66  s the path ID of
2740: 20 74 68 65 20 63 72 65 61 74 65 64 20 70 65 6e   the created pen
2750: 74 61 67 6f 6e 2e 20 20 20 20 20 20 20 20 20 20  tagon.          
2760: 0a 20 20 3b 20 4e 6f 74 65 3a 20 74 68 65 20 6e  .  ; Note: the n
2770: 61 6d 65 20 6f 66 20 74 68 65 20 6d 6f 6e 74 68  ame of the month
2780: 20 70 65 6e 74 61 67 72 61 6d 73 20 69 73 20 74   pentagrams is t
2790: 68 65 69 72 20 6e 75 6d 65 72 69 63 20 69 6e 64  heir numeric ind
27a0: 65 78 20 28 4a 61 6e 3d 30 2c 20 46 65 62 3d 31  ex (Jan=0, Feb=1
27b0: 2c 20 4d 61 72 3d 32 2c 2e 2e 2e 29 0a 20 20 3b  , Mar=2,...).  ;
27c0: 20 4e 6f 74 65 20 74 6f 20 70 72 6f 67 72 61 6d   Note to program
27d0: 6d 65 72 73 3a 20 74 68 65 20 62 65 7a 69 65 72  mers: the bezier
27e0: 2d 73 74 72 6f 6b 65 2d 6c 69 6e 65 2d 74 6f 20  -stroke-line-to 
27f0: 72 6f 75 74 69 6e 65 20 70 72 65 70 65 6e 64 73  routine prepends
2800: 20 6e 65 77 20 70 6f 69 6e 74 73 20 74 6f 0a 20   new points to. 
2810: 20 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ;              
2820: 20 20 20 20 20 20 20 20 74 68 65 20 73 74 61 72          the star
2830: 74 20 6f 66 20 74 68 65 20 73 74 72 6f 6b 65 21  t of the stroke!
2840: 0a 20 20 3b 0a 20 20 28 64 65 66 69 6e 65 20 28  .  ;.  (define (
2850: 6d 61 6b 65 2d 70 65 6e 74 20 69 6d 61 67 65 20  make-pent image 
2860: 6e 61 6d 65 20 78 79 61 29 20 0a 20 20 20 20 28  name xya) .    (
2870: 6c 65 74 2a 20 28 28 70 61 74 68 20 28 63 61 72  let* ((path (car
2880: 20 28 67 69 6d 70 2d 76 65 63 74 6f 72 73 2d 6e   (gimp-vectors-n
2890: 65 77 20 69 6d 61 67 65 20 6e 61 6d 65 29 29 29  ew image name)))
28a0: 0a 20 20 20 20 20 20 20 20 20 20 28 73 74 72 6f  .          (stro
28b0: 6b 65 20 30 29 0a 20 20 20 20 20 20 20 20 20 20  ke 0).          
28c0: 28 78 20 28 63 61 72 20 78 79 61 29 29 0a 20 20  (x (car xya)).  
28d0: 20 20 20 20 20 20 20 20 28 79 20 28 63 61 64 72          (y (cadr
28e0: 20 78 79 61 29 29 0a 20 20 20 20 20 20 20 20 20   xya)).         
28f0: 20 28 62 61 6e 6e 65 72 2d 61 6e 67 6c 65 20 28   (banner-angle (
2900: 63 61 64 64 72 20 78 79 61 29 29 0a 20 20 20 20  caddr xya)).    
2910: 20 20 20 20 20 20 28 70 6f 69 6e 74 73 20 28 6c        (points (l
2920: 69 73 74 20 28 63 6f 6e 73 20 78 20 79 29 29 29  ist (cons x y)))
2930: 20 29 0a 20 20 20 20 20 20 28 67 69 6d 70 2d 69   ).      (gimp-i
2940: 6d 61 67 65 2d 61 64 64 2d 76 65 63 74 6f 72 73  mage-add-vectors
2950: 20 69 6d 61 67 65 20 70 61 74 68 20 30 29 0a 20   image path 0). 
2960: 20 20 20 20 20 28 6c 65 74 20 6c 6f 6f 70 20 28       (let loop (
2970: 28 63 6f 75 6e 74 20 34 29 0a 20 20 20 20 20 20  (count 4).      
2980: 20 20 20 20 20 20 20 20 20 20 20 28 78 20 28 2b             (x (+
2990: 20 78 20 28 63 61 72 20 28 70 2d 3e 72 20 65 64   x (car (p->r ed
29a0: 67 65 2d 6c 65 6e 67 74 68 20 62 61 6e 6e 65 72  ge-length banner
29b0: 2d 61 6e 67 6c 65 29 29 29 29 0a 20 20 20 20 20  -angle)))).     
29c0: 20 20 20 20 20 20 20 20 20 20 20 20 28 79 20 28              (y (
29d0: 2b 20 79 20 28 63 64 72 20 28 70 2d 3e 72 20 65  + y (cdr (p->r e
29e0: 64 67 65 2d 6c 65 6e 67 74 68 20 62 61 6e 6e 65  dge-length banne
29f0: 72 2d 61 6e 67 6c 65 29 29 29 29 0a 20 20 20 20  r-angle)))).    
2a00: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e               (an
2a10: 67 6c 65 20 37 32 29 20 29 0a 20 20 20 20 20 20  gle 72) ).      
2a20: 20 20 28 69 66 20 28 7a 65 72 6f 3f 20 63 6f 75    (if (zero? cou
2a30: 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 70 6f  nt).          po
2a40: 69 6e 74 73 0a 20 20 20 20 20 20 20 20 20 20 28  ints.          (
2a50: 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20  begin.          
2a60: 20 20 28 73 65 74 21 20 70 6f 69 6e 74 73 20 28    (set! points (
2a70: 63 6f 6e 73 20 28 63 6f 6e 73 20 78 20 79 29 20  cons (cons x y) 
2a80: 70 6f 69 6e 74 73 29 29 0a 20 20 20 20 20 20 20  points)).       
2a90: 20 20 20 20 20 28 6c 6f 6f 70 20 28 2d 20 63 6f       (loop (- co
2aa0: 75 6e 74 20 31 29 20 0a 20 20 20 20 20 20 20 20  unt 1) .        
2ab0: 20 20 20 20 20 20 20 20 20 20 28 2b 20 78 20 28            (+ x (
2ac0: 63 61 72 20 28 70 2d 3e 72 20 65 64 67 65 2d 6c  car (p->r edge-l
2ad0: 65 6e 67 74 68 20 28 2b 20 62 61 6e 6e 65 72 2d  ength (+ banner-
2ae0: 61 6e 67 6c 65 20 61 6e 67 6c 65 29 29 29 29 0a  angle angle)))).
2af0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2b00: 20 20 28 2b 20 79 20 28 63 64 72 20 28 70 2d 3e    (+ y (cdr (p->
2b10: 72 20 65 64 67 65 2d 6c 65 6e 67 74 68 20 28 2b  r edge-length (+
2b20: 20 62 61 6e 6e 65 72 2d 61 6e 67 6c 65 20 61 6e   banner-angle an
2b30: 67 6c 65 29 29 29 29 0a 20 20 20 20 20 20 20 20  gle)))).        
2b40: 20 20 20 20 20 20 20 20 20 20 28 6d 6f 64 75 6c            (modul
2b50: 6f 20 28 2b 20 61 6e 67 6c 65 20 37 32 29 20 33  o (+ angle 72) 3
2b60: 36 30 29 20 29 29 29 29 0a 20 20 20 20 20 20 28  60) )))).      (
2b70: 73 65 74 21 20 73 74 72 6f 6b 65 20 28 63 61 72  set! stroke (car
2b80: 20 28 67 69 6d 70 2d 76 65 63 74 6f 72 73 2d 62   (gimp-vectors-b
2b90: 65 7a 69 65 72 2d 73 74 72 6f 6b 65 2d 6e 65 77  ezier-stroke-new
2ba0: 2d 6d 6f 76 65 74 6f 20 70 61 74 68 20 28 63 61  -moveto path (ca
2bb0: 61 72 20 70 6f 69 6e 74 73 29 20 28 63 64 61 72  ar points) (cdar
2bc0: 20 70 6f 69 6e 74 73 29 29 29 29 0a 20 20 20 20   points)))).    
2bd0: 20 20 28 73 65 74 21 20 70 6f 69 6e 74 73 20 28    (set! points (
2be0: 63 64 72 20 70 6f 69 6e 74 73 29 29 0a 20 20 20  cdr points)).   
2bf0: 20 20 20 28 77 68 69 6c 65 20 28 70 61 69 72 3f     (while (pair?
2c00: 20 70 6f 69 6e 74 73 29 0a 20 20 20 20 20 20 20   points).       
2c10: 20 28 67 69 6d 70 2d 76 65 63 74 6f 72 73 2d 62   (gimp-vectors-b
2c20: 65 7a 69 65 72 2d 73 74 72 6f 6b 65 2d 6c 69 6e  ezier-stroke-lin
2c30: 65 74 6f 20 70 61 74 68 20 73 74 72 6f 6b 65 20  eto path stroke 
2c40: 28 63 61 61 72 20 70 6f 69 6e 74 73 29 20 28 63  (caar points) (c
2c50: 64 61 72 20 70 6f 69 6e 74 73 29 29 0a 20 20 20  dar points)).   
2c60: 20 20 20 20 20 28 73 65 74 21 20 70 6f 69 6e 74       (set! point
2c70: 73 20 28 63 64 72 20 70 6f 69 6e 74 73 29 29 20  s (cdr points)) 
2c80: 29 0a 20 20 20 20 20 20 28 67 69 6d 70 2d 76 65  ).      (gimp-ve
2c90: 63 74 6f 72 73 2d 73 74 72 6f 6b 65 2d 63 6c 6f  ctors-stroke-clo
2ca0: 73 65 20 70 61 74 68 20 73 74 72 6f 6b 65 29 0a  se path stroke).
2cb0: 20 20 20 20 20 20 70 61 74 68 20 29 29 0a 20 20        path )).  
2cc0: 0a 20 20 3b 20 70 65 6e 74 2d 72 65 66 20 72 65  .  ; pent-ref re
2cd0: 74 75 72 6e 73 20 61 20 6c 69 73 74 20 63 6f 6e  turns a list con
2ce0: 74 61 69 6e 69 6e 67 20 74 68 65 20 73 74 61 72  taining the star
2cf0: 74 69 6e 67 20 78 79 20 63 6f 6f 72 64 73 20 61  ting xy coords a
2d00: 6e 64 20 61 6e 67 6c 65 20 28 69 6e 20 64 65 67  nd angle (in deg
2d10: 72 65 65 73 29 20 6f 66 0a 20 20 3b 20 74 68 65  rees) of.  ; the
2d20: 20 6e 74 68 20 70 61 74 68 20 73 65 67 6d 65 6e   nth path segmen
2d30: 74 2e 20 28 54 68 69 73 20 6c 69 73 74 20 63 61  t. (This list ca
2d40: 6e 20 74 68 65 6e 20 62 65 20 70 61 73 73 65 64  n then be passed
2d50: 20 74 6f 20 6d 61 6b 65 2d 70 65 6e 74 2e 29 0a   to make-pent.).
2d60: 20 20 3b 20 28 78 20 79 20 61 6e 67 6c 65 29 0a    ; (x y angle).
2d70: 20 20 3b 0a 20 20 28 64 65 66 69 6e 65 20 28 70    ;.  (define (p
2d80: 65 6e 74 2d 72 65 66 20 70 65 6e 74 20 69 6e 64  ent-ref pent ind
2d90: 65 78 29 0a 20 20 20 20 28 6c 65 74 2a 20 28 28  ex).    (let* ((
2da0: 70 6f 69 6e 74 73 20 28 67 65 74 2d 61 6e 63 68  points (get-anch
2db0: 6f 72 73 20 70 65 6e 74 29 29 0a 20 20 20 20 20  ors pent)).     
2dc0: 20 20 20 20 20 20 28 78 30 20 28 63 61 72 20 28        (x0 (car (
2dd0: 6c 69 73 74 2d 72 65 66 20 70 6f 69 6e 74 73 20  list-ref points 
2de0: 69 6e 64 65 78 29 29 29 0a 20 20 20 20 20 20 20  index))).       
2df0: 20 20 20 20 28 79 30 20 28 63 64 72 20 28 6c 69      (y0 (cdr (li
2e00: 73 74 2d 72 65 66 20 70 6f 69 6e 74 73 20 69 6e  st-ref points in
2e10: 64 65 78 29 29 29 0a 20 20 20 20 20 20 20 20 20  dex))).         
2e20: 20 20 28 78 31 20 28 63 61 72 20 28 6c 69 73 74    (x1 (car (list
2e30: 2d 72 65 66 20 70 6f 69 6e 74 73 20 28 6d 6f 64  -ref points (mod
2e40: 75 6c 6f 20 28 2b 20 69 6e 64 65 78 20 31 29 20  ulo (+ index 1) 
2e50: 35 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20  5)))).          
2e60: 20 28 79 31 20 28 63 64 72 20 28 6c 69 73 74 2d   (y1 (cdr (list-
2e70: 72 65 66 20 70 6f 69 6e 74 73 20 28 6d 6f 64 75  ref points (modu
2e80: 6c 6f 20 28 2b 20 69 6e 64 65 78 20 31 29 20 35  lo (+ index 1) 5
2e90: 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20  )))).           
2ea0: 28 61 6e 67 20 28 61 74 61 6e 20 28 2d 20 79 31  (ang (atan (- y1
2eb0: 20 79 30 29 20 28 2d 20 78 31 20 78 30 29 29 29   y0) (- x1 x0)))
2ec0: 20 29 0a 20 20 20 20 20 20 28 6c 69 73 74 20 78   ).      (list x
2ed0: 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 79 30  0.            y0
2ee0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 2a 20  .            (* 
2ef0: 31 38 30 20 61 6e 67 20 28 2f 20 2a 70 69 2a 29  180 ang (/ *pi*)
2f00: 29 20 29 29 29 0a 0a 20 20 3b 20 52 65 6e 64 65  ) )))..  ; Rende
2f10: 72 73 20 72 6f 74 61 74 65 64 20 6d 6f 6e 74 68  rs rotated month
2f20: 20 63 61 6c 65 6e 64 61 72 20 63 61 6c 65 6e 64   calendar calend
2f30: 61 72 20 77 69 74 68 69 6e 20 74 68 65 20 70 65  ar within the pe
2f40: 6e 74 61 67 6f 6e 73 20 6f 66 20 74 68 65 69 72  ntagons of their
2f50: 20 61 73 73 6f 63 69 61 74 65 64 0a 20 20 3b 20   associated.  ; 
2f60: 6d 6f 6e 74 68 2e 20 54 68 65 20 70 61 74 68 27  month. The path'
2f70: 73 20 6e 61 6d 65 20 69 73 20 74 68 65 20 69 6e  s name is the in
2f80: 64 65 78 20 6f 66 20 74 68 65 20 6d 6f 6e 74 68  dex of the month
2f90: 20 28 4a 61 6e 3d 30 2c 20 46 65 62 3d 31 2c 20   (Jan=0, Feb=1, 
2fa0: 4d 61 72 3d 32 2c 2e 2e 2e 29 0a 20 20 3b 0a 20  Mar=2,...).  ;. 
2fb0: 20 28 64 65 66 69 6e 65 20 28 6d 61 6b 65 2d 6d   (define (make-m
2fc0: 6f 6e 74 68 73 20 74 61 72 67 65 74 2d 6c 61 79  onths target-lay
2fd0: 65 72 20 70 65 6e 74 73 29 0a 20 20 20 20 28 6c  er pents).    (l
2fe0: 65 74 2a 20 28 28 70 65 6e 74 20 28 63 61 72 20  et* ((pent (car 
2ff0: 70 65 6e 74 73 29 29 0a 20 20 20 20 20 20 20 20  pents)).        
3000: 20 20 20 28 6d 6f 6e 74 68 2d 69 6d 61 67 65 20     (month-image 
3010: 28 63 61 72 20 28 67 69 6d 70 2d 69 6d 61 67 65  (car (gimp-image
3020: 2d 6e 65 77 20 65 64 67 65 2d 6c 65 6e 67 74 68  -new edge-length
3030: 20 28 63 65 69 6c 69 6e 67 20 28 2f 20 28 2a 20   (ceiling (/ (* 
3040: 65 64 67 65 2d 6c 65 6e 67 74 68 20 37 29 20 36  edge-length 7) 6
3050: 29 29 20 52 47 42 29 29 29 0a 20 20 20 20 20 20  )) RGB))).      
3060: 20 20 20 20 20 28 6d 6f 6e 74 68 2d 6c 61 79 65       (month-laye
3070: 72 20 28 63 61 72 20 28 67 69 6d 70 2d 6c 61 79  r (car (gimp-lay
3080: 65 72 2d 6e 65 77 20 6d 6f 6e 74 68 2d 69 6d 61  er-new month-ima
3090: 67 65 20 0a 20 20 20 20 20 20 20 20 20 20 20 20  ge .            
30a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
30b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
30c0: 20 65 64 67 65 2d 6c 65 6e 67 74 68 20 65 64 67   edge-length edg
30d0: 65 2d 6c 65 6e 67 74 68 20 0a 20 20 20 20 20 20  e-length .      
30e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
30f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3100: 20 20 20 20 20 20 20 52 47 42 41 2d 49 4d 41 47         RGBA-IMAG
3110: 45 20 22 74 6d 70 22 20 31 30 30 20 4e 4f 52 4d  E "tmp" 100 NORM
3120: 41 4c 2d 4d 4f 44 45 20 29 29 29 0a 20 20 20 20  AL-MODE ))).    
3130: 20 20 20 20 20 20 20 28 78 79 61 20 28 70 65 6e         (xya (pen
3140: 74 2d 72 65 66 20 70 65 6e 74 20 30 29 29 0a 20  t-ref pent 0)). 
3150: 20 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65            (buffe
3160: 72 20 22 22 29 0a 20 20 20 20 20 20 20 20 20 20  r "").          
3170: 20 28 66 6c 6f 61 74 65 64 20 30 29 0a 20 20 20   (floated 0).   
3180: 20 20 20 20 20 20 20 20 28 6d 6f 6e 74 68 20 28          (month (
3190: 73 74 72 69 6e 67 2d 3e 6e 75 6d 62 65 72 20 28  string->number (
31a0: 63 61 72 20 28 67 69 6d 70 2d 76 65 63 74 6f 72  car (gimp-vector
31b0: 73 2d 67 65 74 2d 6e 61 6d 65 20 70 65 6e 74 29  s-get-name pent)
31c0: 29 29 29 20 3b 20 70 61 74 68 20 6e 61 6d 65 20  ))) ; path name 
31d0: 3d 20 6d 6f 6e 74 68 20 28 30 2d 31 31 29 0a 20  = month (0-11). 
31e0: 20 20 20 20 20 20 20 20 20 20 28 6d 6f 6e 74 68            (month
31f0: 2d 6e 61 6d 65 20 28 6c 69 73 74 2d 72 65 66 20  -name (list-ref 
3200: 28 63 61 72 20 28 6c 69 73 74 2d 72 65 66 20 73  (car (list-ref s
3210: 67 2d 63 61 6c 65 6e 64 61 72 2d 74 72 61 6e 73  g-calendar-trans
3220: 6c 61 74 69 6f 6e 73 20 6c 61 6e 67 29 29 20 6d  lations lang)) m
3230: 6f 6e 74 68 29 29 0a 20 20 20 20 20 20 20 20 20  onth)).         
3240: 20 20 28 79 65 61 72 2d 6e 61 6d 65 20 28 6e 75    (year-name (nu
3250: 6d 62 65 72 2d 3e 73 74 72 69 6e 67 20 79 65 61  mber->string yea
3260: 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28  r)).           (
3270: 64 61 74 65 2d 6c 61 79 65 72 20 30 29 0a 20 20  date-layer 0).  
3280: 20 20 20 20 20 20 20 20 20 28 6d 6f 6e 74 68 2d           (month-
3290: 74 65 78 74 2d 6c 61 79 65 72 20 30 29 20 3b 20  text-layer 0) ; 
32a0: 6c 61 79 65 72 20 66 6f 72 20 6d 6f 6e 74 68 20  layer for month 
32b0: 62 61 6e 6e 65 72 0a 20 20 20 20 20 20 20 20 20  banner.         
32c0: 20 20 28 79 65 61 72 2d 74 65 78 74 2d 6c 61 79    (year-text-lay
32d0: 65 72 20 30 29 20 20 3b 20 6c 61 79 65 72 20 66  er 0)  ; layer f
32e0: 6f 72 20 79 65 61 72 20 62 61 6e 6e 65 72 0a 20  or year banner. 
32f0: 20 20 20 20 20 20 20 20 20 20 28 79 2f 6d 2d 72            (y/m-r
3300: 61 74 69 6f 20 28 63 6f 6e 64 20 20 0a 09 20 20  atio (cond  ..  
3310: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3320: 20 20 20 20 28 28 3d 20 34 20 79 6d 2d 6c 61 79      ((= 4 ym-lay
3330: 6f 75 74 29 20 30 2e 33 35 29 0a 09 20 20 20 20  out) 0.35)..    
3340: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3350: 20 20 28 28 3d 20 35 20 79 6d 2d 6c 61 79 6f 75    ((= 5 ym-layou
3360: 74 29 20 30 2e 36 30 29 0a 09 20 20 20 20 20 20  t) 0.60)..      
3370: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3380: 28 65 6c 73 65 20 30 2e 35 30 29 20 29 29 0a 20  (else 0.50) )). 
3390: 20 20 20 20 20 20 20 20 20 20 28 6d 6f 6e 74 68            (month
33a0: 2d 73 69 7a 65 20 30 29 0a 20 20 20 20 20 20 20  -size 0).       
33b0: 20 20 20 20 28 79 65 61 72 2d 73 69 7a 65 20 30      (year-size 0
33c0: 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 62 61  ).           (ba
33d0: 6e 6e 65 72 2d 68 65 69 67 68 74 20 30 29 0a 20  nner-height 0). 
33e0: 20 20 20 20 20 20 20 20 20 20 28 62 61 6e 6e 65            (banne
33f0: 72 73 20 28 6d 61 70 20 28 6c 61 6d 62 64 61 20  rs (map (lambda 
3400: 28 78 29 20 28 6c 69 73 74 2d 72 65 66 20 28 63  (x) (list-ref (c
3410: 61 72 20 28 6c 69 73 74 2d 72 65 66 20 73 67 2d  ar (list-ref sg-
3420: 63 61 6c 65 6e 64 61 72 2d 74 72 61 6e 73 6c 61  calendar-transla
3430: 74 69 6f 6e 73 20 6c 61 6e 67 29 29 0a 20 20 20  tions lang)).   
3440: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3450: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3460: 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72              (str
3470: 69 6e 67 2d 3e 6e 75 6d 62 65 72 20 28 63 61 72  ing->number (car
3480: 20 28 67 69 6d 70 2d 76 65 63 74 6f 72 73 2d 67   (gimp-vectors-g
3490: 65 74 2d 6e 61 6d 65 20 78 29 29 29 20 29 29 0a  et-name x))) )).
34a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
34b0: 20 20 20 20 20 20 20 20 20 70 65 6e 74 73 20 29           pents )
34c0: 29 20 29 0a 20 20 20 20 20 20 3b 20 52 65 6e 64  ) ).      ; Rend
34d0: 65 72 20 66 69 72 73 74 20 6d 6f 6e 74 68 20 73  er first month s
34e0: 6f 20 74 68 61 74 20 73 69 7a 65 20 62 61 6e 6e  o that size bann
34f0: 65 72 20 61 6e 64 20 66 6f 6f 74 65 72 20 63 61  er and footer ca
3500: 6e 20 62 65 20 64 65 74 65 72 6d 69 6e 65 64 2e  n be determined.
3510: 0a 20 20 20 20 20 20 28 67 69 6d 70 2d 69 6d 61  .      (gimp-ima
3520: 67 65 2d 61 64 64 2d 6c 61 79 65 72 20 6d 6f 6e  ge-add-layer mon
3530: 74 68 2d 69 6d 61 67 65 20 6d 6f 6e 74 68 2d 6c  th-image month-l
3540: 61 79 65 72 20 30 29 0a 20 20 20 20 20 20 28 67  ayer 0).      (g
3550: 69 6d 70 2d 64 72 61 77 61 62 6c 65 2d 66 69 6c  imp-drawable-fil
3560: 6c 20 6d 6f 6e 74 68 2d 6c 61 79 65 72 20 54 52  l month-layer TR
3570: 41 4e 53 50 41 52 45 4e 54 2d 46 49 4c 4c 29 0a  ANSPARENT-FILL).
3580: 20 20 20 20 20 20 28 67 69 6d 70 2d 6c 61 79 65        (gimp-laye
3590: 72 2d 73 65 74 2d 6f 66 66 73 65 74 73 20 6d 6f  r-set-offsets mo
35a0: 6e 74 68 2d 6c 61 79 65 72 20 30 20 28 2d 20 28  nth-layer 0 (- (
35b0: 63 61 72 20 28 67 69 6d 70 2d 69 6d 61 67 65 2d  car (gimp-image-
35c0: 68 65 69 67 68 74 20 6d 6f 6e 74 68 2d 69 6d 61  height month-ima
35d0: 67 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20  ge)).           
35e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
35f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3600: 20 20 20 20 28 63 61 72 20 28 67 69 6d 70 2d 64      (car (gimp-d
3610: 72 61 77 61 62 6c 65 2d 68 65 69 67 68 74 20 6d  rawable-height m
3620: 6f 6e 74 68 2d 6c 61 79 65 72 29 29 20 29 29 0a  onth-layer)) )).
3630: 20 20 20 20 20 20 28 73 65 74 21 20 64 61 74 65        (set! date
3640: 2d 6c 61 79 65 72 20 28 63 61 72 20 28 73 63 72  -layer (car (scr
3650: 69 70 74 2d 66 75 2d 73 67 2d 63 61 6c 65 6e 64  ipt-fu-sg-calend
3660: 61 72 20 6d 6f 6e 74 68 2d 69 6d 61 67 65 20 0a  ar month-image .
3670: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3680: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3690: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
36a0: 20 20 20 6d 6f 6e 74 68 2d 6c 61 79 65 72 0a 20     month-layer. 
36b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
36c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
36d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
36e0: 20 20 6c 61 6e 67 0a 20 20 20 20 20 20 20 20 20    lang.         
36f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3700: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3710: 20 20 20 20 20 20 20 20 20 20 6d 6f 6e 74 68 0a            month.
3720: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3730: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3740: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3750: 20 20 20 79 65 61 72 0a 20 20 20 20 20 20 20 20     year.        
3760: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3770: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3780: 20 20 20 20 20 20 20 20 20 20 20 73 75 6e 64 61             sunda
3790: 79 3f 20 3b 20 53 75 6e 64 61 79 20 66 69 72 73  y? ; Sunday firs
37a0: 74 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  t .             
37b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
37c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
37d0: 20 20 20 20 20 20 6c 65 74 74 65 72 73 2d 69 6e        letters-in
37e0: 2d 64 61 79 0a 20 20 20 20 20 20 20 20 20 20 20  -day.           
37f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3800: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3810: 20 20 20 20 20 20 20 20 6c 61 79 6f 75 74 20 3b          layout ;
3820: 20 28 30 3d 61 6c 6c 6f 77 20 36 2c 20 31 3d 66   (0=allow 6, 1=f
3830: 6f 72 63 65 20 36 2c 20 32 3d 77 72 61 70 20 74  orce 6, 2=wrap t
3840: 6f 20 77 31 2c 20 33 3d 77 72 61 70 20 74 6f 20  o w1, 3=wrap to 
3850: 77 35 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  w5).            
3860: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3870: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3880: 20 20 20 20 20 20 20 74 65 78 74 2d 66 6f 6e 74         text-font
3890: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
38a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
38b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
38c0: 20 20 20 20 6e 75 6d 62 65 72 2d 66 6f 6e 74 0a      number-font.
38d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
38e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
38f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3900: 20 20 20 66 6f 6e 74 2d 73 69 7a 65 25 20 3b 20     font-size% ; 
3910: 74 65 78 74 20 73 69 7a 65 20 61 73 20 25 20 6f  text size as % o
3920: 66 20 63 65 6c 6c 20 73 69 7a 65 0a 20 20 20 20  f cell size.    
3930: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3940: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3950: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6a                 j
3960: 75 73 74 69 66 79 3f 20 3b 20 72 69 67 68 74 20  ustify? ; right 
3970: 6a 75 73 74 69 66 79 20 73 69 6e 67 6c 65 2d 64  justify single-d
3980: 69 67 69 74 20 6e 75 6d 62 65 72 73 0a 20 20 20  igit numbers.   
3990: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
39a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
39b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
39c0: 30 20 3b 20 6e 6f 20 62 6f 72 64 65 72 73 0a 20  0 ; no borders. 
39d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
39e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
39f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3a00: 20 20 27 28 30 20 30 20 30 29 20 3b 20 62 6f 72    '(0 0 0) ; bor
3a10: 64 65 72 20 63 6f 6c 6f 72 20 28 69 67 6e 6f 72  der color (ignor
3a20: 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  ed).            
3a30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3a40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3a50: 20 20 20 20 20 20 20 67 72 61 76 69 74 79 20 29         gravity )
3a60: 29 29 0a 20 20 20 20 20 20 28 67 69 6d 70 2d 69  )).      (gimp-i
3a70: 6d 61 67 65 2d 73 65 74 2d 61 63 74 69 76 65 2d  mage-set-active-
3a80: 6c 61 79 65 72 20 6d 6f 6e 74 68 2d 69 6d 61 67  layer month-imag
3a90: 65 20 64 61 74 65 2d 6c 61 79 65 72 29 0a 20 20  e date-layer).  
3aa0: 20 20 20 20 28 70 6c 75 67 2d 69 6e 2d 61 75 74      (plug-in-aut
3ab0: 6f 63 72 6f 70 2d 6c 61 79 65 72 20 52 55 4e 2d  ocrop-layer RUN-
3ac0: 4e 4f 4e 49 4e 54 45 52 41 43 54 49 56 45 20 6d  NONINTERACTIVE m
3ad0: 6f 6e 74 68 2d 69 6d 61 67 65 20 64 61 74 65 2d  onth-image date-
3ae0: 6c 61 79 65 72 29 0a 20 20 20 20 20 20 28 73 65  layer).      (se
3af0: 74 21 20 62 61 6e 6e 65 72 2d 68 65 69 67 68 74  t! banner-height
3b00: 20 28 63 61 64 72 20 28 67 69 6d 70 2d 64 72 61   (cadr (gimp-dra
3b10: 77 61 62 6c 65 2d 6f 66 66 73 65 74 73 20 64 61  wable-offsets da
3b20: 74 65 2d 6c 61 79 65 72 29 29 29 0a 20 20 20 20  te-layer))).    
3b30: 20 20 3b 20 63 6f 6d 70 75 74 65 20 73 69 7a 65    ; compute size
3b40: 73 20 6f 66 20 74 68 65 20 79 65 61 72 20 61 6e  s of the year an
3b50: 64 20 6d 6f 6e 74 68 20 74 65 78 74 20 62 61 73  d month text bas
3b60: 65 64 20 6f 6e 20 6c 61 79 65 72 20 0a 20 20 20  ed on layer .   
3b70: 20 20 20 28 69 66 20 28 3c 20 79 6d 2d 6c 61 79     (if (< ym-lay
3b80: 6f 75 74 20 33 29 0a 20 20 20 20 20 20 20 20 28  out 3).        (
3b90: 62 65 67 69 6e 20 3b 20 73 69 6e 67 6c 65 20 6c  begin ; single l
3ba0: 69 6e 65 20 62 61 6e 6e 65 72 20 28 6f 6e 65 20  ine banner (one 
3bb0: 6f 66 20 22 4d 61 79 22 2c 20 22 32 30 31 31 20  of "May", "2011 
3bc0: 4d 61 79 22 2c 20 22 4d 61 79 20 32 30 31 31 22  May", "May 2011"
3bd0: 20 66 6f 72 20 65 78 61 6d 70 6c 65 29 0a 09 20   for example).. 
3be0: 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28         (unless (
3bf0: 7a 65 72 6f 3f 20 79 6d 2d 6c 61 79 6f 75 74 29  zero? ym-layout)
3c00: 20 3b 20 22 30 22 20 6d 65 61 6e 73 20 79 65 61   ; "0" means yea
3c10: 72 20 77 69 6c 6c 20 62 65 20 75 6e 64 65 72 6e  r will be undern
3c20: 65 61 74 68 20 63 61 6c 65 6e 64 61 72 0a 09 20  eath calendar.. 
3c30: 20 20 20 20 20 20 20 20 20 28 69 66 20 28 3d 20           (if (= 
3c40: 31 20 79 6d 2d 6c 61 79 6f 75 74 29 20 0a 09 20  1 ym-layout) .. 
3c50: 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 21             (set!
3c60: 20 62 61 6e 6e 65 72 73 20 28 6d 61 70 20 28 6c   banners (map (l
3c70: 61 6d 62 64 61 20 28 78 29 20 28 73 74 72 69 6e  ambda (x) (strin
3c80: 67 2d 61 70 70 65 6e 64 20 79 65 61 72 2d 6e 61  g-append year-na
3c90: 6d 65 20 22 20 20 22 20 78 29 29 20 62 61 6e 6e  me "  " x)) bann
3ca0: 65 72 73 29 29 0a 09 20 20 20 20 20 20 20 20 20  ers))..         
3cb0: 20 20 20 28 73 65 74 21 20 62 61 6e 6e 65 72 73     (set! banners
3cc0: 20 28 6d 61 70 20 28 6c 61 6d 62 64 61 20 28 78   (map (lambda (x
3cd0: 29 20 28 73 74 72 69 6e 67 2d 61 70 70 65 6e 64  ) (string-append
3ce0: 20 78 20 22 20 20 22 20 79 65 61 72 2d 6e 61 6d   x "  " year-nam
3cf0: 65 29 29 20 62 61 6e 6e 65 72 73 29 29 20 29 29  e)) banners)) ))
3d00: 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 21  .          (set!
3d10: 20 6d 6f 6e 74 68 2d 73 69 7a 65 20 28 61 70 70   month-size (app
3d20: 6c 79 20 6d 69 6e 20 0a 20 20 20 20 20 20 20 20  ly min .        
3d30: 20 20 20 20 28 6d 61 70 20 28 6c 61 6d 62 64 61      (map (lambda
3d40: 20 28 62 61 6e 6e 65 72 29 20 0a 20 20 20 20 20   (banner) .     
3d50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3d60: 20 20 20 20 28 73 67 2d 63 61 6c 65 6e 64 61 72      (sg-calendar
3d70: 2d 63 61 6c 63 2d 66 6f 6e 74 73 69 7a 65 20 62  -calc-fontsize b
3d80: 61 6e 6e 65 72 0a 20 20 20 20 20 20 20 20 20 20  anner.          
3d90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3da0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3db0: 20 20 20 20 20 20 20 20 20 20 74 65 78 74 2d 66            text-f
3dc0: 6f 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20  ont.            
3dd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3de0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3df0: 20 20 20 20 20 20 20 20 28 69 66 20 28 7a 65 72          (if (zer
3e00: 6f 3f 20 79 6d 2d 6c 61 79 6f 75 74 29 20 39 30  o? ym-layout) 90
3e10: 20 31 30 30 29 0a 20 20 20 20 20 20 20 20 20 20   100).          
3e20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3e30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3e40: 20 20 20 20 20 20 20 20 20 20 65 64 67 65 2d 6c            edge-l
3e50: 65 6e 67 74 68 20 0a 20 20 20 20 20 20 20 20 20  ength .         
3e60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3e70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3e80: 20 20 20 20 20 20 20 20 20 20 20 62 61 6e 6e 65             banne
3e90: 72 2d 68 65 69 67 68 74 20 29 29 0a 20 20 20 20  r-height )).    
3ea0: 20 20 20 20 20 20 20 20 20 20 20 20 20 62 61 6e               ban
3eb0: 6e 65 72 73 20 29 29 29 0a 20 20 20 20 20 20 20  ners ))).       
3ec0: 20 20 20 28 73 65 74 21 20 79 65 61 72 2d 73 69     (set! year-si
3ed0: 7a 65 20 6d 6f 6e 74 68 2d 73 69 7a 65 29 0a 09  ze month-size)..
3ee0: 20 20 20 20 20 20 20 20 29 0a 20 20 20 20 20 20          ).      
3ef0: 20 20 28 62 65 67 69 6e 20 3b 20 79 65 61 72 20    (begin ; year 
3f00: 6f 6e 20 74 6f 70 20 6f 66 20 6d 6f 6e 74 68 20  on top of month 
3f10: 28 65 69 74 68 65 72 20 65 71 75 61 6c 20 73 69  (either equal si
3f20: 7a 65 2c 20 73 6d 61 6c 6c 65 72 2c 20 6f 72 20  ze, smaller, or 
3f30: 6c 61 72 67 65 72 20 74 68 61 6e 20 6d 6f 6e 74  larger than mont
3f40: 68 20 74 65 78 74 29 0a 09 20 20 20 20 20 20 20  h text)..       
3f50: 20 3b 20 79 6d 2d 6c 61 79 6f 75 74 20 69 73 20   ; ym-layout is 
3f60: 76 65 72 74 69 63 61 6c 20 20 0a 20 20 20 20 20  vertical  .     
3f70: 20 20 20 20 20 28 73 65 74 21 20 6d 6f 6e 74 68       (set! month
3f80: 2d 73 69 7a 65 20 28 61 70 70 6c 79 20 6d 69 6e  -size (apply min
3f90: 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d   .            (m
3fa0: 61 70 20 28 6c 61 6d 62 64 61 20 28 62 61 6e 6e  ap (lambda (bann
3fb0: 65 72 29 20 0a 20 20 20 20 20 20 20 20 20 20 20  er) .           
3fc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73                (s
3fd0: 67 2d 63 61 6c 65 6e 64 61 72 2d 63 61 6c 63 2d  g-calendar-calc-
3fe0: 66 6f 6e 74 73 69 7a 65 20 62 61 6e 6e 65 72 0a  fontsize banner.
3ff0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4000: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4010: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4020: 20 20 20 20 74 65 78 74 2d 66 6f 6e 74 0a 20 20      text-font.  
4030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4060: 20 20 31 30 30 20 0a 20 20 20 20 20 20 20 20 20    100 .         
4070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4090: 20 20 20 20 20 20 20 20 20 20 20 65 64 67 65 2d             edge-
40a0: 6c 65 6e 67 74 68 20 0a 20 20 20 20 20 20 20 20  length .        
40b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
40c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
40d0: 20 20 20 20 20 20 20 20 20 20 20 20 28 74 72 75              (tru
40e0: 6e 63 61 74 65 20 28 2a 20 62 61 6e 6e 65 72 2d  ncate (* banner-
40f0: 68 65 69 67 68 74 20 28 2d 20 31 20 79 2f 6d 2d  height (- 1 y/m-
4100: 72 61 74 69 6f 29 29 29 20 29 29 0a 20 20 20 20  ratio))) )).    
4110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 61                ba
4120: 6e 6e 65 72 73 20 29 29 29 0a 20 20 20 20 20 20  nners ))).      
4130: 20 20 20 20 28 73 65 74 21 20 79 65 61 72 2d 73      (set! year-s
4140: 69 7a 65 20 28 73 67 2d 63 61 6c 65 6e 64 61 72  ize (sg-calendar
4150: 2d 63 61 6c 63 2d 66 6f 6e 74 73 69 7a 65 20 79  -calc-fontsize y
4160: 65 61 72 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20  ear-name.       
4170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 65                te
41a0: 78 74 2d 66 6f 6e 74 0a 20 20 20 20 20 20 20 20  xt-font.        
41b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
41c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
41d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 31 30 30               100
41e0: 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20   .              
41f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4200: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4210: 20 20 20 20 20 20 20 65 64 67 65 2d 6c 65 6e 67         edge-leng
4220: 74 68 20 0a 20 20 20 20 20 20 20 20 20 20 20 20  th .            
4230: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4250: 20 20 20 20 20 20 20 20 20 28 74 72 75 6e 63 61           (trunca
4260: 74 65 20 28 2a 20 62 61 6e 6e 65 72 2d 68 65 69  te (* banner-hei
4270: 67 68 74 20 79 2f 6d 2d 72 61 74 69 6f 29 29 20  ght y/m-ratio)) 
4280: 29 29 29 29 0a 20 20 20 20 20 20 28 77 68 69 6c  )))).      (whil
4290: 65 20 28 70 61 69 72 3f 20 70 65 6e 74 73 29 0a  e (pair? pents).
42a0: 20 20 20 20 20 20 20 20 28 69 66 20 28 3c 20 79          (if (< y
42b0: 6d 2d 6c 61 79 6f 75 74 20 33 29 20 0a 20 20 20  m-layout 3) .   
42c0: 20 20 20 20 20 20 20 28 62 65 67 69 6e 20 3b 20         (begin ; 
42d0: 73 69 6e 67 6c 65 20 6c 69 6e 65 20 6f 66 20 62  single line of b
42e0: 61 6e 6e 65 72 20 74 65 78 74 20 61 62 6f 76 65  anner text above
42f0: 20 63 61 6c 65 6e 64 61 72 0a 20 20 20 20 20 20   calendar.      
4300: 20 20 20 20 20 20 28 73 65 74 21 20 6d 6f 6e 74        (set! mont
4310: 68 2d 74 65 78 74 2d 6c 61 79 65 72 20 28 63 61  h-text-layer (ca
4320: 72 20 28 67 69 6d 70 2d 74 65 78 74 2d 66 6f 6e  r (gimp-text-fon
4330: 74 6e 61 6d 65 20 6d 6f 6e 74 68 2d 69 6d 61 67  tname month-imag
4340: 65 20 2d 31 20 0a 20 20 20 20 20 20 20 20 20 20  e -1 .          
4350: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4360: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4370: 20 20 20 20 20 20 20 20 20 20 20 20 30 20 30 20              0 0 
4380: 28 63 61 72 20 62 61 6e 6e 65 72 73 29 20 30 20  (car banners) 0 
4390: 54 52 55 45 20 6d 6f 6e 74 68 2d 73 69 7a 65 20  TRUE month-size 
43a0: 50 49 58 45 4c 53 20 74 65 78 74 2d 66 6f 6e 74  PIXELS text-font
43b0: 20 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20   ))).           
43c0: 20 28 67 69 6d 70 2d 69 6d 61 67 65 2d 73 65 74   (gimp-image-set
43d0: 2d 61 63 74 69 76 65 2d 6c 61 79 65 72 20 6d 6f  -active-layer mo
43e0: 6e 74 68 2d 69 6d 61 67 65 20 6d 6f 6e 74 68 2d  nth-image month-
43f0: 74 65 78 74 2d 6c 61 79 65 72 29 0a 20 20 20 20  text-layer).    
4400: 20 20 20 20 20 20 20 20 28 70 6c 75 67 2d 69 6e          (plug-in
4410: 2d 61 75 74 6f 63 72 6f 70 2d 6c 61 79 65 72 20  -autocrop-layer 
4420: 52 55 4e 2d 4e 4f 4e 49 4e 54 45 52 41 43 54 49  RUN-NONINTERACTI
4430: 56 45 20 6d 6f 6e 74 68 2d 69 6d 61 67 65 20 6d  VE month-image m
4440: 6f 6e 74 68 2d 74 65 78 74 2d 6c 61 79 65 72 29  onth-text-layer)
4450: 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 67 69  .            (gi
4460: 6d 70 2d 6c 61 79 65 72 2d 73 65 74 2d 6f 66 66  mp-layer-set-off
4470: 73 65 74 73 20 6d 6f 6e 74 68 2d 74 65 78 74 2d  sets month-text-
4480: 6c 61 79 65 72 0a 20 20 20 20 20 20 20 20 20 20  layer.          
4490: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
44a0: 20 20 20 20 20 20 20 20 20 20 28 2f 20 28 2d 20            (/ (- 
44b0: 65 64 67 65 2d 6c 65 6e 67 74 68 20 28 63 61 72  edge-length (car
44c0: 20 28 67 69 6d 70 2d 64 72 61 77 61 62 6c 65 2d   (gimp-drawable-
44d0: 77 69 64 74 68 20 6d 6f 6e 74 68 2d 74 65 78 74  width month-text
44e0: 2d 6c 61 79 65 72 29 29 29 20 32 29 20 3b 20 63  -layer))) 2) ; c
44f0: 65 6e 74 65 72 20 68 6f 72 69 7a 0a 20 20 20 20  enter horiz.    
4500: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4510: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4520: 28 2d 20 28 2b 20 62 61 6e 6e 65 72 2d 68 65 69  (- (+ banner-hei
4530: 67 68 74 20 32 29 0a 20 20 20 20 20 20 20 20 20  ght 2).         
4540: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4550: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2f                (/
4560: 20 28 2b 20 62 61 6e 6e 65 72 2d 68 65 69 67 68   (+ banner-heigh
4570: 74 20 28 63 61 72 20 28 67 69 6d 70 2d 64 72 61  t (car (gimp-dra
4580: 77 61 62 6c 65 2d 68 65 69 67 68 74 20 6d 6f 6e  wable-height mon
4590: 74 68 2d 74 65 78 74 2d 6c 61 79 65 72 29 29 29  th-text-layer)))
45a0: 20 32 29 20 29 29 0a 20 20 20 20 20 20 20 20 20   2) )).         
45b0: 20 20 20 28 77 68 65 6e 20 28 7a 65 72 6f 3f 20     (when (zero? 
45c0: 79 6d 2d 6c 61 79 6f 75 74 29 20 3b 20 72 65 6e  ym-layout) ; ren
45d0: 64 65 72 20 79 65 61 72 20 6c 61 79 65 72 20 75  der year layer u
45e0: 6e 64 65 72 6e 65 61 74 68 20 63 61 6c 65 6e 64  nderneath calend
45f0: 61 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ar.             
4600: 20 28 73 65 74 21 20 79 65 61 72 2d 74 65 78 74   (set! year-text
4610: 2d 6c 61 79 65 72 20 28 63 61 72 20 28 67 69 6d  -layer (car (gim
4620: 70 2d 74 65 78 74 2d 66 6f 6e 74 6e 61 6d 65 20  p-text-fontname 
4630: 6d 6f 6e 74 68 2d 69 6d 61 67 65 20 2d 31 20 30  month-image -1 0
4640: 20 30 20 79 65 61 72 2d 6e 61 6d 65 20 30 20 54   0 year-name 0 T
4650: 52 55 45 20 79 65 61 72 2d 73 69 7a 65 20 50 49  RUE year-size PI
4660: 58 45 4c 53 20 74 65 78 74 2d 66 6f 6e 74 29 29  XELS text-font))
4670: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ).              
4680: 28 67 69 6d 70 2d 6c 61 79 65 72 2d 73 65 74 2d  (gimp-layer-set-
4690: 6f 66 66 73 65 74 73 20 79 65 61 72 2d 74 65 78  offsets year-tex
46a0: 74 2d 6c 61 79 65 72 0a 20 20 20 20 20 20 20 20  t-layer.        
46b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
46c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2f                (/
46d0: 20 28 2d 20 65 64 67 65 2d 6c 65 6e 67 74 68 20   (- edge-length 
46e0: 28 63 61 72 20 28 67 69 6d 70 2d 64 72 61 77 61  (car (gimp-drawa
46f0: 62 6c 65 2d 77 69 64 74 68 20 79 65 61 72 2d 74  ble-width year-t
4700: 65 78 74 2d 6c 61 79 65 72 29 29 29 20 32 29 0a  ext-layer))) 2).
4710: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4720: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4730: 20 20 20 20 20 20 28 2b 20 28 63 65 69 6c 69 6e        (+ (ceilin
4740: 67 20 28 2f 20 28 2a 20 65 64 67 65 2d 6c 65 6e  g (/ (* edge-len
4750: 67 74 68 20 37 29 20 36 29 29 29 20 29 0a 20 20  gth 7) 6))) ).  
4760: 20 20 20 20 20 20 20 20 20 20 20 20 28 67 69 6d              (gim
4770: 70 2d 69 6d 61 67 65 2d 72 65 73 69 7a 65 20 6d  p-image-resize m
4780: 6f 6e 74 68 2d 69 6d 61 67 65 20 0a 20 20 20 20  onth-image .    
4790: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
47a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61               (ca
47b0: 72 20 28 67 69 6d 70 2d 69 6d 61 67 65 2d 77 69  r (gimp-image-wi
47c0: 64 74 68 20 6d 6f 6e 74 68 2d 69 6d 61 67 65 29  dth month-image)
47d0: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ).              
47e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
47f0: 20 20 20 28 2b 20 28 63 61 72 20 28 67 69 6d 70     (+ (car (gimp
4800: 2d 64 72 61 77 61 62 6c 65 2d 68 65 69 67 68 74  -drawable-height
4810: 20 79 65 61 72 2d 74 65 78 74 2d 6c 61 79 65 72   year-text-layer
4820: 29 29 20 0a 20 20 20 20 20 20 20 20 20 20 20 20  )) .            
4830: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4840: 20 20 20 20 20 20 20 20 28 63 61 64 72 20 28 67          (cadr (g
4850: 69 6d 70 2d 64 72 61 77 61 62 6c 65 2d 6f 66 66  imp-drawable-off
4860: 73 65 74 73 20 79 65 61 72 2d 74 65 78 74 2d 6c  sets year-text-l
4870: 61 79 65 72 29 29 20 29 0a 20 20 20 20 20 20 20  ayer)) ).       
4880: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4890: 20 20 20 20 20 20 20 20 20 20 30 0a 20 20 20 20            0.    
48a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
48b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 30 20 29               0 )
48c0: 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 62 65  )).          (be
48d0: 67 69 6e 20 3b 20 74 77 6f 20 6c 69 6e 65 73 20  gin ; two lines 
48e0: 6f 66 20 62 61 6e 6e 65 72 20 74 65 78 74 20 61  of banner text a
48f0: 62 6f 76 65 20 63 61 6c 65 6e 64 61 72 20 28 79  bove calendar (y
4900: 65 61 72 20 6f 76 65 72 20 6d 6f 6e 74 68 29 0a  ear over month).
4910: 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74              (set
4920: 21 20 6d 6f 6e 74 68 2d 74 65 78 74 2d 6c 61 79  ! month-text-lay
4930: 65 72 20 28 63 61 72 20 28 67 69 6d 70 2d 74 65  er (car (gimp-te
4940: 78 74 2d 66 6f 6e 74 6e 61 6d 65 20 6d 6f 6e 74  xt-fontname mont
4950: 68 2d 69 6d 61 67 65 20 2d 31 20 0a 20 20 20 20  h-image -1 .    
4960: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4970: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4980: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4990: 20 20 30 20 30 20 6d 6f 6e 74 68 2d 6e 61 6d 65    0 0 month-name
49a0: 20 30 20 54 52 55 45 20 6d 6f 6e 74 68 2d 73 69   0 TRUE month-si
49b0: 7a 65 20 50 49 58 45 4c 53 20 74 65 78 74 2d 66  ze PIXELS text-f
49c0: 6f 6e 74 20 29 29 29 0a 20 20 20 20 20 20 20 20  ont ))).        
49d0: 20 20 20 20 28 67 69 6d 70 2d 69 6d 61 67 65 2d      (gimp-image-
49e0: 73 65 74 2d 61 63 74 69 76 65 2d 6c 61 79 65 72  set-active-layer
49f0: 20 6d 6f 6e 74 68 2d 69 6d 61 67 65 20 6d 6f 6e   month-image mon
4a00: 74 68 2d 74 65 78 74 2d 6c 61 79 65 72 29 0a 20  th-text-layer). 
4a10: 20 20 20 20 20 20 20 20 20 20 20 28 70 6c 75 67             (plug
4a20: 2d 69 6e 2d 61 75 74 6f 63 72 6f 70 2d 6c 61 79  -in-autocrop-lay
4a30: 65 72 20 52 55 4e 2d 4e 4f 4e 49 4e 54 45 52 41  er RUN-NONINTERA
4a40: 43 54 49 56 45 20 6d 6f 6e 74 68 2d 69 6d 61 67  CTIVE month-imag
4a50: 65 20 6d 6f 6e 74 68 2d 74 65 78 74 2d 6c 61 79  e month-text-lay
4a60: 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  er).            
4a70: 28 67 69 6d 70 2d 6c 61 79 65 72 2d 73 65 74 2d  (gimp-layer-set-
4a80: 6f 66 66 73 65 74 73 20 6d 6f 6e 74 68 2d 74 65  offsets month-te
4a90: 78 74 2d 6c 61 79 65 72 0a 20 20 20 20 20 20 20  xt-layer.       
4aa0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4ab0: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2f 20               (/ 
4ac0: 28 2d 20 65 64 67 65 2d 6c 65 6e 67 74 68 20 28  (- edge-length (
4ad0: 63 61 72 20 28 67 69 6d 70 2d 64 72 61 77 61 62  car (gimp-drawab
4ae0: 6c 65 2d 77 69 64 74 68 20 6d 6f 6e 74 68 2d 74  le-width month-t
4af0: 65 78 74 2d 6c 61 79 65 72 29 29 29 20 32 29 20  ext-layer))) 2) 
4b00: 3b 20 63 65 6e 74 65 72 20 68 6f 72 69 7a 0a 20  ; center horiz. 
4b10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4b20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4b30: 20 20 20 28 2b 20 32 20 0a 20 20 20 20 20 20 20     (+ 2 .       
4b40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4b50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4b60: 28 2a 20 62 61 6e 6e 65 72 2d 68 65 69 67 68 74  (* banner-height
4b70: 20 79 2f 6d 2d 72 61 74 69 6f 29 0a 20 20 20 20   y/m-ratio).    
4b80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4b90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4ba0: 20 20 20 28 2f 20 28 2d 20 28 2a 20 62 61 6e 6e     (/ (- (* bann
4bb0: 65 72 2d 68 65 69 67 68 74 20 28 2d 20 31 20 79  er-height (- 1 y
4bc0: 2f 6d 2d 72 61 74 69 6f 29 29 20 0a 20 20 20 20  /m-ratio)) .    
4bd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4be0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4bf0: 20 20 20 20 20 20 20 20 20 28 63 61 72 20 28 67           (car (g
4c00: 69 6d 70 2d 64 72 61 77 61 62 6c 65 2d 68 65 69  imp-drawable-hei
4c10: 67 68 74 20 6d 6f 6e 74 68 2d 74 65 78 74 2d 6c  ght month-text-l
4c20: 61 79 65 72 29 29 29 20 32 29 20 29 29 0a 20 20  ayer))) 2) )).  
4c30: 20 20 20 20 20 20 20 20 20 20 28 73 65 74 21 20            (set! 
4c40: 79 65 61 72 2d 74 65 78 74 2d 6c 61 79 65 72 20  year-text-layer 
4c50: 28 63 61 72 20 28 67 69 6d 70 2d 74 65 78 74 2d  (car (gimp-text-
4c60: 66 6f 6e 74 6e 61 6d 65 20 6d 6f 6e 74 68 2d 69  fontname month-i
4c70: 6d 61 67 65 20 2d 31 20 0a 20 20 20 20 20 20 20  mage -1 .       
4c80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4c90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4ca0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4cb0: 20 20 20 20 30 20 30 20 0a 20 20 20 20 20 20 20      0 0 .       
4cc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4cd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4ce0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4cf0: 20 20 20 20 28 6e 75 6d 62 65 72 2d 3e 73 74 72      (number->str
4d00: 69 6e 67 20 79 65 61 72 29 20 0a 20 20 20 20 20  ing year) .     
4d10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4d20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4d30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4d40: 20 20 20 20 20 20 30 20 54 52 55 45 20 79 65 61        0 TRUE yea
4d50: 72 2d 73 69 7a 65 20 50 49 58 45 4c 53 20 74 65  r-size PIXELS te
4d60: 78 74 2d 66 6f 6e 74 20 29 29 29 0a 20 20 20 20  xt-font ))).    
4d70: 20 20 20 20 20 20 20 20 28 67 69 6d 70 2d 69 6d          (gimp-im
4d80: 61 67 65 2d 73 65 74 2d 61 63 74 69 76 65 2d 6c  age-set-active-l
4d90: 61 79 65 72 20 6d 6f 6e 74 68 2d 69 6d 61 67 65  ayer month-image
4da0: 20 79 65 61 72 2d 74 65 78 74 2d 6c 61 79 65 72   year-text-layer
4db0: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70  ).            (p
4dc0: 6c 75 67 2d 69 6e 2d 61 75 74 6f 63 72 6f 70 2d  lug-in-autocrop-
4dd0: 6c 61 79 65 72 20 52 55 4e 2d 4e 4f 4e 49 4e 54  layer RUN-NONINT
4de0: 45 52 41 43 54 49 56 45 20 6d 6f 6e 74 68 2d 69  ERACTIVE month-i
4df0: 6d 61 67 65 20 79 65 61 72 2d 74 65 78 74 2d 6c  mage year-text-l
4e00: 61 79 65 72 29 0a 20 20 20 20 20 20 20 20 20 20  ayer).          
4e10: 20 20 28 67 69 6d 70 2d 6c 61 79 65 72 2d 73 65    (gimp-layer-se
4e20: 74 2d 6f 66 66 73 65 74 73 20 79 65 61 72 2d 74  t-offsets year-t
4e30: 65 78 74 2d 6c 61 79 65 72 0a 20 20 20 20 20 20  ext-layer.      
4e40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4e50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2f                (/
4e60: 20 28 2d 20 65 64 67 65 2d 6c 65 6e 67 74 68 20   (- edge-length 
4e70: 28 63 61 72 20 28 67 69 6d 70 2d 64 72 61 77 61  (car (gimp-drawa
4e80: 62 6c 65 2d 77 69 64 74 68 20 79 65 61 72 2d 74  ble-width year-t
4e90: 65 78 74 2d 6c 61 79 65 72 29 29 29 20 32 29 0a  ext-layer))) 2).
4ea0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4eb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4ec0: 20 20 20 20 28 2b 20 31 20 0a 20 20 20 20 20 20      (+ 1 .      
4ed0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4ee0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4ef0: 20 28 2f 20 28 2d 20 28 63 61 64 72 20 28 67 69   (/ (- (cadr (gi
4f00: 6d 70 2d 64 72 61 77 61 62 6c 65 2d 6f 66 66 73  mp-drawable-offs
4f10: 65 74 73 20 6d 6f 6e 74 68 2d 74 65 78 74 2d 6c  ets month-text-l
4f20: 61 79 65 72 29 29 0a 20 20 20 20 20 20 20 20 20  ayer)).         
4f30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4f40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4f50: 20 20 20 20 28 63 61 72 20 28 67 69 6d 70 2d 64      (car (gimp-d
4f60: 72 61 77 61 62 6c 65 2d 68 65 69 67 68 74 20 79  rawable-height y
4f70: 65 61 72 2d 74 65 78 74 2d 6c 61 79 65 72 29 29  ear-text-layer))
4f80: 20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20   ).             
4f90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4fa0: 20 20 20 20 20 20 20 20 20 20 20 20 20 32 29 20               2) 
4fb0: 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 67 69  )))).        (gi
4fc0: 6d 70 2d 6c 61 79 65 72 2d 72 65 73 69 7a 65 2d  mp-layer-resize-
4fd0: 74 6f 2d 69 6d 61 67 65 2d 73 69 7a 65 20 6d 6f  to-image-size mo
4fe0: 6e 74 68 2d 6c 61 79 65 72 29 0a 20 20 20 20 20  nth-layer).     
4ff0: 20 20 20 28 73 65 74 21 20 6d 6f 6e 74 68 2d 6c     (set! month-l
5000: 61 79 65 72 20 28 63 61 72 20 28 67 69 6d 70 2d  ayer (car (gimp-
5010: 69 6d 61 67 65 2d 6d 65 72 67 65 2d 76 69 73 69  image-merge-visi
5020: 62 6c 65 2d 6c 61 79 65 72 73 20 6d 6f 6e 74 68  ble-layers month
5030: 2d 69 6d 61 67 65 20 43 4c 49 50 2d 54 4f 2d 49  -image CLIP-TO-I
5040: 4d 41 47 45 29 29 29 0a 20 20 20 20 20 20 20 20  MAGE))).        
5050: 3b 20 6e 6f 77 20 74 72 61 6e 73 66 65 72 20 74  ; now transfer t
5060: 68 65 20 6c 61 79 65 72 20 74 6f 20 27 69 6d 61  he layer to 'ima
5070: 67 65 27 20 0a 20 20 20 20 20 20 20 20 28 73 65  ge' .        (se
5080: 74 21 20 62 75 66 66 65 72 20 28 63 61 72 20 28  t! buffer (car (
5090: 67 69 6d 70 2d 65 64 69 74 2d 6e 61 6d 65 64 2d  gimp-edit-named-
50a0: 63 6f 70 79 20 6d 6f 6e 74 68 2d 6c 61 79 65 72  copy month-layer
50b0: 20 6d 6f 6e 74 68 2d 6e 61 6d 65 29 29 29 0a 20   month-name))). 
50c0: 20 20 20 20 20 20 20 28 73 65 74 21 20 66 6c 6f         (set! flo
50d0: 61 74 65 64 20 28 63 61 72 20 28 67 69 6d 70 2d  ated (car (gimp-
50e0: 65 64 69 74 2d 6e 61 6d 65 64 2d 70 61 73 74 65  edit-named-paste
50f0: 20 74 61 72 67 65 74 2d 6c 61 79 65 72 20 62 75   target-layer bu
5100: 66 66 65 72 20 46 41 4c 53 45 29 29 29 0a 20 20  ffer FALSE))).  
5110: 20 20 20 20 20 20 28 67 69 6d 70 2d 62 75 66 66        (gimp-buff
5120: 65 72 2d 64 65 6c 65 74 65 20 62 75 66 66 65 72  er-delete buffer
5130: 29 0a 20 20 20 20 20 20 20 20 28 67 69 6d 70 2d  ).        (gimp-
5140: 66 6c 6f 61 74 69 6e 67 2d 73 65 6c 2d 74 6f 2d  floating-sel-to-
5150: 6c 61 79 65 72 20 66 6c 6f 61 74 65 64 29 0a 20  layer floated). 
5160: 20 20 20 20 20 20 20 28 67 69 6d 70 2d 6c 61 79         (gimp-lay
5170: 65 72 2d 73 65 74 2d 6f 66 66 73 65 74 73 20 66  er-set-offsets f
5180: 6c 6f 61 74 65 64 20 28 63 61 72 20 78 79 61 29  loated (car xya)
5190: 20 28 63 61 64 72 20 78 79 61 29 29 0a 20 20 20   (cadr xya)).   
51a0: 20 20 20 20 20 28 67 69 6d 70 2d 64 72 61 77 61       (gimp-drawa
51b0: 62 6c 65 2d 74 72 61 6e 73 66 6f 72 6d 2d 72 6f  ble-transform-ro
51c0: 74 61 74 65 20 66 6c 6f 61 74 65 64 20 0a 20 20  tate floated .  
51d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
51e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
51f0: 20 20 20 20 20 20 28 64 65 67 2d 3e 72 61 64 20        (deg->rad 
5200: 28 63 61 64 64 72 20 78 79 61 29 29 20 3b 20 64  (caddr xya)) ; d
5210: 65 6c 74 61 2d 79 20 64 65 6c 74 61 2d 78 20 66  elta-y delta-x f
5220: 6f 72 20 65 6e 64 20 70 6f 69 6e 74 73 0a 20 20  or end points.  
5230: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5250: 20 20 20 20 20 20 46 41 4c 53 45 20 0a 20 20 20        FALSE .   
5260: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5270: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5280: 20 20 20 20 20 28 63 61 72 20 78 79 61 29 20 28       (car xya) (
5290: 63 61 64 72 20 78 79 61 29 0a 20 20 20 20 20 20  cadr xya).      
52a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
52b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
52c0: 20 20 54 52 41 4e 53 46 4f 52 4d 2d 46 4f 52 57    TRANSFORM-FORW
52d0: 41 52 44 20 0a 20 20 20 20 20 20 20 20 20 20 20  ARD .           
52e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
52f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 49 4e 54               INT
5300: 45 52 50 4f 4c 41 54 49 4f 4e 2d 43 55 42 49 43  ERPOLATION-CUBIC
5310: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
5320: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5330: 20 20 20 20 20 20 20 20 20 54 52 55 45 20 33 20           TRUE 3 
5340: 54 52 41 4e 53 46 4f 52 4d 2d 52 45 53 49 5a 45  TRANSFORM-RESIZE
5350: 2d 41 44 4a 55 53 54 20 29 0a 20 20 20 20 20 20  -ADJUST ).      
5360: 20 20 28 67 69 6d 70 2d 64 72 61 77 61 62 6c 65    (gimp-drawable
5370: 2d 73 65 74 2d 6e 61 6d 65 20 66 6c 6f 61 74 65  -set-name floate
5380: 64 20 6d 6f 6e 74 68 2d 6e 61 6d 65 29 0a 20 20  d month-name).  
5390: 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 28        .        (
53a0: 73 65 74 21 20 70 65 6e 74 73 20 28 63 64 72 20  set! pents (cdr 
53b0: 70 65 6e 74 73 29 29 0a 20 20 20 20 20 20 20 20  pents)).        
53c0: 28 73 65 74 21 20 62 61 6e 6e 65 72 73 20 28 63  (set! banners (c
53d0: 64 72 20 62 61 6e 6e 65 72 73 29 29 0a 20 20 20  dr banners)).   
53e0: 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 6e 75       (unless (nu
53f0: 6c 6c 3f 20 70 65 6e 74 73 29 0a 20 20 20 20 20  ll? pents).     
5400: 20 20 20 20 20 28 73 65 74 21 20 70 65 6e 74 20       (set! pent 
5410: 28 63 61 72 20 70 65 6e 74 73 29 29 0a 20 20 20  (car pents)).   
5420: 20 20 20 20 20 20 20 28 73 65 74 21 20 6d 6f 6e         (set! mon
5430: 74 68 20 28 73 74 72 69 6e 67 2d 3e 6e 75 6d 62  th (string->numb
5440: 65 72 20 28 63 61 72 20 28 67 69 6d 70 2d 76 65  er (car (gimp-ve
5450: 63 74 6f 72 73 2d 67 65 74 2d 6e 61 6d 65 20 70  ctors-get-name p
5460: 65 6e 74 29 29 29 29 0a 20 20 20 20 20 20 20 20  ent)))).        
5470: 20 20 28 73 65 74 21 20 6d 6f 6e 74 68 2d 6e 61    (set! month-na
5480: 6d 65 20 28 6c 69 73 74 2d 72 65 66 20 28 63 61  me (list-ref (ca
5490: 72 20 28 6c 69 73 74 2d 72 65 66 20 73 67 2d 63  r (list-ref sg-c
54a0: 61 6c 65 6e 64 61 72 2d 74 72 61 6e 73 6c 61 74  alendar-translat
54b0: 69 6f 6e 73 20 6c 61 6e 67 29 29 20 6d 6f 6e 74  ions lang)) mont
54c0: 68 20 29 29 0a 20 20 20 20 20 20 20 20 20 20 28  h )).          (
54d0: 73 65 74 21 20 78 79 61 20 28 70 65 6e 74 2d 72  set! xya (pent-r
54e0: 65 66 20 70 65 6e 74 20 30 29 29 0a 20 20 20 20  ef pent 0)).    
54f0: 20 20 20 20 20 20 28 67 69 6d 70 2d 69 6d 61 67        (gimp-imag
5500: 65 2d 64 65 6c 65 74 65 20 6d 6f 6e 74 68 2d 69  e-delete month-i
5510: 6d 61 67 65 29 0a 20 20 20 20 20 20 20 20 20 20  mage).          
5520: 28 73 65 74 21 20 6d 6f 6e 74 68 2d 69 6d 61 67  (set! month-imag
5530: 65 20 28 63 61 72 20 28 67 69 6d 70 2d 69 6d 61  e (car (gimp-ima
5540: 67 65 2d 6e 65 77 20 65 64 67 65 2d 6c 65 6e 67  ge-new edge-leng
5550: 74 68 20 28 63 65 69 6c 69 6e 67 20 28 2f 20 28  th (ceiling (/ (
5560: 2a 20 65 64 67 65 2d 6c 65 6e 67 74 68 20 37 29  * edge-length 7)
5570: 20 36 29 29 20 52 47 42 29 29 29 0a 20 20 20 20   6)) RGB))).    
5580: 20 20 20 20 20 20 28 73 65 74 21 20 6d 6f 6e 74        (set! mont
5590: 68 2d 6c 61 79 65 72 20 28 63 61 72 20 28 67 69  h-layer (car (gi
55a0: 6d 70 2d 6c 61 79 65 72 2d 6e 65 77 20 6d 6f 6e  mp-layer-new mon
55b0: 74 68 2d 69 6d 61 67 65 20 0a 20 20 20 20 20 20  th-image .      
55c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
55d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
55e0: 20 20 20 20 20 20 20 20 20 20 20 65 64 67 65 2d             edge-
55f0: 6c 65 6e 67 74 68 20 65 64 67 65 2d 6c 65 6e 67  length edge-leng
5600: 74 68 20 0a 20 20 20 20 20 20 20 20 20 20 20 20  th .            
5610: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5620: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5630: 20 20 20 20 20 52 47 42 41 2d 49 4d 41 47 45 20       RGBA-IMAGE 
5640: 22 74 6d 70 22 20 31 30 30 20 4e 4f 52 4d 41 4c  "tmp" 100 NORMAL
5650: 2d 4d 4f 44 45 20 29 29 29 0a 09 09 20 20 20 20  -MODE )))...    
5660: 20 20 28 67 69 6d 70 2d 69 6d 61 67 65 2d 61 64    (gimp-image-ad
5670: 64 2d 6c 61 79 65 72 20 6d 6f 6e 74 68 2d 69 6d  d-layer month-im
5680: 61 67 65 20 6d 6f 6e 74 68 2d 6c 61 79 65 72 20  age month-layer 
5690: 30 29 0a 20 20 20 20 20 20 20 20 20 20 28 67 69  0).          (gi
56a0: 6d 70 2d 6c 61 79 65 72 2d 73 65 74 2d 6f 66 66  mp-layer-set-off
56b0: 73 65 74 73 20 6d 6f 6e 74 68 2d 6c 61 79 65 72  sets month-layer
56c0: 20 30 20 28 2d 20 28 63 61 72 20 28 67 69 6d 70   0 (- (car (gimp
56d0: 2d 69 6d 61 67 65 2d 68 65 69 67 68 74 20 6d 6f  -image-height mo
56e0: 6e 74 68 2d 69 6d 61 67 65 29 29 0a 20 20 20 20  nth-image)).    
56f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5700: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5710: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28                 (
5720: 63 61 72 20 28 67 69 6d 70 2d 64 72 61 77 61 62  car (gimp-drawab
5730: 6c 65 2d 68 65 69 67 68 74 20 6d 6f 6e 74 68 2d  le-height month-
5740: 6c 61 79 65 72 29 29 20 29 29 0a 09 09 20 20 20  layer)) ))...   
5750: 20 20 20 28 67 69 6d 70 2d 64 72 61 77 61 62 6c     (gimp-drawabl
5760: 65 2d 66 69 6c 6c 20 6d 6f 6e 74 68 2d 6c 61 79  e-fill month-lay
5770: 65 72 20 54 52 41 4e 53 50 41 52 45 4e 54 2d 46  er TRANSPARENT-F
5780: 49 4c 4c 29 0a 09 09 20 20 20 20 20 20 28 73 65  ILL)...      (se
5790: 74 21 20 64 61 74 65 2d 6c 61 79 65 72 20 28 63  t! date-layer (c
57a0: 61 72 20 28 73 63 72 69 70 74 2d 66 75 2d 73 67  ar (script-fu-sg
57b0: 2d 63 61 6c 65 6e 64 61 72 20 6d 6f 6e 74 68 2d  -calendar month-
57c0: 69 6d 61 67 65 20 0a 09 09 20 20 20 20 20 20 20  image ...       
57d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
57e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
57f0: 20 20 20 20 20 20 20 20 20 20 20 20 6d 6f 6e 74              mont
5800: 68 2d 6c 61 79 65 72 0a 09 09 20 20 20 20 20 20  h-layer...      
5810: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5820: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5830: 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 61 6e               lan
5840: 67 0a 09 09 20 20 20 20 20 20 20 20 20 20 20 20  g...            
5850: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5860: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5870: 20 20 20 20 20 20 20 6d 6f 6e 74 68 0a 09 09 20         month... 
5880: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5890: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
58a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
58b0: 20 20 79 65 61 72 0a 09 09 20 20 20 20 20 20 20    year...       
58c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
58d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
58e0: 20 20 20 20 20 20 20 20 20 20 20 20 73 75 6e 64              sund
58f0: 61 79 3f 20 3b 20 53 75 6e 64 61 79 20 66 69 72  ay? ; Sunday fir
5900: 73 74 20 0a 09 09 20 20 20 20 20 20 20 20 20 20  st ...          
5910: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5920: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5930: 20 20 20 20 20 20 20 20 20 6c 65 74 74 65 72 73           letters
5940: 2d 69 6e 2d 64 61 79 0a 09 09 20 20 20 20 20 20  -in-day...      
5950: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5960: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5970: 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 61 79               lay
5980: 6f 75 74 20 3b 20 28 30 3d 61 6c 6c 6f 77 20 36  out ; (0=allow 6
5990: 2c 20 31 3d 66 6f 72 63 65 20 36 2c 20 32 3d 77  , 1=force 6, 2=w
59a0: 72 61 70 20 74 6f 20 77 31 2c 20 33 3d 77 72 61  rap to w1, 3=wra
59b0: 70 20 74 6f 20 77 35 29 0a 09 09 20 20 20 20 20  p to w5)...     
59c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
59d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
59e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 65                te
59f0: 78 74 2d 66 6f 6e 74 0a 09 09 20 20 20 20 20 20  xt-font...      
5a00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5a10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5a20: 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 75 6d               num
5a30: 62 65 72 2d 66 6f 6e 74 0a 09 09 20 20 20 20 20  ber-font...     
5a40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5a50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5a60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f                fo
5a70: 6e 74 2d 73 69 7a 65 25 20 3b 20 74 65 78 74 20  nt-size% ; text 
5a80: 73 69 7a 65 20 61 73 20 25 20 6f 66 20 63 65 6c  size as % of cel
5a90: 6c 20 73 69 7a 65 0a 09 09 20 20 20 20 20 20 20  l size...       
5aa0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5ab0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5ac0: 20 20 20 20 20 20 20 20 20 20 20 20 6a 75 73 74              just
5ad0: 69 66 79 3f 20 3b 20 72 69 67 68 74 20 6a 75 73  ify? ; right jus
5ae0: 74 69 66 79 20 73 69 6e 67 6c 65 2d 64 69 67 69  tify single-digi
5af0: 74 20 6e 75 6d 62 65 72 73 0a 09 09 20 20 20 20  t numbers...    
5b00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5b10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5b20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30                 0
5b30: 20 3b 20 6e 6f 20 62 6f 72 64 65 72 73 0a 09 09   ; no borders...
5b40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5b50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5b60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5b70: 20 20 20 27 28 30 20 30 20 30 29 20 3b 20 62 6f     '(0 0 0) ; bo
5b80: 72 64 65 72 20 63 6f 6c 6f 72 20 28 69 67 6e 6f  rder color (igno
5b90: 72 65 64 29 0a 09 09 20 20 20 20 20 20 20 20 20  red)...         
5ba0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5bb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5bc0: 20 20 20 20 20 20 20 20 20 20 67 72 61 76 69 74            gravit
5bd0: 79 20 29 29 29 20 0a 09 09 20 20 20 20 20 20 28  y ))) ...      (
5be0: 67 69 6d 70 2d 69 6d 61 67 65 2d 73 65 74 2d 61  gimp-image-set-a
5bf0: 63 74 69 76 65 2d 6c 61 79 65 72 20 6d 6f 6e 74  ctive-layer mont
5c00: 68 2d 69 6d 61 67 65 20 64 61 74 65 2d 6c 61 79  h-image date-lay
5c10: 65 72 29 0a 09 09 20 20 20 20 20 20 28 70 6c 75  er)...      (plu
5c20: 67 2d 69 6e 2d 61 75 74 6f 63 72 6f 70 2d 6c 61  g-in-autocrop-la
5c30: 79 65 72 20 52 55 4e 2d 4e 4f 4e 49 4e 54 45 52  yer RUN-NONINTER
5c40: 41 43 54 49 56 45 20 6d 6f 6e 74 68 2d 69 6d 61  ACTIVE month-ima
5c50: 67 65 20 64 61 74 65 2d 6c 61 79 65 72 29 0a 09  ge date-layer)..
5c60: 09 20 20 20 20 20 20 28 73 65 74 21 20 62 61 6e  .      (set! ban
5c70: 6e 65 72 2d 68 65 69 67 68 74 20 28 2a 20 30 2e  ner-height (* 0.
5c80: 39 20 28 63 61 64 72 20 28 67 69 6d 70 2d 64 72  9 (cadr (gimp-dr
5c90: 61 77 61 62 6c 65 2d 6f 66 66 73 65 74 73 20 64  awable-offsets d
5ca0: 61 74 65 2d 6c 61 79 65 72 29 29 29 29 20 29 29  ate-layer)))) ))
5cb0: 0a 09 09 20 20 28 67 69 6d 70 2d 69 6d 61 67 65  ...  (gimp-image
5cc0: 2d 64 65 6c 65 74 65 20 6d 6f 6e 74 68 2d 69 6d  -delete month-im
5cd0: 61 67 65 29 20 0a 09 09 20 20 29 0a 09 09 29 0a  age) ...  )...).
5ce0: 0a 20 20 3b 20 52 65 6e 64 65 72 73 20 61 20 70  .  ; Renders a p
5cf0: 72 6f 70 65 72 6c 79 20 73 69 7a 65 64 20 61 6e  roperly sized an
5d00: 64 20 72 6f 74 61 74 65 64 20 66 61 63 65 74 20  d rotated facet 
5d10: 66 72 6f 6d 20 74 68 65 20 67 69 76 65 6e 20 66  from the given f
5d20: 61 63 65 74 20 69 6d 61 67 65 2e 0a 20 20 3b 20  acet image..  ; 
5d30: 49 66 20 74 68 65 20 66 61 63 65 74 20 69 6d 61  If the facet ima
5d40: 67 65 20 68 61 73 20 6d 6f 72 65 20 74 68 61 6e  ge has more than
5d50: 20 6f 6e 65 20 6c 61 79 65 72 2c 20 74 68 6f 73   one layer, thos
5d60: 65 20 6c 61 79 65 72 73 20 61 72 65 20 0a 20 20  e layers are .  
5d70: 3b 20 22 63 79 63 6c 65 64 20 74 68 72 6f 75 67  ; "cycled throug
5d80: 68 22 20 62 6f 74 74 6f 6d 2d 74 6f 2d 74 6f 70  h" bottom-to-top
5d90: 20 28 72 65 70 65 61 74 65 64 20 69 66 20 6e 65   (repeated if ne
5da0: 63 65 73 73 61 72 79 29 2e 0a 20 20 3b 20 49 66  cessary)..  ; If
5db0: 20 74 68 65 20 73 6f 75 72 63 65 20 6c 61 79 65   the source laye
5dc0: 72 20 69 73 20 6e 6f 74 20 63 68 61 69 6e 20 6c  r is not chain l
5dd0: 69 6e 6b 65 64 2c 20 69 74 20 77 69 6c 6c 20 62  inked, it will b
5de0: 65 20 72 65 73 69 7a 65 64 20 74 6f 20 66 69 74  e resized to fit
5df0: 0a 20 20 3b 20 74 68 65 20 66 61 63 65 74 20 28  .  ; the facet (
5e00: 63 65 6e 74 65 72 65 64 29 3b 20 65 6c 73 65 20  centered); else 
5e10: 74 68 65 20 75 70 70 65 72 2d 6c 65 66 74 20 72  the upper-left r
5e20: 65 67 69 6f 6e 20 6f 66 20 74 68 65 20 6c 61 79  egion of the lay
5e30: 65 72 20 69 73 20 75 73 65 64 2e 0a 20 20 3b 20  er is used..  ; 
5e40: 0a 20 20 28 64 65 66 69 6e 65 20 28 63 6f 70 79  .  (define (copy
5e50: 2d 66 61 63 65 74 73 20 74 61 72 67 65 74 2d 69  -facets target-i
5e60: 6d 61 67 65 20 74 61 72 67 65 74 2d 6c 61 79 65  mage target-laye
5e70: 72 20 66 61 63 65 74 2d 69 6d 61 67 65 20 66 61  r facet-image fa
5e80: 63 65 74 73 20 70 65 6e 74 73 29 0a 20 20 20 20  cets pents).    
5e90: 28 6c 65 74 2a 20 28 28 78 20 28 63 65 69 6c 69  (let* ((x (ceili
5ea0: 6e 67 20 28 2a 20 65 64 67 65 2d 6c 65 6e 67 74  ng (* edge-lengt
5eb0: 68 20 28 63 6f 73 20 28 64 65 67 2d 3e 72 61 64  h (cos (deg->rad
5ec0: 20 37 32 29 29 29 29 29 0a 20 20 20 20 20 20 20   72))))).       
5ed0: 20 20 20 20 28 77 69 64 74 68 20 28 2b 20 31 20      (width (+ 1 
5ee0: 65 64 67 65 2d 6c 65 6e 67 74 68 20 28 2a 20 32  edge-length (* 2
5ef0: 20 78 29 29 29 0a 20 20 20 20 20 20 20 20 20 20   x))).          
5f00: 20 28 68 65 69 67 68 74 20 28 63 65 69 6c 69 6e   (height (ceilin
5f10: 67 20 28 2b 20 31 20 28 2a 20 65 64 67 65 2d 6c  g (+ 1 (* edge-l
5f20: 65 6e 67 74 68 20 28 2b 20 28 63 6f 73 20 28 64  ength (+ (cos (d
5f30: 65 67 2d 3e 72 61 64 20 31 38 29 29 20 28 73 69  eg->rad 18)) (si
5f40: 6e 20 28 64 65 67 2d 3e 72 61 64 20 33 36 29 29  n (deg->rad 36))
5f50: 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20  ))))).          
5f60: 20 28 69 6d 61 67 65 20 28 63 61 72 20 28 67 69   (image (car (gi
5f70: 6d 70 2d 69 6d 61 67 65 2d 6e 65 77 20 77 69 64  mp-image-new wid
5f80: 74 68 20 68 65 69 67 68 74 20 52 47 42 29 29 29  th height RGB)))
5f90: 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 79  .           (lay
5fa0: 65 72 20 28 63 61 72 20 28 67 69 6d 70 2d 6c 61  er (car (gimp-la
5fb0: 79 65 72 2d 6e 65 77 20 69 6d 61 67 65 20 77 69  yer-new image wi
5fc0: 64 74 68 20 68 65 69 67 68 74 20 52 47 42 2d 49  dth height RGB-I
5fd0: 4d 41 47 45 20 22 74 61 72 67 65 74 22 20 31 30  MAGE "target" 10
5fe0: 30 20 4e 4f 52 4d 41 4c 2d 4d 4f 44 45 29 29 29  0 NORMAL-MODE)))
5ff0: 0a 20 20 20 20 20 20 20 20 20 20 20 28 66 72 61  .           (fra
6000: 6d 65 20 28 6d 61 6b 65 2d 70 65 6e 74 20 69 6d  me (make-pent im
6010: 61 67 65 20 22 74 6d 70 22 20 28 6c 69 73 74 20  age "tmp" (list 
6020: 78 20 30 20 30 29 29 29 0a 20 20 20 20 20 20 20  x 0 0))).       
6030: 20 20 20 20 28 78 79 61 20 27 28 29 29 0a 20 20      (xya '()).  
6040: 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72           (buffer
6050: 20 22 22 29 0a 20 20 20 20 20 20 20 20 20 20 20   "").           
6060: 28 66 6c 6f 61 74 65 64 20 30 29 0a 20 20 20 20  (floated 0).    
6070: 20 20 20 20 20 20 20 28 74 6d 70 2d 6c 61 79 65         (tmp-laye
6080: 72 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20  r 0).           
6090: 28 63 68 61 6e 6e 65 6c 20 30 29 0a 20 20 20 20  (channel 0).    
60a0: 20 20 20 20 20 20 20 28 6e 65 77 2d 66 61 63 65         (new-face
60b0: 74 73 20 27 28 29 29 20 29 0a 20 20 20 20 20 20  ts '()) ).      
60c0: 28 67 69 6d 70 2d 69 6d 61 67 65 2d 75 6e 64 6f  (gimp-image-undo
60d0: 2d 66 72 65 65 7a 65 20 66 61 63 65 74 2d 69 6d  -freeze facet-im
60e0: 61 67 65 29 0a 20 20 20 20 20 20 28 73 65 74 21  age).      (set!
60f0: 20 63 68 61 6e 6e 65 6c 20 28 63 61 72 20 28 67   channel (car (g
6100: 69 6d 70 2d 73 65 6c 65 63 74 69 6f 6e 2d 73 61  imp-selection-sa
6110: 76 65 20 66 61 63 65 74 2d 69 6d 61 67 65 29 29  ve facet-image))
6120: 29 0a 20 20 20 20 20 20 28 67 69 6d 70 2d 73 65  ).      (gimp-se
6130: 6c 65 63 74 69 6f 6e 2d 6e 6f 6e 65 20 66 61 63  lection-none fac
6140: 65 74 2d 69 6d 61 67 65 29 0a 20 20 20 20 20 20  et-image).      
6150: 28 67 69 6d 70 2d 69 6d 61 67 65 2d 61 64 64 2d  (gimp-image-add-
6160: 6c 61 79 65 72 20 69 6d 61 67 65 20 6c 61 79 65  layer image laye
6170: 72 20 30 29 0a 20 20 20 20 20 20 28 77 68 69 6c  r 0).      (whil
6180: 65 20 28 70 61 69 72 3f 20 70 65 6e 74 73 29 0a  e (pair? pents).
6190: 20 20 20 20 20 20 20 20 28 73 65 74 21 20 78 79          (set! xy
61a0: 61 20 28 70 65 6e 74 2d 72 65 66 20 28 63 61 72  a (pent-ref (car
61b0: 20 70 65 6e 74 73 29 20 30 29 29 0a 20 20 20 20   pents) 0)).    
61c0: 20 20 20 20 28 73 65 74 21 20 62 75 66 66 65 72      (set! buffer
61d0: 20 28 63 61 72 20 28 67 69 6d 70 2d 65 64 69 74   (car (gimp-edit
61e0: 2d 6e 61 6d 65 64 2d 63 6f 70 79 20 28 63 61 72  -named-copy (car
61f0: 20 66 61 63 65 74 73 29 20 22 74 6d 70 22 29 29   facets) "tmp"))
6200: 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 21 20  ).        (set! 
6210: 74 6d 70 2d 6c 61 79 65 72 20 28 63 61 72 20 28  tmp-layer (car (
6220: 67 69 6d 70 2d 65 64 69 74 2d 6e 61 6d 65 64 2d  gimp-edit-named-
6230: 70 61 73 74 65 20 6c 61 79 65 72 20 62 75 66 66  paste layer buff
6240: 65 72 20 46 41 4c 53 45 29 29 29 0a 20 20 20 20  er FALSE))).    
6250: 20 20 20 20 28 67 69 6d 70 2d 62 75 66 66 65 72      (gimp-buffer
6260: 2d 64 65 6c 65 74 65 20 62 75 66 66 65 72 29 0a  -delete buffer).
6270: 20 20 20 20 20 20 20 20 28 67 69 6d 70 2d 66 6c          (gimp-fl
6280: 6f 61 74 69 6e 67 2d 73 65 6c 2d 74 6f 2d 6c 61  oating-sel-to-la
6290: 79 65 72 20 74 6d 70 2d 6c 61 79 65 72 29 0a 20  yer tmp-layer). 
62a0: 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 7a 65         (when (ze
62b0: 72 6f 3f 20 28 63 61 72 20 28 67 69 6d 70 2d 64  ro? (car (gimp-d
62c0: 72 61 77 61 62 6c 65 2d 67 65 74 2d 6c 69 6e 6b  rawable-get-link
62d0: 65 64 20 28 63 61 72 20 66 61 63 65 74 73 29 29  ed (car facets))
62e0: 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65  )).          (le
62f0: 74 2a 20 28 28 6c 61 79 65 72 2d 77 69 64 74 68  t* ((layer-width
6300: 20 28 63 61 72 20 28 67 69 6d 70 2d 64 72 61 77   (car (gimp-draw
6310: 61 62 6c 65 2d 77 69 64 74 68 20 74 6d 70 2d 6c  able-width tmp-l
6320: 61 79 65 72 29 29 29 0a 20 20 20 20 20 20 20 20  ayer))).        
6330: 20 20 20 20 20 20 20 20 20 28 6c 61 79 65 72 2d           (layer-
6340: 68 65 69 67 68 74 20 28 63 61 72 20 28 67 69 6d  height (car (gim
6350: 70 2d 64 72 61 77 61 62 6c 65 2d 68 65 69 67 68  p-drawable-heigh
6360: 74 20 74 6d 70 2d 6c 61 79 65 72 29 29 29 0a 20  t tmp-layer))). 
6370: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6380: 28 61 73 70 65 63 74 20 28 2f 20 6c 61 79 65 72  (aspect (/ layer
6390: 2d 68 65 69 67 68 74 20 6c 61 79 65 72 2d 77 69  -height layer-wi
63a0: 64 74 68 29 29 20 29 0a 20 20 20 20 20 20 20 20  dth)) ).        
63b0: 20 20 20 20 28 69 66 20 28 3e 20 28 2f 20 77 69      (if (> (/ wi
63c0: 64 74 68 20 6c 61 79 65 72 2d 77 69 64 74 68 29  dth layer-width)
63d0: 20 28 2f 20 68 65 69 67 68 74 20 6c 61 79 65 72   (/ height layer
63e0: 2d 68 65 69 67 68 74 29 29 0a 20 20 20 20 20 20  -height)).      
63f0: 20 20 20 20 20 20 20 20 28 62 65 67 69 6e 0a 20          (begin. 
6400: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28                 (
6410: 67 69 6d 70 2d 6c 61 79 65 72 2d 73 63 61 6c 65  gimp-layer-scale
6420: 2d 66 75 6c 6c 20 74 6d 70 2d 6c 61 79 65 72 20  -full tmp-layer 
6430: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
6440: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6450: 20 20 20 20 20 20 20 20 77 69 64 74 68 0a 20 20          width.  
6460: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6470: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6480: 20 20 20 20 20 28 2a 20 77 69 64 74 68 20 61 73       (* width as
6490: 70 65 63 74 29 0a 20 20 20 20 20 20 20 20 20 20  pect).          
64a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
64b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 54 52 55               TRU
64c0: 45 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  E .             
64d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
64e0: 20 20 20 20 20 20 20 20 20 20 49 4e 54 45 52 50            INTERP
64f0: 4f 4c 41 54 49 4f 4e 2d 4c 41 4e 43 5a 4f 53 29  OLATION-LANCZOS)
6500: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
6510: 20 28 67 69 6d 70 2d 6c 61 79 65 72 2d 73 65 74   (gimp-layer-set
6520: 2d 6f 66 66 73 65 74 73 20 74 6d 70 2d 6c 61 79  -offsets tmp-lay
6530: 65 72 20 30 20 28 2f 20 28 2d 20 68 65 69 67 68  er 0 (/ (- heigh
6540: 74 20 28 2a 20 77 69 64 74 68 20 61 73 70 65 63  t (* width aspec
6550: 74 29 29 20 32 29 29 20 29 20 20 20 20 20 20 20  t)) 2)) )       
6560: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6570: 20 20 20 0a 20 20 20 20 20 20 20 20 20 20 20 20     .            
6580: 20 20 28 62 65 67 69 6e 20 0a 20 20 20 20 20 20    (begin .      
6590: 20 20 20 20 20 20 20 20 20 20 28 67 69 6d 70 2d            (gimp-
65a0: 6c 61 79 65 72 2d 73 63 61 6c 65 2d 66 75 6c 6c  layer-scale-full
65b0: 20 74 6d 70 2d 6c 61 79 65 72 20 0a 20 20 20 20   tmp-layer .    
65c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
65d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
65e0: 20 20 20 28 2f 20 68 65 69 67 68 74 20 61 73 70     (/ height asp
65f0: 65 63 74 29 0a 20 20 20 20 20 20 20 20 20 20 20  ect).           
6600: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6610: 20 20 20 20 20 20 20 20 20 20 20 20 68 65 69 67              heig
6620: 68 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ht.             
6630: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6640: 20 20 20 20 20 20 20 20 20 20 54 52 55 45 20 0a            TRUE .
6650: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6660: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6670: 20 20 20 20 20 20 20 49 4e 54 45 52 50 4f 4c 41         INTERPOLA
6680: 54 49 4f 4e 2d 4c 41 4e 43 5a 4f 53 29 0a 20 20  TION-LANCZOS).  
6690: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67                (g
66a0: 69 6d 70 2d 6c 61 79 65 72 2d 73 65 74 2d 6f 66  imp-layer-set-of
66b0: 66 73 65 74 73 20 74 6d 70 2d 6c 61 79 65 72 20  fsets tmp-layer 
66c0: 28 2f 20 28 2d 20 77 69 64 74 68 20 28 2f 20 68  (/ (- width (/ h
66d0: 65 69 67 68 74 20 61 73 70 65 63 74 29 29 20 32  eight aspect)) 2
66e0: 29 20 30 29 20 29 29 29 29 0a 20 20 20 20 20 20  ) 0) )))).      
66f0: 20 20 28 67 69 6d 70 2d 76 65 63 74 6f 72 73 2d    (gimp-vectors-
6700: 74 6f 2d 73 65 6c 65 63 74 69 6f 6e 20 66 72 61  to-selection fra
6710: 6d 65 20 43 48 41 4e 4e 45 4c 2d 4f 50 2d 52 45  me CHANNEL-OP-RE
6720: 50 4c 41 43 45 20 54 52 55 45 20 46 41 4c 53 45  PLACE TRUE FALSE
6730: 20 30 20 30 29 0a 20 20 20 20 20 20 20 20 28 73   0 0).        (s
6740: 65 74 21 20 62 75 66 66 65 72 20 28 63 61 72 20  et! buffer (car 
6750: 28 67 69 6d 70 2d 65 64 69 74 2d 6e 61 6d 65 64  (gimp-edit-named
6760: 2d 63 6f 70 79 20 74 6d 70 2d 6c 61 79 65 72 20  -copy tmp-layer 
6770: 22 74 6d 70 22 29 29 29 0a 20 20 20 20 20 20 20  "tmp"))).       
6780: 20 28 73 65 74 21 20 66 6c 6f 61 74 65 64 20 28   (set! floated (
6790: 63 61 72 20 28 67 69 6d 70 2d 65 64 69 74 2d 6e  car (gimp-edit-n
67a0: 61 6d 65 64 2d 70 61 73 74 65 20 74 61 72 67 65  amed-paste targe
67b0: 74 2d 6c 61 79 65 72 20 62 75 66 66 65 72 20 46  t-layer buffer F
67c0: 41 4c 53 45 29 29 29 0a 20 20 20 20 20 20 20 20  ALSE))).        
67d0: 28 67 69 6d 70 2d 62 75 66 66 65 72 2d 64 65 6c  (gimp-buffer-del
67e0: 65 74 65 20 62 75 66 66 65 72 29 0a 20 20 20 20  ete buffer).    
67f0: 20 20 20 20 28 67 69 6d 70 2d 66 6c 6f 61 74 69      (gimp-floati
6800: 6e 67 2d 73 65 6c 2d 74 6f 2d 6c 61 79 65 72 20  ng-sel-to-layer 
6810: 66 6c 6f 61 74 65 64 29 0a 20 20 20 20 20 20 20  floated).       
6820: 20 28 67 69 6d 70 2d 6c 61 79 65 72 2d 73 65 74   (gimp-layer-set
6830: 2d 6f 66 66 73 65 74 73 20 66 6c 6f 61 74 65 64  -offsets floated
6840: 20 28 2d 20 28 63 61 72 20 78 79 61 29 20 78 29   (- (car xya) x)
6850: 20 28 63 61 64 72 20 78 79 61 29 29 0a 20 20 20   (cadr xya)).   
6860: 20 20 20 20 20 28 67 69 6d 70 2d 64 72 61 77 61       (gimp-drawa
6870: 62 6c 65 2d 74 72 61 6e 73 66 6f 72 6d 2d 72 6f  ble-transform-ro
6880: 74 61 74 65 20 66 6c 6f 61 74 65 64 20 0a 20 20  tate floated .  
6890: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
68a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
68b0: 20 20 20 20 20 20 28 64 65 67 2d 3e 72 61 64 20        (deg->rad 
68c0: 28 63 61 64 64 72 20 78 79 61 29 29 20 3b 20 64  (caddr xya)) ; d
68d0: 65 6c 74 61 2d 79 20 64 65 6c 74 61 2d 78 20 66  elta-y delta-x f
68e0: 6f 72 20 65 6e 64 20 70 6f 69 6e 74 73 0a 20 20  or end points.  
68f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6900: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6910: 20 20 20 20 20 20 46 41 4c 53 45 20 0a 20 20 20        FALSE .   
6920: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6930: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6940: 20 20 20 20 20 28 2b 20 28 63 61 72 20 78 79 61       (+ (car xya
6950: 29 20 30 29 20 28 63 61 64 72 20 78 79 61 29 0a  ) 0) (cadr xya).
6960: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6970: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6980: 20 20 20 20 20 20 20 20 54 52 41 4e 53 46 4f 52          TRANSFOR
6990: 4d 2d 46 4f 52 57 41 52 44 20 0a 20 20 20 20 20  M-FORWARD .     
69a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
69b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
69c0: 20 20 20 49 4e 54 45 52 50 4f 4c 41 54 49 4f 4e     INTERPOLATION
69d0: 2d 43 55 42 49 43 0a 20 20 20 20 20 20 20 20 20  -CUBIC.         
69e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
69f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54                 T
6a00: 52 55 45 20 33 20 54 52 41 4e 53 46 4f 52 4d 2d  RUE 3 TRANSFORM-
6a10: 52 45 53 49 5a 45 2d 41 44 4a 55 53 54 20 29 0a  RESIZE-ADJUST ).
6a20: 20 20 20 20 20 20 20 20 28 67 69 6d 70 2d 64 72          (gimp-dr
6a30: 61 77 61 62 6c 65 2d 73 65 74 2d 6e 61 6d 65 20  awable-set-name 
6a40: 66 6c 6f 61 74 65 64 20 28 63 61 72 20 28 67 69  floated (car (gi
6a50: 6d 70 2d 64 72 61 77 61 62 6c 65 2d 67 65 74 2d  mp-drawable-get-
6a60: 6e 61 6d 65 20 28 63 61 72 20 66 61 63 65 74 73  name (car facets
6a70: 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 67 69  )))).        (gi
6a80: 6d 70 2d 69 6d 61 67 65 2d 6c 6f 77 65 72 2d 6c  mp-image-lower-l
6a90: 61 79 65 72 2d 74 6f 2d 62 6f 74 74 6f 6d 20 74  ayer-to-bottom t
6aa0: 61 72 67 65 74 2d 69 6d 61 67 65 20 66 6c 6f 61  arget-image floa
6ab0: 74 65 64 29 0a 20 20 20 20 20 20 20 20 28 67 69  ted).        (gi
6ac0: 6d 70 2d 69 6d 61 67 65 2d 72 61 69 73 65 2d 6c  mp-image-raise-l
6ad0: 61 79 65 72 20 74 61 72 67 65 74 2d 69 6d 61 67  ayer target-imag
6ae0: 65 20 66 6c 6f 61 74 65 64 29 0a 20 20 20 20 20  e floated).     
6af0: 20 20 20 28 73 65 74 21 20 6e 65 77 2d 66 61 63     (set! new-fac
6b00: 65 74 73 20 28 63 6f 6e 73 20 66 6c 6f 61 74 65  ets (cons floate
6b10: 64 20 6e 65 77 2d 66 61 63 65 74 73 29 29 0a 20  d new-facets)). 
6b20: 20 20 20 20 20 20 20 28 73 65 74 21 20 70 65 6e         (set! pen
6b30: 74 73 20 28 63 64 72 20 70 65 6e 74 73 29 29 0a  ts (cdr pents)).
6b40: 20 20 20 20 20 20 20 20 28 73 65 74 21 20 66 61          (set! fa
6b50: 63 65 74 73 20 28 63 64 72 20 66 61 63 65 74 73  cets (cdr facets
6b60: 29 29 0a 20 20 20 20 20 20 20 20 29 0a 20 20 20  )).        ).   
6b70: 20 20 20 28 67 69 6d 70 2d 69 6d 61 67 65 2d 64     (gimp-image-d
6b80: 65 6c 65 74 65 20 69 6d 61 67 65 29 0a 20 20 20  elete image).   
6b90: 20 20 20 28 67 69 6d 70 2d 73 65 6c 65 63 74 69     (gimp-selecti
6ba0: 6f 6e 2d 6c 6f 61 64 20 63 68 61 6e 6e 65 6c 29  on-load channel)
6bb0: 0a 20 20 20 20 20 20 28 67 69 6d 70 2d 69 6d 61  .      (gimp-ima
6bc0: 67 65 2d 72 65 6d 6f 76 65 2d 63 68 61 6e 6e 65  ge-remove-channe
6bd0: 6c 20 66 61 63 65 74 2d 69 6d 61 67 65 20 63 68  l facet-image ch
6be0: 61 6e 6e 65 6c 29 0a 20 20 20 20 20 20 28 67 69  annel).      (gi
6bf0: 6d 70 2d 69 6d 61 67 65 2d 75 6e 64 6f 2d 74 68  mp-image-undo-th
6c00: 61 77 20 66 61 63 65 74 2d 69 6d 61 67 65 29 0a  aw facet-image).
6c10: 20 20 20 20 20 20 6e 65 77 2d 66 61 63 65 74 73        new-facets
6c20: 0a 20 20 20 20 20 20 29 0a 20 20 20 20 29 0a 0a  .      ).    )..
6c30: 20 20 28 64 65 66 69 6e 65 20 28 6d 61 6b 65 2d    (define (make-
6c40: 74 61 62 20 69 6d 61 67 65 20 6e 61 6d 65 20 70  tab image name p
6c50: 65 6e 74 29 0a 20 20 20 20 28 6c 65 74 2a 20 28  ent).    (let* (
6c60: 28 78 79 61 20 28 61 70 70 65 6e 64 20 28 62 75  (xya (append (bu
6c70: 74 6c 61 73 74 20 28 70 65 6e 74 2d 72 65 66 20  tlast (pent-ref 
6c80: 70 65 6e 74 20 32 29 29 20 28 63 64 64 72 20 28  pent 2)) (cddr (
6c90: 70 65 6e 74 2d 72 65 66 20 70 65 6e 74 20 31 29  pent-ref pent 1)
6ca0: 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28  ))).           (
6cb0: 74 61 62 20 28 63 61 72 20 28 67 69 6d 70 2d 76  tab (car (gimp-v
6cc0: 65 63 74 6f 72 73 2d 6e 65 77 20 69 6d 61 67 65  ectors-new image
6cd0: 20 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 20 20   name))).       
6ce0: 20 20 20 20 28 73 74 72 6f 6b 65 20 30 29 20 29      (stroke 0) )
6cf0: 0a 20 20 20 20 20 20 28 67 69 6d 70 2d 69 6d 61  .      (gimp-ima
6d00: 67 65 2d 61 64 64 2d 76 65 63 74 6f 72 73 20 69  ge-add-vectors i
6d10: 6d 61 67 65 20 74 61 62 20 30 29 0a 20 20 20 20  mage tab 0).    
6d20: 20 20 28 73 65 74 21 20 73 74 72 6f 6b 65 20 28    (set! stroke (
6d30: 63 61 72 20 28 67 69 6d 70 2d 76 65 63 74 6f 72  car (gimp-vector
6d40: 73 2d 62 65 7a 69 65 72 2d 73 74 72 6f 6b 65 2d  s-bezier-stroke-
6d50: 6e 65 77 2d 6d 6f 76 65 74 6f 20 74 61 62 20 28  new-moveto tab (
6d60: 63 61 72 20 78 79 61 29 20 28 63 61 64 72 20 78  car xya) (cadr x
6d70: 79 61 29 29 29 29 0a 20 20 20 20 20 20 28 67 69  ya)))).      (gi
6d80: 6d 70 2d 76 65 63 74 6f 72 73 2d 62 65 7a 69 65  mp-vectors-bezie
6d90: 72 2d 73 74 72 6f 6b 65 2d 6c 69 6e 65 74 6f 20  r-stroke-lineto 
6da0: 74 61 62 0a 20 20 20 20 20 20 20 20 20 20 20 20  tab.            
6db0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6dc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72               str
6dd0: 6f 6b 65 20 0a 20 20 20 20 20 20 20 20 20 20 20  oke .           
6de0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6df0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2b                (+
6e00: 20 28 63 61 72 20 20 78 79 61 29 20 28 63 61 72   (car  xya) (car
6e10: 20 28 70 2d 3e 72 20 28 2f 20 65 64 67 65 2d 6c   (p->r (/ edge-l
6e20: 65 6e 67 74 68 20 33 29 20 28 63 61 64 64 72 20  ength 3) (caddr 
6e30: 78 79 61 29 29 29 29 20 0a 20 20 20 20 20 20 20  xya)))) .       
6e40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6e50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6e60: 20 20 28 2b 20 28 63 61 64 72 20 78 79 61 29 20    (+ (cadr xya) 
6e70: 28 63 64 72 20 28 70 2d 3e 72 20 28 2f 20 65 64  (cdr (p->r (/ ed
6e80: 67 65 2d 6c 65 6e 67 74 68 20 33 29 20 28 63 61  ge-length 3) (ca
6e90: 64 64 72 20 78 79 61 29 29 29 29 20 29 0a 20 20  ddr xya)))) ).  
6ea0: 20 20 20 20 28 73 65 74 21 20 78 79 61 20 28 70      (set! xya (p
6eb0: 65 6e 74 2d 72 65 66 20 70 65 6e 74 20 33 29 29  ent-ref pent 3))
6ec0: 0a 20 20 20 20 20 20 28 67 69 6d 70 2d 76 65 63  .      (gimp-vec
6ed0: 74 6f 72 73 2d 62 65 7a 69 65 72 2d 73 74 72 6f  tors-bezier-stro
6ee0: 6b 65 2d 6c 69 6e 65 74 6f 20 74 61 62 0a 20 20  ke-lineto tab.  
6ef0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6f00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6f10: 20 20 20 20 20 20 20 73 74 72 6f 6b 65 20 0a 20         stroke . 
6f20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6f30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6f40: 20 20 20 20 20 20 20 20 28 2d 20 28 63 61 72 20          (- (car 
6f50: 20 78 79 61 29 20 28 63 61 72 20 28 70 2d 3e 72   xya) (car (p->r
6f60: 20 28 2f 20 65 64 67 65 2d 6c 65 6e 67 74 68 20   (/ edge-length 
6f70: 33 29 20 28 63 61 64 64 72 20 78 79 61 29 29 29  3) (caddr xya)))
6f80: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ).              
6f90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6fa0: 20 20 20 20 20 20 20 20 20 20 20 28 2d 20 28 63             (- (c
6fb0: 61 64 72 20 78 79 61 29 20 28 63 64 72 20 28 70  adr xya) (cdr (p
6fc0: 2d 3e 72 20 28 2f 20 65 64 67 65 2d 6c 65 6e 67  ->r (/ edge-leng
6fd0: 74 68 20 33 29 20 28 63 61 64 64 72 20 78 79 61  th 3) (caddr xya
6fe0: 29 29 29 29 20 29 0a 20 20 20 20 20 20 28 67 69  )))) ).      (gi
6ff0: 6d 70 2d 76 65 63 74 6f 72 73 2d 62 65 7a 69 65  mp-vectors-bezie
7000: 72 2d 73 74 72 6f 6b 65 2d 6c 69 6e 65 74 6f 20  r-stroke-lineto 
7010: 74 61 62 0a 20 20 20 20 20 20 20 20 20 20 20 20  tab.            
7020: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
7030: 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72               str
7040: 6f 6b 65 20 0a 20 20 20 20 20 20 20 20 20 20 20  oke .           
7050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
7060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63                (c
7070: 61 72 20 78 79 61 29 0a 20 20 20 20 20 20 20 20  ar xya).        
7080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
7090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
70a0: 20 28 63 61 64 72 20 78 79 61 29 20 29 0a 20 20   (cadr xya) ).  
70b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
70c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
70d0: 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 28 73         .      (s
70e0: 65 74 21 20 78 79 61 20 28 61 70 70 65 6e 64 20  et! xya (append 
70f0: 28 62 75 74 6c 61 73 74 20 28 70 65 6e 74 2d 72  (butlast (pent-r
7100: 65 66 20 70 65 6e 74 20 33 29 29 20 28 63 64 64  ef pent 3)) (cdd
7110: 72 20 28 70 65 6e 74 2d 72 65 66 20 70 65 6e 74  r (pent-ref pent
7120: 20 32 29 29 29 29 0a 20 20 20 20 20 20 28 67 69   2)))).      (gi
7130: 6d 70 2d 76 65 63 74 6f 72 73 2d 62 65 7a 69 65  mp-vectors-bezie
7140: 72 2d 73 74 72 6f 6b 65 2d 6c 69 6e 65 74 6f 20  r-stroke-lineto 
7150: 74 61 62 0a 20 20 20 20 20 20 20 20 20 20 20 20  tab.            
7160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
7170: 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72               str
7180: 6f 6b 65 20 0a 20 20 20 20 20 20 20 20 20 20 20  oke .           
7190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
71a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2b                (+
71b0: 20 28 63 61 72 20 20 78 79 61 29 20 28 63 61 72   (car  xya) (car
71c0: 20 28 70 2d 3e 72 20 28 2f 20 65 64 67 65 2d 6c   (p->r (/ edge-l
71d0: 65 6e 67 74 68 20 33 29 20 28 63 61 64 64 72 20  ength 3) (caddr 
71e0: 78 79 61 29 29 29 29 20 0a 20 20 20 20 20 20 20  xya)))) .       
71f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
7200: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
7210: 20 20 28 2b 20 28 63 61 64 72 20 78 79 61 29 20    (+ (cadr xya) 
7220: 28 63 64 72 20 28 70 2d 3e 72 20 28 2f 20 65 64  (cdr (p->r (/ ed
7230: 67 65 2d 6c 65 6e 67 74 68 20 33 29 20 28 63 61  ge-length 3) (ca
7240: 64 64 72 20 78 79 61 29 29 29 29 20 29 0a 20 20  ddr xya)))) ).  
7250: 20 20 20 20 28 73 65 74 21 20 78 79 61 20 28 70      (set! xya (p
7260: 65 6e 74 2d 72 65 66 20 70 65 6e 74 20 34 29 29  ent-ref pent 4))
7270: 0a 20 20 20 20 20 20 28 67 69 6d 70 2d 76 65 63  .      (gimp-vec
7280: 74 6f 72 73 2d 62 65 7a 69 65 72 2d 73 74 72 6f  tors-bezier-stro
7290: 6b 65 2d 6c 69 6e 65 74 6f 20 74 61 62 0a 20 20  ke-lineto tab.  
72a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
72b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
72c0: 20 20 20 20 20 20 20 73 74 72 6f 6b 65 20 0a 20         stroke . 
72d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
72e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
72f0: 20 20 20 20 20 20 20 20 28 2d 20 28 63 61 72 20          (- (car 
7300: 20 78 79 61 29 20 28 63 61 72 20 28 70 2d 3e 72   xya) (car (p->r
7310: 20 28 2f 20 65 64 67 65 2d 6c 65 6e 67 74 68 20   (/ edge-length 
7320: 33 29 20 28 63 61 64 64 72 20 78 79 61 29 29 29  3) (caddr xya)))
7330: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ).              
7340: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
7350: 20 20 20 20 20 20 20 20 20 20 20 28 2d 20 28 63             (- (c
7360: 61 64 72 20 78 79 61 29 20 28 63 64 72 20 28 70  adr xya) (cdr (p
7370: 2d 3e 72 20 28 2f 20 65 64 67 65 2d 6c 65 6e 67  ->r (/ edge-leng
7380: 74 68 20 33 29 20 28 63 61 64 64 72 20 78 79 61  th 3) (caddr xya
7390: 29 29 29 29 20 29 0a 20 20 20 20 20 20 28 67 69  )))) ).      (gi
73a0: 6d 70 2d 76 65 63 74 6f 72 73 2d 62 65 7a 69 65  mp-vectors-bezie
73b0: 72 2d 73 74 72 6f 6b 65 2d 6c 69 6e 65 74 6f 20  r-stroke-lineto 
73c0: 74 61 62 0a 20 20 20 20 20 20 20 20 20 20 20 20  tab.            
73d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
73e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72               str
73f0: 6f 6b 65 20 0a 20 20 20 20 20 20 20 20 20 20 20  oke .           
7400: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
7410: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63                (c
7420: 61 72 20 78 79 61 29 0a 20 20 20 20 20 20 20 20  ar xya).        
7430: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
7440: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
7450: 20 28 63 61 64 72 20 78 79 61 29 20 29 20 20 20   (cadr xya) )   
7460: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
7470: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a                 .
7480: 20 20 20 20 20 20 74 61 62 20 29 29 0a 20 20 0a        tab )).  .
7490: 20 20 3b 3b 20 4d 41 49 4e 20 50 52 4f 43 45 44    ;; MAIN PROCED
74a0: 55 52 45 20 53 54 41 52 54 53 20 48 45 52 45 0a  URE STARTS HERE.
74b0: 20 20 28 6c 65 74 2a 20 28 28 69 6d 61 67 65 20    (let* ((image 
74c0: 30 29 20 28 62 67 2d 6c 61 79 65 72 20 30 29 20  0) (bg-layer 0) 
74d0: 28 66 6f 6c 64 73 2d 6c 61 79 65 72 20 30 29 0a  (folds-layer 0).
74e0: 20 20 20 20 20 20 20 20 20 28 73 74 72 6f 6b 65           (stroke
74f0: 20 30 29 20 0a 20 20 20 20 20 20 20 20 20 28 6a   0) .         (j
7500: 61 6e 20 30 29 20 28 66 65 62 20 30 29 20 28 6d  an 0) (feb 0) (m
7510: 61 72 20 30 29 20 28 61 70 72 20 30 29 20 28 6d  ar 0) (apr 0) (m
7520: 61 79 20 30 29 20 28 6a 75 6e 20 30 29 20 0a 20  ay 0) (jun 0) . 
7530: 20 20 20 20 20 20 20 20 28 6a 75 6c 20 30 29 20          (jul 0) 
7540: 28 61 75 67 20 30 29 20 28 73 65 70 20 30 29 20  (aug 0) (sep 0) 
7550: 28 6f 63 74 20 30 29 20 28 6e 6f 76 20 30 29 20  (oct 0) (nov 0) 
7560: 28 64 65 63 20 30 29 0a 20 20 20 20 20 20 20 20  (dec 0).        
7570: 20 28 72 65 66 20 30 29 20 28 74 6d 70 20 30 29   (ref 0) (tmp 0)
7580: 20 28 74 61 62 2d 6d 61 72 20 30 29 20 28 74 61   (tab-mar 0) (ta
7590: 62 2d 61 70 72 20 30 29 20 28 74 61 62 2d 6d 61  b-apr 0) (tab-ma
75a0: 79 20 30 29 20 28 74 61 62 2d 6a 75 6e 20 30 29  y 0) (tab-jun 0)
75b0: 0a 20 20 20 20 20 20 20 20 20 28 70 65 6e 74 73  .         (pents
75c0: 20 27 28 29 29 0a 20 20 20 20 20 20 20 20 20 28   '()).         (
75d0: 74 61 62 73 20 27 28 29 29 0a 20 20 20 20 20 20  tabs '()).      
75e0: 20 20 20 28 78 79 61 20 27 28 29 29 0a 20 20 20     (xya '()).   
75f0: 20 20 20 20 20 20 28 66 61 63 65 74 73 20 27 28        (facets '(
7600: 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 65 78  )).         (tex
7610: 74 2d 6c 61 79 65 72 73 20 27 28 29 29 0a 20 20  t-layers '()).  
7620: 20 20 20 20 20 20 20 28 66 61 63 65 74 2d 6c 61         (facet-la
7630: 79 65 72 73 20 27 28 29 29 0a 20 20 20 20 20 20  yers '()).      
7640: 20 20 20 28 73 75 72 66 61 63 65 2d 6c 61 79 65     (surface-laye
7650: 72 20 30 29 0a 20 20 20 20 20 20 20 20 20 28 74  r 0).         (t
7660: 65 78 74 2d 6c 61 79 65 72 20 30 29 20 29 0a 20  ext-layer 0) ). 
7670: 20 20 20 28 73 65 74 21 20 69 6d 61 67 65 20 28     (set! image (
7680: 63 61 72 20 28 67 69 6d 70 2d 69 6d 61 67 65 2d  car (gimp-image-
7690: 6e 65 77 20 28 2a 20 36 20 65 64 67 65 2d 6c 65  new (* 6 edge-le
76a0: 6e 67 74 68 29 20 28 2a 20 38 20 65 64 67 65 2d  ngth) (* 8 edge-
76b0: 6c 65 6e 67 74 68 29 20 52 47 42 29 29 29 0a 20  length) RGB))). 
76c0: 20 20 20 28 67 69 6d 70 2d 64 69 73 70 6c 61 79     (gimp-display
76d0: 2d 6e 65 77 20 69 6d 61 67 65 29 0a 20 20 20 20  -new image).    
76e0: 28 67 69 6d 70 2d 69 6d 61 67 65 2d 75 6e 64 6f  (gimp-image-undo
76f0: 2d 64 69 73 61 62 6c 65 20 69 6d 61 67 65 29 0a  -disable image).
7700: 20 20 20 20 28 67 69 6d 70 2d 63 6f 6e 74 65 78      (gimp-contex
7710: 74 2d 70 75 73 68 29 0a 20 20 20 20 28 73 65 74  t-push).    (set
7720: 21 20 62 67 2d 6c 61 79 65 72 20 28 63 61 72 20  ! bg-layer (car 
7730: 28 67 69 6d 70 2d 6c 61 79 65 72 2d 6e 65 77 20  (gimp-layer-new 
7740: 69 6d 61 67 65 20 0a 20 20 20 20 20 20 20 20 20  image .         
7750: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
7760: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28                 (
7770: 63 61 72 20 28 67 69 6d 70 2d 69 6d 61 67 65 2d  car (gimp-image-
7780: 77 69 64 74 68 20 69 6d 61 67 65 29 29 0a 20 20  width image)).  
7790: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
77a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
77b0: 20 20 20 20 20 20 28 63 61 72 20 28 67 69 6d 70        (car (gimp
77c0: 2d 69 6d 61 67 65 2d 68 65 69 67 68 74 20 69 6d  -image-height im
77d0: 61 67 65 29 29 0a 20 20 20 20 20 20 20 20 20 20  age)).          
77e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
77f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 47                RG
7800: 42 2d 49 4d 41 47 45 20 0a 20 20 20 20 20 20 20  B-IMAGE .       
7810: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
7820: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
7830: 20 22 42 61 63 6b 67 72 6f 75 6e 64 22 20 0a 20   "Background" . 
7840: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
7850: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
7860: 20 20 20 20 20 20 20 31 30 30 20 0a 20 20 20 20         100 .    
7870: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
7880: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
7890: 20 20 20 20 4e 4f 52 4d 41 4c 2d 4d 4f 44 45 20      NORMAL-MODE 
78a0: 29 29 29 0a 20 20 20 20 28 67 69 6d 70 2d 69 6d  ))).    (gimp-im
78b0: 61 67 65 2d 61 64 64 2d 6c 61 79 65 72 20 69 6d  age-add-layer im
78c0: 61 67 65 20 62 67 2d 6c 61 79 65 72 20 30 29 0a  age bg-layer 0).
78d0: 20 20 20 20 28 67 69 6d 70 2d 64 72 61 77 61 62      (gimp-drawab
78e0: 6c 65 2d 66 69 6c 6c 20 62 67 2d 6c 61 79 65 72  le-fill bg-layer
78f0: 20 42 41 43 4b 47 52 4f 55 4e 44 2d 46 49 4c 4c   BACKGROUND-FILL
7900: 29 0a 20 20 20 20 28 73 65 74 21 20 6a 61 6e 20  ).    (set! jan 
7910: 28 6d 61 6b 65 2d 70 65 6e 74 20 69 6d 61 67 65  (make-pent image
7920: 20 22 30 22 20 28 6c 69 73 74 20 28 2a 20 32 2e   "0" (list (* 2.
7930: 32 20 65 64 67 65 2d 6c 65 6e 67 74 68 29 20 28  2 edge-length) (
7940: 2a 20 32 2e 39 20 65 64 67 65 2d 6c 65 6e 67 74  * 2.9 edge-lengt
7950: 68 29 20 32 35 32 29 29 29 0a 20 20 20 20 28 73  h) 252))).    (s
7960: 65 74 21 20 72 65 66 20 28 63 61 72 20 28 67 69  et! ref (car (gi
7970: 6d 70 2d 76 65 63 74 6f 72 73 2d 63 6f 70 79 20  mp-vectors-copy 
7980: 6a 61 6e 29 29 29 0a 20 20 20 20 28 67 69 6d 70  jan))).    (gimp
7990: 2d 69 6d 61 67 65 2d 61 64 64 2d 76 65 63 74 6f  -image-add-vecto
79a0: 72 73 20 69 6d 61 67 65 20 72 65 66 20 30 29 20  rs image ref 0) 
79b0: 3b 20 6e 6f 74 20 6e 65 63 65 73 73 61 72 79 0a  ; not necessary.
79c0: 20 20 20 20 28 67 69 6d 70 2d 76 65 63 74 6f 72      (gimp-vector
79d0: 73 2d 73 65 74 2d 6e 61 6d 65 20 72 65 66 20 22  s-set-name ref "
79e0: 72 65 66 22 29 0a 20 20 20 20 28 72 65 76 65 72  ref").    (rever
79f0: 73 65 2d 70 65 6e 74 20 72 65 66 29 0a 20 20 20  se-pent ref).   
7a00: 20 28 73 65 74 21 20 66 65 62 20 28 6d 61 6b 65   (set! feb (make
7a10: 2d 70 65 6e 74 20 69 6d 61 67 65 20 22 31 22 20  -pent image "1" 
7a20: 28 70 65 6e 74 2d 72 65 66 20 72 65 66 20 30 29  (pent-ref ref 0)
7a30: 29 29 0a 20 20 20 20 28 73 65 74 21 20 6d 61 72  )).    (set! mar
7a40: 20 28 6d 61 6b 65 2d 70 65 6e 74 20 69 6d 61 67   (make-pent imag
7a50: 65 20 22 32 22 20 20 20 20 28 70 65 6e 74 2d 72  e "2"    (pent-r
7a60: 65 66 20 72 65 66 20 31 29 29 29 0a 20 20 20 20  ef ref 1))).    
7a70: 28 73 65 74 21 20 61 70 72 20 28 6d 61 6b 65 2d  (set! apr (make-
7a80: 70 65 6e 74 20 69 6d 61 67 65 20 22 33 22 20 20  pent image "3"  
7a90: 20 20 28 70 65 6e 74 2d 72 65 66 20 72 65 66 20    (pent-ref ref 
7aa0: 32 29 29 29 0a 20 20 20 20 28 73 65 74 21 20 6d  2))).    (set! m
7ab0: 61 79 20 28 6d 61 6b 65 2d 70 65 6e 74 20 69 6d  ay (make-pent im
7ac0: 61 67 65 20 22 34 22 20 20 20 20 20 20 28 70 65  age "4"      (pe
7ad0: 6e 74 2d 72 65 66 20 72 65 66 20 33 29 29 29 0a  nt-ref ref 3))).
7ae0: 20 20 20 20 28 73 65 74 21 20 6a 75 6e 20 28 6d      (set! jun (m
7af0: 61 6b 65 2d 70 65 6e 74 20 69 6d 61 67 65 20 22  ake-pent image "
7b00: 35 22 20 20 20 20 20 28 70 65 6e 74 2d 72 65 66  5"     (pent-ref
7b10: 20 72 65 66 20 34 29 29 29 0a 0a 20 20 20 20 28   ref 4)))..    (
7b20: 67 69 6d 70 2d 69 6d 61 67 65 2d 72 65 6d 6f 76  gimp-image-remov
7b30: 65 2d 76 65 63 74 6f 72 73 20 69 6d 61 67 65 20  e-vectors image 
7b40: 72 65 66 29 0a 20 20 20 20 28 73 65 74 21 20 72  ref).    (set! r
7b50: 65 66 20 28 63 61 72 20 28 67 69 6d 70 2d 76 65  ef (car (gimp-ve
7b60: 63 74 6f 72 73 2d 63 6f 70 79 20 66 65 62 29 29  ctors-copy feb))
7b70: 29 0a 20 20 20 20 28 67 69 6d 70 2d 69 6d 61 67  ).    (gimp-imag
7b80: 65 2d 61 64 64 2d 76 65 63 74 6f 72 73 20 69 6d  e-add-vectors im
7b90: 61 67 65 20 72 65 66 20 30 29 20 3b 20 6e 6f 74  age ref 0) ; not
7ba0: 20 6e 65 63 65 73 73 61 72 79 0a 20 20 20 20 28   necessary.    (
7bb0: 67 69 6d 70 2d 76 65 63 74 6f 72 73 2d 73 65 74  gimp-vectors-set
7bc0: 2d 6e 61 6d 65 20 72 65 66 20 22 72 65 66 22 29  -name ref "ref")
7bd0: 0a 20 20 20 20 28 72 65 76 65 72 73 65 2d 70 65  .    (reverse-pe
7be0: 6e 74 20 72 65 66 29 0a 0a 20 20 20 20 28 73 65  nt ref)..    (se
7bf0: 74 21 20 74 6d 70 20 28 6d 61 6b 65 2d 70 65 6e  t! tmp (make-pen
7c00: 74 20 69 6d 61 67 65 20 22 74 6d 70 22 20 28 70  t image "tmp" (p
7c10: 65 6e 74 2d 72 65 66 20 72 65 66 20 32 29 29 29  ent-ref ref 2)))
7c20: 0a 0a 20 20 20 20 28 67 69 6d 70 2d 69 6d 61 67  ..    (gimp-imag
7c30: 65 2d 72 65 6d 6f 76 65 2d 76 65 63 74 6f 72 73  e-remove-vectors
7c40: 20 69 6d 61 67 65 20 72 65 66 29 0a 20 20 20 20   image ref).    
7c50: 28 73 65 74 21 20 72 65 66 20 28 63 61 72 20 28  (set! ref (car (
7c60: 67 69 6d 70 2d 76 65 63 74 6f 72 73 2d 63 6f 70  gimp-vectors-cop
7c70: 79 20 74 6d 70 29 29 29 0a 20 20 20 20 28 67 69  y tmp))).    (gi
7c80: 6d 70 2d 69 6d 61 67 65 2d 72 65 6d 6f 76 65 2d  mp-image-remove-
7c90: 76 65 63 74 6f 72 73 20 69 6d 61 67 65 20 74 6d  vectors image tm
7ca0: 70 29 0a 20 20 20 20 28 67 69 6d 70 2d 69 6d 61  p).    (gimp-ima
7cb0: 67 65 2d 61 64 64 2d 76 65 63 74 6f 72 73 20 69  ge-add-vectors i
7cc0: 6d 61 67 65 20 72 65 66 20 30 29 20 3b 20 6e 6f  mage ref 0) ; no
7cd0: 74 20 6e 65 63 65 73 73 61 72 79 0a 20 20 20 20  t necessary.    
7ce0: 28 67 69 6d 70 2d 76 65 63 74 6f 72 73 2d 73 65  (gimp-vectors-se
7cf0: 74 2d 6e 61 6d 65 20 72 65 66 20 22 72 65 66 22  t-name ref "ref"
7d00: 29 0a 20 20 20 20 28 72 65 76 65 72 73 65 2d 70  ).    (reverse-p
7d10: 65 6e 74 20 72 65 66 29 0a 0a 20 20 20 20 28 73  ent ref)..    (s
7d20: 65 74 21 20 64 65 63 20 28 6d 61 6b 65 2d 70 65  et! dec (make-pe
7d30: 6e 74 20 69 6d 61 67 65 20 22 31 31 22 20 28 70  nt image "11" (p
7d40: 65 6e 74 2d 72 65 66 20 72 65 66 20 31 29 29 29  ent-ref ref 1)))
7d50: 0a 0a 20 20 20 20 28 67 69 6d 70 2d 69 6d 61 67  ..    (gimp-imag
7d60: 65 2d 72 65 6d 6f 76 65 2d 76 65 63 74 6f 72 73  e-remove-vectors
7d70: 20 69 6d 61 67 65 20 72 65 66 29 0a 20 20 20 20   image ref).    
7d80: 28 73 65 74 21 20 72 65 66 20 28 63 61 72 20 28  (set! ref (car (
7d90: 67 69 6d 70 2d 76 65 63 74 6f 72 73 2d 63 6f 70  gimp-vectors-cop
7da0: 79 20 64 65 63 29 29 29 0a 20 20 20 20 28 67 69  y dec))).    (gi
7db0: 6d 70 2d 69 6d 61 67 65 2d 61 64 64 2d 76 65 63  mp-image-add-vec
7dc0: 74 6f 72 73 20 69 6d 61 67 65 20 72 65 66 20 30  tors image ref 0
7dd0: 29 20 3b 20 6e 6f 74 20 6e 65 63 65 73 73 61 72  ) ; not necessar
7de0: 79 0a 20 20 20 20 28 67 69 6d 70 2d 76 65 63 74  y.    (gimp-vect
7df0: 6f 72 73 2d 73 65 74 2d 6e 61 6d 65 20 72 65 66  ors-set-name ref
7e00: 20 22 72 65 66 22 29 0a 20 20 20 20 28 72 65 76   "ref").    (rev
7e10: 65 72 73 65 2d 70 65 6e 74 20 72 65 66 29 0a 0a  erse-pent ref)..
7e20: 20 20 20 20 28 73 65 74 21 20 6a 75 6c 20 28 6d      (set! jul (m
7e30: 61 6b 65 2d 70 65 6e 74 20 69 6d 61 67 65 20 22  ake-pent image "
7e40: 36 22 20 28 70 65 6e 74 2d 72 65 66 20 72 65 66  6" (pent-ref ref
7e50: 20 31 29 29 29 0a 20 20 20 20 28 73 65 74 21 20   1))).    (set! 
7e60: 61 75 67 20 28 6d 61 6b 65 2d 70 65 6e 74 20 69  aug (make-pent i
7e70: 6d 61 67 65 20 22 37 22 20 20 20 28 70 65 6e 74  mage "7"   (pent
7e80: 2d 72 65 66 20 72 65 66 20 32 29 29 29 0a 20 20  -ref ref 2))).  
7e90: 20 20 28 73 65 74 21 20 73 65 70 20 28 6d 61 6b    (set! sep (mak
7ea0: 65 2d 70 65 6e 74 20 69 6d 61 67 65 20 22 38 22  e-pent image "8"
7eb0: 20 28 70 65 6e 74 2d 72 65 66 20 72 65 66 20 33   (pent-ref ref 3
7ec0: 29 29 29 0a 20 20 20 20 28 73 65 74 21 20 6f 63  ))).    (set! oc
7ed0: 74 20 28 6d 61 6b 65 2d 70 65 6e 74 20 69 6d 61  t (make-pent ima
7ee0: 67 65 20 22 39 22 20 20 28 70 65 6e 74 2d 72 65  ge "9"  (pent-re
7ef0: 66 20 72 65 66 20 34 29 29 29 0a 20 20 20 20 28  f ref 4))).    (
7f00: 73 65 74 21 20 6e 6f 76 20 28 6d 61 6b 65 2d 70  set! nov (make-p
7f10: 65 6e 74 20 69 6d 61 67 65 20 22 31 30 22 20 20  ent image "10"  
7f20: 28 70 65 6e 74 2d 72 65 66 20 72 65 66 20 30 29  (pent-ref ref 0)
7f30: 29 29 0a 20 20 20 20 28 67 69 6d 70 2d 69 6d 61  )).    (gimp-ima
7f40: 67 65 2d 72 65 6d 6f 76 65 2d 76 65 63 74 6f 72  ge-remove-vector
7f50: 73 20 69 6d 61 67 65 20 72 65 66 29 0a 0a 20 20  s image ref)..  
7f60: 20 20 28 73 65 74 21 20 70 65 6e 74 73 20 28 6c    (set! pents (l
7f70: 69 73 74 20 6a 61 6e 20 66 65 62 20 6d 61 72 20  ist jan feb mar 
7f80: 61 70 72 20 6d 61 79 20 6a 75 6e 20 6a 75 6c 20  apr may jun jul 
7f90: 61 75 67 20 73 65 70 20 6f 63 74 20 6e 6f 76 20  aug sep oct nov 
7fa0: 64 65 63 29 29 0a 0a 20 20 20 20 28 73 65 74 21  dec))..    (set!
7fb0: 20 74 61 62 2d 6a 75 6e 20 28 6d 61 6b 65 2d 74   tab-jun (make-t
7fc0: 61 62 20 69 6d 61 67 65 20 22 74 61 62 2d 6a 75  ab image "tab-ju
7fd0: 6e 22 20 6a 75 6e 29 29 0a 20 20 20 20 28 73 65  n" jun)).    (se
7fe0: 74 21 20 74 61 62 73 20 28 63 6f 6e 73 20 74 61  t! tabs (cons ta
7ff0: 62 2d 6a 75 6e 20 74 61 62 73 29 29 0a 0a 20 20  b-jun tabs))..  
8000: 20 20 28 73 65 74 21 20 74 61 62 2d 6d 61 79 20    (set! tab-may 
8010: 28 6d 61 6b 65 2d 74 61 62 20 69 6d 61 67 65 20  (make-tab image 
8020: 22 74 61 62 2d 6d 61 79 22 20 6d 61 79 29 29 0a  "tab-may" may)).
8030: 20 20 20 20 28 73 65 74 21 20 74 61 62 73 20 28      (set! tabs (
8040: 63 6f 6e 73 20 74 61 62 2d 6d 61 79 20 74 61 62  cons tab-may tab
8050: 73 29 29 0a 0a 20 20 20 20 28 73 65 74 21 20 74  s))..    (set! t
8060: 61 62 2d 61 70 72 20 28 6d 61 6b 65 2d 74 61 62  ab-apr (make-tab
8070: 20 69 6d 61 67 65 20 22 74 61 62 2d 61 70 72 22   image "tab-apr"
8080: 20 61 70 72 29 29 0a 20 20 20 20 28 73 65 74 21   apr)).    (set!
8090: 20 74 61 62 73 20 28 63 6f 6e 73 20 74 61 62 2d   tabs (cons tab-
80a0: 61 70 72 20 74 61 62 73 29 29 0a 0a 20 20 20 20  apr tabs))..    
80b0: 28 73 65 74 21 20 74 61 62 2d 6d 61 72 20 28 6d  (set! tab-mar (m
80c0: 61 6b 65 2d 74 61 62 20 69 6d 61 67 65 20 22 74  ake-tab image "t
80d0: 61 62 2d 6d 61 72 22 20 6d 61 72 29 29 0a 20 20  ab-mar" mar)).  
80e0: 20 20 28 73 65 74 21 20 74 61 62 73 20 28 63 6f    (set! tabs (co
80f0: 6e 73 20 74 61 62 2d 6d 61 72 20 74 61 62 73 29  ns tab-mar tabs)
8100: 29 0a 20 0a 20 20 20 20 28 6d 61 6b 65 2d 6d 6f  ). .    (make-mo
8110: 6e 74 68 73 20 62 67 2d 6c 61 79 65 72 20 70 65  nths bg-layer pe
8120: 6e 74 73 29 20 0a 20 20 20 20 28 73 65 74 21 20  nts) .    (set! 
8130: 74 65 78 74 2d 6c 61 79 65 72 73 20 28 62 75 74  text-layers (but
8140: 6c 61 73 74 20 28 76 65 63 74 6f 72 2d 3e 6c 69  last (vector->li
8150: 73 74 20 28 63 61 64 72 20 28 67 69 6d 70 2d 69  st (cadr (gimp-i
8160: 6d 61 67 65 2d 67 65 74 2d 6c 61 79 65 72 73 20  mage-get-layers 
8170: 69 6d 61 67 65 29 29 29 29 29 0a 20 20 20 20 28  image))))).    (
8180: 77 68 65 6e 20 28 61 6e 64 20 28 3d 20 75 73 65  when (and (= use
8190: 2d 66 61 63 65 74 2d 69 6d 61 67 65 20 54 52 55  -facet-image TRU
81a0: 45 29 20 28 3d 20 28 63 61 72 20 28 67 69 6d 70  E) (= (car (gimp
81b0: 2d 69 6d 61 67 65 2d 69 73 2d 76 61 6c 69 64 20  -image-is-valid 
81c0: 66 61 63 65 74 2d 69 6d 61 67 65 29 29 20 54 52  facet-image)) TR
81d0: 55 45 29 29 0a 20 20 20 20 20 20 28 73 65 74 21  UE)).      (set!
81e0: 20 66 61 63 65 74 73 20 28 76 65 63 74 6f 72 2d   facets (vector-
81f0: 3e 6c 69 73 74 20 28 63 61 64 72 20 28 67 69 6d  >list (cadr (gim
8200: 70 2d 69 6d 61 67 65 2d 67 65 74 2d 6c 61 79 65  p-image-get-laye
8210: 72 73 20 66 61 63 65 74 2d 69 6d 61 67 65 29 29  rs facet-image))
8220: 29 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20  )).      (while 
8230: 28 3c 3d 20 28 6c 65 6e 67 74 68 20 66 61 63 65  (<= (length face
8240: 74 73 29 20 31 32 29 0a 20 20 20 20 20 20 20 20  ts) 12).        
8250: 28 73 65 74 21 20 66 61 63 65 74 73 20 28 61 70  (set! facets (ap
8260: 70 65 6e 64 20 66 61 63 65 74 73 20 66 61 63 65  pend facets face
8270: 74 73 29 29 20 29 0a 20 20 20 20 20 20 28 73 65  ts)) ).      (se
8280: 74 21 20 66 61 63 65 74 73 20 28 72 65 76 65 72  t! facets (rever
8290: 73 65 20 28 6c 69 73 74 2d 74 61 69 6c 20 66 61  se (list-tail fa
82a0: 63 65 74 73 20 28 2d 20 28 6c 65 6e 67 74 68 20  cets (- (length 
82b0: 66 61 63 65 74 73 29 20 31 32 29 29 29 29 0a 20  facets) 12)))). 
82c0: 20 20 20 20 20 28 63 6f 70 79 2d 66 61 63 65 74       (copy-facet
82d0: 73 20 69 6d 61 67 65 20 62 67 2d 6c 61 79 65 72  s image bg-layer
82e0: 20 66 61 63 65 74 2d 69 6d 61 67 65 20 66 61 63   facet-image fac
82f0: 65 74 73 20 70 65 6e 74 73 29 20 29 0a 0a 20 20  ets pents) )..  
8300: 20 20 28 67 69 6d 70 2d 63 6f 6e 74 65 78 74 2d    (gimp-context-
8310: 73 65 74 2d 70 61 69 6e 74 2d 6d 65 74 68 6f 64  set-paint-method
8320: 20 22 67 69 6d 70 2d 70 61 69 6e 74 62 72 75 73   "gimp-paintbrus
8330: 68 22 29 0a 20 20 20 20 28 67 69 6d 70 2d 63 6f  h").    (gimp-co
8340: 6e 74 65 78 74 2d 73 65 74 2d 66 6f 72 65 67 72  ntext-set-foregr
8350: 6f 75 6e 64 20 27 28 31 32 38 20 31 32 38 20 31  ound '(128 128 1
8360: 32 38 29 29 0a 20 20 20 20 28 67 69 6d 70 2d 63  28)).    (gimp-c
8370: 6f 6e 74 65 78 74 2d 73 65 74 2d 62 72 75 73 68  ontext-set-brush
8380: 20 22 43 69 72 63 6c 65 20 28 30 31 29 22 29 0a   "Circle (01)").
8390: 20 20 20 20 28 73 65 74 21 20 66 6f 6c 64 73 2d      (set! folds-
83a0: 6c 61 79 65 72 20 28 63 61 72 20 28 67 69 6d 70  layer (car (gimp
83b0: 2d 6c 61 79 65 72 2d 6e 65 77 20 69 6d 61 67 65  -layer-new image
83c0: 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20   .              
83d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
83e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61               (ca
83f0: 72 20 28 67 69 6d 70 2d 69 6d 61 67 65 2d 77 69  r (gimp-image-wi
8400: 64 74 68 20 69 6d 61 67 65 29 29 0a 20 20 20 20  dth image)).    
8410: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
8420: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
8430: 20 20 20 20 20 20 20 28 63 61 72 20 28 67 69 6d         (car (gim
8440: 70 2d 69 6d 61 67 65 2d 68 65 69 67 68 74 20 69  p-image-height i
8450: 6d 61 67 65 29 29 0a 20 20 20 20 20 20 20 20 20  mage)).         
8460: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
8470: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
8480: 20 20 52 47 42 41 2d 49 4d 41 47 45 20 0a 20 20    RGBA-IMAGE .  
8490: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
84a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
84b0: 20 20 20 20 20 20 20 20 20 22 46 6f 6c 64 73 22           "Folds"
84c0: 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20   .              
84d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
84e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 31 30 30               100
84f0: 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20   .              
8500: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
8510: 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 4f 52               NOR
8520: 4d 41 4c 2d 4d 4f 44 45 20 29 29 29 0a 20 20 20  MAL-MODE ))).   
8530: 20 28 67 69 6d 70 2d 69 6d 61 67 65 2d 61 64 64   (gimp-image-add
8540: 2d 6c 61 79 65 72 20 69 6d 61 67 65 20 66 6f 6c  -layer image fol
8550: 64 73 2d 6c 61 79 65 72 20 30 29 0a 20 20 20 20  ds-layer 0).    
8560: 28 67 69 6d 70 2d 64 72 61 77 61 62 6c 65 2d 66  (gimp-drawable-f
8570: 69 6c 6c 20 66 6f 6c 64 73 2d 6c 61 79 65 72 20  ill folds-layer 
8580: 54 52 41 4e 53 50 41 52 45 4e 54 2d 46 49 4c 4c  TRANSPARENT-FILL
8590: 29 0a 20 20 20 20 28 6d 61 70 20 28 6c 61 6d 62  ).    (map (lamb
85a0: 64 61 20 28 70 61 74 68 29 0a 20 20 20 20 20 20  da (path).      
85b0: 20 20 20 20 20 20 28 67 69 6d 70 2d 65 64 69 74        (gimp-edit
85c0: 2d 73 74 72 6f 6b 65 2d 76 65 63 74 6f 72 73 20  -stroke-vectors 
85d0: 66 6f 6c 64 73 2d 6c 61 79 65 72 20 70 61 74 68  folds-layer path
85e0: 29 29 0a 20 20 20 20 20 20 20 20 20 28 61 70 70  )).         (app
85f0: 65 6e 64 20 74 61 62 73 20 70 65 6e 74 73 29 20  end tabs pents) 
8600: 29 0a 20 20 20 20 28 6d 61 70 20 28 6c 61 6d 62  ).    (map (lamb
8610: 64 61 20 28 6c 61 79 65 72 29 20 28 67 69 6d 70  da (layer) (gimp
8620: 2d 64 72 61 77 61 62 6c 65 2d 73 65 74 2d 76 69  -drawable-set-vi
8630: 73 69 62 6c 65 20 6c 61 79 65 72 20 46 41 4c 53  sible layer FALS
8640: 45 29 29 0a 20 20 20 20 20 20 20 20 20 28 76 65  E)).         (ve
8650: 63 74 6f 72 2d 3e 6c 69 73 74 20 28 63 61 64 72  ctor->list (cadr
8660: 20 28 67 69 6d 70 2d 69 6d 61 67 65 2d 67 65 74   (gimp-image-get
8670: 2d 6c 61 79 65 72 73 20 69 6d 61 67 65 29 29 29  -layers image)))
8680: 20 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 28   ).    (unless (
8690: 6e 75 6c 6c 3f 20 66 61 63 65 74 2d 6c 61 79 65  null? facet-laye
86a0: 72 73 29 0a 20 20 20 20 20 20 28 6d 61 70 20 28  rs).      (map (
86b0: 6c 61 6d 62 64 61 20 28 6c 61 79 65 72 29 20 28  lambda (layer) (
86c0: 67 69 6d 70 2d 64 72 61 77 61 62 6c 65 2d 73 65  gimp-drawable-se
86d0: 74 2d 76 69 73 69 62 6c 65 20 6c 61 79 65 72 20  t-visible layer 
86e0: 54 52 55 45 29 29 0a 20 20 20 20 20 20 20 20 20  TRUE)).         
86f0: 66 61 63 65 74 2d 6c 61 79 65 72 73 20 29 0a 20  facet-layers ). 
8700: 20 20 20 20 20 28 73 65 74 21 20 73 75 72 66 61       (set! surfa
8710: 63 65 2d 6c 61 79 65 72 20 28 63 61 72 20 28 67  ce-layer (car (g
8720: 69 6d 70 2d 69 6d 61 67 65 2d 6d 65 72 67 65 2d  imp-image-merge-
8730: 76 69 73 69 62 6c 65 2d 6c 61 79 65 72 73 20 69  visible-layers i
8740: 6d 61 67 65 20 45 58 50 41 4e 44 2d 41 53 2d 4e  mage EXPAND-AS-N
8750: 45 43 45 53 53 41 52 59 29 29 29 0a 20 20 20 20  ECESSARY))).    
8760: 20 20 28 67 69 6d 70 2d 64 72 61 77 61 62 6c 65    (gimp-drawable
8770: 2d 73 65 74 2d 6e 61 6d 65 20 73 75 72 66 61 63  -set-name surfac
8780: 65 2d 6c 61 79 65 72 20 22 41 6c 6c 20 66 61 63  e-layer "All fac
8790: 65 74 73 22 29 0a 20 20 20 20 20 20 28 67 69 6d  ets").      (gim
87a0: 70 2d 6c 61 79 65 72 2d 72 65 73 69 7a 65 2d 74  p-layer-resize-t
87b0: 6f 2d 69 6d 61 67 65 2d 73 69 7a 65 20 73 75 72  o-image-size sur
87c0: 66 61 63 65 2d 6c 61 79 65 72 29 0a 20 20 20 20  face-layer).    
87d0: 20 20 28 67 69 6d 70 2d 64 72 61 77 61 62 6c 65    (gimp-drawable
87e0: 2d 73 65 74 2d 76 69 73 69 62 6c 65 20 73 75 72  -set-visible sur
87f0: 66 61 63 65 2d 6c 61 79 65 72 20 46 41 4c 53 45  face-layer FALSE
8800: 29 20 29 0a 20 20 20 20 28 6d 61 70 20 28 6c 61  ) ).    (map (la
8810: 6d 62 64 61 20 28 6c 61 79 65 72 29 20 28 67 69  mbda (layer) (gi
8820: 6d 70 2d 64 72 61 77 61 62 6c 65 2d 73 65 74 2d  mp-drawable-set-
8830: 76 69 73 69 62 6c 65 20 6c 61 79 65 72 20 54 52  visible layer TR
8840: 55 45 29 29 0a 20 20 20 20 20 20 20 20 20 74 65  UE)).         te
8850: 78 74 2d 6c 61 79 65 72 73 20 29 0a 20 20 20 20  xt-layers ).    
8860: 28 73 65 74 21 20 74 65 78 74 2d 6c 61 79 65 72  (set! text-layer
8870: 20 28 63 61 72 20 28 67 69 6d 70 2d 69 6d 61 67   (car (gimp-imag
8880: 65 2d 6d 65 72 67 65 2d 76 69 73 69 62 6c 65 2d  e-merge-visible-
8890: 6c 61 79 65 72 73 20 69 6d 61 67 65 20 45 58 50  layers image EXP
88a0: 41 4e 44 2d 41 53 2d 4e 45 43 45 53 53 41 52 59  AND-AS-NECESSARY
88b0: 29 29 29 0a 20 20 20 20 28 67 69 6d 70 2d 64 72  ))).    (gimp-dr
88c0: 61 77 61 62 6c 65 2d 73 65 74 2d 6e 61 6d 65 20  awable-set-name 
88d0: 74 65 78 74 2d 6c 61 79 65 72 20 22 41 6c 6c 20  text-layer "All 
88e0: 74 65 78 74 22 29 0a 20 20 20 20 28 67 69 6d 70  text").    (gimp
88f0: 2d 6c 61 79 65 72 2d 72 65 73 69 7a 65 2d 74 6f  -layer-resize-to
8900: 2d 69 6d 61 67 65 2d 73 69 7a 65 20 74 65 78 74  -image-size text
8910: 2d 6c 61 79 65 72 29 0a 20 20 20 20 28 6d 61 70  -layer).    (map
8920: 20 28 6c 61 6d 62 64 61 20 28 6c 61 79 65 72 29   (lambda (layer)
8930: 20 28 67 69 6d 70 2d 64 72 61 77 61 62 6c 65 2d   (gimp-drawable-
8940: 73 65 74 2d 76 69 73 69 62 6c 65 20 6c 61 79 65  set-visible laye
8950: 72 20 54 52 55 45 29 29 0a 20 20 20 20 20 20 20  r TRUE)).       
8960: 20 20 28 76 65 63 74 6f 72 2d 3e 6c 69 73 74 20    (vector->list 
8970: 28 63 61 64 72 20 28 67 69 6d 70 2d 69 6d 61 67  (cadr (gimp-imag
8980: 65 2d 67 65 74 2d 6c 61 79 65 72 73 20 69 6d 61  e-get-layers ima
8990: 67 65 29 29 29 20 29 0a 20 20 20 20 28 67 69 6d  ge))) ).    (gim
89a0: 70 2d 69 6d 61 67 65 2d 73 65 74 2d 61 63 74 69  p-image-set-acti
89b0: 76 65 2d 6c 61 79 65 72 20 69 6d 61 67 65 20 62  ve-layer image b
89c0: 67 2d 6c 61 79 65 72 29 0a 20 20 20 20 28 67 69  g-layer).    (gi
89d0: 6d 70 2d 73 65 6c 65 63 74 69 6f 6e 2d 6e 6f 6e  mp-selection-non
89e0: 65 20 69 6d 61 67 65 29 0a 20 20 20 20 28 67 69  e image).    (gi
89f0: 6d 70 2d 63 6f 6e 74 65 78 74 2d 70 6f 70 29 0a  mp-context-pop).
8a00: 20 20 20 20 28 67 69 6d 70 2d 69 6d 61 67 65 2d      (gimp-image-
8a10: 75 6e 64 6f 2d 65 6e 61 62 6c 65 20 69 6d 61 67  undo-enable imag
8a20: 65 29 0a 20 20 20 20 28 67 69 6d 70 2d 64 69 73  e).    (gimp-dis
8a30: 70 6c 61 79 73 2d 66 6c 75 73 68 29 0a 20 20 20  plays-flush).   
8a40: 20 29 0a 20 20 29 0a 0a 28 73 63 72 69 70 74 2d   ).  )..(script-
8a50: 66 75 2d 72 65 67 69 73 74 65 72 20 22 73 63 72  fu-register "scr
8a60: 69 70 74 2d 66 75 2d 73 67 2d 70 6c 61 74 6f 6e  ipt-fu-sg-platon
8a70: 69 63 2d 63 61 6c 65 6e 64 61 72 22 0a 20 20 22  ic-calendar".  "
8a80: 50 6c 61 74 6f 6e 69 63 20 63 61 6c 65 6e 64 61  Platonic calenda
8a90: 72 2e 2e 2e 22 0a 20 20 22 47 65 6e 65 72 61 74  r...".  "Generat
8aa0: 65 20 61 20 64 6f 64 65 63 61 68 65 64 72 6f 6e  e a dodecahedron
8ab0: 20 77 69 74 68 20 61 20 6d 6f 6e 74 68 6c 79 20   with a monthly 
8ac0: 63 61 6c 65 6e 64 61 72 20 6f 6e 20 65 61 63 68  calendar on each
8ad0: 20 66 61 63 65 22 0a 20 20 22 53 61 75 6c 20 47   face".  "Saul G
8ae0: 6f 6f 64 65 22 0a 20 20 22 53 61 75 6c 20 47 6f  oode".  "Saul Go
8af0: 6f 64 65 22 0a 20 20 22 75 70 64 61 74 65 64 20  ode".  "updated 
8b00: 4a 61 6e 20 32 30 31 32 22 0a 20 20 22 22 0a 20  Jan 2012".  "". 
8b10: 20 53 46 2d 41 44 4a 55 53 54 4d 45 4e 54 20 22   SF-ADJUSTMENT "
8b20: 45 64 67 65 20 6c 65 6e 67 74 68 22 20 27 28 34  Edge length" '(4
8b30: 30 30 20 31 30 30 20 31 35 30 30 20 31 20 31 30  00 100 1500 1 10
8b40: 20 30 20 31 29 0a 20 20 53 46 2d 4f 50 54 49 4f   0 1).  SF-OPTIO
8b50: 4e 20 22 42 61 6e 6e 65 72 20 66 6f 72 6d 61 74  N "Banner format
8b60: 22 20 27 28 22 59 65 61 72 20 61 74 20 62 6f 74  " '("Year at bot
8b70: 74 6f 6d 22 20 22 59 65 61 72 20 74 68 65 6e 20  tom" "Year then 
8b80: 4d 6f 6e 74 68 20 28 68 6f 72 69 7a 29 22 20 22  Month (horiz)" "
8b90: 4d 6f 6e 74 68 20 74 68 65 6e 20 59 65 61 72 28  Month then Year(
8ba0: 68 6f 72 69 7a 29 22 0a 20 20 20 20 20 20 20 20  horiz)".        
8bb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
8bc0: 20 20 20 20 20 20 20 22 59 65 61 72 20 6f 76 65         "Year ove
8bd0: 72 20 4d 6f 6e 74 68 20 65 71 75 61 6c 20 73 69  r Month equal si
8be0: 7a 65 22 20 22 4c 61 72 67 65 20 4d 6f 6e 74 68  ze" "Large Month
8bf0: 20 75 6e 64 65 72 20 59 65 61 72 22 20 22 53 6d   under Year" "Sm
8c00: 61 6c 6c 20 4d 6f 6e 74 68 20 75 6e 64 65 72 20  all Month under 
8c10: 59 65 61 72 22 20 29 0a 20 20 53 46 2d 4f 50 54  Year" ).  SF-OPT
8c20: 49 4f 4e 20 22 4c 61 6e 67 75 61 67 65 22 20 73  ION "Language" s
8c30: 67 2d 63 61 6c 65 6e 64 61 72 2d 6c 61 6e 67 75  g-calendar-langu
8c40: 61 67 65 73 0a 20 20 53 46 2d 41 44 4a 55 53 54  ages.  SF-ADJUST
8c50: 4d 45 4e 54 20 22 59 65 61 72 22 20 27 28 20 32  MENT "Year" '( 2
8c60: 30 31 35 20 31 37 35 33 20 32 30 35 30 20 31 20  015 1753 2050 1 
8c70: 31 30 20 30 20 31 20 29 0a 20 20 53 46 2d 54 4f  10 0 1 ).  SF-TO
8c80: 47 47 4c 45 20 22 53 75 6e 64 61 79 20 66 69 72  GGLE "Sunday fir
8c90: 73 74 22 20 54 52 55 45 0a 20 20 53 46 2d 4f 50  st" TRUE.  SF-OP
8ca0: 54 49 4f 4e 20 22 44 61 79 20 66 6f 72 6d 61 74  TION "Day format
8cb0: 22 20 27 28 22 53 20 4d 20 54 20 2e 2e 2e 22 20  " '("S M T ..." 
8cc0: 22 53 75 20 4d 6f 20 54 75 20 2e 2e 2e 22 20 22  "Su Mo Tu ..." "
8cd0: 53 75 6e 20 4d 6f 6e 20 54 75 65 20 2e 2e 2e 22  Sun Mon Tue ..."
8ce0: 29 0a 20 20 53 46 2d 4f 50 54 49 4f 4e 20 22 4c  ).  SF-OPTION "L
8cf0: 61 79 6f 75 74 22 20 27 28 20 22 41 6c 6c 6f 77  ayout" '( "Allow
8d00: 20 36 2d 77 65 65 6b 20 73 70 61 6e 22 20 22 46   6-week span" "F
8d10: 6f 72 63 65 20 36 2d 77 65 65 6b 20 73 70 61 6e  orce 6-week span
8d20: 22 20 22 57 72 61 70 20 57 65 65 6b 20 36 20 74  " "Wrap Week 6 t
8d30: 6f 20 57 65 65 6b 20 31 22 20 22 57 72 61 70 20  o Week 1" "Wrap 
8d40: 57 65 65 6b 20 36 20 74 6f 20 57 65 65 6b 20 35  Week 6 to Week 5
8d50: 22 29 0a 20 20 53 46 2d 46 4f 4e 54 20 22 54 65  ").  SF-FONT "Te
8d60: 78 74 20 66 6f 6e 74 22 20 22 53 61 6e 73 22 20  xt font" "Sans" 
8d70: 0a 20 20 53 46 2d 46 4f 4e 54 20 22 4e 75 6d 62  .  SF-FONT "Numb
8d80: 65 72 20 66 6f 6e 74 22 20 22 53 61 6e 73 22 20  er font" "Sans" 
8d90: 0a 20 20 53 46 2d 41 44 4a 55 53 54 4d 45 4e 54  .  SF-ADJUSTMENT
8da0: 20 22 46 6f 6e 74 20 53 69 7a 65 20 28 25 20 6f   "Font Size (% o
8db0: 66 20 6d 61 78 69 6d 75 6d 29 22 20 27 28 20 38  f maximum)" '( 8
8dc0: 35 20 30 20 31 30 30 20 31 20 31 30 20 30 20 31  5 0 100 1 10 0 1
8dd0: 29 0a 20 20 53 46 2d 54 4f 47 47 4c 45 20 22 52  ).  SF-TOGGLE "R
8de0: 69 67 68 74 20 4a 75 73 74 69 66 79 22 20 54 52  ight Justify" TR
8df0: 55 45 0a 20 20 53 46 2d 4f 50 54 49 4f 4e 20 22  UE.  SF-OPTION "
8e00: 44 61 74 65 20 50 6f 73 69 74 69 6f 6e 22 20 27  Date Position" '
8e10: 28 20 22 74 6f 70 2d 6c 65 66 74 22 20 22 74 6f  ( "top-left" "to
8e20: 70 2d 63 65 6e 74 65 72 22 20 22 74 6f 70 2d 72  p-center" "top-r
8e30: 69 67 68 74 22 20 22 6c 65 66 74 2d 63 65 6e 74  ight" "left-cent
8e40: 65 72 22 20 22 63 65 6e 74 65 72 22 20 22 72 69  er" "center" "ri
8e50: 67 68 74 2d 63 65 6e 74 65 72 22 20 22 62 6f 74  ght-center" "bot
8e60: 74 6f 6d 2d 6c 65 66 74 22 20 22 62 6f 74 74 6f  tom-left" "botto
8e70: 6d 2d 63 65 6e 74 65 72 22 20 22 62 6f 74 74 6f  m-center" "botto
8e80: 6d 2d 72 69 67 68 74 22 29 0a 20 20 53 46 2d 54  m-right").  SF-T
8e90: 4f 47 47 4c 45 20 20 20 22 55 73 65 20 66 61 63  OGGLE   "Use fac
8ea0: 65 74 20 69 6d 61 67 65 22 20 46 41 4c 53 45 0a  et image" FALSE.
8eb0: 20 20 53 46 2d 49 4d 41 47 45 20 20 20 20 22 49    SF-IMAGE    "I
8ec0: 6d 61 67 65 22 20 20 20 20 30 0a 20 20 29 0a 0a  mage"    0.  )..
8ed0: 28 73 63 72 69 70 74 2d 66 75 2d 6d 65 6e 75 2d  (script-fu-menu-
8ee0: 72 65 67 69 73 74 65 72 20 22 73 63 72 69 70 74  register "script
8ef0: 2d 66 75 2d 73 67 2d 70 6c 61 74 6f 6e 69 63 2d  -fu-sg-platonic-
8f00: 63 61 6c 65 6e 64 61 72 22 0a 20 20 22 3c 49 6d  calendar".  "<Im
8f10: 61 67 65 3e 2f 46 69 6c 65 2f 43 72 65 61 74 65  age>/File/Create
8f20: 22 0a 20 20 29 0a                                ".  ).