JSPM

dingbat-to-unicode

1.0.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 621568
  • Score
    100M100P100Q187993F
  • License BSD-2-Clause

Mapping from Dingbat fonts, such as Symbol, Webdings and Wingdings, to Unicode code points

Package Exports

  • dingbat-to-unicode

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (dingbat-to-unicode) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

dingbat-to-unicode

Mapping from Dingbat fonts, such as Symbol, Webdings and Wingdings, to Unicode code points.

The following fonts are supported:

  • Symbol
  • Webdings
  • Wingdings 1
  • Wingdings 2
  • Wingdings 3

Note that in some cases, such as docx files, the dingbat code point may have 0xF000 added to it to shift the code point into the Unicode private use area. You should subtract 0xF000 from the code point before passing it into this library.

Installation

npm install dingbat-to-unicode

Usage

Import using require or import:

const dingbatToUnicode = require("dingbat-to-unicode");
// or
import * as dingbatToUnicode from "dingbat-to-unicode";

You can then call one of the following functions, depending on the representation you have the dingbat code point in:

  • dingbatToUnicode.codePoint(typeface: string, codePoint: number): UnicodeScalarValue | undefined

  • dingbatToUnicode.dec(typeface: string, dec: string): UnicodeScalarValue | undefined

  • dingbatToUnicode.hex(typeface: string, hex: string): UnicodeScalarValue | undefined

UnicodeScalarValue is an object with two properties:

  • codePoint: a number representing the Unicode code point
  • string: a string representing the code point as a string

Examples

const result = dingbatToUnicode.codePoint("Wingdings", 41)!!;
assert.strictEqual(result.codePoint, 0x2706);
const result = dingbatToUnicode.dec("Wingdings", "41")!!;
assert.strictEqual(result.codePoint, 0x2706);
const result = dingbatToUnicode.hex("Wingdings", "29")!!;
assert.strictEqual(result.codePoint, 0x2706);
const result = dingbatToUnicode.hex("Wingdings", "3E")!!;
assert.strictEqual(result.codePoint, 0x2707);
const result = dingbatToUnicode.hex("Wingdings", "3e")!!;
assert.strictEqual(result.codePoint, 0x2707);
const result = dingbatToUnicode.hex("Wingdings", "29")!!;
assert.strictEqual(result.string, "\u2706");
const result = dingbatToUnicode.hex("Wingdings", "28")!!;
assert.strictEqual(result.string, "🕿");