Skip to content

Conversation

gcasa
Copy link
Member

@gcasa gcasa commented Sep 4, 2025

This PR provides an implementation of NSFontAssetRequest.

The test for this is here:

https://github.com/gcasa/NSFontAssetRequest_test

@gcasa gcasa requested a review from fredkiefer as a code owner September 4, 2025 06:20
@gcasa
Copy link
Member Author

gcasa commented Sep 7, 2025

@fredkiefer I have tested this and it is working. Please take a look and let me know if it is acceptable.

@gcasa
Copy link
Member Author

gcasa commented Sep 11, 2025

@fredkiefer Please review when ready. This is tested and working. The font is properly added (at least the ones I have tested).

@fredkiefer
Copy link
Member

I am going on a two week holiday trip right now and won't have the time to review this properly. If you want a quick review, feel free to ask @rfm .

@gcasa
Copy link
Member Author

gcasa commented Sep 12, 2025

I am going on a two week holiday trip right now and won't have the time to review this properly. If you want a quick review, feel free to ask @rfm .

Okay. Have a nice trip. :)

@gcasa gcasa assigned gcasa and rfm and unassigned gcasa and rfm Sep 12, 2025
@gcasa gcasa requested a review from rfm September 12, 2025 12:35
@gcasa
Copy link
Member Author

gcasa commented Sep 12, 2025

@rfm Please take a look. I have addressed @fredkiefer 's latest comments.

@rfm
Copy link
Contributor

rfm commented Sep 13, 2025

I'm away from home for the next week and a half, and don't think I'll be able to look at this until I'm back.

@gcasa gcasa requested a review from Copilot September 13, 2025 06:40
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR implements NSFontAssetRequest, a class for downloading and installing font assets dynamically. The implementation provides a complete font downloading system with support for CSS-based font URLs (like Google Fonts), direct font file URLs, and cross-platform font installation.

  • Implements NSFontAssetRequest with progress tracking and completion handlers
  • Adds GSFontAssetDownloader as a pluggable backend for font downloading and installation
  • Integrates font cache refresh notifications to update the font panel when new fonts are installed

Reviewed Changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
Source/NSFontAssetRequest.m Complete implementation of NSFontAssetRequest class with download orchestration
Source/GSFontAssetDownloader.m New font downloading backend with CSS parsing, validation, and installation
Source/NSFontManager.m Adds font cache refresh method with notification support
Source/NSFontPanel.m Integrates font manager notifications to refresh panel when fonts change
Source/GSFontInfo.m Adds font cache refresh functionality to font enumerator
Headers/AppKit/NSFontAssetRequest.h Header updates with GNUstep extensions
Headers/Additions/GNUstepGUI/GSFontAssetDownloader.h New header for font downloader class
Headers/AppKit/NSProgressIndicator.h Adds modern style constants for compatibility
Headers/AppKit/NSFontManager.h Adds private method and notification declarations
Headers/Additions/GNUstepGUI/GSFontInfo.h Adds refreshFontCache method declaration
Source/GNUmakefile Updates build system to include new GSFontAssetDownloader files

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@gcasa
Copy link
Member Author

gcasa commented Sep 15, 2025

The NSFontAssetRequest_test has evolved into something akin to Font Book.app on macOS.
font_preview

@gcasa
Copy link
Member Author

gcasa commented Sep 15, 2025

I think this one is ready to merge @rfm and @fredkiefer. Please review and let me know.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants