{"id":26601205,"url":"https://github.com/nucs/fontregister","last_synced_at":"2025-08-19T08:07:28.772Z","repository":{"id":73821445,"uuid":"106676252","full_name":"Nucs/FontRegister","owner":"Nucs","description":"FontRegister is a small windows commandline tool to manage fonts installation.","archived":false,"fork":false,"pushed_at":"2025-01-25T17:22:45.000Z","size":6325,"stargazers_count":31,"open_issues_count":5,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-26T08:07:08.680Z","etag":null,"topics":["fon","font","font-awesome","font-registry","fonts","otf","ttc","ttf"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Nucs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-10-12T10:02:52.000Z","updated_at":"2025-04-08T08:20:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"5f24ecde-9c97-4d05-a4eb-e2ac3b7a8df2","html_url":"https://github.com/Nucs/FontRegister","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/Nucs/FontRegister","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nucs%2FFontRegister","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nucs%2FFontRegister/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nucs%2FFontRegister/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nucs%2FFontRegister/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Nucs","download_url":"https://codeload.github.com/Nucs/FontRegister/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nucs%2FFontRegister/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271121168,"owners_count":24702723,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-19T02:00:09.176Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fon","font","font-awesome","font-registry","fonts","otf","ttc","ttf"],"created_at":"2025-03-23T18:37:58.032Z","updated_at":"2025-08-19T08:07:28.741Z","avatar_url":"https://github.com/Nucs.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# \u003cimg src=\"https://i.imgur.com/Q4WoRjy.png\" width=\"25\" style=\"margin: 5px 0px 0px 10px\"/\u003e FontRegister\n[![Nuget downloads](https://img.shields.io/nuget/vpre/FontRegister.svg)](https://www.nuget.org/packages/FontRegister/)\n[![NuGet](https://img.shields.io/nuget/dt/FontRegister.svg)](https://github.com/Nucs/FontRegister)\n[![GitHub license](https://img.shields.io/github/license/mashape/apistatus.svg)](https://github.com/Nucs/FontRegister/blob/master/LICENSE)\n\nFontRegister is both a command-line tool and a csharp native library (pure code) for installing and uninstalling fonts on Windows.\n\n## Key Features\n- Ability to install/uninstall fonts in bulk.\n- Notify Windows OS about new fonts refreshing the font-lists on other apps immediately (photoshop, word and so on).\n- Written in pure C# and Pinvoke with a simple code-first API.\n\n## Supported Font Types\n\nThe following font file extensions are supported:\n```csharp\n\".ttf\"  // TrueType Font\n\".otf\"  // OpenType Font\n\".fon\"  // Windows Font\n\".ttc\"  // TrueType Collection\n\".fnt\"  // Windows Font\n```\n\n## Commandline\n\nHere's the output of the help command:\n\n```sh\nUsage: FontManager \u003ccommand\u003e [options] [paths...] \nCommands:\n  install \u003cpath1\u003e [path2] [path3] ... : Install fonts from specified files or directories\n  uninstall \u003cfontName1\u003e [fontName2] [fontName3] ... : Uninstall specified fonts\nOptions:\n  --user, -u        : Install for current user only (default)\n  --machine, -m     : Install for all users (requires admin rights)\n  --all-users       : Same as --machine\n  --update          : Forces update/reinstallation of fonts\n  --force           : Same as --update\n  --notify          : Will notify windows applications to reload fonts (always happens on install/uninstall)\n  --clear-cache, --restart-font-cache\n                    : Restart the Windows Font Cache service after operation\n                      refreshing font list and removing cached uninstalled fonts.\n                      This command physically deletes %LOCALAPPDATA%\\**\\FontCache directories\n\nNote: All font operations require administrator rights\n```\n\n## Usage\n\n```sh\n# Note: All font operations require administrator rights\n\n# INSTALLATION EXAMPLES:\n\n# 1. Basic Installation (for current user)\n# Installs fonts by copying them to Windows Fonts directory\nfontregister install \"c:/folder\" \"c:/font.ttf\" \"./relativedir/font.otf\"\n# Note: Folders are searched recursively for font files\n\n# 2. Specify Installation Scope\n# For current user (default)\nfontregister install \"c:/folder\" \"c:/font.ttf\"\nfontregister install --user \"c:/folder\" \"c:/font.ttf\"\nfontregister install -u \"c:/folder\" \"c:/font.ttf\"\n\n# For all users / machine-wide\nfontregister install --machine \"c:/folder\" \"c:/font.ttf\"\nfontregister install -m \"c:/folder\" \"c:/font.ttf\"\nfontregister install --all-users \"c:/folder\" \"c:/font.ttf\"\n\n# Update existing fonts from given file/path\nfontregister install --update \"c:/folder\" \"c:/font.ttf\"\nfontregister install --force \"c:/folder\" \"c:/font.ttf\"\n\n# UNINSTALLATION EXAMPLES:\n\n# 1. Basic Uninstallation\nfontregister uninstall \"fontname1\" \"fontname2\"\n\n# 2. Uninstall by Different Name Formats\n# By font name as shown in Windows\nfontregister uninstall \"Calibri (TrueType)\" \"Calibri Light\"\n# By filename\nfontregister uninstall \"calibril.ttf\"\n# By full path\nfontregister uninstall \"C:/Windows/Fonts/calibril.ttf\"\n# By your installation path\nfontregister uninstall \"C:/folder/calibril.ttf\"\n\n# 3. Uninstall with Scope\nfontregister uninstall -m \"fontname\"  # Machine-wide\nfontregister uninstall -u \"fontname\"  # User scope\n\n# UTILITIES EXAMPLES:\n\nfontregister  # Display help\nfontregister --clear-cache  # Clear font cache\nfontregister --notify  # notify Windows applications to refresh font list (always done after install/uninstall)\n```\n\n## FontRegister Library Code Example\n\n```sh\nPM\u003e Install-Package FontRegister\n```\n\n```csharp\nusing FontRegister;\nusing FontRegister.Abstraction;\n\n// Note: All font operations require administrator rights\n\n// Create system notifier to refresh font lists in other apps\nvar notifier = new WindowsSystemNotifier();\n\n// Example 1: Install single font for current user\nvar userInstaller = new WindowsFontInstaller(notifier, InstallationScope.User);\nvar userFontManager = new FontManager(userInstaller);\nuserFontManager.InstallFonts([\"C:/myfonts/myfont.ttf\"]);\n\n// Example 2: Install multiple fonts machine-wide\nvar machineInstaller = new WindowsFontInstaller(notifier, InstallationScope.Machine);\nvar machineFontManager = new FontManager(machineInstaller);\nmachineFontManager.InstallFonts([\n    \"C:/myfonts\",          // Directory containing fonts\n    \"C:/myfonts2/myfont.ttf\" // Single font file\n]);\n\n// Example 3: Uninstall fonts\nmachineFontManager.UninstallFonts([\n    \"MyFontName\",          // By font name\n    \"myfont.ttf\",          // By filename\n    \"C:/myfonts/myfont.ttf\" // By full path\n]);\n```\n\n## Contributing\n\nContributions are welcome! Please open an issue or submit a pull request.\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n## Acknowledgements\n\n- All contributors and users for their support.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnucs%2Ffontregister","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnucs%2Ffontregister","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnucs%2Ffontregister/lists"}