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