---------------------------------------------------------------------- -- | -- Maintainer : AR -- Stability : (stable) -- Portability : (portable) -- -- > CVS $Date: 2005/04/16 05:40:51 $ -- > CVS $Author: peb $ -- > CVS $Revision: 1.4 $ -- -- (Description of the module) ----------------------------------------------------------------------------- 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 | | 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"