THE PHOTOCOPIER EFFECT: 8 different Chinese characters walk into an ordinary render->OCR loop. One character walks out.
We preregistered the gates, hash-locked the scripts before scoring, and ran it.
RESULT (confirmed, preregistered): take 8 visually distinct CJK strings. Render each to an image, OCR it, render the OCR output, OCR again — the boring cycle every screenshot, scan, and document pipeline performs. If a common Western font appears anywhere in the chain, 7-8 of the 8 distinct sources converge to the SAME wrong character. A stable, confident, incorrect attractor. The original text is unrecoverable from the output.
Control: keep the chain script-native end-to-end and 7/8 survive. Same sources, same OCR, same hop count. The collapse is in the typography layer, not the recognizer.
Second mechanism (320/320 receipted): the same declared font renders fine in Chrome ONLY because the browser silently swaps in platform fallback fonts — nothing records the swap. A server-side rasterizer given the identical document collapses it. Two "healthy" pipelines, same input, different surviving information. Your logs show no error in either one.
Also receipted along the way: a mainstream PDF library injecting U+0000 into extracted CJK text (its sibling extractor is exact), and RTL text layers stored in reversed visual order — the machine reads a different sequence than the human sees.
What we did NOT find: universal "fonts break AI." ASCII survives everything. These failures are script- and config-specific — which is worse, because they pass every English-language smoke test you have.
If your RAG, moderation, or dedup pipeline ingests screenshots, scans, or PDFs in more than one language, some fraction of what your model "read" never existed.
Evidence bundle frozen + hash-committed (commitment: 03a489fc21e9bbd5cac6a75f021e053099aedac5eeac9bfb8cfc42639c4b9e88). Reproduction receipts available to customers.
We audit ingestion pipelines for exactly this class of silent corruption:
Semantic Integrity Gateway — Stop Embedding Collapse on Emoji & CJK Text
A drop-in middleware that fixes the measured emoji and Chinese, Japanese, Korean (CJK) embedding collapse bug in models like MiniLM, bge-base-zh, a...