Sanchaya is building an index for Kannada fonts to locate, preview, and identify fonts. This project is crowdsourced from the community.
Fonts stored in this project are for educational and research purposes only. Each font retains its own license (SIL OFL, Proprietary, Free, etc.) as noted in its metadata and folder.
The project code (Express server, views, scripts) is licensed under the MIT License. See LICENSE.
- Font Browser — Browse, search, and filter 70+ Kannada font families
- Font Detail — View glyphs, OpenType features, and font metadata per font
- Statistics — Dashboard showing font counts, foundries, and license distribution
- Visualizations — Word cloud, font comparison, glyph gallery, and font bingo
- Unicode Character Blocks — Reference table of all 346 Unicode blocks (Unicode 17.0). Click any block to expand its character grid; paste a character into the search to find which block it belongs to.
- RENDERING QA — Dual-engine font rendering comparison (browser native vs HarfBuzz) on each font detail page
- Bug Reports — Submit and acknowledge font rendering issues
- Font Suggestions — Community-driven font submission
- Node.js (v18 or higher)
- npm (comes with Node.js)
-
Clone the repository
git clone <repository-url> cd fonts
-
Install dependencies
npm install
-
Start the server
node index.js
-
Access the application
- Open your browser and go to:
http://localhost:4040
- Open your browser and go to:
- Default port:
4040 - To change the port, set the
PORTenvironment variable:PORT=3000 node index.js
- Admin credentials (set both before starting the server):
export ADMIN_USERNAME=admin export ADMIN_PASSWORD="your-secure-password" node index.js
The application includes an admin panel for managing font metadata.
Go to /login and sign in with the admin credentials configured on the server (set via ADMIN_USERNAME and ADMIN_PASSWORD environment variables).
- View and edit font metadata (author, license, source, foundry, description)
- Export font data for GitHub Pages deployment
- Manage font suggestions
- Place the font file(s) in
static/Fonts/<Font-Name>/ - Run the indexer:
node fontAdded.js
- Update
fontMetadata.jsonwith author, license, source, and foundry info
- Log in to the admin panel at
/admin - Click "Export" to download the font data with metadata
- Copy the exported JSON to your GitHub Pages repository
Feel free to contribute by:
- Adding new Kannada fonts
- Improving font metadata
- Fixing bugs
- Enhancing the UI/UX
fonts/
├── index.js # Main Express server
├── fonts.json # Font index (auto-generated)
├── fontMetadata.json # Font metadata (admin-managed)
├── fontAdded.js # Font indexer script
├── configuration.js # Configuration settings
├── unicodeBlocksData.js # Unicode block definitions (Unicode 17.0)
├── LICENSE # MIT License
├── engine-inspector/ # Dual-engine font rendering comparison tool
│ ├── bin/ # Python HarfBuzz+FreeType render CLI
│ └── public/ # Theme assets
├── Main/ # Core application logic
│ └── fontSelectedPage/ # Font listing and filtering
├── static/ # Static assets
│ ├── css/ # Stylesheets
│ ├── Fonts/ # Font files (70+ families)
│ ├── img/ # Images
│ └── js/ # JavaScript files
└── views/ # EJS templates
├── admin.ejs # Admin panel
├── fontSelectedPage/ # Font detail views
├── home/ # Home page with filters
├── unicodeBlocks/ # Unicode Character Blocks table
└── visualizations/ # Font visualization tools