1
0
mirror of synced 2026-01-12 00:42:56 +00:00

276 Commits

Author SHA1 Message Date
rmkaplan
cad0143209
Rmk99 cleanup display fonts (#2203)
All display fontfiles are now in the single fonts/displayfonts/ directory. The subdirectories adobe, big, other, altofonts have been deleted, and are no longer on DISPLAYFONTDIRECTORIES. The few additional displayfonts from the envos repo are included.

This is the result of:

Removing all byte-identical files, leaving a representative of each such equivalence class in displayfonts/

Removing all files in displayfonts that are renamed byte-identical copies of other files in displayfonts/ (e.g. helvetica1-MRR-c0.displayfont is a fake-renamed copy of helvetica4-MRR-c0.displayfont). These are to be constructed on the fly by the font substitution mechanism.

Roughly comparing the bitmaps of non-identical files with the same font family/size/face/charset in the different subdirectories, and making displayfonts/ have the one that looks best (e.g. most glyphs, unless garbage), giving priority to ones that are already in displayfonts/.

Moving the remaining odd-ball files from the subdirectories to displayfonts/ (e.g. gates, music).

Copying from Envos the 30 or so files that are not byte-identical copies of files already in displayfonts/.
2025-07-14 11:43:11 -07:00
Matt Heffron
88a7fa5480
BUTTONS - Correctly wait for edit of button to complete before updating (#2207)
Fix editing of button...correctly wait for edit to complete before updating the button itself.
Add (FIND-BUTTON label) function.
Minor updates to documentation.
2025-07-08 10:37:51 -07:00
rmkaplan
63d5849a15
Rmk88 split screen updates and color, eliminate reliance on STREAMHINT xpointer (#2119)
* Tedit window splitting is more robust, interface through menu items instead of split-region on the right of the window.  See TEDIT-RELEASENOTES.TEDIT

* Tedit recognizes color as specfied by DSPCOLOR, passes it to hardcopy

* N-way buttons default to unsorted--new items go at the end. Otherwise keyboard shortcut meta-3 for the 3rd font might pick a different one depending on what went before.

* USER.CM can be specified as an opening property for Bravo conversion.

* Adresses/fixes Tedit issues #2173 #2172 #2171 #2142  #2105 #2062 #2059 #1972 (maybe some others).

* Changes to rationalize internal interfaces and simplify code, and particularly to eliminate internal dependencies on the STREAMHINT Xpointer backlink.  STREAMHINT is only accessed if a client has grabbed the TEXTOBJ and passes it back in.  The stream and window are the safe/reliable way of referencing the Tedit state (and the window and stream know about each other, and know about the TEXTOBJ only through the stream).

* Many changes to TEDIT-STRESS, including new defaults CHECKARRAYS NIL, NSYSOUTS 0, ARRAYBLOCKCHECKING T

* lispusers/EQUATIONS: image object no longer saves state on the stream, not the window (which may not be there).

* Rename CHARNAME to be CHARCODE.ENCODE, parallel to CHARCODE.DECODE
2025-07-03 00:06:10 -07:00
rmkaplan
30af8ea5cb
Clicking on the graph after the main window has closed does't break (#2146) 2025-06-16 11:56:33 -07:00
rmkaplan
d26e29f0d0
Collect TALK files into lispusers/talk/ (#2147)
* Collect TALK files into lispusers/talk/

renamed with hyphen convention.  Also pull over TALKGAP files that were previous obsolete, and remove them from obsolete/lispusers

* Replace TALK.TEDIT--file got smashed

* TALK.TEDIT now comments the current situation
2025-06-16 11:46:00 -07:00
rmkaplan
7ad65469b1
GITFNS gwc looks at all subdirectories, like prc (#2131)
Co-authored-by: Matt Heffron <heffron@alumni.caltech.edu>
2025-05-14 10:11:29 -07:00
rmkaplan
9feba7f7c7
JSON-GET indexes arrays with integer attributes (#2140) 2025-05-12 12:15:47 -07:00
Matt Heffron
30872f62e7
READ-BDF Fix incorrect detection of Italic font slope from BDF font metadata. (#2132)
Fix incorrect detection of Italic font slope from BDF font metadata.
2025-05-01 06:45:29 -07:00
Larry Masinter
6c025089c1
Rmk87 minor updates EXAMINEDEFS, REGIONMANAGER, and TEDIT-PF-SEE (#2113)
* EXAMINEDEFS uses the Tedit atom-bound table for word selection
* REGIONMANAGER gives client better control over region recovered 
* TEDIT-PF-SEE: Meta-T defaults to showing the definition in the curren… 
* REGIONMANAGER and GITFNS documentation update
2025-04-28 13:09:30 -07:00
Matt Heffron
39ebd40da4
READ-BDF: Handle newly encountered cases in BDF files. (#2108)
* Better handling of a glyph with ENCODING of -1. 
I treat it as the _slug_ glyph, instead of the _default_ of a solid block.

* Handle scrambled bitmaps issue #2109.
Glyphs with zero width bitmap *and* zero advance (_escapement_) caused miscalculated glyph offsets into the CHARSETINFO bitmap.

* Allow and ignore COMMENT lines preceding the STARTFONT line.
Add error checking for extracting font FAMILY, SIZE, FACE, etc. from the BDF-FONT object.
Add recommendation to documentation to write the DISPLAYFONT files to a directory separate from the system's IL:DISPLAYFONTDIRECTORIES locations.

* Account for glyphs with a negative initial offset.

* Add VERBOSE optional parameter to READ-BDF to report font internal FAMILY, FACE, etc.
Change &OPTIONAL parameters of WRITE-BDF-TO-DISPLAYFONT-FILES to &KEY to simplify calling. (No need to remember the order.)
Add CHAR-SETS and WRITE-UNMAPPED parameters to WRITE-BDF-TO-DISPLAYFONT-FILES to allow some level of control of which DISPLAYFONT files are written.
Updated documentation, and added warning note about font's FAMILY containing any digits.
2025-04-28 11:40:08 -07:00
rmkaplan
f4b7e91a68
lispusers/COMMENTHACKS had a bogus 255 byte at end after STOP 2025-04-26 13:31:16 -07:00
rmkaplan
46fe81bf36 REGIONMANAGER and GITFNS documentation update
GITFNS is just formatting, REGIONMANAGER documents the new SAVED-TYPED-REGION feature
2025-04-20 23:05:54 -07:00
rmkaplan
67a3e558f6 TEDIT-PF-SEE: Meta-T defaults to showing the definition in the current file 2025-04-20 22:52:06 -07:00
rmkaplan
37195dc7d9 REGIONMANAGER gives client better control over region recovered at closing
The client can decide that some reshapings don't matter (e.g. Tedit window splits) when recovering the typed region for later reuse
2025-04-20 22:50:51 -07:00
rmkaplan
fe033efe22 EXAMINEDEFS uses the Tedit atom-bound table for word selection 2025-04-20 22:49:05 -07:00
Matt Heffron
1491fa91cc
READ-BDF add ability to create FONTDESCRIPTOR and write DISPLAYFONT files (#2015)
* Now can create the FONTDESCRIPTOR with all non-empty charsets.
Can write DISPLAYFONTFILE format ("STRIKE") files for the charsets.
Add ability to use mapping of Unicode charcode to unknown XCCS charcode in the private space.

* Create 2nd FONTDESCRIPTOR for unmapped Unicode to XCCS charcodes, organized by charset-like (8-bit splitting of charcode) of Unicode encoding value.

* Added option to create and write files for RAW FONTDESCRIPTOR which does NO mapping from Unicode to XCCS.
All glyphs are at the Unicode encoding positions.
Any glyphs with Unicode encoding > xFFFF are not included in the FONTDESCRIPTOR or DISPLAYFONT files.

* Fix a bug where I assumed glyph names couldn't be parsed as a number; and a little cleanup.
The linux otf2bdf utility uses the hex of encoding value as the name, which can appear to be a FLOAT and overflow (i.e., 3D39). 
Similar parsing problem fixed and corrected an error message.

* Initial documentation file written.
2025-04-14 12:08:10 -07:00
rmkaplan
78e88e238b
Sets EOL convention ANY in case SYSTEM-EXTERNALFORMAT defaults to :THROUGH (#2090) 2025-04-09 11:45:28 -07:00
rmkaplan
58aad924d2
Initial TEDIT window based on Lisp-source width estimate TEDIT.SOURCE.LINELENGTH (#2089) 2025-04-09 11:44:45 -07:00
rmkaplan
b072b6ef52
TEDITKEY TKDORADO TEDITDORADOKEYS EDITKEYS are obsoleted by new Tedit keybinding architecture (#2088) 2025-04-05 12:32:33 -07:00
rmkaplan
b0c00e0636
Move WHEELSCROLL.xxx characters to Function character set (#2087) 2025-03-31 11:44:19 -07:00
rmkaplan
86ddc4b404
GITFNS: Middle-clicking the prc menu brings up the web page (#2077)
Middle-clicking the prc menu brings up the web page
2025-03-24 18:35:15 +01:00
rmkaplan
1bdaa63d49
WHEELSCROLL: Put more of the branching logic inside the WHEELSCROLL function, add character names (#2069)
Put more of the branching logic inside WHEELSCROLL, add character names
2025-03-24 10:19:06 -07:00
rmkaplan
88327b8644
Replace Envos with Medley in the lispusers documentation template (#2071)
Envos → Medley in documentation template
2025-03-19 11:57:09 -07:00
rmkaplan
83c363ad28 Delete DLIONFNKEYS 2025-03-13 20:06:14 -07:00
Larry Masinter
0aa52aa8cd
update LispUsers xerox-to-xbm to at least be cl:compiled (DFASL not LCOM) and TXT -> TEDIT. (#2047) 2025-03-03 10:40:31 -08:00
Matt Heffron
736ac51a8c
FONTSAMPLER - Enable option to use HEX vs OCTAL on page info (#2018)
* Enable optional to use HEX vs OCTAL for charset number (in page title) and grid row/column titles.

* Fix typos in documentation.
2025-02-21 16:05:41 -08:00
rmkaplan
ae52a44231
lispusers/DOCUMENT cleaned up and working with current Tedit (#2023)
Cleaned up lispusers/DOCUMENT
2025-02-09 22:07:41 -08:00
Matt Heffron
87d3abc632 Yet another attempt to make a clean PR (compared with broken PRs #2007 & #2008 & #2013) 2025-02-04 17:22:54 -08:00
Matt Heffron
1f317d34ef
Obsolete and rename FONTSAMPLE no R (#2010)
* Add back character sets that had characters outside 16 bit plane

* Update XCCS-353=SYMBOLS3.TXT

Update title line

* Update UNICODE.TEDIT

* Fix charset names

* Reorganized the tables, added requested interfaces

* Use a single hash

* Top-level array branch beats a single hash

* cleanup UNICODE.TRANSLATE macro

* Fix slug in outcharfn

* Remove a stray line

* Another try, would work for raw

* Remove duplicates, redo hashing

* Getting complete maps in both directions

* Initializing

* Only the latest file versions

* Add back gothic mappings

* Enable FONTSAMPLER to display glyphs from DISPLAYFONT (bitmap font) on non-DISPLAY stream (e.g., PDF)
Added .LCOM to repository.

Corrected PR.

* Relocate FONTSAMPLE files to obsolete.

* Files renamed. Internal names and documentation were NOT updated.

---------

Co-authored-by: rmkaplan <ron.kaplan@post.harvard.edu>
2025-02-03 12:30:53 -08:00
rmkaplan
fc36176134
fix GITFNS prc command (#1994)
* fix prc command

* A little cleaner

* Match also on the pull-request number

* Oops, remove HELP
2025-02-03 12:07:58 -08:00
Matt Heffron
40d18fff6e
Fix unbound vars errors in WRITESTRIKEFONTFILE from earlier edit. (#2003) 2025-02-03 11:58:06 -08:00
Frank Halasz
8323b1fae4
Improved REGIONMANAGER reference coordinates (#1998)
Additional ways of specifying the anchor for the reference (window,
region, position)
2025-02-03 11:14:22 -08:00
Matt Heffron
16e99100f5
Macros for multi-level alists (#1996)
These are macros that I have been using for years to simplify the
storage and retrieval of items in alist structures with arbitrary
numbers of keys. They may prove useful to others.
2025-02-03 11:01:03 -08:00
Matt Heffron
0bc84f97f0 Per review comment from Ron Kaplan, moved constants DUMMYINDEX and MAXCHAR from EDITFONT to FONT. 2025-02-01 12:44:17 -08:00
Larry Masinter
db98ea346b
Remove GITFNS.PDF from repo (added by HCFILES ) (#2001) 2025-02-01 10:49:21 -08:00
rmkaplan
6c3f0d8e56 Improved reference coordinates 2025-01-30 22:53:26 -08:00
rmkaplan
6c86838d18 Macros for multi-level alists 2025-01-29 22:57:37 -08:00
rmkaplan
d9090011d4
Add WHICHKEY to lispusers/ (#1987)
* WHICHKEY

* WHICHKEY collects all down keys
2025-01-27 11:54:09 -08:00
rmkaplan
292a7cd787
Fix typo in VERSIONDEFS (#1990)
Fix typo
2025-01-27 11:45:55 -08:00
rmkaplan
a1a67959d1
Converted EXV to a command exv (#1981)
As requested
2025-01-27 11:44:46 -08:00
Matt Heffron
20ec5c2bc9 Step 2 of move: move the files. 2025-01-20 21:07:28 -08:00
rmkaplan
d737f7ec93
Manipulate versions of definitions by their ordinal file numbers (#1931) 2025-01-20 12:40:46 -08:00
rmkaplan
9e6eba2cd9
Clicking See for pdf files will do the ShellOpen (#1930)
* Click See on a pdf file will do the ShellOpen

instead of crashing into Tedit.  prc will inherit this behavior

* Loads PDFSTREAM if not already loaded
2025-01-20 12:40:00 -08:00
rmkaplan
58122db362
Open man page with TEDIT READONLY-QUIET instead of OPENTEXTSTREAM (#1933)
Tedit process enables meta key commands

Find, Open, Documentation
2025-01-20 12:05:47 -08:00
Herb Jellinek
4e11554156
TAB-WINDOWS: A lispusers package that lets you step through open windows (#1789)
Start it running with `(START-TAB-WINDOWS)`.

Bonus debug tool: `(KEY-WINDOW)` starts a process that monitors keyboard
and mouse button events and displays them in a little window.
2025-01-20 10:47:15 -08:00
rmkaplan
5b37dd09db
Rmk32 eol convention for input defaults to ANY, extend OPENSTREAM so that EOL can be specified as an "external format" (#1785)
* FILEIO: EOL for input defaults to ANY, EXT-FORMAT can specify EOL

As per technical meeting on 7/15/2024

* Revert "FILEIO: EOL for input defaults to ANY, EXT-FORMAT can specify EOL"

This reverts commit 6a7e8c3665bbdcb401f81aa49eadb603874fb4b2.

* FILEIO:  Fix comment

* Added DETECTEDEOLCONVENTION to STREAM declaration

and recompiled calls to macro \CHECKEOLC.

* COMAPARETEXT:  was trying to set EOL to ANY on a Tedit stream

* LCOMS needing to be recompiled for \CHECKEOLC macro and Create STREAM

(plus a new (unchanged) version of IOCHAR needed to get the cleanup to work for the recompile)

* EXTERNALFORMAT macro and function implement EOL detection

* FILEIO: stream records detected EOL, also RENAMEFILE uses COPYBYTES

UFS doesn't check file devices identity, doesn't give type-change message.  Recompiled for create stream

* ADIR has TRUEDEVICE

* Revert "FILEIO: stream records detected EOL, also RENAMEFILE uses COPYBYTES"

This reverts commit fa97aa61575f3ba0876b9ad6aadebf2892a0cb15.

* Revert "EXTERNALFORMAT macro and function implement EOL detection"

This reverts commit eb098615edbc32961558ec3ba42fdf0d712cafa4.

* Revert "LCOMS needing to be recompiled for \CHECKEOLC macro and Create STREAM"

This reverts commit 5967452c637861fda6a0e24db32ec387451cc085.

* Revert "Added DETECTEDEOLCONVENTION to STREAM declaration"

This reverts commit 196f105cf5e536e7d14736863a359fca673d69a4.

* Trying to complete the ANY/EOLC and binary RENAMEFILE issues

* loadup glitch
2024-12-25 13:06:35 -08:00
rmkaplan
abdb128636
Rmk36 tedit fifth round (#1857)
* TMAX updates for compatibility with Tedit changes

* DOC-OBJECTS changes for compatibility with Tedit changes

* MODERNIZE update for Tedit split windows

* Core Tedit files

* IMAGEOBJ: Remove dependency on Tedit internals

* WINDOW: Remove dependency on Tedit internal declaration

Still strange that WFROMDS should have to branch on Tedit

* WINDOWOBJ gets window of TTY process before the window of the stream of the TTY process

So insert into Tedit works

* TEDIT-CHAT: try to use TEXTSTREAM vs TEXTOBJ

* Fix tab-initialization problem in SLIDES.TEDIT

as reported by @nbriggs

* TEDIT-CHAT: use TSTREAM rather than TEXTOBJ

* Updates after lots more testing, particularly scrolling

Some other files dragged along to avoid dependence on Tedit internals

* Remove unwanted SAVE.SYSOUT

* Addresses more end-of-file and empty-file display issues

Try it again

* TEDIT-DEBUG tracking other changes

* Odds and ends

* Adjust EOF selection and caret-scrolling on copy

* More cleanup, plus fixing a few more ancient (Venue) glitches

As usual, the problems have to do with the funky behavior of EOL's in the middle and end of the document.  More abstraction and refactoring to get better control of this (I hope).

* TEDIT-WINDOW: Scroll down of big objects

Trying to fix what happens at the transition when scrolling down brings a big-object's top down in the window.   Approach is to bring down the line above, which may make for a little jump. I hope that solves it.
Scrolling up still needs some adjustment.

* Eliminate junk at top of window after up/down scrolling of big objects

BLTSHADE is OK there for scrolling, but not for redisplay after editing.  In the edit case, the top of the pane above the last valid line is preserved.
Scrolling still has the problem that the window can go blank at the first scroll that brings a tall object into the pane--still working on that.

* Scrolling with tall lines should be more continuous

* Another tweak for scrolling

plus interface extension to TEDIT.MOVE and TEDIT.COPY, a little more on field menus

* More robust strategy for field menu buttons

Surround the field with prefix and suffix pieces with image objects that print the pre and post labels and shift the selection forward or backward into the field.  Doesn't depend on inherited quirky logic in the selection line-scanner.

* Field selection ignores right and middle clicks

* A little more menu/selection tweaking

You can't extend through fields and buttons

* Added CUSTOMBUTTONEVENTFN to menu field buttons

Also, menu buttons in general can't be deleted

* A few more glitches, plus a little selection refactoring for buttons

* Reduce flicker in pargraph menu margin bar

* screen update glitch

* DOC-OBJECTS, TEDIT-SCREEN: Fixes the HCFILES DOC-OBJECTS failure

* TEDIT-BUTTONS:  Field values should always be shown in the specified FIELDFONT

* Abstracting the structure of the history lists

cleanup, but mostly as a precursor to maybe doing a ring buffer of a specified length

* TEDIT-FILE, a little font-reading cleanup

* Include the files from rmk-39 that deal with the text/binary renamefile problem

* TEDIT-PAGE addresses #1905

* Fix BUTTONSTART to STARTPC in Put/Get menu buttons

* Use width of M as width of EOL--easy to select

Also put in function call for potential kerning--needs eventual FONT support

* Rename a few internal functions from TEDIT.-- to \TEDIT.--

* Doesn't make sense for a charlooks to not have a font

* TEDIT-BUTTONS - Fix comment

* Take out Tedit internals from \CARET.FLASH?

Should have included this in fifth round long ago

* TEDIT-FILE:  use DEFAULTFONT for .sh files

Easier to follow the layout

* TEDIT-LOOKS: fix loadup order

* tedit-exports.all  Remove line-has-protection field

Useless

* Make sure that charlooks change as expected

* External format for .sh files is UTF-8

* Better display of history information for debugging

* Button changes: show document font families, better fields

* TEDIT-WINDOW, remove extra truncated line with down-scroll

* TEDIT-SELECTION: suppress line/paragraph selection for built-in menus

Line/para selection would be reasonable for multi-line fields, but most menu lines have protected text that would behave inconsistently.  So just suppress

* Better support for potential kerning

* Fix empty field value

* Simplify ASCII translation code

* Make sure headings have a default tab

* Word boundary at character 1

* Remember that you specified a font class instead of a font

For the charlooks menu, but also so that it is saved on a put

* More items on the Family NWAY-button line

* glitch

* TEDIT-LOOKS: Better algorithm for Ascii translation

* Charmenu remembers previous "Other" fonts, even if not installed

* Fix initial piece index

* Fix fontclass changes (again)
2024-12-23 11:07:54 -08:00
Herb Jellinek
7a32bd3051 Update docs, make configurable
Make the meta-key name a parameter and update the docs to match.

Document how different OSes, keyboards, and window systems can affect results.
2024-10-23 14:07:56 -07:00
Matt Heffron
e1989850f3
Added new module READ-BDF. (#1811)
* Added new module READ-BDF.
This will parse a bdf font file into a BDF::BDF-FONT structure.
It does NOT create (convert into) an IL:FONTDESCRIPTOR instance.
Minimal error checking!

* Remove work-around for bug in CL:READ-FROM-STRING that is fixed in PR #1833
2024-09-26 14:08:36 -07:00
Herb Jellinek
7ed120ca97 TAB-WINDOWS: Step through open windows
Start it running with `(START-TAB-WINDOWS)`.

Bonus: `(KEY-WINDOW)` starts a process that monitors keyboard and mouse button
events and displays them in a little window.
2024-07-19 10:59:52 -07:00