module Main (main) where
import Fudgets
import System
import Operations
import Greek (mkGreek)
import Arabic (mkArabic)
import Hebrew (mkHebrew)
import Russian (mkRussian)
-- AR 12/4/2000
main = do
  xx <- getArgs
  (case xx of
     "HELP" : _ -> putStrLn usageWriteF
     "FILE" : file : _ -> do
            str <- readFileIf file
            fudlogueWrite (Just str)
     w:_ -> fudlogueWrite (Just (unwords xx)) 
     _   -> fudlogueWrite Nothing)
usageWriteF =
  "Usage: WriteF [-H20Mg -A5M] [FILE <filename> | <inputstring> | HELP]" ++++
  "Without arguments, an interactive display is opened." ++++
  "Prefix your string with / for Greek, - for Arabic, + for Hebrew, _ for Russian."
fudlogueWrite mbstr = 
  fudlogue $
  shellF "Unicode Output" (writeF mbstr >+< quitButtonF)
writeF Nothing = writeOutputF >==< writeInputF
writeF (Just str) = startupF [str] writeOutputF 
displaySizeP = placerF (spacerP (sizeS (Point 440 500)) verticalP)
writeOutputF = 
  displaySizeP (moreF' (setFont myFont))
---  displaySizeP (scrollF (displayF' (setFont myFont)))
---    >=^<
---  vboxD' 0 . map g 
    >==< 
  mapF (map mkUnicode . lines)
writeInputF = stringInputF' (setShowString mkUnicode . setFont myFont)
mkUnicode s = case s of
 '/':cs -> mkGreek cs
 '+':cs -> mkHebrew cs
 '-':cs -> mkArabic cs
 '_':cs -> mkRussian cs
 _      -> s
myFont = "-mutt-clearlyu-medium-r-normal--17-120-100-100-p-101-iso10646-1"
--- myFont = "-arabic-newspaper-medium-r-normal--32-246-100-100-p-137-iso10646-1"
--- myFont = "-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1"