home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 5 / Amiga Tools 5.iso / tools / usefull / ww_makefontlist / fontliste.rexx < prev    next >
Encoding:
OS/2 REXX Batch file  |  1996-05-29  |  3.9 KB  |  165 lines

  1.     /* Fontliste für Wordworth 5 erstellen    */
  2.    /*  V 1.1. 22.5.96- 29.5.96 Heiko Kuschel */
  3.   /*   Placed in the Public Domain.         */
  4.  /*    Do with it what you want.           */
  5. /*     no warranties etc.                 */
  6.  
  7.  
  8.  
  9.  /* -----------------------------------------*/
  10. /*  Fontgröße und Beispieltext hier ändern: */
  11.  
  12. FontGroesse="15pt"
  13. Text1="ABCDEFG HIJKLMNOP QRSTUVW XYZÄÖÜ"
  14. Text2="abcdefg hijklmnop qrstuvw xyzäöüß"
  15. Text3="12345 67890 !§$%& /()=?"
  16.  
  17. /* --------------------------------------*/
  18.  
  19.  
  20.  
  21.  
  22. signal on error
  23. DO Num = 1 to 20
  24.     WwPort = "WORDWORTH." || Num
  25.     IF SHOW(PORTS, WwPort) THEN DO
  26.         Address Value WwPort
  27.         leave Num
  28.     end
  29. end
  30. if num=21 then do
  31.     echo "Wordworth nicht gefunden! Programm endet."
  32.     exit
  33.     end
  34. OPTIONS RESULTS
  35.  
  36. NEW
  37. PORTNAME=RESULT
  38. ADDRESS VALUE PORTNAME
  39. OPEN Filename "Env:Wordworth/WWFonts"
  40. Gettext
  41. Pfad=Result
  42. selectall
  43. delete
  44. Do Until Dateiname~=""
  45.   REQUESTFILE title "Bitte Namen für Fontliste angeben." path Pfad"//" File Fontliste
  46.   Dateiname = Result
  47. end
  48. Erfolg=open(Fontsdatei,Pfad"/UFST/FontList","R")   /* Zeilen zählen. Mit WW5 nicht möglich.*/
  49. Zeilen=-1
  50. do until eof(Fontsdatei)
  51. Zeilen=Zeilen+1
  52. b=readln(Fontsdatei)
  53. end
  54.  
  55.  
  56. if Zeilen > 80 then do
  57.     Punkt="."
  58.     do until ((Teile<(Zeilen/5))&(Teile>=1))
  59.        wizardreq title "Wie viele Teile?" label "Sie haben "||Zeilen||" Zeichensätze installiert." label "Möglicherweise reicht der Speicher nicht aus, um" Label "alle Fonts auf einmal darzustellen. In wie vielen" Label "Teilen soll die Fontliste generiert werden?" label "Empfohlen: mindestens "||((Zeilen%80)+1) textbox 1 "_Teile:" Button 1 "_Ok" Button "-1" "_Abbruch"
  60.        if result = "-1" then do
  61.         exit
  62.        end
  63.        else do
  64.      nop
  65.        end
  66.        Wizard_Gettextbox (1)
  67.        Teile=Result
  68.        if (Teile>=(Zeilen/5))|(Teile<1) then do
  69.      Wizardreq Title "Problem" label "Die Antwort ist nicht sinnvoll." label "Sie haben "||Zeilen||" Zeichensätze." Button 1 "_OK" Button "-1" "_Abbruch"
  70.      if result = "-1" then do
  71.        Exit
  72.       end
  73.        end
  74.     end
  75.     if Teile>1 then do
  76.       wizardreq Title "Hinweis" label "Die einzelnen Teile werden unter den Namen" label Dateiname||".1 bis" label Dateiname||"."||Teile||" abgespeichert" button 1 "_OK" button 2 "_Neu auswählen" button "-1" "_Abbruch"
  77.       Knopf=Result
  78.       select
  79.       When Knopf=2 then do Until Dateiname~=""
  80.       REQUESTFILE title "Bitte Namen für Fontliste angeben." path Pfad"//" File Fontliste
  81.       Dateiname = Result
  82.       end
  83.       When Knopf="-1" then do
  84.     exit
  85.       end
  86.       otherwise do
  87.     nop
  88.       end
  89.       end
  90.     end
  91. end
  92. else do
  93.   Teile=1
  94. end
  95. Rest=0
  96. do Teil = 1 to Teile
  97. open Filename Pfad"/UFST/FontList" force
  98. saveas name Dateiname   /*Damit nicht aus Versehen die Fontlist überschrieben wird*/
  99. selectall
  100. sortascending
  101. position eof
  102. newparagraph  /* sonst funktioniert Suchen und Ersetzen in der letzten Zeile nicht */
  103. if Teil > 1 then do
  104.   gotoline (Zeilen%Teile)+(Teil-2)*(Zeilen%Teile)-1
  105.   ctrldown
  106.   cursor Right
  107.   ctrldown
  108.   shiftdown
  109.   cursor up
  110.   ctrlup
  111.   shiftup
  112.   delete
  113.   delete
  114.   end
  115. if Teil < Teile then do
  116.   gotoline (Zeilen%Teile)
  117.   ctrldown
  118.   cursor left
  119.   ctrldown
  120.   shiftdown
  121.   cursor down
  122.   ctrlup
  123.   shiftup
  124.   delete
  125.   end
  126. if Teil=Teile Then Rest=(Zeilen//Teile)    /* ergibt den Rest */
  127. POSITION SOF
  128. FINDCHANGE ALL FIND ",\*,?¶" CHANGE "¶¶"
  129. POSITION SOF
  130. DO ZAEHLER=1 TO ((Zeilen%Teile)+Rest)      /* ganzzahlige Division */
  131.   CTRLDOWN
  132.   CURSOR LEFT
  133.   CTRLDOWN
  134.   SHIFTDOWN
  135.   CURSOR RIGHT
  136.   GETTEXT
  137.   FONTNAME=RESULT
  138.   CTRLUP
  139.   SHIFTUP
  140.   CURSOR DOWN
  141.   FONT Name FONTNAME Size FontGroesse
  142.   TEXT Text1
  143.   NEWPARAGRAPH
  144.   TEXT Text2
  145.   NEWPARAGRAPH
  146.   TEXT Text3
  147.   CURSOR DOWN
  148. END
  149. if Teile=1 then do
  150.     Teil=""
  151.     Punkt=""
  152.     address command delete Dateiname /*Hier war die Fontlist zwischengespeichert, vgl. o.*/
  153.     end
  154. saveas name Dateiname||Punkt||Teil
  155. end
  156. exit
  157.  
  158. error:
  159. echo "Leider ist ein Fehler aufgetreten."
  160. echo "Programmzeile " Sigl", Fehlernummer " RC
  161. echo errortext(RC)
  162. echo "Sorry!"
  163. exit
  164. return
  165.