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.
- 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
The application includes an admin panel for managing font metadata.
- Go to
/login - Default credentials:
- Username:
admin - Password:
fontsadmin123
- Username:
- View and edit font metadata (author, license, source, foundry, description)
- Export font data for GitHub Pages deployment
- Manage font suggestions
Note: Change the default admin credentials before deploying to production.
- 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
├── LICENSE # MIT License
├── 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