Feature request: system font lookup by family name
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- javascript
- Área
- desktop
Línea de trabajo
Start with the proposed openSystem('Helvetica', { weight, style }) entry point and review how Fontkit currently opens fonts from file paths or Buffers. Compare resolution needs across the listed macOS, Linux, and Windows font locations, including family, weight, style, and collection handling. Done means a cross-platform lookup works with the documented API and tests cover the supported systems.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Fontkit currently needs an absolute file path (or a Buffer) to load a font.
It would be useful to pass a family name like "Helvetica" and have Fontkit locate the file automatically, similar to how browsers and GUI toolkits work.
Example API:
const font = await fontkit.openSystem('Helvetica', {
weight: 400,
style: 'normal'
});
this means that all font family name use should be installed on the system first.
Without built-in lookup, each project has to:
- Scan OS font directories (
/System/Library/Fonts,/usr/share/fonts,C:\Windows\Fonts, etc.) - Handle platform quirks (macOS
.ttcbundles, Windows registry, Linux fontconfig) - Reimplement matching logic for weight/style/fallback
This logic is duplicated across many projects and is easy to get wrong.
Use libraries like font-manager or system-fonts to resolve paths, then open in Fontkit. Works, but adds dependencies and complexity.
Happy to help with a PR and cross-platform tests if maintainers are open to it.
- Lenguaje dominante
- JavaScript
- Estrellas
- 1.7k
- Forks
- 254
- Merge medio
- 1 d 19 h
- PR fusionados (30 d)
- 29
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de foliojs/fontkit
-
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
Los mantenedores suelen responder en 1 día
-
Vertical phantom points have the wrong signPosiblemente ocupada @lehni la tomó hace 10 días. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
foliojs/fontkit#382 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 15/100
foliojs/fontkit#368 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Creating fonts with fontkitAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
Los mantenedores suelen responder en 1 día
Todos los issues de foliojs/fontkit
Issues similares
-
Build produces empty forge.min.js: package.json lists "forge" instead of "node-forge"Posiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Fei2411/DeepSeek-Bot#963 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Miaotofu01/Study-Mate#244 ·
Los mantenedores suelen responder en 1 día
-
test-reliability
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Azure/azure-sdk-for-js#40672 · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
txn2/mcp-data-platform#2492 ·
Los mantenedores suelen responder en 1 día