31 lines
1.1 KiB
Text
Executable file
31 lines
1.1 KiB
Text
Executable file
#!/usr/bin/env newlisp
|
|
|
|
; regex compile of UTF-8 patterns
|
|
|
|
(if (catch (regex-comp "ほげほげ" 0x800) 'result)
|
|
(println "UTF-8 compile sucessfull")
|
|
(println "problem in UTF-8 compile"))
|
|
|
|
; UTF-8 - transforming from and to nmbers, upper-case'ing and lower-case'ing
|
|
|
|
; should show Chinese characters if editor or terminal is UTF-8 capable
|
|
(println "characters entered by keyboard:")
|
|
|
|
(println (set 'utf8str "我能吞下玻璃而不伤身体。"))
|
|
|
|
(println "should look the same as made from unicode numbers:")
|
|
|
|
(set 'utf8chars '(25105 33021 21534 19979 29627 29827 32780 19981 20260 36523 20307 12290))
|
|
(println (set 'utf8str (join (map char utf8chars))))
|
|
|
|
(print "and be transformd back to the same numbers: ")
|
|
(println (= (map char (explode utf8str)) utf8chars))
|
|
|
|
(println "checking upper-case'ing on russian letters")
|
|
(println "абвгдеёжзийклмнопрстуфхцчшщъыьэюя")
|
|
(println (upper-case "абвгдеёжзийклмнопрстуфхцчшщъыьэюя") " should be uppercase of previous")
|
|
(println (lower-case (upper-case "абвгдеёжзийклмнопрстуфхцчшщъыьэюя")) " and back to lowercase")
|
|
|
|
(exit)
|
|
|
|
|