Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 30 additions & 38 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
# Fonts

This is a PowerShell module for managing fonts.
It helps you to install, uninstall and list fonts on the system.
Fonts is a PowerShell module for managing fonts. It helps you install, uninstall, and list fonts on the system.

This module only provides the functionality to manage fonts on the system. To install popular fonts on the system,
please review the [NerdFonts](https://github.com/PSModule/NerdFonts) and [GoogleFonts](https://github.com/PSModule/GoogleFonts) modules.
This module only provides the functionality to manage fonts on the system. To install popular fonts, review the
[NerdFonts](https://github.com/PSModule/NerdFonts) and [GoogleFonts](https://github.com/PSModule/GoogleFonts) modules.

## Supported platforms

This module supports managing fonts on Linux, macOS and Windows operating systems.
This module supports managing fonts on Linux, macOS, and Windows operating systems.

## Installation

To install the module simply run the following command in a PowerShell terminal.
Install the module from the PowerShell Gallery:

```powershell
Install-PSResource -Name Fonts
Expand All @@ -21,68 +20,61 @@ Import-Module -Name Fonts

## Usage

You can use this module to install, uninstall and list fonts on your system.
Use the module to list, install, and uninstall fonts on your system. Fonts are managed for the current user by
default; pass `-Scope AllUsers` to manage fonts for every user, which requires elevated privileges (administrator
on Windows, root on Linux and macOS). On Windows the module also registers or unregisters fonts in the Windows
registry so applications can find them; on Linux and macOS it manages the font files in the appropriate font
directories.

### List installed fonts
### Example: List installed fonts

This command will list all fonts installed in the user context.
List all fonts installed for the current user:

```powershell
Get-Font
```

This command will list all fonts installed in the system context.
For Windows this means that it will list all fonts installed on the `C:\Windows\Fonts` folder.
List all fonts installed for all users:

```powershell
Get-Font -Scope AllUsers
```

### Install a font
### Example: Install a font

To install a font in the user context, you can use the following command.
This will install the font in the users font folder `$env:LOCALAPPDATA\Microsoft\Windows\Fonts` and update the registry to
make it available to the current user.
Install a font for the current user:

```powershell
Install-Font -Path 'C:\path\to\font.ttf'
Install-Font -Path ./MyFont.ttf
```

To install a font on the system you can use the following command. This will need to be run as an administrator.
This will install the font in the `C:\Windows\Fonts` folder and update the registry to make it available to all users on the system.
Install a font for all users (requires elevated privileges):

```powershell
Install-Font -Path 'C:\path\to\font.ttf' -Scope AllUsers
Install-Font -Path ./MyFont.ttf -Scope AllUsers
```

### Uninstall a font
### Example: Uninstall a font

To uninstall a font from the user context, you can use the following command.
This will remove the font from the users font folder `$env:LOCALAPPDATA\Microsoft\Windows\Fonts` and update the
registry to remove it from the current user.
Uninstall a font for the current user:

```powershell
Uninstall-Font -Name 'FontName' # You can tab complete the font name
Uninstall-Font -Name 'FontName'
```

To uninstall a font from the system you can use the following command. This will need to be run as an administrator.
This will remove the font from the `C:\Windows\Fonts` folder and update the registry to remove it from all users on the system.
Uninstall a font for all users (requires elevated privileges):

```powershell
Uninstall-Font -Name 'FontName' -Scope AllUsers # You can tab complete the font name
Uninstall-Font -Name 'FontName' -Scope AllUsers
```

## Contributing
## Documentation

Coder or not, you can contribute to the project! We welcome all contributions.
Documentation is published at [psmodule.io/Fonts](https://psmodule.io/Fonts/).

### For Users
Use PowerShell help and command discovery for module details:

If you don't code, you still sit on valuable information that can make this project even better. If you experience that the
product does unexpected things, throw errors or is missing functionality, you can help by submitting bugs and feature requests.
Please see the issues tab on this project and submit a new issue that matches your needs.

### For Developers

If you do code, we'd love to have your contributions. Please read the [Contribution guidelines](CONTRIBUTING.md) for more information.
You can either help by picking up an existing issue or submit a new one if you have an idea for a new feature or improvement.
```powershell
Get-Command -Module Fonts
Get-Help -Name Install-Font -Examples
```
Loading