(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)

(FILECREATED "26-Dec-2023 21:17:15" {WMEDLEY}<lispusers>NSDISPLAYSIZES.;3 8449   

      :EDIT-BY rmk

      :CHANGES-TO (FNS NSDISPLAYSIZE)

      :PREVIOUS-DATE "24-Dec-2023 13:50:41" {WMEDLEY}<lispusers>NSDISPLAYSIZES.;2)


(PRETTYCOMPRINT NSDISPLAYSIZESCOMS)

(RPAQQ NSDISPLAYSIZESCOMS
       [(FNS NSDISPLAYSIZE NS\FONTFILENAME NS\FONTFILENAME.OLD PURGENSFONTS)
        (ADDVARS (NSFONTFAMILIES CLASSIC MODERN TERMINAL OPTIMA TITAN))
        (INITVARS (*SMALLSCREEN* (ILESSP SCREENWIDTH 700)))
        [COMS                                                (* ; 
                         "VirtualKeyboard font needs adjusting so that real Classic 12 still appears")
              (FNS VKBD.FIX.FONT)
              (DECLARE%: EVAL@COMPILE DONTCOPY (P (OR (RECLOOK 'KEYBOARDCONFIGURATION)
                                                      (LOADDEF 'KEYBOARDCONFIGURATION 'RECORDS
                                                             'VIRTUALKEYBOARDS]
        (DECLARE%: DONTEVAL@LOAD DOCOPY (P (MOVD? '\FONTFILENAME 'OLD\FONTFILENAME)
                                           (MOVD 'NS\FONTFILENAME '\FONTFILENAME)
                                           (MOVD? '\FONTFILENAME.OLD 'OLD\FONTFILENAME.OLD)
                                           (MOVD 'NS\FONTFILENAME.OLD '\FONTFILENAME.OLD)
                                           (PURGENSFONTS)
                                           (VKBD.FIX.FONT])
(DEFINEQ

(NSDISPLAYSIZE
  [LAMBDA (FAMILY SIZE FACE EXTENSION)                       (* ; "Edited 26-Dec-2023 21:15 by rmk")
                                                             (* ; "Edited 24-Dec-2023 13:49 by rmk")
                                                             (* ; "Edited 14-Sep-96 09:32 by rmk:")
                                                             (* ; "Edited 16-Nov-95 10:08 by ")
                                                             (* ; "Edited  5-Mar-93 18:12 by kaplan")
                                                             (* ; "Edited 15-Jan-87 15:22 by bvm:")

    (* ;; "Returns size that we would prefer to see the font of requested family, size, face, extension.  Used to make bigger ns display fonts than you would get by default.  Don't do it for small screens, as on DOS and laptops.")

    (DECLARE (GLOBALVARS DISPLAYFONTEXTENSIONS NSFONTFAMILIES))
    (OR (AND (CL:MEMBER EXTENSION DISPLAYFONTEXTENSIONS :TEST 'STRING-EQUAL)
             (COND
                (*SMALLSCREEN* (CL:UNLESS (CL:MEMBER FAMILY NSFONTFAMILIES :TEST 'STRING-EQUAL)
                                                             (* ; 
                                                             " Small screen, shrink non-NS fonts ")
                                   (SELECTQ SIZE
                                       (12 10)
                                       (10 8)
                                       (8 6)
                                       NIL)))
                ((CL:MEMBER FAMILY NSFONTFAMILIES :TEST 'STRING-EQUAL)
                                                             (* ; "Large screen, enlarge  NS fonts")
                 (AND (SELECTQ SIZE
                          (12 (COND
                                 ((CL:MEMBER FAMILY '(TERMINAL TITAN)
                                         :TEST
                                         'STRING-EQUAL)      (* ; "Until these exist in size 14")
                                  12)
                                 (T 14)))
                          (10 12)
                          (8 10)
                          (6 8)
                          NIL)))
                ((AND NIL (CL:MEMBER EXTENSION INTERPRESSFONTEXTENSIONS :TEST 'STRING-EQUAL)
                      (STRING-EQUAL FAMILY 'SYMBOL))         (* ; 
                            "Fake NS size on Interpress printing, even tho display fonts don't exist")
                 10)))
        SIZE])

(NS\FONTFILENAME
  [LAMBDA (FAMILY SIZE FACE EXTENSION CHARACTERSET)          (* ; "Edited 15-Jan-87 15:23 by bvm:")
    (OLD\FONTFILENAME FAMILY (NSDISPLAYSIZE FAMILY SIZE FACE EXTENSION)
           FACE EXTENSION CHARACTERSET])

(NS\FONTFILENAME.OLD
  [LAMBDA (FAMILY SIZE FACE EXTENSION CHARACTERSET)          (* ; "Edited 15-Jan-87 15:29 by bvm:")
    (OLD\FONTFILENAME.OLD FAMILY (NSDISPLAYSIZE FAMILY SIZE FACE EXTENSION)
           FACE EXTENSION CHARACTERSET])

(PURGENSFONTS
  [LAMBDA (TYPES)                                        (* ; "Edited 14-Sep-96 09:27 by rmk:")
                                                             (* ; "Edited 14-Dec-87 14:53 by bvm:")
    (/SETTOPVAL
     '\FONTSINCORE
     (FOR ENTRY IN \FONTSINCORE BIND BADTYPES TMP
        COLLECT
        (SETQ BADTYPES (IF (AND (MEMB (CAR ENTRY)
                                          NSFONTFAMILIES)
                                    (OR (NULL TYPES)
                                        (EQMEMB 'NS TYPES)))
                           THEN (CONS 'DISPLAY TYPES)
                         ELSE (MKLIST TYPES)))
        (CONS
         (CAR ENTRY)
         (FOR SIZES IN (CDR ENTRY)
            WHEN [SETQ TMP
                      (IF (AND (NULL TYPES)
                                   (> (CAR SIZES)
                                      12))
                          THEN                           (* ; 
                                                    "Only have to get rid of sizes smaller than 14")
                                (CDR SIZES)
                        ELSE (FOR FACE IN (CDR SIZES)
                                    WHEN (SETQ TMP
                                              (FOR ROT IN (CDR FACE)
                                                 WHEN (SETQ TMP (FOR DEV
                                                                       IN (CDR ROT) COLLECT
                                                                                        DEV
                                                                       UNLESS (MEMB (CAR DEV)
                                                                                        BADTYPES)))
                                                 COLLECT (CONS (CAR ROT)
                                                                   TMP)))
                                    COLLECT (CONS (CAR FACE)
                                                      TMP] COLLECT (CONS (CAR SIZES)
                                                                             TMP])
)

(ADDTOVAR NSFONTFAMILIES CLASSIC MODERN TERMINAL OPTIMA TITAN)

(RPAQ? *SMALLSCREEN* (ILESSP SCREENWIDTH 700))



(* ; "VirtualKeyboard font needs adjusting so that real Classic 12 still appears")

(DEFINEQ

(VKBD.FIX.FONT
  [LAMBDA (NEWFONT)                                      (* ; "Edited  9-Mar-93 14:03 by rmk:")
                                                             (* ; "Edited  1-Jul-88 16:55 by bvm")

    (* ;; "Change the VirtualKeyboard's configuration definitions to use NEWFONT (default Classic 10).  The original font is Classic 12, but with NSDISPLAYSIZES loaded, that coerces to Classic 14, so we have to fool it by setting it back a notch.")

    [SETQ DEFAULTKEYBOARDDISPLAYFONT (OR NEWFONT (SETQ NEWFONT '(CLASSIC 10]
    (for X in (LISTP (EVALV 'VKBD.CONFIGURATIONS)) do (replace (KEYBOARDCONFIGURATION
                                                                                KEYBOARDDISPLAYFONT)
                                                                     of X with 
                                                                           DEFAULTKEYBOARDDISPLAYFONT
                                                                         ])
)
(DECLARE%: EVAL@COMPILE DONTCOPY 

(OR (RECLOOK 'KEYBOARDCONFIGURATION)
    (LOADDEF 'KEYBOARDCONFIGURATION 'RECORDS 'VIRTUALKEYBOARDS))
)
(DECLARE%: DONTEVAL@LOAD DOCOPY 

(MOVD? '\FONTFILENAME 'OLD\FONTFILENAME)

(MOVD 'NS\FONTFILENAME '\FONTFILENAME)

(MOVD? '\FONTFILENAME.OLD 'OLD\FONTFILENAME.OLD)

(MOVD 'NS\FONTFILENAME.OLD '\FONTFILENAME.OLD)

(PURGENSFONTS)

(VKBD.FIX.FONT)
)
(DECLARE%: DONTCOPY
  (FILEMAP (NIL (1522 6781 (NSDISPLAYSIZE 1532 . 4079) (NS\FONTFILENAME 4081 . 4322) (
NS\FONTFILENAME.OLD 4324 . 4573) (PURGENSFONTS 4575 . 6779)) (6993 8031 (VKBD.FIX.FONT 7003 . 8029))))
)
STOP
