Coder Social home page Coder Social logo

qteletextmaker's Introduction

QTeletextMaker

QTeletextMaker is a teletext page editor with an emphasis on Level 2.5 enhancement editing, released under the GNU General Public License v3.0

It is written in C++ using the Qt 5 widget libraries but should also compile with Qt 6.

Features

  • Load and save teletext pages in .tti format.
  • Rendering of teletext pages in Levels 1, 1.5, 2.5 and 3.5
  • Rendering of Local Objects and side panels.
  • Import and export of single pages in .t42 format.
  • Export PNG images of teletext pages.
  • Undo and redo of editing actions.
  • Interactive X/26 Local Enhancement Data triplet editor.
  • Editing of X/27/4 and X/27/5 compositional links to enhancement data pages.
  • Palette editor.
  • Configurable zoom.
  • View teletext pages in 4:3, 16:9 pillar-box and 16:9 stretch aspect ratios.

Although designed on and developed for Linux, the Qt libraries are cross platform so a Windows executable can be built. A Windows executable can be found within the "Releases" link, compiled on a Linux host using MXE based on these instructions. After MXE is installed make qtbase should build and install the required dependencies to build QTeletextMaker.

Building

Linux

Install version 5 or 6 of the QtCore, QtGui and QtWidgets libraries and build headers, along with the qmake tool. Depending on how qmake is installed, type qmake && make -j3 or qmake5 && make -j3 or qmake6 && make -j3 in a terminal to build, you can replace -j3 with the number of processor cores used for the compile process.

The above should place the qteletextmaker executable in the same directory as the source, type ./qteletextmaker in the terminal to launch. Some Qt installs may place the executable into a "release" directory.

Optionally, type make install afterwards to place the executable into /usr/local/bin.

Current limitations

The following X/26 enhancement triplets are not rendered by the editor, although the list is fully aware of them.

  • Invocation of Objects from POP and GPOP pages.
  • DRCS characters.
  • Proportional font spacing on Level 3.5

Using the X/26 triplet editor

The X/26 triplet editor sorts all the triplet modes available into categories, which are:

  • Set Active Position
  • Row triplet - full screen and full row colours, address row 0 and DRCS mode
  • Column triplet - non-spacing attributes and overwriting characters
  • Object - invocations and definitions
  • Terminator
  • PDC/reserved

After selecting the triplet mode the Row and Column spinboxes can then be used to place the Active Position of the selected triplet, whether or not each spinbox can be altered depends on the mode of the selected triplet. As well as the explicit "Set Active Position" triplet that can set both the row and the column, all column triplets can simultaneously set the column of the Active Position. Additionally the Full Row Colour triplet can set the row of the Active Position, with the column always set to 0.

Most triplet modes will present varying widgets below which can be used to alter the parameters of the currently selected triplet e.g. colour or character.

By checking "raw values" it is also possible to view and edit the raw Address, Mode and Data numbers of the triplets. When editing triplets this way, remember that address values 0-39 select a column triplet which has one set of modes and address values 40-63 select a row triplet which has a different set of modes.

The full behaviour of X/26 enhancement triplets can be found in section 12.3 of the Enhanced Teletext specification ETS 300 706.

Setting the Active Position

The Active Position, whether set explicitly by a "Set Active Position" triplet or by a row or column triplet, can only be moved in screen address order i.e. from left to right within a row and then from top to bottom across rows. In other words:

  • The Active Position can never be moved up to a lesser numbered row.
  • The Active Position can never be moved left within the same row to a lesser numbered column, but it can be moved left at the same time as it is moved down to a greater numbered row.

If this rule is not followed then triplets in earlier screen addresses will be ignored. Triplets that break this rule will be highlighted red in the X/26 triplet editor.

Objects

"Invoke ... Object" triplets must point to a "Define ... Object" of the same type e.g. "Invoke Active Object" must point to a "Define Active Object", otherwise the Object won't appear.

qteletextmaker's People

Contributors

gkthemac avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

qteletextmaker's Issues

Only top half of double-height text flashes

When double-height text is set to flashing in QTeletextMaker, only the upper half flashes.

Flashing should also apply to the second line. At least that is how it works in edit.tf. I think this automatic doubling of double-height line characters is where the BBC Micro mode 7 and teletext differ...

I was using this page from edit.tf, exported it as TTI, and loaded it in QTeletextMaker if that makes a difference.

Automatically add X/26 enhancements for diacritics

This is a rather long-term goal probably, but the basic idea is:

An optional mode where, if the user types in a character with a diacritic unavailable in the current encoding, the application tries to match it using X/26 enhancements.

For example, for a character "ฤ‰", used in Esperanto, an ASCII "c" is combined with the "G0 character diacritical 3", and so on.

Fix Bug When I Copy Subpage

Hello, Is Very Good Your Teletext Editor But When I Create A Subpage Copy, And I Registed TTI, Crashed/Close Now The Program, And I Not Found The Button For Next/Previous A Subpage.

Thank You!

Newa Our Master.

T42 Support

Hi/Hello, It Is Possible To Add Import/Export The Teletext Format .t42 ?

Add text wrapping to pasted text

Currently, pasting text in causes any that doesn't fit in a line to be truncated.

It'd be great if the text would automatically wrap onto multiple lines.

Cheers!

Insert Image To Teletext

Hello, Is Possible to add tool for insert image/picture to teletext?

each pixel has a color assigned close from palette depending on the image selected.

Change The Font

Hi/Hello It Is Possible To Add For Change The Teletext Font?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.