home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1995 November / PCWK1195.iso / inne / podstawy / dos / 4dos / 4uzytki / ez-btm11.exe / FNT.BTM < prev    next >
Text File  |  1994-02-07  |  7KB  |  248 lines

  1. : FNT.BTM
  2. rem    Loads VGA/EGA fonts with Yossi Gil's LOADFONT (c)
  3. rem    Loads Hercules Graphics Card Plus fonts with RAMFONT
  4. rem    Type FNT h (or FNT ?) for help
  5. rem    Type FNT gil for more information about Gil's LOADFONT.
  6. rem    Type FNT for a selection menu.
  7. rem    Itamar Even-Zohar (itamarez@plato.tau.ac.il)
  8. rem    Last edited: February 5, 1994
  9.  
  10. if %@index[%1,h] eq 0 .and. %@len[%1] eq 1 .or. %@index[%1,?] eq 0 .and. %@len[%1] eq 1 goto help
  11. if "%1"=="gil" goto gil
  12.  
  13. setlocal
  14. gosub chk_video
  15. if "%fontpath"=="" gosub make_path
  16. set path=%path%%fontpath%
  17. :chk1
  18. if %@index[%fontpath,%@char[59]] gt 0 gosub ana_path
  19. gosub fonts_names
  20. if "%1" == "" goto select
  21.  
  22. :selection
  23.     iff "%1" == "0" .or. %1==%@char[27] then goto FINISHED
  24. elseiff "%1" == "h" .or. "%1"=="?" then goto help
  25. elseiff "%1" == "m" then set font=%hebmed
  26. elseiff "%1" == "k" then set font=%hebktabg
  27. elseiff "%1" == "s" then set font=standard.fnt
  28. elseiff "%1" == "f" then set font=sanserif.fnt
  29. elseiff "%1" == "r" then set font=%hebsans
  30. elseiff "%1" == "b" then set font=%hebbig
  31. elseiff "%1" == "2" then goto OTHER
  32. elseiff "%1" == "3" then goto FONTS
  33.  else
  34. set font=%1 ^ goto extension
  35.  endiff
  36.  
  37. :load
  38. if not exist %@search[%font] (echo %@upper[%@search[%font]] not found^goto finished)
  39. if %video==1 loadfont %font
  40. if %video==2 ramfont %@search[%font]
  41. cls
  42. if %_batch lt 2 screen 2 0 %@upper[%font] now loaded
  43. goto finished
  44.  
  45. :other
  46. echo ('FNT' extension can be dropped)
  47. input Type font's name (must be in FONTPATH subdirectory) : %%font
  48.  
  49. :extension
  50. rem (Allow typing font filename without the FNT extension)
  51. iff %@index[%font,.f] == -1 then
  52.  set font=%font.FNT
  53.  endiff
  54. goto load
  55.  
  56. :no_loader1
  57. :gil
  58. echo.
  59. text
  60.   This batch requires Yossi Gil's LOADFONT.COM (c), which should be
  61.   stored in a subdirectory defines in your "path" command.
  62.   (LOADFONT.COM is stored in file fntcolxx.zip, and is downloadable
  63.   from ftp.technion.ac.il, cd pub/supported/cs/msdos)
  64. endtext
  65. echo.
  66. quit
  67.  
  68. :no_loader2
  69. echo.
  70. echo Needs RAMFONT.COM for loading HGC+ fonts
  71. echo.
  72. quit
  73.  
  74. :un_video
  75. echo.
  76. echo  This batch runs on VGA /EGA, or Hercules Graphics Card Plus
  77. echo.
  78. quit
  79.  
  80. :select
  81. cls
  82. screen 2 2 (A loader for VGA/EGA fonts, or HGC+ fonts)
  83. screen 4 0
  84.  text
  85.   0 or Esc = Exit
  86.   h or ?   = Help
  87.   m  = Hebrew MEDIUM fonts (+ standard Roman)
  88.   r  = Hebrew MEDIUM fonts (+ sanserif Roman)
  89.   k  = Hebrew KTAB fonts   (+ standard Roman)
  90.   b  = Hebrew BIG fonts    (+ standard Roman)
  91.   s  = STANDARD fonts      (no Hebrew)
  92.   f  = SANSERIF fonts      (no Hebrew)
  93.  
  94.   2  = User selected font
  95.   3  = Select font from directory
  96.  endtext
  97. drawhline 12 1 45 2 whi on bla
  98. drawbox 3 0 15 46 2 whi on bla
  99. screen 18 0 (F1 for help on option 3)
  100. screen 17 0
  101. inkey /K"[f1][esc]0h?23mkbsfr" Type your choice: %%1
  102. if %1==@59 gosub menu2
  103. goto selection
  104.  
  105. :fonts
  106. if %video==2 set font=%@search[%font]
  107. set n=-1
  108. call settemp
  109. set f=%@unique[%temp]
  110. if not direxist %fontpath (echo Path "%fontpath" not found^goto exit)
  111. select /d echo>> %f (%fontpath\*.f*)
  112.    :fontfile
  113.    set n=%@eval[%n+1]
  114.    set nl=%@lines[%f]
  115.    if %nl==-1 (set font=No new font^goto end)
  116.    if %n gt %nl goto end
  117.    set font=%@line[%f,%n]
  118.    iff %nl gt 0 then
  119.      inkey /K"YN" Load now %font? (Y/N) %%rep
  120.        if %rep == Y if %video==1 (loadfont %font^*list %@search[ascii.tbl]^cls)
  121.        if %rep == Y if %video==2 (ramfont %font^*list %@search[ascii.tbl]^cls)
  122.    else
  123.      if %video==1 loadfont %font
  124.      if %video==2  ramfont %font
  125.    endiff
  126.    if %nl gt 0 goto fontfile
  127.    :end
  128.    if .%fp2 != . (set fontpath=%fp2^unset fp2^goto chk1)
  129.    del /q %f
  130.    cls
  131.    screen 1 0 %font loaded
  132.    :exit
  133.    endlocal
  134.    quit
  135.  
  136. :finished
  137. if %1 == 0 .or. %1 == %@char[27] (cls^echo Aborted...)
  138. endlocal
  139. if not "%rep"=="" unset rep
  140. quit
  141.  
  142. :----------------sub-routines-----------------
  143. :-(0)--Checking video type--------------------
  144. :chk_video
  145.    :vga
  146. if not %_video==vga .or. %_video==ega goto mono
  147. set video=1
  148. ::if "%@search[LOADFONT.COM]" == "" goto no_loader1
  149. if not exist %@search[LOADFONT.COM] goto no_loader1
  150. return
  151.    :mono
  152. if not %_video==mono goto un_video
  153. if not exist %@search[ramfont] goto no_loader2
  154. set video=2
  155. return
  156. :-(1)--saving diffrent fonts files------------
  157. :fonts_names
  158.    iff %video==1 then
  159.      set hebsans=vga-hbsn.fnt
  160.      set hebmed=heb-medp.fnt
  161.      set hebbig=heb-ran.f16
  162.      set hebktabg=heb-ktab.f16
  163.    elseiff %video==2 then
  164.      set hebsans=heb-sans.fnt
  165.      set hebmed=heb-med.fnt
  166.      set hebbig=heb-big.fnt
  167.      set hebktabg=heb-ktab.fnt
  168.    endiff
  169. return
  170. :-(2)--sub-routines for making "font path"----
  171. :make_path
  172. cls
  173. screen 6 0
  174. text
  175.     FNT.BTM needs to know where you keep your font files. Please define
  176.     a "fontpath" variable in your AUTOEXEC.BAT file. The syntax is:
  177.  
  178.     FONTPATH=<name_of_path[; name of path;...]>
  179.  
  180.     You can however specify a name / names for a single run now.
  181.  
  182. endtext
  183. inkey /k"YNQ" Do you wish to indicate your fonts path(s) now (Y/N/Q)? %%rep
  184.        iff %rep == Y then gosub path_name
  185.    elseiff %rep == N .or. %rep == Q then
  186.    echo program aborted
  187. quit
  188.  
  189. :path_name
  190. input Type full pathname(s) for your fonts (put ";" for more than one): %%fontpath
  191. return
  192.  
  193. :-(3)---sub-routine for analyzing font path---
  194. :ana_path
  195. :: (if fontpath contains more than one subdirectory,
  196. ::  it is parsed by this routine)
  197. set position=%@index[%fontpath,%@char[59]]
  198. set fp2=%@substr[%fontpath,%@eval[%position+1]]
  199. set fontpath=%@substr[%fontpath,0,%position]
  200. return
  201.  
  202. :------help text on option 3--------
  203. :menu2
  204. :mult
  205. screen 16 0
  206. text
  207.  Option '3' in the selection menu allows loading
  208.  a font from your fonts directory.  If you have
  209.  defined more than one subdirectory, they will be
  210.  displayed consecutively. Multiple loading is
  211.  enabled by marking filenames (use spacebar to
  212.  mark/unmark).
  213.  
  214. endtext
  215. inkey /K"[f1][esc]023mkbsfr" Type your choice: %%1
  216. return
  217. :--------end of sub-routines--------
  218. :-----------begin help--------------
  219. :help
  220. cls
  221. screen 3 0
  222. text
  223.   FNT.BTM loads VGA/EGA, and HGC+ screen fonts. It needs RAMFONT.COM
  224.   for HGC+, or Yossi Gil's LOADFONT.COM (c) for VGA/EGA. It also needs
  225.   font files. FNT.BTM will load (1) any of the 6 font files specifically
  226.   included (type the relevant switch), or (2) any font file indicated by
  227.   name (the extension "fnt" can be omitted), or (3) any font from a
  228.   subdirectory where font files are stored. If you keep fonts in more than
  229.   one subdirectory, they will be displayed one after the other, if you mark
  230.   any file in the menu you will get. You must define a "fontpath" variable
  231.   in your AUTOEXEC.BAT; if you haven't, you will be asked to indicate your
  232.   fonts path/s.
  233.  
  234.   USAGE: FNT [options|<font_filename>]
  235.  
  236.   (loadfont.com)
  237.   Gil's LOADFONT.COM (c), can be downloaded from ftp.technion.ac.il
  238.   cd pub/supported/cs/msdos, file fntcolxx.zip ('xx' stand for the
  239.   version number).
  240.  
  241.   (fontpath)
  242.   FNT.BTM needs to know where you keep your font files. Please define
  243.   a "fontpath" variable in your AUTOEXEC.BAT file. The syntax is:
  244.   FONTPATH=<name_of_path[; name of path;...]>
  245. endtext
  246. quit
  247. :-------------end help--------------
  248.