Placement, streams and sound
iCouldPlay ASS positioning: separate script coordinates, anchors and device pixels
Compare two positions and a doubled script canvas without treating script units as device pixels.
On this page
A coordinate of 160 is not necessarily 160 phone pixels from the left. Prepare a complete ASS externally, interpret two points with a central anchor and script dimensions, then record actual iCouldPlay layout. Keep format, video region and device pixels separate without promising complete positioning/font fidelity across paths.
1. Fix the clip and display region
Choose an owned playable clip of at least ten seconds without the exercise wording burned in. Record identity, source, orientation and fitting mode; sketch the visible video boundary separately from black bars. Edit plain text externally and preserve originals. Without an available loading control, inspect source and mark playback unperformed. A file listing is not positioning evidence; do not change cropping and caption position together.
2. Save two identical-wording positioned lines
The complete file uses a 640×360 script, with center alignment and two explicit positions in event text. Timing is separate and wording/size identical. Preserve braces/backslashes in Events Text, not timing columns or appended pixel labels. Font substitution may change text width without changing coordinate values. Save actual UTF-8 ASS and inspect content, rather than merely rename an arbitrary file.
[Script Info]
ScriptType: v4.00+
PlayResX: 640
PlayResY: 360
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,24,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,1,0,5,20,20,20,1
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,{\an5\pos(160,90)}Read the anchor.
Dialogue: 0,0:00:05.00,0:00:08.00,Default,,0,0,0,,{\an5\pos(480,270)}Read the anchor.
3. Read positions as script-space points
Use Aegisub positioning documentation: pos gives an anchor location whose role depends on alignment. Here x increases rightward and y downward. Points are one-quarter and three-quarters of script width/height. They are neither box dimensions nor sentence endpoints. Mark origin/axes and center anchors first. Changing alignment changes how text extends around a point, so the leftmost letter alone cannot diagnose coordinate reading.
4. Double script dimensions and positions together
For a control, double script dimensions to 1280×720 and positions to (320,180)/(960,540), retaining quarter/three-quarter anchors. Font-size scaling is another condition; this comparison concerns anchors, not identical text boxes. Doubling only dimensions makes the first point one-eighth of each dimension, an explicit missed-coordinate control. Preserve originals and label copies separately.
5. Check wording before position in iCouldPlay
Select the correct clip/copy and play from the beginning beyond eight seconds. Check full wording before relative position within the video, without substituting screenshot pixels for script units. Record readable text and mismatched position separately, including no visible difference honestly. Resume after pausing to check endings instead of attributing paused persistence to positioning. Keep orientation/control overlays comparable.
6. Keep fixed placement separate from motion
Check that the lines use fixed placement without move or unknown overrides. Two separate events do not define an animation between their points. Save a plain fallback removing placement overrides while retaining text/timings and verify selection/readability. Record actual app caption-position settings separately; they are not the ASS pos command, and absent controls do not justify inventing automatic calibration.
7. Troubleshoot anchor and display-coordinate confusion
For offsets, check alignment, script dimensions and selected copy before cropping/rotation, changing one identified condition. For literal tags, inspect format/braces/escaping rather than hide them with brightness changes. Eighth-position results suggest coordinates were not doubled. Preserve original values instead of editing them to fit a desired screenshot. Without measurement, report relative impressions rather than exact device pixels or universal renderer faults.
8. Reopen and deliver both coordinate records
Leave playback, reopen the clip, reselect the original exercise and check both sentences/anchors, then the readable fallback. Retain dimensions, alignment, points, doubled control, observations and unknowns. Paper coordinates are not physical-device measurements; fixed events are not automatic movement, and one path does not certify all devices. Preserve all originals/copies and append new display-mode observations instead of rewriting prior results.
Related tutorials and sources
ASS alignment, Video display boundaries.
Checked on November 14, 2026 against the official iCouldPlay App Store listing and Apple public lookup: 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.