> ## Documentation Index
> Fetch the complete documentation index at: https://docs.blinkpdf.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Accessibility — PDF/UA-1 & Unicode Support in Blink PDF

> Every Blink PDF output is PDF/UA-1 compliant by default — screen reader ready, full Unicode, color emoji, and font subsetting included on every plan.

Every PDF that Blink PDF generates meets the PDF/UA-1 (Universal Accessibility) standard automatically. You don't flip a flag, choose a plan tier, or add extra configuration — accessibility is baked into every render by default.

## PDF/UA-1 — Universal Accessibility

PDF/UA-1 is the ISO standard (ISO 14289-1) for accessible PDF documents. A PDF/UA-1 compliant file is structured so that assistive technologies — screen readers, braille displays, and accessibility APIs on every major operating system — can navigate and read the content reliably.

Compliance requires that:

* **Document structure is tagged** — headings, paragraphs, lists, tables, and figures are marked up with logical roles, not just visual positions.
* **Reading order is defined** — the order in which a screen reader traverses the document matches the author's intent, not the order elements were drawn.
* **Alternative text is present** — images with alt text in your Markdown (`![alt text](url)`) are mapped to accessible descriptions in the PDF tag tree. This applies to `imageSequence` items too: an item with `alt` becomes a tagged `Figure`, while an item without one is marked as a decorative artifact.
* **Language is declared** — set `viewer.language` to a BCP 47 tag (e.g. `en-US`) and Blink PDF writes the document's `/Lang` so screen readers apply the correct pronunciation rules.

<Note>
  PDF/UA-1 compliance is automatic for all content derived from Markdown. Because Blink PDF parses Markdown semantics directly — rather than rendering a visual snapshot of HTML — the document structure is always known and always tagged correctly.
</Note>

## ToUnicode mapping

Every font used in a Blink PDF output includes a ToUnicode mapping table. This table links each encoded character in the PDF's internal representation back to its Unicode code point.

In practical terms, this means:

* **Text is always selectable and copyable** — you can highlight any word in a generated PDF and paste it into another application as correct Unicode text.
* **Full-text search works** — PDF viewers, operating system search, and document management systems can index the content without optical character recognition (OCR).
* **Programmatic extraction is reliable** — tools like `pdftotext`, Adobe Acrobat's export features, and PDF parsing libraries all receive accurate text because the mapping is embedded in the file.

## Color emoji support

Blink PDF renders emoji as full-color glyphs using the **COLR/CPAL** font format — the same format used by modern operating systems and browsers. Emoji are not rasterized as images; they are vector shapes with color layers, which means they scale cleanly at any PDF zoom level and remain searchable text.

```markdown theme={null}
Your report is ready ✅

**Status:** Delivered 🚀  
**Priority:** High 🔴
```

The emoji in the snippet above render as colored glyphs in the PDF — not as placeholder boxes, not as low-resolution PNGs embedded in the page.

<Tip>
  Emoji in headings, table cells, and list items all render correctly. Because they're part of the font stack rather than external images, they add no network fetch time to the render.
</Tip>

## Full Unicode support

Blink PDF supports the full Unicode character set across scripts, directions, and symbol categories:

* **Multiscript documents** — Latin, Cyrillic, Arabic, Hebrew, CJK (Chinese, Japanese, Korean), Devanagari, and more can appear in the same document.
* **Right-to-left text** — RTL scripts are laid out in the correct direction within their text runs.
* **Mathematical and technical symbols** — code documentation and scientific content render without fallback boxes.
* **Special characters** — em dashes, curly quotes, non-breaking spaces, and other typographic characters are all preserved.

The ToUnicode mapping described above ensures that every Unicode character, including those outside the Basic Multilingual Plane, can be extracted from the PDF as correct text.

### Glyph coverage and fallback

Blink PDF bundles six hosted font families (`inter`, `jetbrains-mono`, `lora`, `noto-emoji-mono`, `source-serif-4`, `twemoji-mozilla`) and can pull any Google Fonts family by URL. If a character in your document isn't covered by the selected font, the renderer falls back per glyph so nothing renders as a missing-glyph box — and it tells you which family it used:

* The `X-Render-Font-Fallback` response header reports the fallback family (for example `inter`).
* Set the top-level `glyphFallback` field to choose that last-resort family yourself instead of the automatic `inter`. See [Fonts & Typography](/configuration/fonts-layouts).

## Font subsetting

When Blink PDF embeds a font in the output file, it subsets the font — only the specific glyphs used in your document are included, not the full typeface.

Font subsetting has two direct benefits for you:

| Benefit                  | Details                                                                                                          |
| ------------------------ | ---------------------------------------------------------------------------------------------------------------- |
| **Smaller file sizes**   | A document using 200 unique glyphs embeds only those 200 glyphs, not the thousands that ship with the full font. |
| **Self-contained files** | The PDF displays identically on any device, even if the recipient doesn't have the original font installed.      |

Subsetting is applied automatically on every render. There is no option to disable it, because the tradeoff — slightly longer generation time in exchange for a smaller, more portable file — is always favorable.

## Included on every plan

All of the features on this page — PDF/UA-1 compliance, ToUnicode mapping, color emoji, full Unicode support, and font subsetting — are included in every Blink PDF plan at no additional cost. They are not add-ons, enterprise tiers, or opt-in features. Every PDF you render, on any plan, gets the full accessibility and typography stack.

<Info>
  If you need to verify PDF/UA-1 compliance for an audit or procurement process, you can validate any generated PDF with the [PAC (PDF Accessibility Checker)](https://pdfua.foundation/en/pdf-accessibility-checker-pac/) or Adobe Acrobat's built-in accessibility check tool.
</Info>

<CardGroup cols={2}>
  <Card title="Markdown Rendering" icon="file-lines" href="/concepts/markdown-rendering">
    See the full list of supported Markdown elements and how the pipeline works.
  </Card>

  <Card title="Zero Retention" icon="shield" href="/concepts/zero-retention">
    Learn how Blink PDF processes your documents without storing any content.
  </Card>
</CardGroup>
