summaryrefslogtreecommitdiff
path: root/src/GF/Text
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
parent37384dbe06913a0352d4459050c1382874a45a62 (diff)
New unicodings.
New unicodings. Module with works. Better compilation of old GF.
Diffstat (limited to 'src/GF/Text')
-rw-r--r--src/GF/Text/Hebrew.hs19
-rw-r--r--src/GF/Text/Unicode.hs14
2 files changed, 31 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
diff --git a/src/GF/Text/Unicode.hs b/src/GF/Text/Unicode.hs
index 78aba0461..734879e70 100644
--- a/src/GF/Text/Unicode.hs
+++ b/src/GF/Text/Unicode.hs
@@ -4,6 +4,13 @@ import Greek (mkGreek)
import Arabic (mkArabic)
import Hebrew (mkHebrew)
import Russian (mkRussian, mkRusKOI8)
+import Ethiopic (mkEthiopic)
+import Tamil (mkTamil)
+import OCSCyrillic (mkOCSCyrillic)
+import LatinASupplement (mkLatinASupplement)
+import Devanagari (mkDevanagari)
+import Hiragana (mkJapanese)
+import ExtendedArabic (mkExtendedArabic)
-- ad hoc Unicode conversions from different alphabets
@@ -15,6 +22,13 @@ mkUnicode s = case s of
'/':'-':cs -> mkArabic (remClosing cs)
'/':'_':cs -> mkRussian (remClosing cs)
'/':'*':cs -> mkRusKOI8 (remClosing cs)
+ '/':'E':cs -> mkEthiopic (remClosing cs)
+ '/':'T':cs -> mkTamil (remClosing cs)
+ '/':'C':cs -> mkOCSCyrillic (remClosing cs)
+ '/':'&':cs -> mkDevanagari (remClosing cs)
+ '/':'L':cs -> mkLatinASupplement (remClosing cs)
+ '/':'J':cs -> mkJapanese (remClosing cs)
+ '/':'A':cs -> mkExtendedArabic (remClosing cs)
_ -> s
remClosing cs