$fontsPath = [System.IO.Path]::Combine($PSScriptRoot, "..", "assets", "fonts") $fontFiles = Get-ChildItem -Recurse $fontsPath | ForEach-Object { if ($_.Extension -eq ".ttf") { $_ } } function Install-FontFiles { param( [System.IO.FileInfo[]]$InFonts, [string]$OutFontsPath ) foreach ($fontFile in $InFonts) { Write-Output "Installing $($fontFile.BaseName)..." $installPath = ([System.IO.Path]::Combine($OutFontsPath, $fontFile.Name)) if (-not(Test-Path -Path $installPath)) { Copy-Item -Force $fontFile $installPath } } } if ( ($PSVersionTable.PSVersion.Major -eq 5 -and $PSVersionTable.PSVersion.Minor -gt 0) -or $IsWindows ) { Install-FontFiles -InFonts $fontFiles -OutFontsPath ([System.IO.Path]::Combine("C:", "Windows", "Fonts")) } elseif ($IsLinux) { Install-FontFiles -InFonts $fontFiles -OutFontsPath ([System.IO.Path]::Combine("usr", "local", "share", "fonts")) } else { Write-Error "Platform not supported." exit }