Noisy Pneumatic Mnemonic

    character-map

    1.1.0 • Public • Published

    character-map

    npm version

    A simple command line tool for dumping a UTF-8 string of characters supported by a font file.

    Motivation

    Unicode fonts are usually too large to be embedded as webfont: subsetting is necessary to get them into a reasonable size, especially for CJK fonts.

    But which ones do you subset to ensure your design look consistent? There are 2 major approaches:

    • Dynamic subsetting: using javascript and server-side api to generate a dynamic subset of your font, covering all characters on your webpage.
    • Static subsetting: prepare a list common characters, subset them manually, and use such font only for certain elements on webpage.

    I prefer the latter approach, because it's a lot easier to optimize and has less of an impact to performance.

    And Apple agrees, their sites for China Mainland, Hong Kong and Japan all use this approach.

    But I wonder what characters they pick for their CJK subsets?

    character-map to the rescue!

    Install

    npm install character-map -g

    Usage

    TrueType, OpenType, WOFF v1 files are supported at the moment.

    $ character-map -f my.ttf > map.txt
    

    map.txt will contain a list of characters found in the font. Now you can use this result with a subsetting tool like fontmin.

    $ fontmin -t `cat map.txt` other.ttf > subset.ttf
    

    Of course you can verify the result with character-map again.

    License

    MIT

    Acknowledgement

    Inspired by CharacterMap and uses opentype.js.

    Install

    npm i character-map

    DownloadsWeekly Downloads

    7

    Version

    1.1.0

    License

    MIT

    Last publish

    Collaborators

    • bitinn