SciencePlots is a Python library that provides curated Matplotlib style sheets for producing publication-quality scientific figures. It bundles a comprehensive set of .mplstyle files that configure figure dimensions, font families, tick marks, color cycles, and LaTeX rendering to meet the formatting requirements of academic journals, theses, and presentations. The package includes a small registration module (`styles_discovery.py`) that automatically discovers all stylesheets in its subdirectories and integrates them into Matplotlib's style system. It also offers styles tailored for specific journals (IEEE, Nature), language support (CJK, Russian, Turkish), and colorblind-safe palettes based on Paul Tol's schemes. The codebase is minimal, well-structured, and actively maintained with robust CI testing across multiple Python and Matplotlib versions. It is not a data research repo; it is a pure software library for Matplotlib customization.
emfont is a free, open-source CJK web font service that provides on-demand, dynamically subsetted fonts and pre-generated static font packs. The backend is built with Node.js 22 and the Fastify framework, using PostgreSQL for metadata, Redis for caching, and MinIO (or optionally Cloudflare R2) for font file storage. The service exposes a REST API for font generation (`/g/:font`), CSS integration (`/css/:font`), and an admin panel for font upload, editing, and user management. A client-side JavaScript library (`emfont.js`) scans DOM elements with `emfont-*` classes and loads the correct subset fonts, with local caching via localStorage. The system supports Unicode script classification for language coverage analysis and uses worker threads for parallel static font regeneration. Deployment is Dockerized with a multi-stage build, and monitoring includes Prometheus metrics and optional Pyroscope profiling. The codebase is well-structured with clean separation of concerns (routes, utilities, fonts), but lacks automated tests and has minor security concerns (admin session secret fallback), and some hardcoded URLs that reduce portability.