⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 enc-dos.lisp

📁 开源跨平台Lisp编译器
💻 LISP
📖 第 1 页 / 共 5 页
字号:
           (type array-range pos))  (get-latin-bytes #'code->cp861-mapper :cp861 string pos))(defun string->cp861 (string sstart send null-padding)  (declare (optimize speed (safety 0))           (type simple-string string)           (type array-range sstart send))  (values (string->latin% string sstart send #'get-cp861-bytes null-padding)))(defmacro define-cp861->string* (accessor type)  (declare (ignore type))  (let ((name (make-od-name 'cp861->string* accessor)))    `(progn      (defun ,name (string sstart send array astart aend)        (,(make-od-name 'latin->string* accessor) string sstart send array astart aend #'cp861->code-mapper)))))(instantiate-octets-definition define-cp861->string*)(defmacro define-cp861->string (accessor type)  (declare (ignore type))  `(defun ,(make-od-name 'cp861->string accessor) (array astart aend)    (,(make-od-name 'latin->string accessor) array astart aend #'cp861->code-mapper)))(instantiate-octets-definition define-cp861->string)(add-external-format-funs '(:cp861 :|cp861|)                          '(cp861->string-aref string->cp861))(define-external-format (:cp861 :|cp861|)    1 t    (let ((cp861-byte (code->cp861-mapper bits)))      (if cp861-byte          (setf (sap-ref-8 sap tail) cp861-byte)          (external-format-encoding-error stream bits)))    (let ((code (cp861->code-mapper byte)))      (if code          (code-char code)          (external-format-decoding-error stream byte)))) ;; TODO -- error check(define-unibyte-mapper cp862->code-mapper code->cp862-mapper  (#x80 #x05D0) ; HEBREW LETTER ALEF  (#x81 #x05D1) ; HEBREW LETTER BET  (#x82 #x05D2) ; HEBREW LETTER GIMEL  (#x83 #x05D3) ; HEBREW LETTER DALET  (#x84 #x05D4) ; HEBREW LETTER HE  (#x85 #x05D5) ; HEBREW LETTER VAV  (#x86 #x05D6) ; HEBREW LETTER ZAYIN  (#x87 #x05D7) ; HEBREW LETTER HET  (#x88 #x05D8) ; HEBREW LETTER TET  (#x89 #x05D9) ; HEBREW LETTER YOD  (#x8A #x05DA) ; HEBREW LETTER FINAL KAF  (#x8B #x05DB) ; HEBREW LETTER KAF  (#x8C #x05DC) ; HEBREW LETTER LAMED  (#x8D #x05DD) ; HEBREW LETTER FINAL MEM  (#x8E #x05DE) ; HEBREW LETTER MEM  (#x8F #x05DF) ; HEBREW LETTER FINAL NUN  (#x90 #x05E0) ; HEBREW LETTER NUN  (#x91 #x05E1) ; HEBREW LETTER SAMEKH  (#x92 #x05E2) ; HEBREW LETTER AYIN  (#x93 #x05E3) ; HEBREW LETTER FINAL PE  (#x94 #x05E4) ; HEBREW LETTER PE  (#x95 #x05E5) ; HEBREW LETTER FINAL TSADI  (#x96 #x05E6) ; HEBREW LETTER TSADI  (#x97 #x05E7) ; HEBREW LETTER QOF  (#x98 #x05E8) ; HEBREW LETTER RESH  (#x99 #x05E9) ; HEBREW LETTER SHIN  (#x9A #x05EA) ; HEBREW LETTER TAV  (#x9B #x00A2) ; CENT SIGN  (#x9C #x00A3) ; POUND SIGN  (#x9D #x00A5) ; YEN SIGN  (#x9E #x20A7) ; PESETA SIGN  (#x9F #x0192) ; LATIN SMALL LETTER F WITH HOOK  (#xA0 #x00E1) ; LATIN SMALL LETTER A WITH ACUTE  (#xA1 #x00ED) ; LATIN SMALL LETTER I WITH ACUTE  (#xA2 #x00F3) ; LATIN SMALL LETTER O WITH ACUTE  (#xA3 #x00FA) ; LATIN SMALL LETTER U WITH ACUTE  (#xA4 #x00F1) ; LATIN SMALL LETTER N WITH TILDE  (#xA5 #x00D1) ; LATIN CAPITAL LETTER N WITH TILDE  (#xA6 #x00AA) ; FEMININE ORDINAL INDICATOR  (#xA7 #x00BA) ; MASCULINE ORDINAL INDICATOR  (#xA8 #x00BF) ; INVERTED QUESTION MARK  (#xA9 #x2310) ; REVERSED NOT SIGN  (#xAA #x00AC) ; NOT SIGN  (#xAB #x00BD) ; VULGAR FRACTION ONE HALF  (#xAC #x00BC) ; VULGAR FRACTION ONE QUARTER  (#xAD #x00A1) ; INVERTED EXCLAMATION MARK  (#xAE #x00AB) ; LEFT-POINTING DOUBLE ANGLE QUOTATION MARK  (#xAF #x00BB) ; RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK  (#xB0 #x2591) ; LIGHT SHADE  (#xB1 #x2592) ; MEDIUM SHADE  (#xB2 #x2593) ; DARK SHADE  (#xB3 #x2502) ; BOX DRAWINGS LIGHT VERTICAL  (#xB4 #x2524) ; BOX DRAWINGS LIGHT VERTICAL AND LEFT  (#xB5 #x2561) ; BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE  (#xB6 #x2562) ; BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE  (#xB7 #x2556) ; BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE  (#xB8 #x2555) ; BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE  (#xB9 #x2563) ; BOX DRAWINGS DOUBLE VERTICAL AND LEFT  (#xBA #x2551) ; BOX DRAWINGS DOUBLE VERTICAL  (#xBB #x2557) ; BOX DRAWINGS DOUBLE DOWN AND LEFT  (#xBC #x255D) ; BOX DRAWINGS DOUBLE UP AND LEFT  (#xBD #x255C) ; BOX DRAWINGS UP DOUBLE AND LEFT SINGLE  (#xBE #x255B) ; BOX DRAWINGS UP SINGLE AND LEFT DOUBLE  (#xBF #x2510) ; BOX DRAWINGS LIGHT DOWN AND LEFT  (#xC0 #x2514) ; BOX DRAWINGS LIGHT UP AND RIGHT  (#xC1 #x2534) ; BOX DRAWINGS LIGHT UP AND HORIZONTAL  (#xC2 #x252C) ; BOX DRAWINGS LIGHT DOWN AND HORIZONTAL  (#xC3 #x251C) ; BOX DRAWINGS LIGHT VERTICAL AND RIGHT  (#xC4 #x2500) ; BOX DRAWINGS LIGHT HORIZONTAL  (#xC5 #x253C) ; BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL  (#xC6 #x255E) ; BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE  (#xC7 #x255F) ; BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE  (#xC8 #x255A) ; BOX DRAWINGS DOUBLE UP AND RIGHT  (#xC9 #x2554) ; BOX DRAWINGS DOUBLE DOWN AND RIGHT  (#xCA #x2569) ; BOX DRAWINGS DOUBLE UP AND HORIZONTAL  (#xCB #x2566) ; BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL  (#xCC #x2560) ; BOX DRAWINGS DOUBLE VERTICAL AND RIGHT  (#xCD #x2550) ; BOX DRAWINGS DOUBLE HORIZONTAL  (#xCE #x256C) ; BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL  (#xCF #x2567) ; BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE  (#xD0 #x2568) ; BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE  (#xD1 #x2564) ; BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE  (#xD2 #x2565) ; BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE  (#xD3 #x2559) ; BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE  (#xD4 #x2558) ; BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE  (#xD5 #x2552) ; BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE  (#xD6 #x2553) ; BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE  (#xD7 #x256B) ; BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE  (#xD8 #x256A) ; BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE  (#xD9 #x2518) ; BOX DRAWINGS LIGHT UP AND LEFT  (#xDA #x250C) ; BOX DRAWINGS LIGHT DOWN AND RIGHT  (#xDB #x2588) ; FULL BLOCK  (#xDC #x2584) ; LOWER HALF BLOCK  (#xDD #x258C) ; LEFT HALF BLOCK  (#xDE #x2590) ; RIGHT HALF BLOCK  (#xDF #x2580) ; UPPER HALF BLOCK  (#xE0 #x03B1) ; GREEK SMALL LETTER ALPHA  (#xE1 #x00DF) ; LATIN SMALL LETTER SHARP S (GERMAN)  (#xE2 #x0393) ; GREEK CAPITAL LETTER GAMMA  (#xE3 #x03C0) ; GREEK SMALL LETTER PI  (#xE4 #x03A3) ; GREEK CAPITAL LETTER SIGMA  (#xE5 #x03C3) ; GREEK SMALL LETTER SIGMA  (#xE6 #x00B5) ; MICRO SIGN  (#xE7 #x03C4) ; GREEK SMALL LETTER TAU  (#xE8 #x03A6) ; GREEK CAPITAL LETTER PHI  (#xE9 #x0398) ; GREEK CAPITAL LETTER THETA  (#xEA #x03A9) ; GREEK CAPITAL LETTER OMEGA  (#xEB #x03B4) ; GREEK SMALL LETTER DELTA  (#xEC #x221E) ; INFINITY  (#xED #x03C6) ; GREEK SMALL LETTER PHI  (#xEE #x03B5) ; GREEK SMALL LETTER EPSILON  (#xEF #x2229) ; INTERSECTION  (#xF0 #x2261) ; IDENTICAL TO  (#xF1 #x00B1) ; PLUS-MINUS SIGN  (#xF2 #x2265) ; GREATER-THAN OR EQUAL TO  (#xF3 #x2264) ; LESS-THAN OR EQUAL TO  (#xF4 #x2320) ; TOP HALF INTEGRAL  (#xF5 #x2321) ; BOTTOM HALF INTEGRAL  (#xF6 #x00F7) ; DIVISION SIGN  (#xF7 #x2248) ; ALMOST EQUAL TO  (#xF8 #x00B0) ; DEGREE SIGN  (#xF9 #x2219) ; BULLET OPERATOR  (#xFA #x00B7) ; MIDDLE DOT  (#xFB #x221A) ; SQUARE ROOT  (#xFC #x207F) ; SUPERSCRIPT LATIN SMALL LETTER N  (#xFD #x00B2) ; SUPERSCRIPT TWO  (#xFE #x25A0) ; BLACK SQUARE  (#xFF #x00A0) ; NO-BREAK SPACE)(declaim (inline get-cp862-bytes))(defun get-cp862-bytes (string pos)  (declare (optimize speed (safety 0))           (type simple-string string)           (type array-range pos))  (get-latin-bytes #'code->cp862-mapper :cp862 string pos))(defun string->cp862 (string sstart send null-padding)  (declare (optimize speed (safety 0))           (type simple-string string)           (type array-range sstart send))  (values (string->latin% string sstart send #'get-cp862-bytes null-padding)))(defmacro define-cp862->string* (accessor type)  (declare (ignore type))  (let ((name (make-od-name 'cp862->string* accessor)))    `(progn      (defun ,name (string sstart send array astart aend)        (,(make-od-name 'latin->string* accessor) string sstart send array astart aend #'cp862->code-mapper)))))(instantiate-octets-definition define-cp862->string*)(defmacro define-cp862->string (accessor type)  (declare (ignore type))  `(defun ,(make-od-name 'cp862->string accessor) (array astart aend)    (,(make-od-name 'latin->string accessor) array astart aend #'cp862->code-mapper)))(instantiate-octets-definition define-cp862->string)(add-external-format-funs '(:cp862 :|cp862|)                          '(cp862->string-aref string->cp862))(define-external-format (:cp862 :|cp862|)    1 t    (let ((cp862-byte (code->cp862-mapper bits)))      (if cp862-byte          (setf (sap-ref-8 sap tail) cp862-byte)          (external-format-encoding-error stream bits)))    (let ((code (cp862->code-mapper byte)))      (if code          (code-char code)          (external-format-decoding-error stream byte)))) ;; TODO -- error check(define-unibyte-mapper cp863->code-mapper code->cp863-mapper  (#x80 #x00C7) ; LATIN CAPITAL LETTER C WITH CEDILLA  (#x81 #x00FC) ; LATIN SMALL LETTER U WITH DIAERESIS  (#x82 #x00E9) ; LATIN SMALL LETTER E WITH ACUTE  (#x83 #x00E2) ; LATIN SMALL LETTER A WITH CIRCUMFLEX  (#x84 #x00C2) ; LATIN CAPITAL LETTER A WITH CIRCUMFLEX  (#x85 #x00E0) ; LATIN SMALL LETTER A WITH GRAVE  (#x86 #x00B6) ; PILCROW SIGN  (#x87 #x00E7) ; LATIN SMALL LETTER C WITH CEDILLA  (#x88 #x00EA) ; LATIN SMALL LETTER E WITH CIRCUMFLEX  (#x89 #x00EB) ; LATIN SMALL LETTER E WITH DIAERESIS  (#x8A #x00E8) ; LATIN SMALL LETTER E WITH GRAVE  (#x8B #x00EF) ; LATIN SMALL LETTER I WITH DIAERESIS  (#x8C #x00EE) ; LATIN SMALL LETTER I WITH CIRCUMFLEX  (#x8D #x2017) ; DOUBLE LOW LINE  (#x8E #x00C0) ; LATIN CAPITAL LETTER A WITH GRAVE  (#x8F #x00A7) ; SECTION SIGN  (#x90 #x00C9) ; LATIN CAPITAL LETTER E WITH ACUTE  (#x91 #x00C8) ; LATIN CAPITAL LETTER E WITH GRAVE  (#x92 #x00CA) ; LATIN CAPITAL LETTER E WITH CIRCUMFLEX  (#x93 #x00F4) ; LATIN SMALL LETTER O WITH CIRCUMFLEX  (#x94 #x00CB) ; LATIN CAPITAL LETTER E WITH DIAERESIS  (#x95 #x00CF) ; LATIN CAPITAL LETTER I WITH DIAERESIS  (#x96 #x00FB) ; LATIN SMALL LETTER U WITH CIRCUMFLEX  (#x97 #x00F9) ; LATIN SMALL LETTER U WITH GRAVE  (#x98 #x00A4) ; CURRENCY SIGN  (#x99 #x00D4) ; LATIN CAPITAL LETTER O WITH CIRCUMFLEX  (#x9A #x00DC) ; LATIN CAPITAL LETTER U WITH DIAERESIS  (#x9B #x00A2) ; CENT SIGN  (#x9C #x00A3) ; POUND SIGN  (#x9D #x00D9) ; LATIN CAPITAL LETTER U WITH GRAVE  (#x9E #x00DB) ; LATIN CAPITAL LETTER U WITH CIRCUMFLEX  (#x9F #x0192) ; LATIN SMALL LETTER F WITH HOOK  (#xA0 #x00A6) ; BROKEN BAR  (#xA1 #x00B4) ; ACUTE ACCENT  (#xA2 #x00F3) ; LATIN SMALL LETTER O WITH ACUTE  (#xA3 #x00FA) ; LATIN SMALL LETTER U WITH ACUTE  (#xA4 #x00A8) ; DIAERESIS  (#xA5 #x00B8) ; CEDILLA  (#xA6 #x00B3) ; SUPERSCRIPT THREE  (#xA7 #x00AF) ; MACRON  (#xA8 #x00CE) ; LATIN CAPITAL LETTER I WITH CIRCUMFLEX  (#xA9 #x2310) ; REVERSED NOT SIGN  (#xAA #x00AC) ; NOT SIGN  (#xAB #x00BD) ; VULGAR FRACTION ONE HALF  (#xAC #x00BC) ; VULGAR FRACTION ONE QUARTER  (#xAD #x00BE) ; VULGAR FRACTION THREE QUARTERS  (#xAE #x00AB) ; LEFT-POINTING DOUBLE ANGLE QUOTATION MARK  (#xAF #x00BB) ; RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK  (#xB0 #x2591) ; LIGHT SHADE  (#xB1 #x2592) ; MEDIUM SHADE  (#xB2 #x2593) ; DARK SHADE  (#xB3 #x2502) ; BOX DRAWINGS LIGHT VERTICAL  (#xB4 #x2524) ; BOX DRAWINGS LIGHT VERTICAL AND LEFT  (#xB5 #x2561) ; BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE  (#xB6 #x2562) ; BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE  (#xB7 #x2556) ; BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE  (#xB8 #x2555) ; BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE  (#xB9 #x2563) ; BOX DRAWINGS DOUBLE VERTICAL AND LEFT  (#xBA #x2551) ; BOX DRAWINGS DOUBLE VERTICAL  (#xBB #x2557) ; BOX DRAWINGS DOUBLE DOWN AND LEFT  (#xBC #x255D) ; BOX DRAWINGS DOUBLE UP AND LEFT  (#xBD #x255C) ; BOX DRAWINGS UP DOUBLE AND LEFT SINGLE  (#xBE #x255B) ; BOX DRAWINGS UP SINGLE AND LEFT DOUBLE  (#xBF #x2510) ; BOX DRAWINGS LIGHT DOWN AND LEFT  (#xC0 #x2514) ; BOX DRAWINGS LIGHT UP AND RIGHT  (#xC1 #x2534) ; BOX DRAWINGS LIGHT UP AND HORIZONTAL  (#xC2 #x252C) ; BOX DRAWINGS LIGHT DOWN AND HORIZONTAL  (#xC3 #x251C) ; BOX DRAWINGS LIGHT VERTICAL AND RIGHT  (#xC4 #x2500) ; BOX DRAWINGS LIGHT HORIZONTAL  (#xC5 #x253C) ; BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL  (#xC6 #x255E) ; BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE  (#xC7 #x255F) ; BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE  (#xC8 #x255A) ; BOX DRAWINGS DOUBLE UP AND RIGHT  (#xC9 #x2554) ; BOX DRAWINGS DOUBLE DOWN AND RIGHT  (#xCA #x2569) ; BOX DRAWINGS DOUBLE UP AND HORIZONTAL  (#xCB #x2566) ; BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL  (#xCC #x2560) ; BOX DRA

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -