home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / programs / fonts / a_q / fontmsg / !FontMsg / RunImageRB < prev   
Text File  |  1993-10-25  |  2KB  |  77 lines

  1. REM> FontMsg v1.01
  2. REM#Turbo
  3. REM#Register X%
  4. ONERROR PRINTREPORT$;" at ";ERL:END
  5. DIMFONT$(1001)
  6. YY%=OPENIN("<FontMsg$Dir>.FontApps")
  7. IF YY%<=0 THEN OSCLI("ERROR File "+CHR$34+"FontApps"+CHR$34+" is missing"):END
  8. REPEAT
  9. F$=GET$#YY%
  10. MAX%=1
  11. FOR X%= 1 TO 1000
  12.   FONT$(X%)=""
  13. NEXT
  14. XX%=OPENOUT(F$+".Messages1")
  15. PROCscan(F$,LEN(F$)+1)
  16. PROCwrite
  17. CLOSE#XX%
  18. OSCLI("SETTYPE "+F$+".Messages1 TEXT")
  19. PRINT''"Font dir ";F$;" scanned and Messages1 file created"''
  20. UNTIL EOF#YY%
  21. CLOSE#YY%
  22. END
  23.  
  24. DEF PROCscan(root$,L%)
  25. LOCAL block%,off%,name$,J%,dir%,num%
  26. DIM block% 40
  27. off% = 0
  28. REPEAT
  29.   SYS "OS_GBPB",10,root$,block%,1,off%,40,"*" TO ,,,num%,off%
  30.   IF num%=1 THEN
  31.     J% = 20 : REPEAT : J% += 1 : UNTIL block%?J%=0
  32.     block%?J% = 13 : name$ = $(block%+20)
  33.     dir% = (block%!16=2)
  34.     TYPE$=FNreadtype(root$+"."+name$)
  35.     r$=RIGHT$(root$,LEN(root$)-L%)
  36.     IF r$<>"" THEN r$+="."
  37.     IF name$<>"Encodings" THEN
  38.       A$=FNupper(name$)
  39.       IF A$="INTMETRICS" THEN
  40.         FONT$(MAX%)=r$+name$
  41.         FONT$(MAX%)=LEFT$(FONT$(MAX%),LEN(FONT$(MAX%))-11)
  42.         MAX%+=1
  43.       ENDIF
  44.       PRINT "Writting messages detail for font ";r$;".";name$
  45.     ENDIF
  46.     IF dir% THEN
  47.       PROCscan(root$+"."+name$,L%)
  48.     ENDIF
  49.   ENDIF
  50. UNTIL off%<0
  51. ENDPROC
  52. :
  53.  DEFFNreadtype(name$)
  54.  SYS "OS_File",5,name$ TO ,,loadaddr
  55.  =MID$(STR$~(loadaddr),4,3)
  56. :
  57. REM#NOTurbo
  58. :
  59. DEFPROCwrite
  60. FOR X%=1 TO MAX%
  61. IF FONT$(X%)<>"" THEN BPUT#XX%,"Font_"+FONT$(X%)+":"+FONT$(X%)
  62. NEXT
  63. ENDPROC 
  64. :
  65.  DEFFNupper(n$)
  66.  nn$=""
  67.  :
  68.  FORX%=1 TO LEN(n$)
  69.    A$=MID$(n$,X%,1)
  70.    IF ASC(A$)>96 THEN
  71.      IF ASC(A$)<123 THEN
  72.        A$=CHR$(ASC(A$)-32)
  73.      ENDIF
  74.    ENDIF
  75.    nn$+=A$
  76.  NEXT
  77. =nn$