[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
font-convert-interval
- To: Bug-Zwei@OZ
- Subject: font-convert-interval
- From: Eric Tiffany <erict@OZ>
- Date: Tue ,14 May 85 03:03:00 EDT
In Symbolics 3600 Zwei in Release 6.0, IP-TCP 29.0, AISite 9.1,
microcode TMC5-MIC 319, on Lisp Machine Keith Moon:
the function font-convert-interval doesn't seem to work as
advertized. I managed to hack up a version that seems to work,
but it may contain extraneous code since I snarfed some of it\n from change-font-interval. Here it is...
(DEFUN FONT-CONVERT-INTERVAL (MAPPING-LIST START-BP &OPTIONAL END-BP IN-ORDER-P)
(GET-INTERVAL START-BP END-BP IN-ORDER-P)
(undo-save start-bp end-bp t) ;;; *
(mung-bp-interval start-bp) ;;; *
(LOOP FOR LINE FIRST (BP-LINE START-BP) THEN (LINE-NEXT LINE)
WITH END-LINE = (BP-LINE END-BP)
FOR START-IDX FIRST (BP-INDEX START-BP) THEN 0
;;; * ("unless" clause deleted)
DO (progn (mung-line line) ;;; *
(OR (EQ (ARRAY-TYPE LINE) 'ART-FAT-STRING)
(SETQ LINE (SET-LINE-ARRAY-TYPE LINE 'ART-FAT-STRING)))
(LOOP FOR I FROM START-IDX BELOW (IF (EQ LINE END-LINE) (BP-INDEX END-BP)
(LINE-LENGTH LINE))
AS CH = (AREF LINE I)
DO (ASET (DPB (OR (NTH (LDB %%CH-FONT CH) MAPPING-LIST)
(CAR (LAST MAPPING-LIST))) ;Bogus, use last font
%%CH-FONT CH)
LINE I)))
UNTIL (EQ LINE END-LINE)))
The starred lines are additions/deletions.