open-index/open-npm huggingface dataset:
npm package: @keorattanak/pdfmake-kh
Description: Client/server side PDF printing in pure JavaScript
Author: Bartek Pampuch
Latest version: 0.0.6

# PDFMake with Khmer Language Support

A fork of [pdfmake](https://github.com/liborm85/pdfmake) with enhanced support for Khmer language text breaking, word wrapping, and advanced text decoration styling.

## Features

- All original pdfmake functionality
- Enhanced Khmer text breaking and word wrapping
- Proper handling of Khmer script line breaks
- Improved text rendering for Khmer documents
- **Custom text decoration styling** (thickness, spacing, color)
- Advanced underline, strikethrough, and overline customization

## Installation

```bash
npm install pdfmake-kh
```

## Usage

### Basic Khmer Text

```javascript
const pdfMake = require("pdfmake-kh");

const docDefinition = {
	content: [
		{
			text: "ភាសាខ្មែរគឺជាភាសាផ្លូវការរបស់ព្រះរាជាណាចក្រកម្ពុជា",
			style: "khmerText",
		},
	],
};

pdfMake.createPdf(docDefinition).download();
```

### Custom Text Decorations

```javascript
const docDefinition = {
	content: [
		{
			text: "Custom styled text with decorations",
			decoration: "underline",
			decorationColor: "#ff0000",
			decorationStyle: {
				thickness: 3, // Line thickness
				spacing: 5, // Distance from text
			},
		},
		{
			text: [
				"Mix of ",
				{
					text: "thick underline",
					decoration: "underline",
					decorationStyle: { thickness: 4, spacing: 2 },
				},
				" and ",
				{
					text: "custom strikethrough",
					decoration: "lineThrough",
					decorationColor: "#0000ff",
					decorationStyle: { thickness: 2 },
				},
			],
		},
	],
};
```

## Text Decoration Options

| Property                    | Type   | Description                                   |
| --------------------------- | ------ | --------------------------------------------- |
| `decoration`                | string | `'underline'`, `'lineThrough'`, `'overline'`  |
| `decorationColor`           | string | Color of the decoration line (hex, rgb, etc.) |
| `decorationStyle.thickness` | number | Line thickness in points                      |
| `decorationStyle.spacing`   | number | Distance from text baseline                   |

## Khmer Text Breaking

This fork includes improved word breaking for Khmer text, ensuring proper line wrapping that respects Khmer language rules and maintains readability.

## Version History

See [CHANGELOG.md](CHANGELOG.md) for detailed version history and release notes.

## Credits

- **Original Project**: [pdfmake by liborm85](https://github.com/liborm85/pdfmake)
- **Khmer Word Splitting Reference**: [split-khmer by seanghay](https://github.com/seanghay/split-khmer)

Special thanks to the original pdfmake team and the split-khmer project for providing the foundation and reference implementation for Khmer text processing.

## License

Same as original pdfmake - MIT License
npm package: @kephajs/console
Description: TypeScript console application
Author: Grégoire Oliveira Silva
Latest version: 0.0.1-b

# KephaJs `console`

A console application is defined by the class `Application` that extends `@kephajs/core/Application`.

When we create the application object, we need to use `__dirname` or the root directory of our application as `appRoot` parameter :

    new Application(__dirname)

The root folder need to content a `package.json` file with `name` as app name and `version` as app version.

Registered services are:

-   `$env` the Env service

## Where the configuration is take?

First, read from the `env` service (take the value from `process.env`) and register values in the `config` service in the scope `ENV.*`.
npm package: @kephajs/core
Description: > TODO: description
Author: Grégoire Oliveira Silva
Latest version: 0.0.1-b

# KephaJs `core`

All KephaJs applciation need to extend `@kephajs/core/Application`.

You can extends some method:

-   `_getVersion`: give the app version

The options can be:

-   `environment` the current environment (`development`, `staging`, `production` or `testing`)
-   `version` the app version

Registered services are:

-   `$config` the app configuration