Telefact/docs
2025-11-03 11:05:58 -05:00
..
CHANGELOG.md v0.1.2 — Header finalized with background color and live clock 2025-11-03 11:05:58 -05:00
README.md v0.1.2 — Header finalized with background color and live clock 2025-11-03 11:05:58 -05:00

Telefact — Python Edition

Telefact is a modern re-creation of a Ceefax-style Teletext broadcasting system, written in Python using the Tkinter library. It emulates the visual and structural behaviour of broadcast Teletext systems, maintaining a strict 40×24 character grid layout. This version focuses on the "Broadcaster" mode, replicating the look and timing of early digital information services such as BBC Ceefax and Channel 4 Oracle.


VERSION INFORMATION

Version: v0.1.2 Language: Python 3.13 Interface: Tkinter (standard library) Target: Desktop application (Linux / Windows) Resolution: 40×24 Teletext grid Font: Modeseven (Teletext recreation)


PROJECT GOALS

  • Faithfully reproduce the look and feel of classic Teletext pages.
  • Maintain accurate grid alignment for all text and graphics.
  • Provide a configurable header, footer, and body layout.
  • Simulate real broadcast elements such as page numbers and timestamps.
  • Establish the foundation for future expansion into dynamic page rotation and live content updates.

CURRENT FEATURES

  • 40×24 Teletext grid rendering via TelefactRenderer.
  • Safe-area margins to simulate CRT overscan.
  • Dynamic Ceefax-style header displaying:
    • Selected page number (e.g., P100)
    • Service provider name block (e.g., Telefact)
    • Current page number (e.g., 100)
    • Real-time clock (updates every second)
  • Configurable colours and font settings via config.json.
  • Keyboard shortcuts:
    • Q or ESC to exit the application.

SOURCE STRUCTURE

telefact/ ├── src/ │ ├── core/ │ │ ├── telefact_frame.py │ │ ├── telefact_header.py │ │ └── telefact_formatter.py │ ├── telefact_renderer.py │ └── config_manager.py ├── docs/ │ ├── README.md │ └── CHANGELOG.md ├── assets/ │ └── fonts/ │ ├── Modeseven.ttf │ ├── EuropeanTeletext.ttf │ └── EuropeanTeletextNuevo.ttf └── main.py


CONFIGURATION OVERVIEW

The configuration file is located at: config/config.json

Example: { "Mode": "Broadcaster", "ScreenWidth": 800, "ScreenHeight": 600, "Font": { "Name": "Modeseven", "Path": "assets/fonts/Modeseven.ttf", "Size": 18 }, "ShowGrid": false, "Colours": { "Header": "blue", "Footer": "red", "Background": "black", "TextPrimary": "white", "TextAccent": "yellow", "Clock": "yellow" }, "Header": { "ServiceName": "Telefact", "ServiceFG": "yellow", "ServiceBG": "blue", "SelectedPage": "P100", "CurrentPage": "100" } }


ROADMAP

v0.1.3 — Footer System and Subpage Counter

  • Implement footer band with coloured background and subpage indicator.
  • Integrate page tuning animation (Ceefax-style).
  • Add configuration options for rotation speed and page timing.

v0.2.0 — Page System Expansion

  • Introduce multiple page definitions with rotation logic.
  • Implement Teletext page index and feed loading.
  • Begin adding dynamic content from local cache and static feeds.

v0.3.0 — Broadcaster Automation

  • Simulate channel loop broadcasting through scheduled pages.
  • Add simple playback manager for testing page timing.

Developed by Stu Leak
Leak Technologies (2025)
All rights reserved.

Fonts: Modeseven and European Teletext by their respective creators.