Telefact/docs/README.md

120 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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.
------------------------------------------------------------
AUTHOR AND COPYRIGHT
------------------------------------------------------------
Developed by Stu Leak
Leak Technologies (2025)
All rights reserved.
Fonts: Modeseven and European Teletext by their respective creators.