on master help sign in
javascript: better unicode support
commite8549627b12b9a84ccf70781ad13c78cd01d2294 authorraichoo <raichoo@googlemail.com> dateSat 13 Dec 2014, 14:14 (12 years ago) parentb9e5895
1 file changed+7−4
src/IRTS/CodegenJavaScript.hs+7−4
src/IRTS/CodegenJavaScript.hs+7−4
@@ -495,13 +495,16 @@ translateChar ch
495495 | '\\' <- ch = "\\\\"
496496 | '\"' <- ch = "\\\""
497497 | '\'' <- ch = "\\\'"
498− | ch `elem` asciiTab = "\\u00" ++ fill (showHex (ord ch) "")
498+ | ch `elem` asciiTab = "\\u" ++ fill (showHex (ord ch) "")
499+ | ord ch > 255 = "\\u" ++ fill (showHex (ord ch) "")
499500 | otherwise = [ch]
500501 where
501502 fill :: String -> String
502− fill s = if length s == 1
503− then '0' : s
504− else s
503+ fill s = case length s of
504+ 1 -> "000" ++ s
505+ 2 -> "00" ++ s
506+ 3 -> "0" ++ s
507+ _ -> s
505508
506509 asciiTab =
507510 ['\NUL', '\SOH', '\STX', '\ETX', '\EOT', '\ENQ', '\ACK', '\BEL',