# iCouldPlay ASS line breaks: compare hard breaks, soft breaks and hard spaces

Language: en
Canonical: [iCouldPlay ASS line breaks: compare hard breaks, soft breaks and hard spaces](<https://allluckly.cn/en/guides/icouldplay-ass-hard-soft-break-hard-space-check/>)
中文：[中文 HTML](<https://allluckly.cn/guides/icouldplay-ass-hard-soft-break-hard-space-check/>)
English: [English HTML](<https://allluckly.cn/en/guides/icouldplay-ass-hard-soft-break-hard-space-check/>)
Published: 2026-11-11T00:00:00+08:00
Modified: 2026-11-11T09:40:26+08:00
Author: Bison

Compare four original ASS cues while preserving case, wrapping conditions and rendering observations.

English translation of the [Chinese original](<https://allluckly.cn/guides/icouldplay-ass-hard-soft-break-hard-space-check/>), translated on 2026-11-11. Original publication dates, attribution, code and version notes are retained.

ASS sequences `\N`, `\n` and `\h` look similar but cannot be treated as case-insensitive equivalents. Compare four original cues on one clip, inspect their source and record actual wording and line counts in iCouldPlay. The outcome is a reversible subtitle copy and a conditional rendering record, not a file “repaired” by deleting every backslash.

## 1. Choose a clip and a plain-text reference

Choose an owned clip lasting at least fifteen seconds, preferably with a stable background and no burned-in captions. Confirm basic playback near the ending in iCouldPlay and record source and duration. Create a UTF-8 .ass file in a plain-text editor that preserves literal quotes and backslashes. Write North gate and 12 km in your notes as wording references. Use an available subtitle loading control in your installed version. If loading is unavailable, report the file-stage result without claiming device rendering. Keep the original video and subtitles unchanged and work only on copies.

## 2. Save a complete four-cue exercise file

This original exercise uses four non-overlapping cues. Copy the whole file and check timing and the Default style name. Arial is a font request; a device may substitute another font, so identical glyph shapes are not the success criterion. Preserve uppercase N, lowercase n, the third cue’s wrapping override and the hard space in the fourth. Do not first rewrite all four source lines into two plain-text lines, which would remove the comparison conditions. Source line count in an editor is not rendered caption line count.

```
[Script Info]
ScriptType: v4.00+
PlayResX: 640
PlayResY: 360
WrapStyle: 0

[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,2,20,20,20,1

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:03.00,Default,,0,0,0,,North\Ngate
Dialogue: 0,0:00:04.00,0:00:06.00,Default,,0,0,0,,North\ngate
Dialogue: 0,0:00:07.00,0:00:09.00,Default,,0,0,0,,{\q2}North\ngate
Dialogue: 0,0:00:10.00,0:00:12.00,Default,,0,0,0,,12\hkm
```

## 3. Separate format expectations from observations

The [Aegisub special-character documentation](<https://aegisub.org/docs/latest/ass_tags/>) defines `\N` as a forced break regardless of wrapping mode, `\n` as a forced break only in mode 2 and an ordinary space otherwise, and `\h` as a non-breaking hard space. Record source conditions first and reserve a separate column for actual renderer observations. Do not copy predictions into that column. In cue three, `\q2` belongs inside an override block, while break sequences occur in the text. Preserve case rather than using a case-insensitive global replacement that would erase the intended comparison.

## 4. Play into each cue and count lines after checking words

Play from zero. For each cue, verify that every word is present before counting displayed lines. For the final cue, verify the number, unit and intervening space. Pause to read if necessary, then resume to confirm that cues end. Record interval, full wording, line count and any unexpected symbols rather than writing only “normal.” If the first and third cues occupy two lines and the second one line, retain that observation without generalizing to every device or text size. Preserve unexpected results before investigating conditions.

## 5. Check hard spaces under controlled width conditions

A short cue may fit on one line either way, so one-line display alone does not test a non-breaking space. Confirm the source is `12\hkm` and compare a separately saved plain-space version, `12 km`, using the same video, orientation and subtitle settings. Report a wrapping difference only if the available conditions actually expose one. Do not invent a subtitle-box width control to force a result. If neither version wraps, state that the current width did not distinguish them. Preserve the finding so a later orientation change can be evaluated against known conditions.

## 6. Change one condition and name the copies clearly

Name the original, plain-text fallback and single-change variant separately, and record what each changes. Removing cue three’s mode override is one condition; simultaneously changing font, orientation and timing makes interpretation harder. After selecting a subtitle, verify its identity and play into the cue to exclude a stale track. If the installed version exposes an appearance control, record its real label and value before making a single change. Otherwise use file variants rather than presenting external ASS commands as in-app buttons. Keep enough history to reconstruct the differences.

## 7. Troubleshoot literal backslashes and missing text

If a backslash and N appear literally, check whether the file is being treated as plain text, whether its header is intact or whether two backslashes were entered instead of one. For a missing cue, check timing, track identity and Events field order first. Missing characters may involve font coverage or encoding rather than `\h`. For overlapping copies, exclude burned-in text or an additional embedded track. Preserve anomalous files. Report unresolved behavior as a compatibility question under the current conditions, not a completed test of every ASS style.

## 8. Finish with a readable fallback

Give every cue an execution status: observed, not loaded or insufficient conditions. Verify that cleanup tools preserved case, that differences have cue times and that a hard space was not described as a fixed pixel width. Separate documentation, personal observations and unknowns. This lesson supplies a task and conditional expectations; it does not perform a device test for you. Finally load the plain-text fallback and play from the beginning beyond twelve seconds to confirm a readable alternative, while keeping the full ASS original for later checks.

## Related tutorials and sources

[ASS style fidelity](<https://allluckly.cn/en/guides/icouldplay-ass-style-fidelity-check/>), [ASS duration markers](<https://allluckly.cn/en/guides/icouldplay-ass-karaoke-centisecond-duration-check/>).

Checked on November 11, 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.

