-
Notifications
You must be signed in to change notification settings - Fork 0
BiDi and Plex Guide
Language / שפה: English | עברית
Modern media players (Plex, Infuse, VLC, Apple TV, Android TV, Smart TVs) use modern subtitle rendering engines (libass, ExoPlayer, AVPlayer) that default to Left-to-Right (LTR) embedding levels when rendering plaintext subtitles.
When a line containing Right-to-Left (RTL) text (such as Hebrew) ends with a neutral character (period, question mark, exclamation mark, hyphen, closing bracket, ellipses), the rendering engine treats the neutral punctuation as trailing LTR text, causing it to jump to the far right (the visual beginning of the line).
-
Intended:
?מה שלומך -
Rendered incorrectly:
מה שלומך?(with question mark on the right) -
Dialogue with hyphens:
- כן, אני מבין.rendered asכן, אני מבין. -
Unicode character U+200F (RIGHT-TO-LEFT MARK - RLM) is a non-printable, zero-width formatting character with strong RTL directionality.
Injecting \u200F as the very first character of every line forces the text shaper to start with an RTL base level, ensuring dialogue dashes (-) stay on the right.
Injecting \u200F immediately before trailing punctuation (?, !, ., ..., )) binds the punctuation strongly to the preceding Hebrew text, preventing it from flipping across the screen.
./rightsub merge and ./rightsub fix-plex automatically apply these rules along with homoglyph normalization, CP1255 encoding conversion, and SDH noise stripping via the SubRefine Engine.
./rightsub fix-plex "Movie.he.srt" --in-placePass multiple paths sequentially:
./rightsub fix-plex "S01E01.he.srt" "S01E02.he.srt" "S01E03.he.srt" --in-placeRecursively scan an entire season or library folder, cleaning ads and creating backups:
./rightsub fix-plex "/path/to/TV_Shows/" --recursive --in-place --clean-ads --backupThe tool is engineered for worry-free batch operations on large, heterogeneous media libraries:
-
Hebrew-Only Detection: Automatically inspects character distribution in each
.srtfile. English subtitles (.en.srt), Spanish, French, etc. are identified and skipped entirely ([SKIP] Not Hebrew). The script never touches non-Hebrew files. -
Subtitle-Only Filtering: Completely ignores video containers (MKV, MP4, AVI), poster art, or metadata files (
.nfo). - Strict Idempotency: Running repeatedly on already-fixed subtitles does not duplicate RLM marks or corrupt dialogue text.
-
Safety Flags: Full support for
--dry-run(preview mode with zero disk writes) and--backup(creates.srt.bakbefore editing in-place).
RightSub Wiki — Subtitles Done Right. Powered by the SubRefine Algorithmic Engine & SubSwarm Multi-Agent AI.
- Home
- 📦 Global Installation Guide
- 🔰 Quickstart for Beginners
- BiDi & Plex Guide
- Pipeline Workflow
- On-Device STT & Sync (quicksubs)
- TMDb Metadata & Entity Resolution
- AI Assistants & Integration
- ⚖️ RightSub vs. Bazarr Comparison
- 🔄 Home Media & Download Integrations
- 🔮 Interactive CLI Specification
- 🔮 Setup & Health Wizard Specification
- 🔌 MCP Server Specification
- 💎 Semantic AI Polish & QC Specification
- 🐳 Docker Webhook Server Specification
- 🗺️ Product Roadmap
- 🚀 What's New & Release Notes
- Boston Legal Case Study
- CLI Reference
- דף הבית (Home HE)
- 📦 מדריך התקנה גלובלית והפצה
- 🔰 מדריך פשוט למתחילים
- מדריך BiDi ו-Plex
- תהליך עבודה מלא
- תמלול וסנכרון מקומי (quicksubs)
- אינטגרציית TMDb (עלילה ומגדר)
- חיבור לכלי בינה מלאכותית (AI)
- ⚖️ השוואה טכנית מול Bazarr
- 🔄 מדריך אינטגרציות ואוטומציה לשרתי מדיה
- 🔮 מפרט אשף פקודה אינטראקטיבי
- 🔮 מפרט אשף התקנה ואבחון
- 🔌 מפרט שרת MCP
- 💎 מפרט מנוע ליטוש סמנטי ו-QC
- 🐳 מפרט שרת Webhook וקונטיינר
- 🗺️ מפת דרכים ומעקב אבני-דרך
- 🚀 מה חדש ועדכוני גרסאות
- מקרה בוחן - בוסטון ליגל
- מדריך פקודות CLI