Skip to content

Commit

Permalink
Feature: Add -WindowsCompatibleOnly switch parameter to install.ps1
Browse files Browse the repository at this point in the history
Fixes: #840
  • Loading branch information
ev-dev authored and Finii committed Sep 24, 2022
1 parent fef67f3 commit 1a9f5e1
Showing 1 changed file with 18 additions and 3 deletions.
21 changes: 18 additions & 3 deletions install.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,19 @@
.EXAMPLE
C:\PS> ./install.ps1 FiraCode, Hack
Installs all the FiraCode and Hack fonts.
.EXAMPLE
C:\PS> ./install.ps1 CascadiaCode -WindowsCompatibleOnly
Filters fonts to include only those labeled as 'Windows Compatible'
Can be used in combination with the -FontName and/or -WhatIf parameters
.EXAMPLE
C:\PS> ./install.ps1 DejaVuSansMono -WhatIf
Shows which fonts would be installed without actually installing the fonts.
Remove the "-WhatIf" to install the fonts.
#>
[CmdletBinding(SupportsShouldProcess)]
param ()
param (
[switch]$WindowsCompatibleOnly
)

dynamicparam {
$Attributes = [Collections.ObjectModel.Collection[Attribute]]::new()
Expand All @@ -44,8 +50,17 @@ end {

Join-Path $PSScriptRoot patched-fonts | Push-Location
foreach ($aFontName in $FontName) {
Get-ChildItem $aFontName -Filter "*.ttf" -Recurse | Foreach-Object {$fontFiles.Add($_)}
Get-ChildItem $aFontName -Filter "*.otf" -Recurse | Foreach-Object {$fontFiles.Add($_)}
Get-ChildItem $aFontName -Recurse | Where-Object {
$IsValidFileExtension = $_.Extension -match 'ttf|otf'

if ($WindowsCompatibleOnly) {
$IsValidFileExtension -and ($_.BaseName -match 'Windows Compatible')
} else {
$IsValidFileExtension
}
} | ForEach-Object {
$fontFiles.Add($_)
}
}
Pop-Location

Expand Down

0 comments on commit 1a9f5e1

Please sign in to comment.