Wondering what’s next for npm?Check out our public roadmap! »

    typopo
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/typopo package

    2.4.1 • Public • Published

    Typopo logotype

    Fix frequent microtypography errors in multiple languages. Write neat texts without bothering about typography rules. Typopo works for English, German, Slovak, Czech and Rusyn language.

    GitHub package.json version GitHub Tests

    Links

    Contents

    Features

    Typopo fixes microtypography hickups in five languages:

    • English
    • German
    • Czech
    • Slovak
    • Rusyn

    Typopo fixes punctuation:

    • double quotes (and accidentally-typed punctuation related to the use of double quotes)
    • double primes
    • single quotes (with an assumption they are used as secondary and in pairs)
    • single primes
    • apostrophes
    • hyphens & dashes
      • between words with a proper spacing per locale
      • between ordinal and cardinal numbers (e.g. 1–3 eggs)
      • within date (e.g. 2020–08–04)
      • between percentage range (e.g. 20–30 %)
    • period & ellipsis

    Typopo fixes whitespace characters:

    • removes extra white spaces
      • at the beginning and the end of sentences (leading and trailing spaces)
      • between words and paragraphs
      • before or after a punctuation (where applicable)
      • around an ellipsis and an aposiopesis (where applicable)
      • between a number sign (#) and a number
      • before ordinal indicators (e.g. 1 st → 1st)
    • removes empty lines
    • fixes non-breaking spaces
      • removes a nbsp between multi-letter words
      • replaces a space with a nbsp
        • after one-word prepositions
        • around “×”
        • after “&”
        • after cardinal numbers
        • after ordinal numbers
        • ordinal Roman numerals
        • after name initials (i.e. Philip K. Dick)
        • after common single-word and multiple-word abbreviations
        • before % (percent), ‰ (per mille), ‱ (permyriad)

    Typopo fixes words:

    • accidental uPPERCASE
    • spelling of e.g., i.e., a.m. and p.m.
    • ISSN and ISBN formatting

    Typopo fixes symbols:

    • multiplication sign (2 x 3 → 2 × 3)
    • section sign (§)
    • copyright ((c)2020 → © 2020)
    • sound recording copyright ((p)2020 → ℗ 2020)
    • registered trademark (Brand(r) → Brand®)
    • trademark (Brand(tm) → Brand™)
    • plus-minus sign (+-, -+ → ±)
    • square and cube exponents (e.g. 100 µm² → 100 µm², 50 km³ → 50 km³)

    Use

    You can use Typopo as an online app, VS Code extension, NPM package or JavaScript library.

    Online app

    URL → https://typopo.org/

    The online app is useful especially when you’re a book designer or a DTP operator. Before you typeset raw texts in a DTP app of your choice, run it through Typopo and fix microtypography with a single click.

    Typopo—online app

    VS Code extension

    Typopo—VS Code extension

    NPM package

    Install Typopo as an NPM package in your web project:

    npm install typopo
    

    Import the package:

    import { fixTypos } from 'typopo';
    

    Check out an API on how to use the package.

    JavaScript library

    Download dist/typopo.min.js and include it in your web project or CMS. Check out an API on how to use the library.

    API

    Fix typos in given text (string) and locale; with an optional configuration:

    fixTypos(string, locale, [configuration])

    Locale options (supported languages):

    • "en-us" (English, default)
    • "rue" (Rusyn)
    • "sk" (Slovak)
    • "cs" (Czech)
    • "de-de" (German)

    Optional configuration as a JavaScript object:

    configuration = {
      // If true, removes empty lines between paragraphs
      removeLines : true, 
      
      // if true, removes empty lines before a nested Markdown list; 
      // set as false if you use Typopo to fix typography of your Markdown files
      // see examples: https://github.com/surfinzap/typopo/releases/tag/2%2F4%2F0
      removeWhitespacesBeforeMarkdownList : true, 
    }

    News & Releases

    Check out the changelog for what’s has been released.

    Subscribe to Typopo Newsletter to be the first to know about all the new features and improvements.

    Support

    If you love Typopo and you find it helpful, support the project via Patreon.

    Your support will let me continue improving Typopo ecosystem—the app, NPM package and VS Code Extension.

    Feedback

    Have you found a bug? Do you have an idea for a feature request? You’re more then welcome to submit an issue here on GitHub.

    If you prefer to reach out me via email, feel free to drop me a line at help@typopo.org.

    License

    Licensed under MIT license. (See LICENCE.TXT.)

    Special thanks

    • @Viclick for adjusting the repo for modularisation (2.0.0)
    • @tomashruby for consultation on architecture (2.0.0)
    • @skurzinz for consultation & test on German typographic rules (2.2.0)
    • Filip Blažek for consultation on typography rules
    • @vit-svoboda for fixing the package to run in Node.js projects (2.3.1)

    Install

    npm i typopo

    DownloadsWeekly Downloads

    47

    Version

    2.4.1

    License

    MIT

    Unpacked Size

    924 kB

    Total Files

    76

    Last publish

    Collaborators

    • avatar