
Choose EPUB production software by how it qualifies source files before packaging. Prepare UTF-8, Shift_JIS, and UTF-8-with-BOM copies of the same chapter. For each input, record source identity, expected encoding, actual read result, and the locations of two prepared problem characters. Finish by assigning ready for packaging, isolate, or pending.
This article stops at the packaging intake gate. Resolving two characters in one Shift_JIS working copy and saving a UTF-8 copy belongs to the correction step after intake. Editorial replacement, reopened conversion, popularity, and store-side re-encoding are outside this result.
Decision: classify three inputs before EPUB packaging
A broad “supports Japanese text” label does not qualify a particular manuscript. Ready means that the source is identifiable, the expected encoding agrees with the read result, and both prepared locations can be traced. Isolate means that the read result or text location disagrees. Pending means that the required value cannot be obtained.
Assign the state per input. Do not average three files into one product score.
Freeze source identities and expected encodings
Create INPUT-U8, INPUT-SJIS, and INPUT-BOM from one short chapter. Record the original hash, size, and modification time. Place problem IDs ENC-A and ENC-B at known prose anchors.
Do not infer encoding from an extension or file name. Treat INPUT-U8 and INPUT-BOM as separate inputs even when their prose matches, and retain independently obtained values including the leading bytes. Selecting Shift_JIS in a setting does not by itself qualify INPUT-SJIS; source ID, observed reading, and problem locations must all belong to that input.
Add the judgment time and application version to each intake row. A later rerun can then preserve the earlier read result and identify only the rows that changed.
Keep the source ID stable across a rerun and append only a new result record.
Give every candidate unchanged copies. Keep the originals read-only during intake so that a later difference cannot be mistaken for detection behavior.
Separate read results from problem locations
The first field records the encoding reported by the candidate and whether the prose can actually be read. The second records whether ENC-A and ENC-B can be found again at their expected anchors.
An encoding label with corrupted prose is not ready. Readable-looking prose without explainable encoding or location evidence remains pending. For the BOM copy, record whether the marker is handled without appearing as visible leading text.
Assign ready, isolate, or pending per input
Use three explicit exits:
- Ready: source identity, expected encoding, read result, and both locations agree.
- Isolate: the read result or a prepared location disagrees.
- Pending: encoding or location evidence cannot be obtained.
Do not send an isolated input into EPUB generation. Choosing a replacement character or a conversion destination is a later editorial operation.
Do not mix conversion into intake
Selecting an encoding in a tab or setting does not prove that physical bytes were converted. A conversion claim requires a controlled destination, byte-level or independent read evidence, and a reopened result.
This intake article stops before that work. An untested Save As route cannot promote an input from pending to ready.

Separate documented behavior from the completed intake test
Rune Studio documentation describes detection of major Japanese encodings, red marking for ranges that cannot be represented in the selected encoding, and suspension of automatic saving while unresolved characters remain. Those documented capabilities make it a candidate for the intake gate.
A hands-on check established only that a UTF-8/LF file was read as UTF-8/LF and that a Shift_JIS tab selection value survived reopening. The physical file still read as UTF-8/LF. The three-input case, red marking, automatic-save suspension, conversion, and reopened outputs were not completed. They remain reader-side tests rather than a product pass.
Conclusion: hand only qualified inputs to packaging
An EPUB encoding intake gate names each source, compares expected and observed encoding, traces prepared problem locations, and assigns ready, isolate, or pending. Start with the three labeled copies and preserve every source identity.
If Rune Studio is a candidate, review the current Mac scope on the Rune Studio product page while keeping the reproduced UTF-8 reading and saved selection separate from the uncompleted interface and conversion steps.
If the wrong encoding is selected during the test, do not save. Close that copy, duplicate the authoritative source again, and repeat the intake from its recorded identity. For each of the three inputs, record expected encoding, detected or selected encoding, the locations of both problem characters, whether saving was prevented, and the reopened result. Mark an input ready for packaging only when those facts agree and no character was silently replaced. Quarantine the copy if either character disappears, its position cannot be accounted for, automatic saving proceeds before a decision, or the reopened file no longer matches the expected encoding. Do not rescue a failed row by changing its label after the fact; preserve the failed observation and start a new row. This recovery path lets another operator reproduce why one input advanced and another did not, without treating a remembered screen label as proof of a safe file.
Keep each quarantined copy under the same identity as its failed row. After correcting the source decision, make a newly named copy and repeat the intake as a new observation. That preserves the route back to the original failure and prevents a later safe result from erasing why the earlier file was excluded.


