npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

fidel-ascii

v1.2.0

Published

The first open-source Ethiopic character map and high-impact ASCII rendering engine for terminals.

Readme

Fidel-ASCII 🇪🇹🎨

Fidel-ASCII is the first open-source Ethiopic character map and high-impact ASCII rendering engine for terminal interfaces. It provides a modular engine, a comprehensive character map, and a powerful font importer that bridges the gap in terminal aesthetics for non-Latin scripts.

Fidel-ASCII Gradient Demo (Placeholder for a real image)


🚀 Features

  • Multi-Style Engine: 7 unique rendering modes including braille, dot-matrix, sketch, and matrix.
  • High-Fidelity Importer: Import any .ttf or .otf font directly into ASCII with precision rasterization.
  • Syllabic Support: Full mapping for the Ge'ez syllabary (ሀ-ፐ) and common punctuation.
  • Smooth Gradients: Beautiful, harmonious vertical, horizontal, and angular color transitions.
  • 3D Shadows: Pronounced, stylized shadow effects that adapt to any character style.
  • Dynamic Borders: Professional ASCII borders with customizable styles (solid, double, dotted, bold).
  • Auto-Wrapping: Smart line wrapping based on terminal width.
  • Library Mode: Use the rendering engine directly in your own Node.js/TypeScript projects.

🎨 Rendering Styles

Fidel-ASCII now supports dynamic style translation. You can apply these to the standard font or any custom imported font:

  • Blocks (Default): The classic shaded ASCII look.
  • Braille: Ultra-high resolution dots using Unicode Braille patterns.
  • Dot-Matrix: Retro electronic display style (, , ·).
  • Sketch: Hand-drawn pencil draft look (X, /, \).
  • Matrix: Digital "falling code" effect using binary 0 and 1.
  • Halftone: Grayscale newsprint simulation using a character ramp (@%#*+=-:. ).
  • Solid: Clean, high-contrast block characters.

🛠️ Installation

npm install -g fidel-ascii

📖 CLI Usage

Basic Rendering

fidel-ascii --text "ሰላም" --style dot-matrix --color cyan

Advanced Styling

fidel-ascii --text "ኢትዮጵያ" --style sketch --shadow --gradient "red,yellow,green"

Importing a Custom Font

You can turn any Ethiopic font into a .fidel.json map:

fidel-ascii import --font "nyala.ttf" --output "nyala.json" --height 10 --style blocks

Options

| Flag | Short | Description | Default | |------|-------|-------------|---------| | --text | -t | The Ethiopic text to render (Required) | - | | --style | - | ASCII style: blocks, braille, dot-matrix, sketch, matrix, halftone, solid | blocks | | --color | -c | Basic chalk color (red, green, blue, etc.) | white | | --gradient | -g | Apply a gradient (comma-separated colors) | - | | --direction| -d | Direction: horizontal, vertical, or degrees (e.g., 45) | horizontal | | --shadow | -s | Add a 3D-style shadow effect | false | | --light | -l | Light source for shadow (top-left, top-right, etc.) | top-left | | --animate | -a | Animate the colors or light source | false | | --wrap | -w | Enable line wrapping based on terminal width | false | | --border | -b | Add a stylized border around the output | false | | --border-style | - | Style: solid, double, dotted, bold | solid | | --font | -f | Path to a custom .fidel.json or .ttf file | standard | | --output | -o | Output path for imported font files | - |


🧩 Programmatic API

import { renderFidel } from 'fidel-ascii';
import fontData from 'fidel-ascii/fonts/standard.fidel.json';

const ascii = renderFidel("ሰላም", fontData, {
  style: 'dot-matrix',
  shadow: true,
  gradient: ['#00ffff', '#ff00ff']
});

console.log(ascii);

🤝 Contributing

We are currently expanding the character map! Use our Fidel Builder (or the local tool in tools/fidel-builder) to contribute.

  1. Fork the repository.
  2. Create new glyphs or styles.
  3. Submit a Pull Request.

📄 License

MIT © EyuReaper