1
0
forked from GitHub/gf-core

New unicodings.

New unicodings.
Module with works.

Better compilation of old GF.
This commit is contained in:
aarne
2003-11-14 12:36:23 +00:00
parent 37384dbe06
commit 5a7d6e542d
10 changed files with 75 additions and 22 deletions

View File

@@ -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

View File

@@ -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