# fonts-similarizer

> Defines visual similarity of fonts and calculates CSS properties for better similarity

Latest version **0.1.1** (published 2017-01-20) · 0 weekly downloads

## Install

```sh
npm install fonts-similarizer
pnpm add fonts-similarizer
yarn add fonts-similarizer
bun add fonts-similarizer
```

## Health

**Score 10/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; low quality score; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.1.1 |
| Published | 2017-01-20 |
| First published | 2017-01-19 |
| Weekly downloads | 0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 3 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Maintainers | shtrih |

## Links

- npm: https://www.npmjs.com/package/fonts-similarizer
- Repository: https://github.com/shtrihstr/node-fonts-similarizer
- Homepage: https://github.com/shtrihstr/node-fonts-similarizer#readme
- Issues: https://github.com/shtrihstr/node-fonts-similarizer/issues
- npm.io page: https://npm.io/package/fonts-similarizer

## Dependencies (3)

- [canvas](https://npm.io/package/canvas.md) ^1.6.2
- [opentype.js](https://npm.io/package/opentype.js.md) ^0.6.9
- [shuffle-array](https://npm.io/package/shuffle-array.md) ^1.0.0

## Recent versions

- 0.1.1 (latest) — 2017-01-20
- 0.1.0 — 2017-01-19

## README

# Fonts Similarizer
Defines visual similarity of fonts and calculates CSS properties for better similarity.

# Installation
```
npm i fonts-similarizer
```
# Usage

```js
let FontsSimilarizer = require('fonts-similarizer');

let arial = '/path/to/arial.ttf';
let roboto = '/path/to/roboto.ttf';

let fontsSimilarizer = new FontsSimilarizer(arial, roboto);

console.log(fontsSimilarizer.getSizeSimilarity());
// result: 0.9487533507057297

console.log(fontsSimilarizer.getVisualSimilarity());
// result: 0.6640576052704552

console.log(fontsSimilarizer.getCssAdaptation());
// result: { fontSize: 1.0402611534276387,
//           letterSpacing: -0.02557017786321616,
//           wordSpacing: 0.07072794587066308 }
```
# API

#### `constructor(baseFont, similarFont)`
Creates instance of FontsSimilarizer.
- `baseFont`: Path to a base font file (WOFF, OTF, TTF).
- `similarFont`: Path to a font file that should be adapted (WOFF, OTF, TTF).

#### `getSizeSimilarity()`
Defines similarity based on symbols width.

#### `getVisualSimilarity()`
Defines similarity based on symbols visual similarity.

#### `setLetterFrequency(letterFrequency)`
Sets [letter frequency](https://en.wikipedia.org/wiki/Letter_frequency) for specific language (English by default)
- `letterFrequency`: Object, where keya are symbols and values are symbols usage percent. For example: `{a: 8.167, b: 1.492, ...}`.

---
_Source: https://npm.io/package/fonts-similarizer · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
