-------- Forwarded Message --------
| Subject:
|
Recap for "Impromptu Google Meet Meeting" |
| Date: |
Mon, 24 Aug 2026 18:26:06 +0000 |
Meeting Purpose
Review PRs and sync on font rotation, T-Edit, and other
projects.
Key Takeaways - Font Rotation: Ron's PR fixes a critical bug
where the bitmap height was used as character height, but a
fundamental design flaw remains: rotating the entire font bitmap
instead of individual glyphs. This creates complex issues with
metrics and baselines that require a more consistent coordinate
system model. - T-Edit Update: Ron is finalizing a T-Edit update
that improves menu tracking and fixes a bug preventing
multi-object copy-selection. The update also clarifies the logic
for undocumented protected, sell-before, and sell-after image
object properties. - New Font Strategy: Matt is building a BDF
font pipeline, starting with Noto fonts. This requires a new
medley-font-sources repo to separate large, generated files from
the main source. Future work will explore adding kerning and
ligature support. - Student Project: Johans' project was scoped
down from a regex engine to a unit test framework. This provides
a more achievable 3-month goal and offers a clear path to
integrate automated tests into the Medley build process.
Topics
PR Review & Merges - PR #26991 (Frank): Merged. - PR #2726
(Ron): Approved. Adds font rotation display to the edit-font
title bar. - PR #550 (Nick): Refactors C file includes for
clarity using include-what-you-use. - Status: Awaiting Cygwin
test (Frank) and feedback from LispCore users on unusual OSs
(Herb).
Font Rotation: Design Flaws & Fixes - Problem: The current
font rotation method rotates the entire font bitmap, not
individual glyphs. This breaks standard font metrics and creates
complex issues. - Example: Using the bitmap height as character
height was a critical bug, as a rotated bitmap's height can be
thousands of pixels. - Fixes in Ron's PR: - Metrics: widths and
y-widths vectors are swapped for 90°/270° rotations. - Offsets:
Bitmap offsets are now correctly applied to the vertical
dimension for vertical text. - Missing Vector: A zero-filled
widths vector is created for vertical fonts, as the code doesn't
default to zero if the vector is nil. - Remaining Challenges: -
Negative Advance Widths: The 16-bit unsigned metric vectors
cannot represent negative values needed for backwards text
(e.g., 270° rotation). - Baseline Alignment: Ensuring baselines
align when mixing fonts with different rotations (e.g., 90° vs.
270°) is untested. - Coordinate System: A consistent,
coordinate-system-independent model for font metrics (ascent,
descent) is needed to avoid ambiguity.
T-Edit Update - Ron is finalizing a T-Edit update with two main
improvements: - Menu Tracking: Corrects menu highlighting
behavior. When the mouse moves over an option, it shows the next
state (e.g., toggled on) and reverts to the current state when
the mouse leaves, before the button is released. - Multi-Object
Selection: Fixes a bug preventing copy-selection across multiple
image objects. The when-operated-on function now correctly
applies to all objects in a selection, not just the one clicked.
- Undocumented Features: The update clarifies logic for
protected, sell-before, and sell-after image object properties.
- sell-before/sell-after: Direct the caret to a specific object.
A new rule handles the edge case where two such objects are
adjacent, which previously failed.
New Font Pipeline & Strategy - Matt is building a pipeline
to generate Medley display fonts from BDF files, starting with
Noto fonts. - Repo Strategy: A new medley-font-sources repo is
needed to house large, generated files (BDFs, TTFs) and
utilities (e.g., a modified otf-to-bdf tool). - Rationale:
Avoids bloating the main Medley repo with non-source assets. -
Future Work: - Kerning: Extract kerning data from TTF fonts. -
Ligatures: Implement support for multi-character ligatures
(e.g., "ffi"), which poses complex selection and rendering
challenges. - Postscript Font Coercion: The fonts-available
function is broken for Postscript fonts. - Problem: It fails to
report availability for logical font names that are mapped to
physical files via the font coercion table. - Solution: The
function must correctly resolve logical names through the
coercion mechanism.
Other Project Updates - Johans (Student): Project scoped from a
regex engine to a unit test framework. A proposal is due this
Thursday. - Herb: Updated the Zotero link checker to build a
full in-memory collection model. Awaiting a response from ACM
regarding bot detection issues. - Nick: Investigating the
complex history of the mako-ether and 10-megabit Ethernet code
to enable proper PUP packet formatting. - Paolo: Debugging a
gravity-loops simulator where the first run fails silently, but
subsequent runs succeed. Tracing shows state-updating methods
are skipped on the first run.
Next Steps - Frank: Test PR #550 on Cygwin. - Herb: Post a note
to LispCore requesting testers for PR #550 on unusual OSs. -
Ron: Finalize and release the T-Edit update. - Matt: Create a
medley-font-sources repo for the new font pipeline. - Johans:
Submit the unit test framework proposal by Thursday. - Paolo:
Continue debugging the gravity-loops simulator. - All: Meet with
the Blue Sky user (UNICEA) this Wednesday.
|
|
|
|
|
Action Items ✨ |
|
|
|
|
Meeting Purpose
Review PRs and sync on font
rotation, T-Edit, and other
projects.
Key Takeaways
Topics
PR Review & Merges
-
PR #26991 (Frank): Merged.
-
PR #2726 (Ron): Approved. Adds font rotation
display to the edit-font
title bar.
-
PR #550 (Nick): Refactors C file includes for
clarity using include-what-you-use.
Font Rotation: Design Flaws & Fixes
T-Edit Update
New Font Pipeline & Strategy
Other Project Updates
Next Steps
|
|
|
|
|
|
|
|
|
|
|