個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Ligatures: a free, open-source font manager for macOS. Browse, preview and install Google Fonts and Fontshare fonts with one click.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗Ligatures is a free, open-source font manager for macOS. Browse, search and preview every free font family on Google Fonts and Fontshare, then install fonts on your Mac with one click: no account and no subscription.
It runs entirely on your machine, either as a self-contained Mac app or as a small Python server (standard library only) that you open in your browser.
Not affiliated with or endorsed by Google or Indian Type Foundry. "Google Fonts" is a trademark of Google LLC; Fontshare is a service of Indian Type Foundry.
Download Ligatures 1.1.0 for Mac (macOS 12 or later, Apple silicon or Intel), or see all releases. Website: khanh-ly.github.io/ligatures.
Unzip it and drag Ligatures into your Applications folder. The app isn't notarized by Apple, so the first time you open it, macOS asks you to approve it in System Settings; see On another Mac for the steps.
khanh-ly/ligatures, ligatures.zip). Old links keep working.See the 1.1.0 release notes for details. Upgrading from 1.0? Replace the app in Applications; your installed fonts and favorites are kept.
~/Library/Fonts, so they appear in every app at once. Uninstalling moves the files to the Trash, and the app only ever removes fonts it installed itself.xcode-select --install).Build the app and install it into /Applications:
./build_app.sh --install
Then open Ligatures from Applications, Launchpad or Spotlight. The app serves itself on port 8766 while it's open.
Run ./build_app.sh without --install to only build it into build/.
Each build also makes build/ligatures.zip. Copy the zip to the other Mac (AirDrop, a USB drive, a file share), double-click it, and drag Ligatures into Applications.
Because the app isn't notarized by Apple, macOS blocks it the first time:
To skip these steps entirely, the app would need to be signed with a paid Apple Developer ID and notarized.
python3 fontmanager.py
This opens http://127.0.0.1:8765 in your browser. Press Ctrl+C to stop it.
| Option | What it does |
|---|---|
--no-browser | Don't open a browser window on start |
FONTMANAGER_PORT=9000 | Use a different port |
| Key | Action |
|---|---|
/ | Open search |
Esc | Clear and close search, or close the details panel |
| What | macOS | Linux |
|---|---|---|
| Installed fonts | ~/Library/Fonts | ~/.local/share/fonts/google-fonts |
| Favorites, install records, cached catalogs | ~/Library/Application Support/FontManager | ~/.local/share/fontmanager |
| Mac app log | ~/Library/Logs/FontManager.log | — |
The terminal version and the Mac app share the same data, so they show the same installed fonts and favorites.
Uninstalled fonts go to the Trash. If the Trash can't be used, they're kept in a Removed Fonts folder inside the data folder instead. The terminal version moves files to the Trash through Finder, so the first time, macOS asks whether Terminal may control Finder.
index.html) talks to a small JSON API on 127.0.0.1 only. There are two implementations of that server: fontmanager.py for the terminal, and macos/FontServer.swift built into the Mac app, so the app needs no Python. Both behave the same and share the same data files.Host header are rejected, so other websites can't trigger installs.macos/main.swift) is a WKWebView window around its built-in server. It's built as a universal binary (Apple silicon and Intel) targeting macOS 12.fontmanager.py terminal server: catalog, install/uninstall, favorites, new-font check
index.html the whole interface (HTML, CSS and JavaScript in one file)
build_app.sh builds the app and a zip for other Macs (--install copies it to /Applications)
make_screenshots.sh regenerates the README screenshots in docs/
site/ the website, published to GitHub Pages by .github/workflows/pages.yml
macos/main.swift native app window
macos/FontServer.swift the app's built-in server (Swift port of fontmanager.py)
macos/Info.plist app bundle settings
macos/make_icon.swift builds the app icon from macos/icon-source.png
macos/make_screenshot.swift renders a screenshot mockup (used by make_screenshots.sh)
docs/ README screenshots (light and dark) and the social preview image
Ligatures itself is released under the MIT License.
The fonts it installs are not part of Ligatures and keep their own licenses. Google Fonts families are open source, mostly under the SIL Open Font License. Fontshare families use either the SIL Open Font License or the ITF Free Font License, which allows free personal and commercial use. Each family's license is shown in its details panel. Check it before redistributing font files.
index.html, run ./build_app.sh --install again, because the app bundles its own copy.fontmanager.py and macos/FontServer.swift to keep the two versions in step../make_screenshots.sh to refresh the README screenshots. It uses a temporary server with empty data, so your own installed fonts and favorites never appear.