Add a Font Picker to Tiki
Proposal: Add a Font Picker to Tiki
Overview
Tiki currently supports a limited number of fonts through PluginFont. This restricts design flexibility in both content formatting and theme customization.
The goal of this project is to:
- Identify and evaluate Free, Libre, and Open Source font picker libraries
- Select the best option using Tiki’s library selection guidelines
- Present findings to the community
- Integrate the approved solution into:
- Target inclusion in Tiki21
Functional Requirements
The selected solution must meet these criteria : https://dev.tiki.org/How+to+pick+a+software+library
Candidate Libraries
JSFontPicker
- Website: https://www.jsfontpicker.com/
- License: Open Source
- Features:
- Supports local fonts
- Supports Google Fonts
- Allows custom fonts
- Ready to use UI component
- Recently maintained
Fontsource
- Website: https://fontsource.org/
- License: MIT
- Features:
- Self hosted Google Fonts alternative
- Large font catalog
- NPM based workflow
- No built in UI
Google Webfonts Helper
- Website: https://gwfh.mranftl.com/
- License: Open Source
- Features:
- Self hosting support
- Download optimized font packages
- No built in UI
Comparison Table
| Criteria | JSFontPicker | Fontsource | Google Webfonts Helper |
|---|---|---|---|
| License GPL compatible | Yes | Yes | Yes |
| Ready made UI | Yes | No | No |
| Google Fonts support | Yes | Yes | Yes |
| Self hosted fonts | Yes | Yes | Yes |
| Maintenance activity | Active | Active | Active |
| Integration complexity | Medium | Medium to High | Medium to High |
| Development time | Low | Medium | Medium |
| Dependency size | Moderate | Low | Low |
| Long term control | Medium | High | High |
| Performance control | Medium | High | High |
Proposed Approach
Primary recommendation: integrate JSFontPicker as the initial solution.
Reasons:
- Provides a fast and functional UI
- Reduces implementation complexity
- Allows progressive improvements
- Fits the Tiki21 delivery objective