diff --git a/internal/platform/darwin.go b/internal/platform/darwin.go index de654f1..9b711ee 100644 --- a/internal/platform/darwin.go +++ b/internal/platform/darwin.go @@ -31,9 +31,6 @@ func NewFontManager() (FontManager, error) { // System font directory systemFontDir := "/Library/Fonts" - if err := ensureDir(systemFontDir); err != nil { - return nil, fmt.Errorf("failed to ensure system font directory exists: %w", err) - } return &darwinFontManager{ userFontDir: userFontDir, @@ -73,6 +70,10 @@ func (m *darwinFontManager) InstallFont(fontPath string, scope InstallationScope return fmt.Errorf("invalid installation scope: %s", scope) } + if err := ensureDir(targetDir); err != nil { + return fmt.Errorf("failed to ensure font directory exists: %w", err) + } + targetPath := filepath.Join(targetDir, fontName) // Check if font is already installed diff --git a/internal/platform/linux.go b/internal/platform/linux.go index 2809284..05de03a 100644 --- a/internal/platform/linux.go +++ b/internal/platform/linux.go @@ -30,9 +30,6 @@ func NewFontManager() (FontManager, error) { // System font directory systemFontDir := "/usr/local/share/fonts" - if err := ensureDir(systemFontDir); err != nil { - return nil, fmt.Errorf("failed to ensure system font directory exists: %w", err) - } return &linuxFontManager{ userFontDir: userFontDir, @@ -72,6 +69,10 @@ func (m *linuxFontManager) InstallFont(fontPath string, scope InstallationScope, return fmt.Errorf("invalid installation scope: %s", scope) } + if err := ensureDir(targetDir); err != nil { + return fmt.Errorf("failed to ensure font directory exists: %w", err) + } + targetPath := filepath.Join(targetDir, fontName) // Check if font is already installed