InVerse206 downloadsLoad local fonts (TTF/OTF/WOFF/WOFF2) with Base64 caching. Manage UI, text, code, and math fonts separately.
English | 简体中文 | 繁體中文 | 日本語 | 한국어 | Español
Obsidian Local Font Loader is a powerful plugin for Obsidian that allows you to load and manage custom fonts directly from your local vault. Say goodbye to relying on external CDNs or system fonts — keep everything local, private, and under your control.
main.js, manifest.json, and styles.css to your vault's plugins folder:<vault>/.obsidian/plugins/obsidian-local-font-loader/
Organize Your Fonts: Create a folder in your vault (e.g., Fonts/) and organize fonts by family:
Fonts/
├── MyFont/
│ ├── MyFont-Regular.ttf
│ ├── MyFont-Bold.ttf
│ ├── MyFont-Italic.ttf
│ └── MyFont-BoldItalic.ttf
└── AnotherFont/
└── AnotherFont-Regular.otf
Configure Plugin: Open Settings → Local Font Loader
Convert Fonts: Click "Convert All Fonts to Base64" to generate cached CSS
Apply Fonts:
[!warning] Font Rendering Performance Avoid mixing too many languages in a single line of text. Dense multilingual mixing (e.g., Chinese + Japanese + Korean + Arabic + Russian in one line) can trigger font fallback mechanisms that may freeze the rendering engine.
Recommendation: Keep different language content in separate paragraphs or sections for optimal performance.
| Setting | Description |
|---|---|
| Font Source Directory | Path to your font families folder |
| Base64 Cache Directory | Where converted CSS files are stored |
| Auto-load on Startup | Automatically apply fonts when Obsidian starts |
| Latin Font Separation | Use separate fonts for Latin vs CJK characters |
| Latin Font Scope | Fine-tune which character ranges use the Latin font |
This project is licensed under the MIT License.
InVerse
This plugin was developed with the assistance of Claude (Anthropic), an AI assistant that helped with architecture design, code implementation, and documentation. The project represents a collaborative effort between human requirements and AI technical execution.
If you encounter any issues or have feature requests, please open an issue on GitHub.
The plugin is built with Bun. main.js at the repository root is a build
artifact — edit the modules under src/ and rebuild, never the bundle itself.
bun run build # bundle src/ into main.js
bun run dev # rebuild on change
bun run typecheck # tsc --noEmit over src/
bun run sync-version # copy the version from package.json into manifest.json
| Path | Contents |
|---|---|
src/main.ts |
entry point — exports the plugin class |
src/plugin.ts |
the plugin class: font scanning, conversion, device identity, CSS generation |
src/types.ts |
the data model: settings, fonts, presets, devices, MathJax metrics |
src/ui/settings-tab.ts |
settings tab shell — lifecycle, shared helpers, section order |
src/ui/settings/device-preset.ts |
device and preset management section |
src/ui/settings/directory-application.ts |
directory configuration and font application section |
src/ui/settings/font-status.ts |
font file status section |
src/ui/settings/fallback.ts |
fallback and maintenance section |
src/ui/settings/styles.ts |
settings stylesheet |
src/ui/modals.ts |
modal dialogs |
src/i18n.ts |
translations and locale helpers |
src/constants.ts |
default settings |
src/font-metadata.ts |
OpenType / TrueType name-table reader |
The sources are TypeScript; Bun strips the types when bundling, so nothing is emitted for them at runtime. obsidian is kept external.
Releasing: add a CHANGELOG.md section for the version, set it in package.json, run
bun run sync-version, then push a tag. CI builds main.js from src/ and publishes the
release with the changelog section as its body.
Obsidian 本地字体加载器 是一个强大的 Obsidian 插件,允许你直接从本地仓库加载和管理自定义字体。不再依赖外部 CDN 或系统字体——所有内容都保持本地化、私密化并完全由你掌控。
main.js、manifest.json 和 styles.css 解压到仓库的插件文件夹:<仓库>/.obsidian/plugins/obsidian-local-font-loader/
整理字体: 在仓库中创建文件夹(如 Fonts/),按字体家族组织:
Fonts/
├── MyFont/
│ ├── MyFont-Regular.ttf
│ ├── MyFont-Bold.ttf
│ ├── MyFont-Italic.ttf
│ └── MyFont-BoldItalic.ttf
└── AnotherFont/
└── AnotherFont-Regular.otf
配置插件: 打开 设置 → 本地字体加载器
转换字体: 点击"转换所有字体为 Base64"生成缓存 CSS
应用字体:
[!warning] 字体渲染性能 避免在单行内混合过多语言文字。 密集的多语言混排(例如在同一行内混合中文+日文+韩文+阿拉伯文+俄文)可能触发字体回退机制,导致渲染引擎卡死。
建议:将不同语言的内容分段显示,以获得最佳性能。
| 设置项 | 说明 |
|---|---|
| 字体源目录 | 字体家族文件夹的路径 |
| Base64 缓存目录 | 转换后 CSS 文件的存储位置 |
| 启动时自动加载 | Obsidian 启动时自动应用字体 |
| 拉丁字体分离 | 为拉丁字符和 CJK 字符使用不同字体 |
| 拉丁字体作用范围 | 精细调整哪些字符范围使用拉丁字体 |
本项目采用 MIT 许可证。
InVerse
本插件在 Claude(Anthropic)的协助下开发完成,Claude 参与了架构设计、代码实现和文档编写。本项目代表了人类需求与 AI 技术执行的协作成果。
如遇到问题或有功能需求,请在 GitHub 提交 issue。
Obsidian 本機字型載入器 是一個強大的 Obsidian 外掛程式,讓你可以直接從本機儲存庫載入和管理自訂字型。不再依賴外部 CDN 或系統字型——所有內容都保持本地化、私有化並完全由你掌控。
main.js、manifest.json 和 styles.css 解壓縮到儲存庫的外掛程式資料夾:<儲存庫>/.obsidian/plugins/obsidian-local-font-loader/
整理字型: 在儲存庫中建立資料夾(如 Fonts/),按字型家族組織:
Fonts/
├── MyFont/
│ ├── MyFont-Regular.ttf
│ ├── MyFont-Bold.ttf
│ ├── MyFont-Italic.ttf
│ └── MyFont-BoldItalic.ttf
└── AnotherFont/
└── AnotherFont-Regular.otf
設定外掛程式: 開啟 設定 → 本機字型載入器
轉換字型: 點擊「將所有字型轉換為 Base64」產生快取 CSS
套用字型:
[!warning] 字型渲染效能 避免在單行內混合過多語言文字。 密集的多語言混排(例如在同一行內混合中文+日文+韓文+阿拉伯文+俄文)可能觸發字型回退機制,導致渲染引擎凍結。
建議:將不同語言的內容分段顯示,以獲得最佳效能。
| 設定項目 | 說明 |
|---|---|
| 字型來源目錄 | 字型家族資料夾的路徑 |
| Base64 快取目錄 | 轉換後 CSS 檔案的儲存位置 |
| 啟動時自動載入 | Obsidian 啟動時自動套用字型 |
| 拉丁字型分離 | 為拉丁字元和 CJK 字元使用不同字型 |
| 拉丁字型作用範圍 | 精細調整哪些字元範圍使用拉丁字型 |
本專案採用 MIT 授權。
InVerse
此外掛程式在 Claude(Anthropic)的協助下開發完成,Claude 參與了架構設計、程式碼實作和文件編寫。本專案代表了人類需求與 AI 技術執行的協作成果。
如遇到問題或有功能需求,請在 GitHub 提交 issue。
Obsidian ローカルフォントローダー は、Obsidian 用の強力なプラグインで、ローカル Vault から直接カスタムフォントを読み込んで管理できます。外部 CDN やシステムフォントに依存する必要はありません。すべてをローカルでプライベートに、完全にコントロールできます。
main.js、manifest.json、styles.css を Vault のプラグインフォルダに展開:<vault>/.obsidian/plugins/obsidian-local-font-loader/
フォントを整理: Vault 内にフォルダ(例:Fonts/)を作成し、ファミリーごとに整理:
Fonts/
├── MyFont/
│ ├── MyFont-Regular.ttf
│ ├── MyFont-Bold.ttf
│ ├── MyFont-Italic.ttf
│ └── MyFont-BoldItalic.ttf
└── AnotherFont/
└── AnotherFont-Regular.otf
プラグインを設定: 設定 → Local Font Loader を開く
フォントを変換: 「すべてのフォントを Base64 に変換」をクリックしてキャッシュ CSS を生成
フォントを適用:
[!warning] フォントレンダリングのパフォーマンス 1行に複数の言語を混在させすぎないでください。 密度の高い多言語混在(例:1行に中国語+日本語+韓国語+アラビア語+ロシア語)は、フォントフォールバックメカニズムをトリガーし、レンダリングエンジンがフリーズする可能性があります。
推奨:異なる言語のコンテンツは別々の段落またはセクションに分けて、最適なパフォーマンスを確保してください。
| 設定項目 | 説明 |
|---|---|
| フォントソースディレクトリ | フォントファミリーフォルダのパス |
| Base64 キャッシュディレクトリ | 変換された CSS ファイルの保存場所 |
| 起動時に自動読み込み | Obsidian 起動時にフォントを自動適用 |
| ラテン文字フォント分離 | ラテン文字と CJK 文字に異なるフォントを使用 |
| ラテン文字フォントスコープ | どの文字範囲にラテン文字フォントを使用するかを微調整 |
このプロジェクトは MIT ライセンス の下で公開されています。
InVerse
このプラグインは Claude(Anthropic)の支援を受けて開発されました。Claude はアーキテクチャ設計、コード実装、ドキュメント作成に貢献しました。本プロジェクトは人間の要求と AI の技術実行の協力の成果を表しています。
問題が発生した場合や機能リクエストがある場合は、GitHub で issue を開いてください。
Obsidian 로컬 폰트 로더는 로컬 보관함에서 직접 커스텀 폰트를 로드하고 관리할 수 있는 강력한 Obsidian 플러그인입니다. 외부 CDN이나 시스템 폰트에 의존할 필요 없이 모든 것을 로컬에서 비공개로 완전히 제어할 수 있습니다.
main.js, manifest.json, styles.css를 보관함의 플러그인 폴더에 압축 해제:<vault>/.obsidian/plugins/obsidian-local-font-loader/
폰트 정리: 보관함에 폴더(예: Fonts/)를 만들고 패밀리별로 정리:
Fonts/
├── MyFont/
│ ├── MyFont-Regular.ttf
│ ├── MyFont-Bold.ttf
│ ├── MyFont-Italic.ttf
│ └── MyFont-BoldItalic.ttf
└── AnotherFont/
└── AnotherFont-Regular.otf
플러그인 구성: 설정 → Local Font Loader 열기
폰트 변환: "모든 폰트를 Base64로 변환"을 클릭하여 캐시된 CSS 생성
폰트 적용:
[!warning] 폰트 렌더링 성능 한 줄에 너무 많은 언어를 혼합하지 마세요. 밀집된 다국어 혼합(예: 한 줄에 중국어+일본어+한국어+아랍어+러시아어)은 폰트 폴백 메커니즘을 트리거하여 렌더링 엔진이 정지될 수 있습니다.
권장사항: 최적의 성능을 위해 서로 다른 언어의 콘텐츠를 별도의 단락이나 섹션으로 분리하세요.
| 설정 | 설명 |
|---|---|
| 폰트 소스 디렉토리 | 폰트 패밀리 폴더 경로 |
| Base64 캐시 디렉토리 | 변환된 CSS 파일 저장 위치 |
| 시작 시 자동 로드 | Obsidian 시작 시 폰트 자동 적용 |
| 라틴 폰트 분리 | 라틴 문자와 CJK 문자에 다른 폰트 사용 |
| 라틴 폰트 범위 | 라틴 폰트를 사용할 문자 범위 세밀 조정 |
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다.
InVerse
이 플러그인은 Claude(Anthropic)의 지원을 받아 개발되었습니다. Claude는 아키텍처 설계, 코드 구현 및 문서 작성에 기여했습니다. 이 프로젝트는 인간의 요구 사항과 AI 기술 실행의 협력 결과를 나타냅니다.
문제가 발생하거나 기능 요청이 있는 경우 GitHub에서 issue를 열어주세요.
Obsidian Local Font Loader es un potente complemento para Obsidian que te permite cargar y administrar fuentes personalizadas directamente desde tu bóveda local. Olvídate de depender de CDNs externos o fuentes del sistema: mantén todo local, privado y bajo tu control.
main.js, manifest.json y styles.css a la carpeta de complementos de tu bóveda:<bóveda>/.obsidian/plugins/obsidian-local-font-loader/
Organiza tus Fuentes: Crea una carpeta en tu bóveda (por ejemplo, Fonts/) y organiza las fuentes por familia:
Fonts/
├── MyFont/
│ ├── MyFont-Regular.ttf
│ ├── MyFont-Bold.ttf
│ ├── MyFont-Italic.ttf
│ └── MyFont-BoldItalic.ttf
└── AnotherFont/
└── AnotherFont-Regular.otf
Configurar Complemento: Abre Configuración → Local Font Loader
Convertir Fuentes: Haz clic en "Convertir Todas las Fuentes a Base64" para generar CSS en caché
Aplicar Fuentes:
[!warning] Rendimiento de Renderizado de Fuentes Evita mezclar demasiados idiomas en una sola línea de texto. La mezcla densa de múltiples idiomas (p. ej., chino + japonés + coreano + árabe + ruso en una línea) puede activar mecanismos de respaldo de fuentes que pueden congelar el motor de renderizado.
Recomendación: Mantén el contenido de diferentes idiomas en párrafos o secciones separadas para un rendimiento óptimo.
| Ajuste | Descripción |
|---|---|
| Directorio de Origen de Fuentes | Ruta a tu carpeta de familias de fuentes |
| Directorio de Caché Base64 | Donde se almacenan los archivos CSS convertidos |
| Carga Automática al Inicio | Aplica automáticamente las fuentes cuando se inicia Obsidian |
| Separación de Fuentes Latinas | Usa fuentes separadas para caracteres latinos vs CJK |
| Ámbito de Fuente Latina | Ajusta qué rangos de caracteres usan la fuente latina |
Este proyecto está licenciado bajo la Licencia MIT.
InVerse
Este plugin fue desarrollado con la asistencia de Claude (Anthropic), un asistente de IA que ayudó con el diseño de arquitectura, implementación de código y documentación. El proyecto representa un esfuerzo colaborativo entre requisitos humanos y ejecución técnica de IA.
Si encuentras algún problema o tienes solicitudes de funciones, por favor abre un issue en GitHub.