<#
    Installeert alle gravure-lettertypes (.ttf in deze map) voor JOUW Windows-account —
    geen administrator-rechten nodig (per-gebruiker font-install, Windows 10/11).
    Nodig zodat programma's die systeem-lettertypes gebruiken (bv. laserapp) dezelfde
    lettertypes zien als de gravure-editor op de website (die host ze zelf als webfont,
    dus de website heeft dit script niet nodig — enkel jij, lokaal).

    Gebruik: rechtsklik -> "Uitvoeren met PowerShell", of vanuit een terminal:
        powershell -ExecutionPolicy Bypass -File install-fonts.ps1
#>

$ErrorActionPreference = 'Stop'

$fontsDir = Join-Path $env:LOCALAPPDATA 'Microsoft\Windows\Fonts'
New-Item -ItemType Directory -Force -Path $fontsDir | Out-Null

$regKey = 'HKCU:\Software\Microsoft\Windows NT\CurrentVersion\Fonts'

$shell = New-Object -ComObject Shell.Application
$fontsNamespace = $shell.Namespace(0x14)  # CSIDL_FONTS — laat Windows de font zelf registreren

$ttfFiles = Get-ChildItem -Path $PSScriptRoot -Filter '*.ttf'
if ($ttfFiles.Count -eq 0) {
    Write-Host "Geen .ttf-bestanden gevonden in $PSScriptRoot" -ForegroundColor Yellow
    exit 1
}

$installed = 0
foreach ($font in $ttfFiles) {
    try {
        # Shell.Application's "namespace(fonts).CopyHere" installeert + registreert een
        # lettertype op de standaard manier (zelfde alsof je dubbelklikt -> Installeren),
        # per-gebruiker, geen adminrechten nodig.
        $fontsNamespace.CopyHere($font.FullName, 0x14)
        $installed++
        Write-Host "OK: $($font.Name)" -ForegroundColor Green
    } catch {
        Write-Host "MISLUKT: $($font.Name) - $($_.Exception.Message)" -ForegroundColor Red
    }
}

Write-Host ""
Write-Host "$installed / $($ttfFiles.Count) lettertypes geinstalleerd." -ForegroundColor Cyan
Write-Host "Herstart eventueel open programma's (bv. laserapp) zodat ze de nieuwe lettertypes oppikken."
