# iCouldPlay vertical WebVTT: separate writing direction, column order and video rotation

Language: en
Canonical: [iCouldPlay vertical WebVTT: separate writing direction, column order and video rotation](<https://allluckly.cn/en/guides/icouldplay-webvtt-vertical-writing-column-direction/>)
中文：[中文 HTML](<https://allluckly.cn/guides/icouldplay-webvtt-vertical-writing-column-direction/>)
English: [English HTML](<https://allluckly.cn/en/guides/icouldplay-webvtt-vertical-writing-column-direction/>)
Published: 2026-11-10T00:00:00+08:00
Modified: 2026-11-10T09:39:21+08:00
Author: Bison

Use two original text lines to compare vertical rl/lr, horizontal controls and actual rendering limits.

English translation of the [Chinese original](<https://allluckly.cn/guides/icouldplay-webvtt-vertical-writing-column-direction/>), translated on 2026-11-10. Original publication dates, attribution, code and version notes are retained.

A landscape video can contain vertical captions, while vertical writing does not rotate the picture. WebVTT has a writing-direction setting whose actual rendering needs observation. Prepare two original text lines externally and inspect direction and column order without an in-app vertical editor or rotating the screen as substitute evidence.

## Fix the image and two text units

Prepare a self-made clip at least ten seconds long with distinct corner markers to reveal rotation or cropping. Use the original lines 红色示例 (red example) and 蓝色示例 (blue example) as text labels, not a requirement for red/blue rendering. Label lines A/B externally and preserve originals. Without a clip, inspect source structure while leaving rendering untested. A specification diagram is not an iCouldPlay observation. Use readable characters without unfamiliar scripts or external styling files.

## Place direction settings after the timing line

Save this complete original VTT as UTF-8 plain text with .vtt extension and header blank line, excluding fences. Put vertical:rl after the timing on that same line, not inside payload text. Separate the two text lines with one newline; a blank line terminates the cue. Its seconds one–six interval lasts five seconds independently of video orientation. Reopen the saved source and verify colon, lowercase rl and real line order rather than editor wrapping.

```
WEBVTT

00:01.000 --> 00:06.000 vertical:rl
红色示例
蓝色示例
```

## Record character flow and column progression separately

Use [W3C WebVTT writing-direction definitions](<https://www.w3.org/TR/webvtt1/>) to separate vertical layout from the horizontal default and rl/lr column progression. rl neither rotates the video 90 degrees to the right nor reverses 红色示例 into 例示色红. Sketch how the two text lines would map to columns, then verify actual rendering. A single column or reflow does not establish ordering. Keep character orientation and column progression as separate findings.

## Play the original and check all corner markers

Select the vertical practice caption through actual controls and play from before second one until after six. Record text, character flow and inter-column relationships, then check all video corner markers. Record horizontal, vertical, wrapped or ignored-setting behavior without rotating the device to mimic success. Keep file, fit mode and speed fixed; retain loading errors. The setting is in the file, not an assumed app layout menu.

## Remove only direction for a horizontal control

Save a copy deleting only vertical:rl, retaining payload newlines, timing, encoding and video. Select it and play from before the interval, verifying filename rather than assuming any visible caption confirms switching. Do not also merge lines or change fonts. If both remain horizontal, record no observed direction difference on this path, not identical files or universal lack of support. If only the control displays text, preserve that distinction and recheck selection and source.

## Use a separate lr copy to check column order

Copy the original vertical version and change only rl to lr. Compare A/B left-right relationships only when distinguishable multiple columns actually render. One column leaves progression unverified. Do not swap the red/blue text labels to manufacture movement. Column progression differs from overall cue location; sharing one screen side does not prove equal order. Name all three files separately to avoid comparing one overwritten latest version with itself.

## Distinguish cropping, missing glyphs and reflow

Record edge clipping, glyph boxes and merged columns separately, checking source before restoring the full video view. An available fit control can inspect visible extent without proving all positioning support. Do not crop the video or change system orientation lock to force a result. Compare missing glyphs with the same horizontal text and repair source newline errors in a copy. Rescaled screenshots are not precise font/spacing measurements; retain unresolved causes.

## Test an explicit horizontal alternative for stable labels

If the task only requires two readable labels, retain a verified horizontal alternative and recheck completeness and occlusion, noting that vertical layout was dropped. It meets this exercise’s reading goal without full layout equivalence or a general license to flatten meaningful vertical writing. Respect authorial versions and requirements rather than calling altered real captions faithful. Keep the original vertical file for later checks on other known paths.

## Verify the setting’s source after reopening

Reopen the video, identify rl, lr or no-setting source, and replay from before the interval. Record source lines A/B, setting location, observed character flow, column progression, video orientation and unknowns with file and date. Restore regular captions and playback mode and preserve all files separately. Completion distinguishes text structure from video orientation and recognizes insufficient single-column evidence, without a new editor claim or device testing inferred from displayed code.

## Related tutorials and sources

[Inspect ruby annotations](<https://allluckly.cn/en/guides/icouldplay-webvtt-ruby-base-annotation-check/>), [Compare video orientation and cropping](<https://allluckly.cn/en/guides/icouldplay-portrait-video-framing/>).

Checked on November 10, 2026 against the [official iCouldPlay App Store listing](<https://apps.apple.com/cn/app/id6755653178>) and [Apple public lookup](<https://itunes.apple.com/lookup?id=6755653178&country=cn>): version 1.1.1, requiring iOS / iPadOS 15.0 or later. The public 1.1.1 release notes list Kodi, OpenList / AList and S3-compatible storage, with improvements to source switching and captions after seeking. The tasks use this public scope and existing playback capabilities. Check controls in your installed version. Self-made samples, manual records and external file preparation are workflows, not newly promised automatic features. No physical-device or private-server test is claimed.

