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/.
Fix editing of button...correctly wait for edit to complete before updating the button itself.
Add (FIND-BUTTON label) function.
Minor updates to documentation.
* 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
* 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
* 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
* 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.
* 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.
* 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>
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.
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.
* 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
* 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)
* 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
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.