Added string-downcase and string-upcase. String-downcase does not
handle greek-final-sigma properly.
This commit is contained in:
parent
e24356eb4a
commit
7bacb4a0a5
|
@ -10,9 +10,9 @@
|
|||
set-port-position! make-eqv-hashtable
|
||||
hashtable-hash-function make-hashtable
|
||||
hashtable-equivalence-function equal-hash
|
||||
string-downcase string-normalize-nfc string-normalize-nfd
|
||||
string-normalize-nfc string-normalize-nfd
|
||||
string-normalize-nfkc string-normalize-nfkd string-titlecase
|
||||
string-upcase)
|
||||
)
|
||||
|
||||
(import (except (ikarus)
|
||||
bitwise-reverse-bit-field
|
||||
|
@ -24,9 +24,9 @@
|
|||
set-port-position! make-eqv-hashtable
|
||||
hashtable-hash-function make-hashtable
|
||||
hashtable-equivalence-function equal-hash
|
||||
string-downcase string-normalize-nfc string-normalize-nfd
|
||||
string-normalize-nfc string-normalize-nfd
|
||||
string-normalize-nfkc string-normalize-nfkd string-titlecase
|
||||
string-upcase))
|
||||
))
|
||||
|
||||
(define-syntax not-yet
|
||||
(syntax-rules ()
|
||||
|
@ -52,7 +52,7 @@
|
|||
|
||||
(not-yet
|
||||
;;; should be implemented
|
||||
string-downcase string-titlecase string-upcase
|
||||
string-titlecase
|
||||
bitwise-rotate-bit-field bitwise-reverse-bit-field
|
||||
fxreverse-bit-field
|
||||
;;; not top priority at the moment
|
||||
|
|
|
@ -25,7 +25,8 @@
|
|||
char-ci>? char-ci>=? string-ci=? string-ci<? string-ci<=?
|
||||
string-ci>? string-ci>=? string-foldcase char-general-category
|
||||
char-alphabetic? char-numeric? char-whitespace?
|
||||
char-upper-case? char-lower-case? char-title-case? )
|
||||
char-upper-case? char-lower-case? char-title-case?
|
||||
string-upcase string-downcase)
|
||||
|
||||
(import
|
||||
(ikarus system $fx)
|
||||
|
@ -40,7 +41,8 @@
|
|||
string-ci=? string-ci<? string-ci<=? string-ci>?
|
||||
string-ci>=? string-foldcase char-general-category
|
||||
char-alphabetic? char-numeric? char-whitespace?
|
||||
char-upper-case? char-lower-case? char-title-case? ))
|
||||
char-upper-case? char-lower-case? char-title-case?
|
||||
string-upcase string-downcase))
|
||||
|
||||
(include "unicode/unicode-char-cases.ss")
|
||||
(include "unicode/unicode-charinfo.ss")
|
||||
|
@ -229,7 +231,7 @@
|
|||
(char-ci-loop x x* char>=? 'char-ci>=?)
|
||||
(die 'char-ci>=? "not a char" x))]))
|
||||
|
||||
(define ($string-foldcase str)
|
||||
(define ($string-change-case str adjustment-vector)
|
||||
(define (extend-length str ac)
|
||||
(define (chars ac n)
|
||||
(cond
|
||||
|
@ -270,7 +272,7 @@
|
|||
[else
|
||||
(let* ([cn ($char->fixnum ($string-ref str i))])
|
||||
(let ([n/ls
|
||||
(vector-ref string-foldcase-adjustment-vector
|
||||
(vector-ref adjustment-vector
|
||||
(binary-search cn charcase-search-vector))])
|
||||
(cond
|
||||
[(fixnum? n/ls)
|
||||
|
@ -280,11 +282,24 @@
|
|||
(f str dst (fxadd1 i) n
|
||||
(cons (cons i n/ls) ac))])))]))))
|
||||
|
||||
(define ($string-foldcase str)
|
||||
($string-change-case str string-foldcase-adjustment-vector))
|
||||
|
||||
(define (string-foldcase str)
|
||||
(if (string? str)
|
||||
($string-foldcase str)
|
||||
(die 'string-foldcase "not a string" str)))
|
||||
|
||||
(define (string-upcase x)
|
||||
(if (string? x)
|
||||
($string-change-case x string-upcase-adjustment-vector)
|
||||
(die 'string-upcase "not a string" x)))
|
||||
|
||||
(define (string-downcase x)
|
||||
(if (string? x)
|
||||
($string-change-case x string-downcase-adjustment-vector)
|
||||
(die 'string-downcase "not a string" x)))
|
||||
|
||||
;;; FIXME: case-insensitive comparison procedures are slow.
|
||||
|
||||
(define string-ci-cmp
|
||||
|
|
|
@ -1 +1 @@
|
|||
1577
|
||||
1578
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
|
||||
|
||||
(define (hex->num x)
|
||||
(read (open-input-string (format "#x~a" x))))
|
||||
(read (open-string-input-port (format "#x~a" x))))
|
||||
|
||||
(define data-case
|
||||
(lambda (fields)
|
||||
|
@ -51,7 +51,7 @@
|
|||
(define (f x)
|
||||
(if (string=? x "") 0 (- (hex->num x) n)))
|
||||
;#(UC LC TC FC string-FC)
|
||||
(cons n (vector (f uc) (f lc) (f tc) #f 0))))))
|
||||
(cons n (vector (f uc) (f lc) (f tc) #f 0 (f uc) (f lc) (f tc)))))))
|
||||
|
||||
(define (remove-dups ls)
|
||||
(let f ([ls ls] [last #f])
|
||||
|
@ -133,6 +133,37 @@
|
|||
(convert-full-fold-fields (cdr ls)))))]
|
||||
[else (convert-full-fold-fields (cdr ls))])))]))
|
||||
|
||||
(define-struct spcase (lc tc uc))
|
||||
|
||||
(define (convert-special-casing ls)
|
||||
(cond
|
||||
[(null? ls) '()]
|
||||
[else
|
||||
(let ([fields (car ls)])
|
||||
(cond
|
||||
[(or (<= (length fields) 4)
|
||||
(= 0 (string-length (remove-spaces (list-ref fields 4)))))
|
||||
(let ([n (hex->num (remove-spaces (car fields)))])
|
||||
(define (field-data str)
|
||||
(let ([c* (map hex->num
|
||||
(map remove-spaces
|
||||
(split (remove-spaces str))))])
|
||||
(if (= (length c*) 1)
|
||||
(- (car c*) n)
|
||||
(improperize (map integer->char c*)))))
|
||||
(cons
|
||||
(cons n
|
||||
(make-spcase
|
||||
(field-data (list-ref fields 1))
|
||||
(field-data (list-ref fields 2))
|
||||
(field-data (list-ref fields 3))))
|
||||
(convert-special-casing (cdr ls))))]
|
||||
[else (convert-special-casing (cdr ls))]))]))
|
||||
|
||||
(define (with-output-to-file* file thunk)
|
||||
(when (file-exists? file) (delete-file file))
|
||||
(with-output-to-file file thunk))
|
||||
|
||||
(let ([ls
|
||||
;;; get initial table
|
||||
(compute-foldcase
|
||||
|
@ -146,18 +177,31 @@
|
|||
[(assq n ls) =>
|
||||
(lambda (p)
|
||||
(vector-set! (cdr p) 4 chars))]
|
||||
[else (error #f "~s is not there" n)])))
|
||||
[else (error #f "not there" n)])))
|
||||
(convert-full-fold-fields
|
||||
(get-unicode-data "UNIDATA/CaseFolding.txt")))
|
||||
(for-each
|
||||
(lambda (x)
|
||||
(let ([n (car x)] [cases (cdr x)])
|
||||
(cond
|
||||
[(assq n ls) =>
|
||||
(lambda (p)
|
||||
(let ([v (cdr p)])
|
||||
(vector-set! (cdr p) 5 (spcase-uc cases))
|
||||
(vector-set! (cdr p) 6 (spcase-lc cases))
|
||||
(vector-set! (cdr p) 7 (spcase-tc cases))))]
|
||||
[else (error #f "not here" n)])))
|
||||
(convert-special-casing
|
||||
(get-unicode-data "UNIDATA/SpecialCasing.txt")))
|
||||
;;; done
|
||||
(let ([ls (remove-dups ls)])
|
||||
(define (p name idx)
|
||||
(pretty-print
|
||||
`(define ,name
|
||||
',(list->vector (map (lambda (x) (vector-ref (cdr x) idx)) ls)))))
|
||||
(parameterize ([print-unicode #f])
|
||||
(parameterize ([print-unicode #f] [pretty-width 80])
|
||||
(let ([v0 (list->vector (map car ls))])
|
||||
(with-output-to-file "unicode-char-cases.ss"
|
||||
(with-output-to-file* "unicode-char-cases.ss"
|
||||
(lambda ()
|
||||
(display license)
|
||||
(printf ";;; DO NOT EDIT\n;;; automatically generated\n")
|
||||
|
@ -168,8 +212,10 @@
|
|||
(p 'char-titlecase-adjustment-vector 2)
|
||||
(p 'char-foldcase-adjustment-vector 3)
|
||||
(p 'string-foldcase-adjustment-vector 4)
|
||||
)
|
||||
'replace)))))
|
||||
(p 'string-upcase-adjustment-vector 5)
|
||||
(p 'string-downcase-adjustment-vector 6)
|
||||
(p 'string-titlecase-adjustment-vector 7)
|
||||
))))))
|
||||
|
||||
|
||||
(printf "Happy Happy Joy Joy\n")
|
||||
|
|
|
@ -299,3 +299,155 @@
|
|||
(#\f . #\i) (#\f . #\l) (#\f #\f . #\i) (#\f #\f . #\l) (#\s . #\t)
|
||||
(#\x574 . #\x576) (#\x574 . #\x565) (#\x574 . #\x56B) (#\x57E . #\x576)
|
||||
(#\x574 . #\x56D) 0 32 0 0 0 40 0 0))
|
||||
(define string-upcase-adjustment-vector
|
||||
'#(0 0 0 -32 0 743 0 0 0 0 (#\S . #\S) -32 0 -32 121 0 -1 0 -1 0 -1 0 -1 0 -1
|
||||
0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1
|
||||
0 -1 0 -1 0 -1 0 -1 0 -232 0 -1 0 -1 0 -1 0 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0
|
||||
-1 0 -1 (#\x2BC . #\N) 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0
|
||||
-1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 0 -1 0 -1
|
||||
0 -1 -300 195 0 0 -1 0 -1 0 0 -1 0 0 -1 0 0 0 0 0 -1 0 0 97 0 0 0 -1 163 0
|
||||
0 0 130 0 0 -1 0 -1 0 -1 0 0 -1 0 0 0 -1 0 0 -1 0 0 -1 0 -1 0 0 -1 0 0 -1 0
|
||||
56 0 0 -1 -2 0 -1 -2 0 -1 -2 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 -79 0
|
||||
-1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 (#\J . #\x30C) 0 -1 -2 0 -1 0 0
|
||||
0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1
|
||||
0 -1 0 -1 0 -1 0 -1 0 -1 0 0 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0
|
||||
0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 -1 0 -1 0 -1 0 -1 0 -210 -206 0 -205 0 -202
|
||||
0 -203 0 -205 0 -207 0 -209 -211 0 10743 0 -211 0 -213 0 -214 0 10727 0
|
||||
-218 0 -218 0 -218 -69 -217 -71 0 -219 0 84 0 130 0 0 0 0 0 0
|
||||
(#\x399 #\x308 . #\x301) 0 -38 -37 (#\x3A5 #\x308 . #\x301) -32 -31 -32 -64
|
||||
-63 -62 -57 0 -47 -54 0 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0
|
||||
-1 0 -1 -86 -80 7 0 0 -96 0 0 -1 0 0 -1 0 0 0 0 -32 -80 0 -1 0 -1 0 -1 0 -1
|
||||
0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 0 -1 0
|
||||
-1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0
|
||||
-1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 0 -1 0 -1 0 -1 0 -1
|
||||
0 -1 0 -1 0 -1 -15 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0
|
||||
-1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0
|
||||
-1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 0 -48 (#\x535 . #\x552) 0 0 0 3814
|
||||
0 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0
|
||||
-1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0
|
||||
-1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0
|
||||
-1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0
|
||||
-1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0
|
||||
-1 (#\H . #\x331) (#\T . #\x308) (#\W . #\x30A) (#\Y . #\x30A)
|
||||
(#\A . #\x2BE) -59 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0
|
||||
-1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0
|
||||
-1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0
|
||||
-1 0 -1 0 -1 0 -1 8 0 8 0 8 0 8 0 8 0 (#\x3A5 . #\x313) 8
|
||||
(#\x3A5 #\x313 . #\x300) 8 (#\x3A5 #\x313 . #\x301) 8
|
||||
(#\x3A5 #\x313 . #\x342) 8 0 8 0 74 86 100 128 112 126 (#\x1F08 . #\x399)
|
||||
(#\x1F09 . #\x399) (#\x1F0A . #\x399) (#\x1F0B . #\x399) (#\x1F0C . #\x399)
|
||||
(#\x1F0D . #\x399) (#\x1F0E . #\x399) (#\x1F0F . #\x399) (#\x1F08 . #\x399)
|
||||
(#\x1F09 . #\x399) (#\x1F0A . #\x399) (#\x1F0B . #\x399) (#\x1F0C . #\x399)
|
||||
(#\x1F0D . #\x399) (#\x1F0E . #\x399) (#\x1F0F . #\x399) (#\x1F28 . #\x399)
|
||||
(#\x1F29 . #\x399) (#\x1F2A . #\x399) (#\x1F2B . #\x399) (#\x1F2C . #\x399)
|
||||
(#\x1F2D . #\x399) (#\x1F2E . #\x399) (#\x1F2F . #\x399) (#\x1F28 . #\x399)
|
||||
(#\x1F29 . #\x399) (#\x1F2A . #\x399) (#\x1F2B . #\x399) (#\x1F2C . #\x399)
|
||||
(#\x1F2D . #\x399) (#\x1F2E . #\x399) (#\x1F2F . #\x399) (#\x1F68 . #\x399)
|
||||
(#\x1F69 . #\x399) (#\x1F6A . #\x399) (#\x1F6B . #\x399) (#\x1F6C . #\x399)
|
||||
(#\x1F6D . #\x399) (#\x1F6E . #\x399) (#\x1F6F . #\x399) (#\x1F68 . #\x399)
|
||||
(#\x1F69 . #\x399) (#\x1F6A . #\x399) (#\x1F6B . #\x399) (#\x1F6C . #\x399)
|
||||
(#\x1F6D . #\x399) (#\x1F6E . #\x399) (#\x1F6F . #\x399) 8
|
||||
(#\x1FBA . #\x399) (#\x391 . #\x399) (#\x386 . #\x399) (#\x391 . #\x342)
|
||||
(#\x391 #\x342 . #\x399) 0 0 (#\x391 . #\x399) 0 -7205 0 (#\x1FCA . #\x399)
|
||||
(#\x397 . #\x399) (#\x389 . #\x399) (#\x397 . #\x342)
|
||||
(#\x397 #\x342 . #\x399) 0 (#\x397 . #\x399) 0 8 (#\x399 #\x308 . #\x300)
|
||||
(#\x399 #\x308 . #\x301) (#\x399 . #\x342) (#\x399 #\x308 . #\x342) 0 0 0 8
|
||||
(#\x3A5 #\x308 . #\x300) (#\x3A5 #\x308 . #\x301) (#\x3A1 . #\x313) 7
|
||||
(#\x3A5 . #\x342) (#\x3A5 #\x308 . #\x342) 0 0 0 0 (#\x1FFA . #\x399)
|
||||
(#\x3A9 . #\x399) (#\x38F . #\x399) (#\x3A9 . #\x342)
|
||||
(#\x3A9 #\x342 . #\x399) 0 0 (#\x3A9 . #\x399) 0 0 0 0 0 0 0 0 -28 0 0 -16
|
||||
0 0 -1 0 0 -26 0 0 -48 0 -1 0 0 0 -10795 -10792 0 -1 0 -1 0 -1 0 0 -1 0 0
|
||||
-1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0
|
||||
-1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0
|
||||
-1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0
|
||||
-1 0 -1 0 -1 0 -1 0 -1 0 -7264 0 (#\F . #\F) (#\F . #\I) (#\F . #\L)
|
||||
(#\F #\F . #\I) (#\F #\F . #\L) (#\S . #\T) (#\x544 . #\x546)
|
||||
(#\x544 . #\x535) (#\x544 . #\x53B) (#\x54E . #\x546) (#\x544 . #\x53D) 0 0
|
||||
0 -32 0 0 -40 0))
|
||||
(define string-downcase-adjustment-vector
|
||||
'#(0 32 0 0 0 0 0 32 0 32 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
|
||||
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 (#\i . #\x307) 0 1 0
|
||||
1 0 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
|
||||
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 -121 1 0 1 0 1
|
||||
0 0 0 210 1 0 1 0 206 1 0 205 1 0 0 79 202 203 1 0 205 207 0 211 209 1 0 0
|
||||
0 211 213 0 214 1 0 1 0 1 0 218 1 0 218 0 1 0 218 1 0 217 1 0 1 0 219 1 0 0
|
||||
1 0 0 0 0 2 1 0 2 1 0 2 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1
|
||||
0 1 0 1 0 1 0 1 0 1 0 0 2 1 0 1 0 -97 -56 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
|
||||
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 -130 0 1 0 1 0 1 0 1 0 1 0 1
|
||||
0 1 0 1 0 1 0 0 10795 1 0 -163 10792 0 1 0 -195 69 71 1 0 1 0 1 0 1 0 1 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 38 0 37 64 63 0 32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1
|
||||
0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 0 0 -60 0 0 1 0 -7 1 0 0 -130 80 32 0 0 1 0 1
|
||||
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0
|
||||
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
|
||||
1 0 1 0 1 0 1 0 1 0 15 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1 0 1
|
||||
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
|
||||
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 48 0 0 0 0 7264 0 0 0 1 0 1 0 1 0 1 0
|
||||
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
|
||||
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
|
||||
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
|
||||
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0
|
||||
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
|
||||
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
|
||||
1 0 1 0 1 0 1 0 1 0 0 -8 0 -8 0 -8 0 -8 0 -8 0 0 0 0 0 0 0 0 -8 0 -8 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 -8 -8 -8 -8 -8 -8 -8 -8 0 0 0 0 0 0 0 0 -8 -8 -8 -8
|
||||
-8 -8 -8 -8 0 0 0 0 0 0 0 0 -8 -8 -8 -8 -8 -8 -8 -8 0 0 0 0 0 0 -8 -74 -9 0
|
||||
0 0 0 0 0 0 0 -86 -9 0 0 0 0 0 0 -8 -100 0 0 0 0 0 0 0 0 -8 -112 -7 0 0 0 0
|
||||
0 0 -128 -126 -9 0 -7517 0 -8383 -8262 0 28 0 0 0 16 0 0 1 0 0 26 0 0 48 0
|
||||
1 0 -10743 -3814 -10727 0 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
|
||||
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
|
||||
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
|
||||
1 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32 0 0 0 40 0 0))
|
||||
(define string-titlecase-adjustment-vector
|
||||
'#(0 0 0 -32 0 743 0 0 0 0 (#\S . #\s) -32 0 -32 121 0 -1 0 -1 0 -1 0 -1 0 -1
|
||||
0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1
|
||||
0 -1 0 -1 0 -1 0 -1 0 -232 0 -1 0 -1 0 -1 0 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0
|
||||
-1 0 -1 (#\x2BC . #\N) 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0
|
||||
-1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 0 -1 0 -1
|
||||
0 -1 -300 195 0 0 -1 0 -1 0 0 -1 0 0 -1 0 0 0 0 0 -1 0 0 97 0 0 0 -1 163 0
|
||||
0 0 130 0 0 -1 0 -1 0 -1 0 0 -1 0 0 0 -1 0 0 -1 0 0 -1 0 -1 0 0 -1 0 0 -1 0
|
||||
56 0 1 0 -1 1 0 -1 1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 -79 0 -1
|
||||
0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 (#\J . #\x30C) 1 0 -1 0 -1 0 0 0 -1
|
||||
0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1
|
||||
0 -1 0 -1 0 -1 0 -1 0 0 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 0 0
|
||||
-1 0 0 0 0 -1 0 0 0 0 -1 0 -1 0 -1 0 -1 0 -1 0 -210 -206 0 -205 0 -202 0
|
||||
-203 0 -205 0 -207 0 -209 -211 0 10743 0 -211 0 -213 0 -214 0 10727 0 -218
|
||||
0 -218 0 -218 -69 -217 -71 0 -219 0 84 0 130 0 0 0 0 0 0
|
||||
(#\x399 #\x308 . #\x301) 0 -38 -37 (#\x3A5 #\x308 . #\x301) -32 -31 -32 -64
|
||||
-63 -62 -57 0 -47 -54 0 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0
|
||||
-1 0 -1 -86 -80 7 0 0 -96 0 0 -1 0 0 -1 0 0 0 0 -32 -80 0 -1 0 -1 0 -1 0 -1
|
||||
0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 0 -1 0
|
||||
-1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0
|
||||
-1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 0 -1 0 -1 0 -1 0 -1
|
||||
0 -1 0 -1 0 -1 -15 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0
|
||||
-1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0
|
||||
-1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 0 -48 (#\x535 . #\x582) 0 0 0 3814
|
||||
0 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0
|
||||
-1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0
|
||||
-1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0
|
||||
-1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0
|
||||
-1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0
|
||||
-1 (#\H . #\x331) (#\T . #\x308) (#\W . #\x30A) (#\Y . #\x30A)
|
||||
(#\A . #\x2BE) -59 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0
|
||||
-1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0
|
||||
-1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0
|
||||
-1 0 -1 0 -1 0 -1 8 0 8 0 8 0 8 0 8 0 (#\x3A5 . #\x313) 8
|
||||
(#\x3A5 #\x313 . #\x300) 8 (#\x3A5 #\x313 . #\x301) 8
|
||||
(#\x3A5 #\x313 . #\x342) 8 0 8 0 74 86 100 128 112 126 8 8 8 8 8 8 8 8 0 0
|
||||
0 0 0 0 0 0 8 8 8 8 8 8 8 8 0 0 0 0 0 0 0 0 8 8 8 8 8 8 8 8 0 0 0 0 0 0 0 0
|
||||
8 (#\x1FBA . #\x345) 9 (#\x386 . #\x345) (#\x391 . #\x342)
|
||||
(#\x391 #\x342 . #\x345) 0 0 0 0 -7205 0 (#\x1FCA . #\x345) 9
|
||||
(#\x389 . #\x345) (#\x397 . #\x342) (#\x397 #\x342 . #\x345) 0 0 0 8
|
||||
(#\x399 #\x308 . #\x300) (#\x399 #\x308 . #\x301) (#\x399 . #\x342)
|
||||
(#\x399 #\x308 . #\x342) 0 0 0 8 (#\x3A5 #\x308 . #\x300)
|
||||
(#\x3A5 #\x308 . #\x301) (#\x3A1 . #\x313) 7 (#\x3A5 . #\x342)
|
||||
(#\x3A5 #\x308 . #\x342) 0 0 0 0 (#\x1FFA . #\x345) 9 (#\x38F . #\x345)
|
||||
(#\x3A9 . #\x342) (#\x3A9 #\x342 . #\x345) 0 0 0 0 0 0 0 0 0 0 0 -28 0 0
|
||||
-16 0 0 -1 0 0 -26 0 0 -48 0 -1 0 0 0 -10795 -10792 0 -1 0 -1 0 -1 0 0 -1 0
|
||||
0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1
|
||||
0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1
|
||||
0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1
|
||||
0 -1 0 -1 0 -1 0 -1 0 -1 0 -7264 0 (#\F . #\f) (#\F . #\i) (#\F . #\l)
|
||||
(#\F #\f . #\i) (#\F #\f . #\l) (#\S . #\t) (#\x544 . #\x576)
|
||||
(#\x544 . #\x565) (#\x544 . #\x56B) (#\x54E . #\x576) (#\x544 . #\x56D) 0 0
|
||||
0 -32 0 0 -40 0))
|
||||
|
|
Loading…
Reference in New Issue