mirror of
https://github.com/CCExtractor/ccextractor.git
synced 2026-07-08 18:06:30 +00:00
[PR #1821] [MERGED] fix(teletext): Add --ttxtforcelatin option to force Latin G0 charset #2568
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/CCExtractor/ccextractor/pull/1821
Author: @cfsmp3
Created: 12/14/2025
Status: ✅ Merged
Merged: 12/14/2025
Merged by: @cfsmp3
Base:
master← Head:fix/issue-1395-teletext-latin-charset📝 Commits (1)
26f3174fix(teletext): Add --ttxtforcelatin option to force Latin G0 charset📊 Changes
6 files changed (+23 additions, -1 deletions)
View changed files
📝
src/lib_ccx/lib_ccx.h(+2 -1)📝
src/lib_ccx/telxcc.c(+8 -0)📝
src/rust/lib_ccxr/src/teletext.rs(+3 -0)📝
src/rust/src/args.rs(+5 -0)📝
src/rust/src/common.rs(+1 -0)📝
src/rust/src/parser.rs(+4 -0)📄 Description
Summary
--ttxtforcelatincommand-line optionProblem
Some broadcast streams (e.g., UK Freesat recordings) incorrectly signal Cyrillic character set via X/28 or M/29 teletext packets when the actual content is Latin English text.
Before (garbled Cyrillic):
Expected (correct Latin):
Root Cause
The broadcast stream contains triplet value
0x1290which has:This causes CCExtractor to select CYRILLIC3 (Ukrainian) charset instead of Latin.
Solution
Added
--ttxtforcelatinoption that bypasses the Cyrillic character set detection and always uses Latin G0 charset.Changes
src/lib_ccx/lib_ccx.h: Addedforceg0latinfield to teletext configsrc/lib_ccx/telxcc.c: Modifiedset_g0_charset()to respectforceg0latinoptionsrc/rust/src/args.rs: Added--ttxtforcelatinCLI argumentsrc/rust/src/parser.rs: Added argument handlingsrc/rust/src/common.rs: Added field to struct conversionsrc/rust/lib_ccxr/src/teletext.rs: Addedforceg0latinto TeletextConfigTest plan
--ttxtforcelatinproduces correct Latin outputUsage
Fixes #1395
🤖 Generated with Claude Code
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.