PubSuite Classic
PubSuite Classic is a professional XML-to-PDF editor. You write your document in a structured XML format, style each element through the sidebar panels, and export a pixel-perfect PDF — with a live preview that matches the output exactly.
Getting Started
When you open the editor you see three main areas:
XML Editor
Source
Live Preview
PDF output
- Sidebar — tabs for every document setting: Document, Styles, H/F, TOC, Footnotes, Assets, Mapping, Inline, Presets.
- XML Editor — Monaco-powered editor with syntax highlighting. Every change re-renders the preview in real time.
- Live Preview — a canvas rendering that matches the exported PDF exactly. Click any text block to edit it inline.
Note: PubSuite Classic uses XML, not Markdown or HTML. The tag names you invent become your style names — <paragraph>, <heading1>, <pullquote> — and you style each one in the Typography panel.
XML Editor
The editor uses Monaco (the engine behind VS Code) with full XML syntax highlighting, bracket matching, and auto-indentation.
Basic Document Structure
<?xml version="1.0"?>
<document>
<heading1>Chapter One</heading1>
<paragraph>Your text goes here.</paragraph>
<heading2>A Sub-heading</heading2>
<paragraph>More text.</paragraph>
</document>
Inline Markup
| Tag | Result | Example |
<b> | Bold | <b>important</b> |
<i> | Italic | <i>emphasis</i> |
<u> | Underline | <u>link text</u> |
<fn> | Footnote | word<fn>This appears at the bottom.</fn> |
Keyboard Shortcuts
| Shortcut | Action |
Ctrl+Z | Undo |
Ctrl+Shift+Z | Redo |
Ctrl+F | Find in editor |
Ctrl+H | Find & Replace |
Ctrl+/ | Toggle comment |
Alt+Shift+F | Format / pretty-print XML |
Live Preview
The preview renders your document exactly as it will appear in the exported PDF — same fonts, same layout engine, same measurements.
- Click to edit inline — click any text block to edit directly without switching to the XML editor.
- Zoom controls — use the
− / + buttons, or Fit to fit the page width.
- Page count — shown in the toolbar. Long documents paginate automatically.
- Real-time update — the preview refreshes as you type, after a short debounce delay.
Document Panel
The Doc tab controls the page itself.
Page Size & Margins
Set width and height in mm, pt, or inches. Common presets include A4, A5, Letter, Legal, and book trim sizes. Margins can be set independently on all four sides.
Base Typography
- Base font — default font for any tag without its own style. Built-in: Helvetica, Times-Roman, Courier.
- Base size — default font size in pt.
- Smart quotes — converts
" and ' to typographic quotes.
- Ligatures — enables fi, fl, ff ligature substitutions for uploaded OpenType fonts.
- Top reference — controls whether line leading is measured from cap height, x-height, or full em.
Document Metadata
Title, author, subject, and language. These appear in PDF metadata and are available as {{title}} and {{author}} variables in headers and footers.
Typography & Styles
The Styles tab defines how each XML tag looks. Every tag can have its own style.
Style Properties
| Property | Description |
| Font / Size | Font family and size in pt |
| Bold / Italic | Weight and style |
| Color | Hex color for the text |
| Alignment | Left, center, right, or justify |
| Line spacing | Multiplier (1.0 = single, 2.0 = double) |
| Space before / after | Vertical space around the block, in pt |
| First-line indent | Indent for the first line only, in pt |
| Left / Right indent | Block indent from the margin, in pt |
| Hyphenation | Auto-hyphenate long words at line breaks |
| Keep with next | Prevents a page break between this block and the next |
| Uppercase | Forces all text to uppercase |
| Drop cap lines | Number of lines the first character spans |
| Columns | Number of text columns within this block |
| Running title | Text to show in the header/footer for sections using this style |
| Section format | Numbering format: 1, i, a, I, A |
| Border | Width and color of a rule around the block |
| Padding | Space inside the border |
| Background color | Fill color behind the block |
Style Mapping
The Map tab lets you create tag aliases — e.g. map p → paragraph.
Inline Styles
The Inline tab defines styles for inline elements within a parent tag.
Presets
Ready-made document configurations for common use cases. Includes citation standards (Chicago, APA, MLA, Harvard, IEEE) and document structures (Novel, Report, Newsletter, Screenplay, Dissertation).
Apply Modes
- Apply — applies everything: page size, margins, base typography, and all style definitions.
- Page — applies only page size and margins.
- Styles — applies only typography settings.
Preset Configurator
Click + New Preset to build a preset visually using intent cards, page size slider, margin and line-spacing controls, font style buttons, column count, and header/footer settings.
Table of Contents
The TOC tab generates an automatic table of contents from your headings. Choose which tags to include, configure per-level styles, and set the leader style (dots, lines, or none).
The TOC is inserted before the first page and updates automatically.
Assets
Custom Fonts
Upload TTF or OTF font files. Once uploaded, the font name is available in the style editor. Ligatures and kerning are applied automatically. Fonts are embedded in the exported PDF.
Images
<image src="my-photo.jpg" width="120" height="80" />
Width and height are in points. Images are embedded in the PDF.
AI Assistant
Click the AI button in the toolbar to open the AI drawer. The assistant makes changes to your document settings using natural language.
What the AI can do
- Apply a citation style or document structure preset
- Set page size and margins
- Change base font, size, and line spacing
- Edit style properties for any tag
- Enable headers, footers, and page numbers
- Enable the table of contents
- Find and replace text in the document
Example prompts
Apply Chicago style 17th edition
Set page to A5 with 20mm margins
Make heading1 bold, 18pt, centered with 24pt space before
Enable page numbers in the footer centered
Add a table of contents for heading1 and heading2
PDF Export
Click ↓ PDF in the toolbar. All fonts and images are embedded. The layout engine that generates the PDF is the same one that renders the live preview — output matches exactly.
PDF export is available on paid plans. Trial users can use the live preview but cannot export.
Projects
- Save — saves the current XML and all style settings as a
.json file.
- Load — opens a saved project file and restores XML and styles exactly.
- New — clears the editor and starts a blank document.
Projects are saved locally as files — they are not stored on the server.
XML Reference
Document Root
Every document must start with <?xml version="1.0"?> and have a single root element. By convention this is <document> but any name works.
Common Block Tags
| Suggested tag | Typical use |
<paragraph> | Body text |
<heading1> | Chapter title |
<heading2> | Section heading |
<blockquote> | Extended quotation |
<pullquote> | Highlighted quote |
<caption> | Image or figure caption |
<bullet> | Bulleted list item |
<numbered> | Numbered list item |
<image> | Embedded image |
Well-formed XML Rules
- Every opening tag must have a closing tag
- Self-closing tags end with
/>
- Tags must be properly nested — they cannot overlap
- Attribute values must be quoted
- Use
& for &, < for <, > for >
PubSuite Classic 2 Beta
Classic 2 is the advanced editor for multilingual publishing and precision typography. It supports Arabic, Hebrew, and other right-to-left scripts alongside Latin text, with full bidirectional layout and per-character typographic control.
Beta: Classic 2 is in active development. Some features available in Classic are not yet available in Classic 2 and are noted below.
Getting Started
The workspace is identical to Classic — sidebar, XML editor, and live preview. Classic 2 adds the Bilingual panel for managing multiple scripts, and the Fonts panel for selecting and assigning fonts per language.
- Sidebar — Document settings, Styles, Fonts, H/F, TOC, Footnotes, Assets, Bilingual panel.
- XML Editor — Monaco editor, same as Classic.
- Live Preview — SVG-based rendering. Click any block to edit inline.
XML Editor
The XML editor works identically to Classic — Monaco with syntax highlighting, find & replace, and auto-indentation. The document structure is the same XML format.
Language Tags
Classic 2 adds language block and inline tags for multilingual documents. These are inserted automatically by the Bilingual panel but can also be written directly:
<!-- Block-level: wrap an entire paragraph in a language -->
<arabic>النص العربي هنا</arabic>
<hebrew>טקסט עברי כאן</hebrew>
<english>English paragraph here</english>
<!-- Inline: switch language within a paragraph -->
<paragraph>This contains <ar>كلمة عربية</ar> inline.</paragraph>
Keyboard Shortcuts
| Shortcut | Action |
Ctrl+Z | Undo |
Ctrl+Shift+Z | Redo |
Ctrl+F | Find in editor |
Ctrl+H | Find & Replace |
Alt+Shift+F | Format XML |
Click block | Edit inline in preview |
Live Preview
The preview shows your document exactly as it will appear in the export. Arabic and Hebrew blocks render right-to-left, and you can click any block to edit it inline.
- Click to edit inline — click any text block to edit it. RTL text is handled correctly: typing Arabic moves the cursor leftward.
- Zoom controls —
− / + buttons and Fit.
- RTL rendering — Arabic and Hebrew blocks render right-to-left automatically based on the language tag.
- Ligatures — fi, fl, and Arabic ligatures are applied automatically.
Classic 2 uses its own font system. See the
Fonts section for how to select and assign fonts.
Document Panel
Works the same as Classic. Set page size, margins, base typography, and document metadata.
Base Language
Classic 2 adds a Base language setting — the primary script of your document (latin, arabic, or hebrew). This determines the default text direction and which font is active for untagged text.
Typography Features
Each typography role (display, heading, body, etc.) can have OpenType feature settings applied:
| Feature | Tag | Description |
| Standard ligatures | liga | fi, fl, ff, ffi, ffl — on by default |
| Contextual alternates | calt | Context-sensitive glyph variants — on by default |
| Stylistic sets | ss01–ss20 | Designer-defined alternate glyph sets |
| Oldstyle figures | onum | Lowercase-style numerals that sit on the baseline |
| Lining figures | lnum | Uniform-height numerals aligned to cap height |
| Tabular figures | tnum | Fixed-width numerals for tables and columns |
Feature availability depends on the selected font. Not all fonts support all features.
Typography & Styles
Style properties work the same as Classic. Classic 2 adds a few additional properties specific to the SVG engine:
| Property | Description |
| Font / Size | Select from fonts loaded in the Fonts panel |
| Bold / Italic | Available when a bold or italic variant of the font is loaded |
| Color | Hex color for the text |
| Alignment | Left, center, right, justify. RTL blocks default to right-align |
| Line spacing | Multiplier (1.0 = single, 2.0 = double) |
| Space before / after | Vertical space in pt |
| First-line indent | In pt; reversed for RTL (indents from the right) |
| Columns | Multi-column layout |
| Drop cap | Drop cap lines |
| Border / Background | Rule and fill around the block |
Fonts
Classic 2 ships with two built-in fonts:
- BitFont Latin — covers the full Latin alphabet with ligatures and punctuation.
- BitFont Arabic — covers Arabic, Farsi, and Urdu with correct letter joining and diacritics.
Assigning Fonts
Open the Fonts panel in the sidebar. You can assign a font to each typography role (display, heading, body, caption, label) and to each language slot in the Bilingual panel.
Additional Fonts
Additional fonts can be added to your account. Contact us to request a specific font or script.
Bilingual & RTL
Classic 2 is built for multilingual documents. The Bilingual panel manages language slots and script switching.
Language Slots
Set your primary language (the default script for untagged text) and assign a font to each additional language you use in the document.
Arabic Text
Arabic text is handled automatically — letter joining, ligatures, diacritics, and right-to-left layout are all applied without any extra steps. Farsi and Urdu are also supported.
Inline Language Switching
Mix scripts within a single paragraph using inline tags. The engine detects the direction of each segment automatically:
<paragraph>The word <ar>كتاب</ar> means "book" in Arabic.</paragraph>
Typing RTL Text
- Click an Arabic or Hebrew block in the preview to focus it.
- The cursor moves rightward as you type — towards the visual start of the line.
- Pressing Space inserts a space and the cursor stays at the correct insertion point for the next RTL character.
- Arrow keys respect visual direction: ← moves visually left (higher logical index in Arabic), → moves visually right.
- Backspace deletes the character to the visual left of the cursor.
Table of Contents
Works the same as Classic. The TOC is generated from heading tags and inserted before the first page. Choose which tags to include and configure per-level styles and leader characters.
Assets
Images
Upload PNG, JPG, or JPEG images and reference them with the <image> tag. Same syntax as Classic.
Fonts
Fonts in Classic 2 are managed in the Fonts panel in the sidebar, not the Assets panel.
AI Assistant
The AI assistant works the same as Classic and can make all the same document setting changes. In Classic 2 it also understands:
- Typography role feature settings (ligatures, stylistic sets, figure styles)
- Master page definitions (margins, backgrounds, headers per page type)
- Language slot assignments
Example prompts
Apply Chicago style 17th edition
Set page to A4 with 25mm margins
Make headings use oldstyle figures
Enable contextual alternates on body text
Create a chapter-opener master page with a 120pt top margin
Set the Arabic font to BitFont Arabic
Export
Classic 2 exports to SVG and PDF. The SVG export is a direct output of the rendering engine. The PDF is generated from the SVG output.
- All fonts are embedded in the export — no external dependencies.
- Arabic, Hebrew, and mixed LTR/RTL documents export correctly.
- What you see in the preview is exactly what exports.
PDF export is available on paid plans.
Projects
Save and load projects the same way as Classic — as .json files that store your XML content, style settings, and font assignments. Projects are saved locally and not stored on the server.
XML Reference
Standard Block Tags
All Classic block tags work in Classic 2. In addition, Classic 2 recognises language block tags:
| Tag | Script | Direction |
<english> | Latin | LTR |
<arabic> | Arabic | RTL |
<hebrew> | Hebrew | RTL |
<french> | Latin | LTR |
<german> | Latin | LTR |
Inline Language Tags
| Tag | Script |
<ar> | Arabic inline |
<he> | Hebrew inline |
<en> | Latin inline |
<fr> | French inline |
<de> | German inline |
Image Tag
<image src="filename.jpg" width="150" height="100" />
Footnote Tag
<paragraph>Text<fn>Footnote.</fn> continues.</paragraph>
Well-formed XML Rules
- Every opening tag must have a closing tag
- Tags must be properly nested — they cannot overlap
- Self-closing tags end with
/>
- Attribute values must be quoted
- Use
& for &, < for <, > for >