Encode 1.3.6 → 1.3.7
raw patch · 6 files changed
+50/−82 lines, 6 files
Files
- Encode.cabal +2/−2
- Encode.hs +2/−5
- Encode/Arabic.hs +1/−1
- Encode/Arabic/ArabTeX.hs +24/−24
- Encode/Arabic/ArabTeX/ZDMG.hs +19/−48
- Encode/Version.hs +2/−2
Encode.cabal view
@@ -1,9 +1,9 @@ name: Encode-version: 1.3.6+version: 1.3.7 license: GPL license-file: LICENSE extra-source-files: INSTALL, Setup.PL-copyright: 2013+copyright: 2014 author: Otakar Smrz maintainer: otakar-smrz users.sf.net homepage: http://otakar-smrz.users.sf.net/
Encode.hs view
@@ -1,7 +1,7 @@ -- | -- -- Module : Encode--- Copyright : Otakar Smrz 2005-2011+-- Copyright : Otakar Smrz 2005-2014 -- License : GPL -- -- Maintainer : otakar-smrz users.sf.net@@ -99,10 +99,7 @@ instance Show UPoint where - showsPrec p (UPoint x)- | x == 38 = showsPrec p "&"- | x >= 32 && x <= 255 = showsPrec p (toEnum (fromIntegral x) :: Char)- | otherwise = showsPrec p ("&#" ++ showsPrec p x ";")+ showsPrec p (UPoint x) = showsPrec p (toEnum (fromIntegral x) :: Char) instance Enum UPoint where
Encode/Arabic.hs view
@@ -1,7 +1,7 @@ -- | -- -- Module : Encode.Arabic--- Copyright : Otakar Smrz 2005-2012+-- Copyright : Otakar Smrz 2005-2014 -- License : GPL -- -- Maintainer : otakar-smrz users.sf.net
Encode/Arabic/ArabTeX.hs view
@@ -1,7 +1,7 @@ -- | -- -- Module : Encode.Arabic.ArabTeX--- Copyright : Otakar Smrz 2005-2011+-- Copyright : Otakar Smrz 2005-2014 -- License : GPL -- -- Maintainer : otakar-smrz users.sf.net@@ -125,37 +125,37 @@ vowelControl c x l e = case c of - "W" -> case sukun ? x of+ "W" -> case sukun ? x of - Just s -> if envQuote e then theWasla else [[]]- Nothing -> if envQuote e then [ j ++ n | j <- justAlif,- n <- noChange ]- else case envMode e of+ Just _ -> if envQuote e then theWasla else [[]]+ Nothing -> if envQuote e then [ j ++ n | j <- justAlif,+ n <- noChange ]+ else case envMode e of - Fullvocalize -> if envWasla e- then [ j ++ drop 1 n | j <- theWasla,- n <- noChange ]- else [ j ++ n | j <- justAlif,- n <- noChange ]+ Fullvocalize -> if envWasla e+ then [ j ++ drop 1 n | j <- theWasla,+ n <- noChange ]+ else [ j ++ n | j <- justAlif,+ n <- noChange ] - Vocalize -> if envWasla e- then [ j ++ drop 1 n | j <- justAlif,- n <- noChange ]- else [ j ++ n | j <- justAlif,- n <- noChange ]+ Vocalize -> if envWasla e+ then [ j ++ drop 1 n | j <- justAlif,+ n <- noChange ]+ else [ j ++ n | j <- justAlif,+ n <- noChange ] - _ -> [ j ++ f | j <- justAlif, f <- filterIt ]+ _ -> [ j ++ f | j <- justAlif, f <- filterIt ] _ | c `elem` ["'A", "|", "_W"] - -> case sukun ? x of+ -> case sukun ? x of - Just s -> if envQuote e then noChange else [[]]- Nothing -> if envQuote e then filterIt else noChange+ Just _ -> if envQuote e then noChange else [[]]+ Nothing -> if envQuote e then filterIt else noChange - _ -> case sukun ? x of+ _ -> case sukun ? x of - Just s -> if envMode e > Vocalize && not (envQuote e) ||+ Just _ -> if envMode e > Vocalize && not (envQuote e) || not (envMode e > Vocalize) && envQuote e then noChange else [[]]@@ -499,8 +499,8 @@ parseSyllVowel :: [Char] -> ([UPoint] -> [UPoint]) -> Parsing parseSyllVowel c x =- do v <- parseQuote <|> parseNothing- >> oneof' '-' [vowel, multi, nuuns, other] <|>+ do parseQuote <|> parseNothing+ v <- oneof' '-' [vowel, multi, nuuns, other] <|> oneof [vowel, multi, nuuns, other] <|> return "" y <- upperWith (vowelControl c) [v] [vowel, multi, nuuns, other, sukun]
Encode/Arabic/ArabTeX/ZDMG.hs view
@@ -1,7 +1,7 @@ -- | -- -- Module : Encode.Arabic.ArabTeX.ZDMG--- Copyright : Otakar Smrz 2005-2011+-- Copyright : Otakar Smrz 2005-2014 -- License : GPL -- -- Maintainer : otakar-smrz users.sf.net@@ -108,47 +108,17 @@ "W" -> case sukun ? x of - Just s -> if envQuote e then theWasla else [[]]- Nothing -> if envQuote e then [ j ++ n | j <- justAlif,- n <- noChange ]- else case envMode e of-- Fullvocalize -> if envWasla e- then [ j ++ drop 1 n | j <- theWasla,- n <- noChange ]- else [ n | n <- noChange ]-- Vocalize -> if envWasla e- then [ j ++ drop 1 n | j <- justAlif,- n <- noChange ]- else [ n | n <- noChange ]-- _ -> [ j ++ f | j <- justAlif, f <- filterIt ]-- "|" -> case sukun ? x of-- Just s -> if envQuote e then noChange else [[]]- Nothing -> if envQuote e then filterIt else noChange-- _ -> case sukun ? x of-- Just s -> if envMode e > Vocalize && not (envQuote e) ||- not (envMode e > Vocalize) && envQuote e- then noChange- else [[]]+ Just _ -> if envQuote e then theWasla else noChange+ Nothing -> if envQuote e then noChange+ else+ if envWasla e then [ t ++ drop 1 n | t <- theWasla,+ n <- noChange ]+ else noChange - Nothing -> if envMode e > Novocalize && not (envQuote e) ||- not (envMode e > Novocalize) && envQuote e- then noChange- else filterIt+ _ -> noChange where theWasla = lookupList "W" [wasla]- justAlif = lookupList "W" [wasla] --[silent] noChange = lookupList x l- filterIt = [ filter (flip all ([0x064B .. 0x0650] ++- [0x0656, 0x0657, 0x0670])- . ((/=) . fromEnum)) s- | s <- lookupList x l ] shaddaControl :: (OrdMap m, Ord s) => s -> [m s [a]] -> Environ -> [[a]]@@ -201,6 +171,10 @@ parseNothing = return id +parseQuote = do lower ["\""] []+ processControl "\""++ parseControl = do i <- inspectIList case i of@@ -276,20 +250,23 @@ [v] [vowel] completeSyllable y True <|>- do v <- oneof [vowel]+ do v <- oneof [vowel] <|> (parseQuote >>+ oneof [vowel] <|> return "") y <- upperWith (vowelControl "W")- [v] [vowel]+ [v] [vowel, sukun] completeSyllable y True parseSyllVowel :: [Char] -> ([UPoint] -> [UPoint]) -> Parsing parseSyllVowel c x =- do v <- oneof [vowel]+ do parseQuote <|> parseNothing+ v <- oneof [vowel] y <- upperWith (vowelControl c) [v] [vowel] completeSyllable (x `plus` y) True <|>- do v <- return "" -- oneof [sukun]+ do parseQuote <|> parseNothing+ v <- return "" -- oneof [sukun] y <- upperWith (vowelControl c) [v] [sukun] completeSyllable (x `plus` y) False@@ -613,12 +590,6 @@ ruleInternalTaaaa = anyof [- "H" ++ v |-| "H" |:| []-- | v <- elems [vowel] ++ quote [vowel, sukun] ]-- |+| anyof [- "T" ++ v ++ c |-| "t" ++ v ++ c |:| [] |+| "H" ++ v ++ c |-| "t" ++ v ++ c |:| []
Encode/Version.hs view
@@ -1,7 +1,7 @@ -- | -- -- Module : Encode.Version--- Copyright : Otakar Smrz 2005-2013+-- Copyright : Otakar Smrz 2005-2014 -- License : GPL -- -- Maintainer : otakar-smrz users.sf.net@@ -44,4 +44,4 @@ revised revision = fst . last . readP_to_S parseVersion $ words revision !! 1 -version = Version [1, 3, 6] ["April 2013"]+version = Version [1, 3, 7] ["August 2014"]