summaryrefslogtreecommitdiff
path: root/src/GF/Text/Hebrew.hs
diff options
context:
space:
mode:
authoraarne <unknown>2003-11-14 12:36:23 +0000
committeraarne <unknown>2003-11-14 12:36:23 +0000
commit5a7d6e542d7fc0c01bec9163e4be732ac1c6d217 (patch)
tree7e7899236393081209aa494b391d3409d087fcc3 /src/GF/Text/Hebrew.hs
parent37384dbe06913a0352d4459050c1382874a45a62 (diff)
New unicodings.
New unicodings. Module with works. Better compilation of old GF.
Diffstat (limited to 'src/GF/Text/Hebrew.hs')
-rw-r--r--src/GF/Text/Hebrew.hs19
1 files changed, 17 insertions, 2 deletions
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