Skip to content

quillcraft/typeset

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 

Repository files navigation

Typeset Cyrillic

Some rules for typesetting russian texts.

// non-breaking space UNICODE
const nbsp = '\xA0'

// or HTML entity
const nbsp = ' '
  1. Attach one-letter prepositions to the following word with a non-breaking space:
// double preposition
const doublePrep = /([\s(«])([авикосу])\s([авикосу])\s/ig
result = result.replace(doublePrep, `$1$2${nbsp}$3${nbsp}`)

// single preposition
const singlePrep = /([\s(«])([авикосу])\s/ig
result = result.replace(singlePrep, `$1$2${nbsp}`)
  1. Don't wrap an em dash on a new line:
// em dash
const dash = /\s[-]\s/ig
result = result.replace(dash, `${nbsp}— `)
  1. Attach units of measurement to the previous number with a non-breaking space:
// units after number
const units = /(\d)\s([а-я]{1,5}[\s,.»)])/ig
result = result.replace(units, `$1${nbsp}$2`)
  1. Use en dashes in number ranges:
// range of numbers or negative number
const range = /([\d\s])[-](\d)/ig
result = result.replace(range, `$1–$2`)

About

Some rules for typesetting russian texts.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published