summaryrefslogtreecommitdiff
path: root/src/GF/Text/Unicode.hs
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2008-06-25 16:43:48 +0000
committeraarne <aarne@cs.chalmers.se>2008-06-25 16:43:48 +0000
commitb96b36f43de3e2f8b58d5f539daa6f6d47f25870 (patch)
tree0992334be13cec6538a1dea22fbbf26ad6bdf224 /src/GF/Text/Unicode.hs
parentfe367412e0aeb4ad5c02de68e6eca382e0f96984 (diff)
removed src for 2.9
Diffstat (limited to 'src/GF/Text/Unicode.hs')
-rw-r--r--src/GF/Text/Unicode.hs69
1 files changed, 0 insertions, 69 deletions
diff --git a/src/GF/Text/Unicode.hs b/src/GF/Text/Unicode.hs
deleted file mode 100644
index 9d0b9d1a8..000000000
--- a/src/GF/Text/Unicode.hs
+++ /dev/null
@@ -1,69 +0,0 @@
-----------------------------------------------------------------------
--- |
--- Module : Unicode
--- Maintainer : AR
--- Stability : (stable)
--- Portability : (portable)
---
--- > CVS $Date: 2005/04/21 16:23:42 $
--- > CVS $Author: bringert $
--- > CVS $Revision: 1.12 $
---
--- ad hoc Unicode conversions from different alphabets.
--- AR 12\/4\/2000, 18\/9\/2001, 30\/5\/2002, 26\/1\/2004
------------------------------------------------------------------------------
-
-module GF.Text.Unicode (mkUnicode, treat) where
-
-import GF.Text.Greek (mkGreek)
-import GF.Text.Arabic (mkArabic)
-import GF.Text.Hebrew (mkHebrew)
-import GF.Text.Russian (mkRussian, mkRusKOI8)
-import GF.Text.Ethiopic (mkEthiopic)
-import GF.Text.Tamil (mkTamil)
-import GF.Text.OCSCyrillic (mkOCSCyrillic)
-import GF.Text.LatinASupplement (mkLatinASupplement)
-import GF.Text.Devanagari (mkDevanagari)
-import GF.Text.Hiragana (mkJapanese)
-import GF.Text.ExtendedArabic (mkArabic0600)
-import GF.Text.ExtendedArabic (mkExtendedArabic)
-import GF.Text.ExtraDiacritics (mkExtraDiacritics)
-
-import Data.Char
-
-mkUnicode :: String -> String
-mkUnicode s = case s of
- '/':'/':cs -> treat [] mkGreek unic ++ mkUnicode rest
- '/':'+':cs -> mkHebrew unic ++ mkUnicode rest
- '/':'-':cs -> mkArabic unic ++ mkUnicode rest
- '/':'_':cs -> treat [] mkRussian unic ++ mkUnicode rest
- '/':'*':cs -> mkRusKOI8 unic ++ mkUnicode rest
- '/':'E':cs -> mkEthiopic unic ++ mkUnicode rest
- '/':'T':cs -> mkTamil unic ++ mkUnicode rest
- '/':'C':cs -> mkOCSCyrillic unic ++ mkUnicode rest
- '/':'&':cs -> mkDevanagari unic ++ mkUnicode rest
- '/':'L':cs -> mkLatinASupplement unic ++ mkUnicode rest
- '/':'J':cs -> mkJapanese unic ++ mkUnicode rest
- '/':'6':cs -> mkArabic0600 unic ++ mkUnicode rest
- '/':'A':cs -> mkExtendedArabic unic ++ mkUnicode rest
- '/':'X':cs -> mkExtraDiacritics unic ++ mkUnicode rest
- c:cs -> c:mkUnicode cs
- _ -> s
- where
- (unic,rest) = remClosing [] $ dropWhile isSpace $ drop 2 s
- remClosing u s = case s of
- c:'/':s | elem c "/+-_*ETC&LJ6AX" -> (reverse u, s) --- end need not match
- c:cs -> remClosing (c:u) cs
- _ -> (reverse u,[]) -- forgiving missing end
-
--- | don't convert XML tags --- assumes \<\> always means XML tags
-treat :: String -> (String -> String) -> String -> String
-treat old mk s = case s of
- '<':cs -> mk (reverse old) ++ '<':noTreat cs
- c:cs -> treat (c:old) mk cs
- _ -> mk (reverse old)
- where
- noTreat s = case s of
- '>':cs -> '>' : treat [] mk cs
- c:cs -> c : noTreat cs
- _ -> s