anchor.diff:        (<= code-point #x7F)
         (in-window-p (lookup-dynamic-window state window) code-point)))
   
  +(defun write-16bit-code-point (code-point write-func)
  +  (declare (type (unsigned-byte 16) code-point))
  +  (funcall write-func (ldb (byte 8 8) code-point))
  +  (funcall write-func (ldb (byte 8 0) code-point)))
  +    
   (defun encode-unit*/single-byte-mode (state code-point next-code-point write-func)
     (declare (type unicode-code-point code-point)
   	   (type (or null unicode-code-point) next-code-point)
  
positive.code: 			       write-func +UD0+ +UDX+)
  	 (encode-unit* state code-point next-code-point write-func))
  	((> code-point #xFFFF)		; use surrogate pair
  	 (encode-SMP-as-surrogate-pair state code-point next-code-point write-func))
  	(t
  	 (when (<= #xE000 code-point #xF2FF)
  	   (funcall write-func +UQU+))
  	 (funcall write-func (ldb (byte 8 8) code-point))
  	 (funcall write-func (ldb (byte 8 0) code-point)))))
  
  (defun encode-unit* (state code-point next-code-point write-func)
    (declare (type unicode-code-point code-point next-code-point)
  
negative.code: 	      (find-suitable-dynamic-window state next-code-point))
  	  ;; quote unicode.
  	  (funcall write-func +SQU+)
  	  (if (> code-point #xFFFF)
  	      (multiple-value-bind (high low)
  		  (encode-to-surrogate-pair code-point)
  		;; I don't use unicode-mode combination.
  		(write-16bit-code-point high write-func)
  		(funcall write-func +SQU+)
  		(write-16bit-code-point low write-func))
  	      (write-16bit-code-point code-point write-func)))
  	 (t
  	  ;; goto unicode-mode.
  	  (funcall write-func +SCU+)
  