fix handling of punctuation
This commit is contained in:
parent
5583865e27
commit
7a205bc6bd
2 changed files with 9 additions and 8 deletions
|
@ -655,11 +655,11 @@ punctuation :: Map Text Glyph
|
|||
punctuation = Map.fromList
|
||||
[(".", eos), ("?", eos), ("!", eos), (",", eop), (":", eop), (";", eop)]
|
||||
|
||||
eos = G {path = eosPath, width = 2}
|
||||
eosPath = P $ circA 1 (1,1) <> circA 1 (1,4)
|
||||
eos = G {path = eosPath, width = 4}
|
||||
eosPath = P $ circA 1 (4,1) <> circA 1 (4,4)
|
||||
|
||||
eop = G {path = eopPath, width = -2}
|
||||
eopPath = P $ circA 1 (-1,2.5)
|
||||
eop = G {path = eopPath, width = 2}
|
||||
eopPath = P $ circA 1 (3,2.5)
|
||||
|
||||
num = G {path = P [mA (0,0), lR (0,5), mA (1,0), lR (0,5)], width = 1}
|
||||
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
module Split (split) where
|
||||
|
||||
import Glyphs
|
||||
import Text.Megaparsec
|
||||
import Text.Megaparsec.Char
|
||||
import Data.Text (Text)
|
||||
import qualified Data.Text as Text
|
||||
import qualified Data.Char as Char
|
||||
import Data.Map (Map, (!))
|
||||
import qualified Data.Map.Strict as Map
|
||||
import Text.Megaparsec
|
||||
import Text.Megaparsec.Char
|
||||
import Data.Void
|
||||
|
||||
|
||||
|
@ -39,7 +39,8 @@ ivowel :: P Glyph
|
|||
ivowel = maxFrom "vowel" vowels
|
||||
|
||||
word :: P [Piece]
|
||||
word = (<>) <$> some initMed <*> fin where
|
||||
word = [is <> f <> concat p | is <- some initMed, f <- fin, p <- many punct]
|
||||
where
|
||||
initMed = try $
|
||||
[(i, [m]) | i <- initial, m <- medial] <|>
|
||||
[(v, []) | v <- ivowel] <|>
|
||||
|
@ -52,7 +53,7 @@ number = some (digit <|> hash) where
|
|||
digit = [(numbers ! Char.digitToInt i, []) | i <- digitChar]
|
||||
|
||||
punct :: P [Piece]
|
||||
punct = [[(p, [])] | p <- maxFrom "punctuation" punctuation]
|
||||
punct = [[(p, [])] | p <- maxFrom "punctuation" punctuation] <* space
|
||||
|
||||
dash :: P Piece
|
||||
dash = (wave, []) <$ chunk "–"
|
||||
|
|
Loading…
Reference in a new issue