From 5a7d6e542d7fc0c01bec9163e4be732ac1c6d217 Mon Sep 17 00:00:00 2001 From: aarne Date: Fri, 14 Nov 2003 12:36:23 +0000 Subject: New unicodings. New unicodings. Module with works. Better compilation of old GF. --- src/GF/Text/Hebrew.hs | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'src/GF/Text/Hebrew.hs') diff --git a/src/GF/Text/Hebrew.hs b/src/GF/Text/Hebrew.hs index ebcc078e3..abd2855b8 100644 --- a/src/GF/Text/Hebrew.hs +++ b/src/GF/Text/Hebrew.hs @@ -1,13 +1,28 @@ module Hebrew where mkHebrew :: String -> String -mkHebrew = reverse . unwords . (map mkHebrewWord) . words +mkHebrew = mkHebrewWord --- reverse : assumes everything's on same line type HebrewChar = Char +-- HH 031103 added code for spooling the markup +-- removed reverse, words, unwords (seemed obsolete and come out wrong on the screen) + mkHebrewWord :: String -> [HebrewChar] -mkHebrewWord = map mkHebrewChar +-- mkHebrewWord = map mkHebrewChar + +mkHebrewWord s = case s of + [] -> [] + '<' : cs -> '<' : spoolMarkup cs + ' ' : cs -> ' ' : mkHebrewWord cs + c1 : cs -> mkHebrewChar c1 : mkHebrewWord cs + +spoolMarkup :: String -> String +spoolMarkup s = case s of + [] -> [] -- Shouldn't happen + '>' : cs -> '>' : mkHebrewWord cs + c1 : cs -> c1 : spoolMarkup cs mkHebrewChar c = case lookup c cc of Just c' -> c' ; _ -> c where -- cgit v1.2.3