Skip to content

Add \uparrow, \downarrow and \odot to TXF3 math symbols - #3

Merged
Sightem merged 1 commit into
Sightem:masterfrom
DoctorDan1986:feat/native-nand-nor-xnor-symbols
Oct 13, 2026
Merged

Sightem merged 1 commit into
Sightem:masterfrom
DoctorDan1986:feat/native-nand-nor-xnor-symbols

Conversation

@DoctorDan1986

Copy link
Copy Markdown
Contributor

Summary

Add three native Latin Modern TXF3 math glyphs for Boolean NAND, NOR, and XNOR:

Command Unicode Meaning TXF3 slot
\uparrow U+2191 ↑ NAND / Sheffer operator 0xC5
\downarrow U+2193 ↓ NOR / Peirce arrow 0xC6
\odot U+2299 ⊙ XNOR / circled dot 0xC7

This builds on the merged \supset addition (PR #1), preserving all existing glyph assignments.

  • Register all three commands in tex_symbols.c and include/texfont.h.
  • Classify them as binary operators for contextual TeX math spacing.
  • Extend the Latin Modern font generator and regenerate both TeXFonts.8xv and TeXScrpt.8xv (including offset adjustments).
  • Add symbol lookup and normal/script math-spacing regression cases, and update the supported-command reference.

Font validation (local)

  • Input fonts match the repository's original Latin Modern OpenType source Git blob hashes.
  • Existing \supset glyph reproduced byte-for-byte with the same rasterization/metrics process.
  • Regenerated main: 8,887 bytes, SHA-256 b599f33a4231ad3c4983b05f8ed61662e81211d792460659d59522ec57f068ad.
  • Regenerated script: 5,949 bytes, SHA-256 e32e7cddcf213f5f4ca6c2799444874705fd4ea8839ec145158e3a53b8185826.
  • Both binaries passed TI AppVar checksum, TXF3 record ordering, bitmap bounds, two-bit padding, and complete payload continuity checks.
  • New fonts' Git blob SHAs independently match the regenerated local binaries.

Native compiler/CI tests have not yet been run locally; this PR should be validated by upstream CI.

No GoNDR application or installer code is included in this change.

Add \uparrow (U+2191), \downarrow (U+2193), and \odot (U+2299)
in custom slots 0xC5-0xC7. Keep existing glyphs unchanged,
regenerate both Latin Modern fonts, and add parser, spacing, tests
and documentation.
@DoctorDan1986
DoctorDan1986 force-pushed the feat/native-nand-nor-xnor-symbols branch from 492a92b to 358b55e Compare October 11, 2026 20:05
@Sightem
Sightem merged commit 65db316 into Sightem:master Oct 13, 2026
1 of 3 checks passed
@Sightem

Sightem commented Oct 13, 2026

Copy link
Copy Markdown
Owner

thanks!

This branch had an error being deployed

1 failed deployment
Autotester — 358b55e9 Deployed Oct 11, 2026 by DoctorDan1986 via autotests-stable #45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants