TypeMay field guide · Updated 4 October 2026
A paste can look almost right while carrying layout decisions from somewhere else: a newline from a PDF column, repeated spaces used for alignment, or a font that hides missing glyphs behind a fallback. A good handoff makes those decisions visible. This guide uses one small sample and a sequence you can repeat without giving up the original.
1. Separate paragraphs from visual wrapping
Consider this copy from a narrow column. One sentence has been split across two lines, and the next paragraph begins after a blank line.
Good type gives words room to breathe. Keep each paragraph together.
Good type gives words room to breathe. Keep each paragraph together.
In Remove line breaks, choose “Unwrap single breaks” and a space as the joiner. Leave “Repair line-end hyphens” off for the first pass. The preview keeps the blank-line paragraph boundary. An address, poem, list or code block may need every original line; use “Keep as they are” for those passages.
Do not join words simply because a hyphen falls at the end of a line. A layout might split “perspec-tive,” but “well-known” is a real compound. TypeMay’s optional Latin-letter heuristic cannot decide which one you intended. Review the exact result before applying it.
2. Inspect spaces before removing them
Not all empty-looking characters mean the same thing. In the Unicode inspector, choose the database and search each code point below. Return to “Your preview text” to examine the characters actually present in your paste.
| Code point | Role to review | TypeMay default |
|---|---|---|
| U+0020 SPACE | Ordinary word spacing | Repeated spaces can be collapsed |
| U+00A0 NO-BREAK SPACE | Keeps adjacent text from wrapping at that space | Preserved |
| U+200B ZERO WIDTH SPACE | An invisible break opportunity | Preserved unless explicitly removed |
| U+200C ZERO WIDTH NON-JOINER | Can affect joining and shaping | Preserved |
| U+200D ZERO WIDTH JOINER | Can affect shaping and emoji sequences | Preserved |
A character’s purpose depends on context. Removing a non-breaking space can alter line wrapping; removing a joiner can change how a word or emoji displays. Use the Unicode Character Database documentation as a reference, not a reason to strip every control character.
3. Review the reading direction and the logical text
Try a line such as مرحبًا بالعالم · TypeMay 2026. Set the text language to Arabic for language-aware counting, then compare Automatic and Right to left. Direction changes presentation; it does not reverse the stored string or translate the words. Use the inspector to check logical code-point order when punctuation or numerals appear in an unexpected place.
Keep the original and ask a fluent reader to review mixed-script copy in the intended publishing app. Browser rendering is useful evidence, but it cannot establish linguistic correctness. Unicode’s bidirectional algorithm explains how direction is resolved.
4. Compare the actual content, not just “Aa”
Open Font comparison with a heading, a paragraph, numerals, punctuation, and every script your design needs. Match size and leading across the two specimens so the letterforms are easier to compare. The bundled Arabic and Devanagari fonts are useful starting points; a system fallback may still render other characters.
Opening a local font keeps its bytes in this tab. It does not grant a license to embed the file in a website or distribute it to someone else. Read the font’s own license and test in the final app. A character being visible is not proof that the selected font contains it.
5. Export a record you can review
Save a project to retain the original, cleanup options, language and direction. Export a typeset proof for a readable HTML sheet that includes the complete cleaned text and a short display excerpt. The proof embeds the bundled OFL fonts, not your local font selections. It can be read offline; browser Print/Save as PDF controls final pagination.
Check the beginning, paragraph boundaries, mixed-script lines and the last line before sharing. For plain copy, choose TXT instead. Browser text areas normalize CRLF/CR line endings to LF, so a text export is not a byte-for-byte archive of the original file.
Try the complete sample
Download the public practice text (.txt), then open it in the text cleaner. It contains invented copy with English, Arabic, Hindi, Japanese, a non-breaking space, a combined accent and an emoji sequence. Use a project download to compare your changes without overwriting the sample.
This workflow prepares text for review. It does not replace proofreading, translation, accessibility review or the final font-license check. Keep the original, make one kind of change at a time, and hand off a proof that shows what you actually intend.