open-index/open-npm huggingface dataset:
npm package: @novalabs/pdf-primitives
Description: Define uninitialized elements
Author: Diego Muracciole
Latest version: 2.3.0-alpha.0

<p align="center">
  <img src="https://user-images.githubusercontent.com/5600341/27505816-c8bc37aa-587f-11e7-9a86-08a2d081a8b9.png" height="280px">
</p>

# @novalabs/pdf-primitives
npm package: @novalabs/pdf-stylesheet
Description: A styles engine for Node and the browser
Author: Diego Muracciole
Latest version: 2.4.0-alpha.0

<p align="center">
  <img src="https://user-images.githubusercontent.com/5600341/27505816-c8bc37aa-587f-11e7-9a86-08a2d081a8b9.png" height="280px">
</p>

# @novalabs/pdf-stylesheet

> React-pdf styles engine

## How to install

```sh
yarn add @novalabs/pdf-stylesheet
```

## How it works

```js
const stylesheet = require('@novalabs/pdf-stylesheet');

const container = {
  width: 400,
  height: 600,
  orientation: 'portrait',
};

const style = {
  margin: 20,
  width: '50vw',
  height: '20vh',
  borderRadius: 5,
  fontWeight: 'semibold',
  borderBottom: '2 solid yellow',
  '@media max-width: 500': {
    backgroundColor: 'rgb(255, 0, 0)',
  },
};

const computed = stylesheet(container, style);

// Computed
// {
//   width: 200,
//   height: 120,
//   marginTop: 20,
//   marginLeft: 20,
//   marginRight: 20,
//   marginBottom: 20,
//   marginBottom: 20,
//   borderTopLeftRadius: 5,
//   borderTopRightRadius: 5,
//   borderBottomLeftRadius: 5,
//   borderBottomRightRadius: 5,
//   fontWeight: 600,
//   borderBottomWidth: 2,
//   borderBottomStyle: 'solid',
//   borderBottomColor: 'yellow',
//   backgroundColor: '#FF0000'
// }
```

This library exports a `stylesheet` function that takes two arguments:

- _container_: Container where the styles are being computed into. It specifies the `width` and `height` in points (needed for media queries and unit conversions), and optionally the container `orientation` (needed for certain media queries).
- _style_: Style to be computed. JS object with raw styles that you would like to get in a normalized format.

## License

MIT © [Diego Muracciole](http://github.com/diegomura)
npm package: @novalabs/pdf-svgkit
Description: A SVG generation library for Node.js and browser
Latest version: 2.4.0

<p align="center">
  <img src="https://user-images.githubusercontent.com/5600341/27505816-c8bc37aa-587f-11e7-9a86-08a2d081a8b9.png" height="280px">
</p>

# @novalabs/pdf-svgkit

A SVG generation library for Node.js and browser.

Has a `pdfkit` compatible API

## TODOs:

- Gradients
- Default fonts
- Embeded fonts (in progress)
npm package: @novalabs/pdf-textkit
Description: An advanced text layout framework
Latest version: 2.4.1-alpha.0

<p align="center">
  <img src="https://user-images.githubusercontent.com/5600341/27505816-c8bc37aa-587f-11e7-9a86-08a2d081a8b9.png" height="280px">
</p>

# @novalabs/pdf-textkit

## Acknowledges

This project is a fork of [textkit](https://github.com/foliojs/textkit) by @devongovett and continued under the scope of this project since it has react-pdf specific features. Any recongnition should go to him and the original project mantainers.

## Layout process

1. split into paragraphs
2. get bidi runs and paragraph direction
3. font substitution - map to resolved font runs
4. script itemization
5. font shaping - text to glyphs
6. line breaking
7. bidi reordering
8. justification
9. get a list of rectangles by intersecting path, line, and exclusion paths
10. perform line breaking to get acceptable break points for each fragment
11. ellipsize line if necessary
12. bidi reordering
13. justification
npm package: @novalabs/pdf-types
Description: React-pdf TypeScript definitions
Author: Diego Muracciole
Latest version: 2.3.0-alpha.0

<p align="center">
  <img src="https://user-images.githubusercontent.com/5600341/27505816-c8bc37aa-587f-11e7-9a86-08a2d081a8b9.png" height="280px">
</p>

# @novalabs/pdf-types

> React-pdf TypeScript definitions

## How to install

```sh
yarn add @novalabs/pdf-types
```

## License

MIT © [Diego Muracciole](http://github.com/diegomura)
npm package: @novalabs/pdf-unicode-properties
Description: Provides fast access to unicode character properties
Author: Devon Govett
Latest version: 2.8.0-alpha.0

<p align="center">
  <img src="https://user-images.githubusercontent.com/5600341/27505816-c8bc37aa-587f-11e7-9a86-08a2d081a8b9.png" height="280px">
</p>

# @novalabs/pdf-unicode-properties

Provides fast access to unicode character properties. Uses [unicode-trie](https://github.com/devongovett/unicode-trie) to compress the
properties for all code points into just 12KB.

## Acknowledges

This project is a fork of [unicode-properties](https://github.com/foliojs/unicode-properties) by @devongovett and continued under the scope of this project since it has react-pdf specific features. Any recongnition should go to him and the original project mantainers.

## Fork changes

> Updated at a7df933c4fe5ddca2cb9829a5634e6fe9f1ac529

- Trie data parsed as JSON in order to run it both on node and browser easily
- Written in ES6

## Usage

```sh
npm install unicode-properties
```

```javascript
var unicode = require('unicode-properties');

unicode.getCategory('2'.charCodeAt()); //=> 'Nd'
unicode.getNumericValue('2'.charCodeAt()); //=> 2
```

## API

### getCategory(codePoint)

Returns the unicode [general category](http://www.fileformat.info/info/unicode/category/index.htm) for the given code point.

### getScript(codePoint)

Returns the [script](http://unicode.org/standard/supported.html) for the given code point.

### getCombiningClass(codePoint)

Returns the [canonical combining class](http://unicode.org/glossary/#combining_class) for the given code point.

### getEastAsianWidth(codePoint)

Returns the [East Asian width](http://www.unicode.org/reports/tr11/tr11-28.html) for the given code point.

### getNumericValue(codePoint)

Returns the numeric value for the given code point, or null if there is no numeric value for that code point.

### isAlphabetic(codePoint)

Returns whether the code point is an alphabetic character.

### isDigit(codePoint)

Returns whether the code point is a digit.

### isPunctuation(codePoint)

Returns whether the code point is a punctuation character.

### isLowerCase(codePoint)

Returns whether the code point is lower case.

### isUpperCase(codePoint)

Returns whether the code point is upper case.

### isTitleCase(codePoint)

Returns whether the code point is title case.

### isWhiteSpace(codePoint)

Returns whether the code point is whitespace: specifically, whether the category is one of Zs, Zl, or Zp.

### isBaseForm(codePoint)

Returns whether the code point is a base form. A code point of base form does not graphically combine with preceding
characters.

### isMark(codePoint)

Returns whether the code point is a mark character (e.g. accent).

## License

MIT
npm package: @novalabs/pdf-yoga
Description: Prebuilt yoga-layout package
Author: Diego Muracciole
Latest version: 2.3.0-alpha.0

<p align="center">
  <img src="https://user-images.githubusercontent.com/5600341/27505816-c8bc37aa-587f-11e7-9a86-08a2d081a8b9.png" height="280px">
</p>

# @novalabs/pdf-yoga

> Prebuilt [yoga-layout](https://github.com/facebook/yoga) package with memory heap increase

## Acknowledges

This project is forked from the great [yoga-layout-prebuilt](https://github.com/vadimdemedes/yoga-layout-prebuilt) from @vadimdemedes.

Also thanks to @Skywalker13 for providing the post-processing script for increasing build original memory heap.

## Install

```
$ npm install @novalabs/pdf-yoga
```

## Usage

```js
import Yoga from '@novalabs/pdf-yoga';
// Same as if imported from yoga-layout
```