X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fexternal-formats%2Fenc-cyr.lisp;h=660e38d6865d0d7e85ce8bbb02039ebb41b43f20;hb=83aafeb6d7a8ca3c6036b0b9d229785773b20e2d;hp=637ea96b4ee97b6a4bba0b342ff9374a61906d8c;hpb=42fcad110cd7e966c89bda8f5d3be96862ba1dbd;p=sbcl.git diff --git a/src/code/external-formats/enc-cyr.lisp b/src/code/external-formats/enc-cyr.lisp index 637ea96..660e38d 100644 --- a/src/code/external-formats/enc-cyr.lisp +++ b/src/code/external-formats/enc-cyr.lisp @@ -32,7 +32,7 @@ (#x9C #x00B0) ; DEGREE SIGN (#x9D #x00B2) ; SUPERSCRIPT TWO (#x9E #x00B7) ; MIDDLE DOT - (#x9F #x00F7) ; DIVISION SIGN + (#x9F #x00F7) ; DIVISION SIGN (#xA0 #x2550) ; BOX DRAWINGS DOUBLE HORIZONTAL (#xA1 #x2551) ; BOX DRAWINGS DOUBLE VERTICAL (#xA2 #x2552) ; BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE @@ -64,7 +64,7 @@ (#xBC #x256A) ; BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE (#xBD #x256B) ; BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE (#xBE #x256C) ; BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL - (#xBF #x00A9) ; COPYRIGHT SIGN + (#xBF #x00A9) ; COPYRIGHT SIGN (#xC0 #x044E) ; CYRILLIC SMALL LETTER YU (#xC1 #x0430) ; CYRILLIC SMALL LETTER A (#xC2 #x0431) ; CYRILLIC SMALL LETTER BE @@ -134,14 +134,14 @@ (declaim (inline get-koi8-r-bytes)) (defun get-koi8-r-bytes(string pos end) (declare (optimize speed (safety 0)) - (type simple-string string) - (type array-range pos end)) - (get-latin-bytes #'identity :koi8-r string pos end)) + (type simple-string string) + (type array-range pos end)) + (get-latin-bytes #'code->koi8-r-mapper :koi8-r string pos end)) (defun string->koi8-r (string sstart send null-padding) (declare (optimize speed (safety 0)) - (type simple-string string) - (type array-range sstart send)) + (type simple-string string) + (type array-range sstart send)) (values (string->latin% string sstart send #'get-koi8-r-bytes null-padding))) (defmacro define-koi8-r->string* (accessor type) @@ -149,14 +149,14 @@ (let ((name (make-od-name 'koi8-r->string* accessor))) `(progn (defun ,name (string sstart send array astart aend) - (,(make-od-name 'latin->string* accessor) string sstart send array astart aend #'identity))))) + (,(make-od-name 'latin->string* accessor) string sstart send array astart aend #'koi8-r->code-mapper))))) (instantiate-octets-definition define-koi8-r->string*) (defmacro define-koi8-r->string (accessor type) (declare (ignore type)) `(defun ,(make-od-name 'koi8-r->string accessor) (array astart aend) - (,(make-od-name 'latin->string accessor) array astart aend #'identity))) + (,(make-od-name 'latin->string accessor) array astart aend #'koi8-r->code-mapper))) (instantiate-octets-definition define-koi8-r->string) @@ -309,14 +309,14 @@ (declaim (inline get-koi8-u-bytes)) (defun get-koi8-u-bytes(string pos end) (declare (optimize speed (safety 0)) - (type simple-string string) - (type array-range pos end)) - (get-latin-bytes #'identity :koi8-u string pos end)) + (type simple-string string) + (type array-range pos end)) + (get-latin-bytes #'code->koi8-u-mapper :koi8-u string pos end)) (defun string->koi8-u (string sstart send null-padding) (declare (optimize speed (safety 0)) - (type simple-string string) - (type array-range sstart send)) + (type simple-string string) + (type array-range sstart send)) (values (string->latin% string sstart send #'get-koi8-u-bytes null-padding))) (defmacro define-koi8-u->string* (accessor type) @@ -324,14 +324,14 @@ (let ((name (make-od-name 'koi8-u->string* accessor))) `(progn (defun ,name (string sstart send array astart aend) - (,(make-od-name 'latin->string* accessor) string sstart send array astart aend #'identity))))) + (,(make-od-name 'latin->string* accessor) string sstart send array astart aend #'koi8-u->code-mapper))))) (instantiate-octets-definition define-koi8-u->string*) (defmacro define-koi8-u->string (accessor type) (declare (ignore type)) `(defun ,(make-od-name 'koi8-u->string accessor) (array astart aend) - (,(make-od-name 'latin->string accessor) array astart aend #'identity))) + (,(make-od-name 'latin->string accessor) array astart aend #'koi8-u->code-mapper))) (instantiate-octets-definition define-koi8-u->string) @@ -479,14 +479,14 @@ (declaim (inline get-x-mac-cyrillic-bytes)) (defun get-x-mac-cyrillic-bytes(string pos end) (declare (optimize speed (safety 0)) - (type simple-string string) - (type array-range pos end)) - (get-latin-bytes #'identity :x-mac-cyrillic string pos end)) + (type simple-string string) + (type array-range pos end)) + (get-latin-bytes #'code->x-mac-cyrillic-mapper :x-mac-cyrillic string pos end)) (defun string->x-mac-cyrillic (string sstart send null-padding) (declare (optimize speed (safety 0)) - (type simple-string string) - (type array-range sstart send)) + (type simple-string string) + (type array-range sstart send)) (values (string->latin% string sstart send #'get-x-mac-cyrillic-bytes null-padding))) (defmacro define-x-mac-cyrillic->string* (accessor type) @@ -494,14 +494,14 @@ (let ((name (make-od-name 'x-mac-cyrillic->string* accessor))) `(progn (defun ,name (string sstart send array astart aend) - (,(make-od-name 'latin->string* accessor) string sstart send array astart aend #'identity))))) + (,(make-od-name 'latin->string* accessor) string sstart send array astart aend #'x-mac-cyrillic->code-mapper))))) (instantiate-octets-definition define-x-mac-cyrillic->string*) (defmacro define-x-mac-cyrillic->string (accessor type) (declare (ignore type)) `(defun ,(make-od-name 'x-mac-cyrillic->string accessor) (array astart aend) - (,(make-od-name 'latin->string accessor) array astart aend #'identity))) + (,(make-od-name 'latin->string accessor) array astart aend #'x-mac-cyrillic->code-mapper))) (instantiate-octets-definition define-x-mac-cyrillic->string)