Skip to content

fix: replace variable font weights#41

Merged
twangodev merged 12 commits intomainfrom
fix/fonts
Nov 7, 2025
Merged

fix: replace variable font weights#41
twangodev merged 12 commits intomainfrom
fix/fonts

Conversation

@twangodev
Copy link
Copy Markdown
Owner

@twangodev twangodev commented Nov 7, 2025

Summary by CodeRabbit

  • Style

    • Switched sans‑serif selections to medium‑weight variants for a more consistent UI appearance.
  • Documentation

    • Added SIL Open Font License v1.1 text for bundled fonts to clarify usage and redistribution terms.
  • Refactor

    • Improved font loading to handle directory-based font collections, deterministic ordering, richer load metadata, and clearer logging for family and fallback discovery.

Copilot AI review requested due to automatic review settings November 7, 2025 07:18
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Nov 7, 2025

Note

Other AI code review bot(s) detected

CodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review.

Walkthrough

Replaces variable-font references in fonts.yaml with medium-weight file paths, adds SIL OFL license files for Roboto, NotoSans, NotoSansCJK, and NotoSansArabic, and refactors src/fonts.rs to support loading fonts from files or directories with primary vs fallback semantics, deterministic ordering, metadata, and unified logging.

Changes

Cohort / File(s) Summary
Font configuration
fonts.yaml
Replaced variable-font entries with medium-weight file paths and added corresponding medium-weight entries for Roboto, NotoSans, NotoSansCJK, and NotoSansArabic under sans-serif.
License texts
fonts/Roboto/OFL.txt, fonts/NotoSans/OFL.txt, fonts/NotoSansCJK/LICENSE, fonts/NotoSansArabic/OFL.txt
Added SIL Open Font License v1.1 / license text files for Roboto, NotoSans, NotoSansCJK, and NotoSansArabic.
Font loading refactor
src/fonts.rs
Introduced FamilyFontType and LoadedFont; replaced single-file loading with directory-aware flows (load_family_font_or_directory, load_global_fallback_or_directory, get_font_files_in_directory, load_font_file, load_family_fonts_from_directory, load_global_fallbacks_from_directory); deterministic sorting of directory contents; unified logging via log_font_loaded; updated load_fonts to handle files and directories and assign primary vs fallback fonts; added tests for new behaviors.

Sequence Diagram

sequenceDiagram
    participant Config as fonts.yaml
    participant Loader as load_fonts()
    participant PathCheck as Path Check
    participant DirRead as get_font_files_in_directory()
    participant FileLoad as load_font_file()
    participant FamilyReg as load_family_font()
    participant GlobalReg as load_global_fallback()
    participant FontDB as fontdb

    Config->>Loader: iterate named families & global fallbacks
    Loader->>PathCheck: for each path, is it a directory?

    rect rgb(220,245,255)
    Note over PathCheck,FileLoad: file path branch
    PathCheck->>FileLoad: No → load single file
    FileLoad->>FontDB: add font faces, return LoadedFont
    FileLoad->>FamilyReg: assign Primary or Fallback based on FamilyFontType
    FamilyReg->>FontDB: register family mapping
    end

    rect rgb(245,230,255)
    Note over PathCheck,DirRead: directory path branch
    PathCheck->>DirRead: Yes → list & sort *.ttf/*.ttc/*.otf
    loop for each sorted file
        DirRead->>FileLoad: load file
        FileLoad->>FontDB: add font faces, return LoadedFont
        alt family entry
            FileLoad->>FamilyReg: first→Primary, subsequent→Fallback
            FamilyReg->>FontDB: register entries
        else global-fallback entry
            FileLoad->>GlobalReg: register as global fallback
            GlobalReg->>FontDB: register fallback mapping
        end
    end
    end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

  • Inspect directory traversal, deterministic sorting, and file filtering in src/fonts.rs.
  • Verify primary vs fallback assignment logic, especially for multi-face files (ttc) and ordering semantics.
  • Review logging, error handling paths, and added tests for coverage and edge cases.

Possibly related PRs

Poem

🐰 I hopped through folders, files in a row,
First one is primary, the rest learn to follow,
Licenses tucked, faces counted with care,
Sorted and logged — fallbacks placed there,
A rabbit cheers for fonts now tidy as snow.

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 30.77% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: replacing variable font weight references with medium-weight variants across fonts.yaml and supporting code refactoring in src/fonts.rs.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/fonts

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a7c9d95 and 1ebcf59.

📒 Files selected for processing (1)
  • src/fonts.rs (3 hunks)
🧰 Additional context used
🧬 Code graph analysis (1)
src/fonts.rs (1)
src/yaml_loader.rs (1)
  • load_binary (22-28)
🔇 Additional comments (6)
src/fonts.rs (6)

4-18: LGTM! Clean enum design with Debug derive.

The FamilyFontType enum and from_index constructor provide a clear abstraction for distinguishing primary from fallback fonts. The Debug derive improves debuggability as recommended in past reviews.


88-98: Excellent: case-insensitive extension matching and deterministic sorting.

The implementation correctly addresses the previous concern about uppercase extensions (e.g., .TTF) being skipped by converting extensions to lowercase before matching. The sorting at lines 97-98 ensures deterministic loading order across different filesystems.


131-151: Excellent: safe access and proper multi-face handling.

The implementation correctly addresses critical concerns from previous reviews:

  • Line 147 uses .first() with safe optional chaining instead of direct indexing, preventing panics on fonts with empty families arrays.
  • Lines 144-148 collect names from all loaded faces using .skip(faces_before), properly handling .ttc files with multiple fonts.
  • Lines 139-141 add defensive checking for the case where no faces are loaded.

153-162: Clean logging abstraction.

The unified logging helper consolidates output for all font loading scenarios and provides helpful metadata (names, face count, path).


174-189: Correct: safe first() usage and clear primary vs fallback logic.

Line 176 safely accesses loaded.names.first() to set the primary family mapping, and the match block clearly distinguishes between primary font setup (with family mapping) and fallback logging.


192-199: LGTM! Straightforward global fallback loading.

The function correctly loads and logs global fallback fonts using the new metadata-aware infrastructure.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@codecov
Copy link
Copy Markdown

codecov bot commented Nov 7, 2025

Codecov Report

❌ Patch coverage is 11.94030% with 59 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/fonts.rs 11.94% 59 Missing ⚠️
Files with missing lines Coverage Δ
src/fonts.rs 9.87% <11.94%> (+9.87%) ⬆️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Copy Markdown
Contributor

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 refactors the font loading system to support loading fonts from directories in addition to individual files. The refactoring extracts the font loading logic into smaller, focused functions and introduces a FamilyFontType enum to distinguish between primary and fallback fonts.

Key changes:

  • Introduces directory support for font loading, allowing fonts to be organized in folders
  • Refactors font loading into smaller, more testable functions with better separation of concerns
  • Replaces boolean is_primary flag with a more expressive FamilyFontType enum

Reviewed Changes

Copilot reviewed 3 out of 11 changed files in this pull request and generated 1 comment.

File Description
src/fonts.rs Complete refactoring of font loading logic to support directories, with new enum and helper functions for better code organization
fonts.yaml Updates sans-serif font path from a variable font file to a specific NotoSansCJK Medium font
fonts/NotoSansCJK/LICENSE Adds SIL Open Font License for the NotoSansCJK font family
fonts/NotoSansCJK-VariableFont.ttc New font file added to support CJK characters

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b07d76d and a310c12.

📒 Files selected for processing (3)
  • fonts.yaml (1 hunks)
  • fonts/NotoSansCJK/LICENSE (1 hunks)
  • src/fonts.rs (3 hunks)
🧰 Additional context used
🧬 Code graph analysis (1)
src/fonts.rs (1)
src/yaml_loader.rs (1)
  • load_binary (22-28)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Agent
  • GitHub Check: Code Coverage
🔇 Additional comments (9)
fonts.yaml (1)

4-4: Verify the intentional move from variable to fixed-weight font.

The path changes from a variable font (NotoSansCJK-VariableFont.ttc) to a fixed-weight font (NotoSansCJK-Medium.ttc). Given the PR title mentions "fix variable font weights", this suggests variable fonts were causing issues.

Is this change an intentional workaround to avoid variable font problems, or is fixing proper variable font support planned for the future?

fonts/NotoSansCJK/LICENSE (1)

1-92: Good practice to include font license.

Adding the SIL Open Font License file is appropriate for the NotoSansCJK font distribution.

src/fonts.rs (7)

2-18: LGTM: Clean enum design for font type distinction.

The FamilyFontType enum with from_index helper provides a clear way to distinguish primary fonts (index 0) from fallback fonts. The implementation is straightforward and appropriate.


29-30: LGTM: Proper integration of directory-aware loading.

The changes correctly determine font type based on index and delegate to the new directory-aware loading functions.


48-71: LGTM: Clear routing logic for files vs directories.

Both functions follow a consistent pattern to route file paths and directory paths to appropriate handlers. The implementation is clean and maintainable.


73-101: LGTM: Robust directory scanning with deterministic ordering.

The function properly handles directory read failures, filters for valid font extensions, and ensures deterministic loading order through sorting. The error handling and logic are sound.


103-116: LGTM: Correct fallback cascading for directory-based fonts.

The logic correctly handles primary vs fallback assignment:

  • If the directory path is marked as Primary (index 0), the first font file becomes primary and subsequent files become fallbacks.
  • If the directory path is already a fallback (index > 0), all fonts remain fallbacks.

This provides sensible cascading behavior for directories containing multiple font weights.


148-156: LGTM: Clean logging helper.

Centralizing the logging format in a helper function improves maintainability and ensures consistent log output.


158-191: LGTM: Proper family and fallback font handling.

Both functions correctly implement the distinction between primary fonts (which are set as family defaults) and fallback fonts (which are loaded but not set as defaults). The logging clearly indicates the role of each loaded font.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
fonts/Roboto/OFL.txt (1)

9-9: Typographical refinement: use an en dash for date ranges.

In formal typography, date ranges are typically separated by an en dash (–) rather than a hyphen (-). Consider updating this line to read: SIL OPEN FONT LICENSE Version 1.1 – 26 February 2007.

This is a minor stylistic improvement and does not affect the legal validity of the license.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a310c12 and a08140b.

⛔ Files ignored due to path filters (55)
  • fonts/Roboto-VariableFont.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto-Black.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto-BlackItalic.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto-Bold.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto-BoldItalic.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto-ExtraBold.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto-ExtraBoldItalic.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto-ExtraLight.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto-ExtraLightItalic.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto-Italic.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto-Light.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto-LightItalic.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto-Medium.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto-MediumItalic.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto-Regular.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto-SemiBold.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto-SemiBoldItalic.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto-Thin.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto-ThinItalic.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto_Condensed-Black.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto_Condensed-BlackItalic.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto_Condensed-Bold.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto_Condensed-BoldItalic.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto_Condensed-ExtraBold.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto_Condensed-ExtraBoldItalic.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto_Condensed-ExtraLight.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto_Condensed-ExtraLightItalic.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto_Condensed-Italic.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto_Condensed-Light.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto_Condensed-LightItalic.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto_Condensed-Medium.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto_Condensed-MediumItalic.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto_Condensed-Regular.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto_Condensed-SemiBold.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto_Condensed-SemiBoldItalic.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto_Condensed-Thin.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto_Condensed-ThinItalic.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto_SemiCondensed-Black.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto_SemiCondensed-BlackItalic.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto_SemiCondensed-Bold.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto_SemiCondensed-BoldItalic.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto_SemiCondensed-ExtraBold.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto_SemiCondensed-ExtraBoldItalic.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto_SemiCondensed-ExtraLight.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto_SemiCondensed-ExtraLightItalic.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto_SemiCondensed-Italic.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto_SemiCondensed-Light.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto_SemiCondensed-LightItalic.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto_SemiCondensed-Medium.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto_SemiCondensed-MediumItalic.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto_SemiCondensed-Regular.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto_SemiCondensed-SemiBold.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto_SemiCondensed-SemiBoldItalic.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto_SemiCondensed-Thin.ttf is excluded by !**/*.ttf
  • fonts/Roboto/Roboto_SemiCondensed-ThinItalic.ttf is excluded by !**/*.ttf
📒 Files selected for processing (2)
  • fonts.yaml (1 hunks)
  • fonts/Roboto/OFL.txt (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • fonts.yaml
🧰 Additional context used
🪛 LanguageTool
fonts/Roboto/OFL.txt

[typographical] ~9-~9: If you want to indicate numerical ranges or time ranges, consider using an en dash.
Context: ...------ SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 -----------------------...

(DASH_RULE)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Code Coverage

Copilot AI review requested due to automatic review settings November 7, 2025 07:38
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a08140b and da4fcc4.

📒 Files selected for processing (1)
  • src/fonts.rs (3 hunks)
🧰 Additional context used
🧬 Code graph analysis (1)
src/fonts.rs (1)
src/yaml_loader.rs (1)
  • load_binary (22-28)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: Agent
  • GitHub Check: Code Coverage
  • GitHub Check: Code Coverage
🔇 Additional comments (4)
src/fonts.rs (4)

4-18: LGTM! Clean enum design for font type semantics.

The FamilyFontType enum and from_index constructor provide clear semantics for distinguishing primary fonts (which become the family default) from fallback fonts. The logic is straightforward and correct.


20-46: LGTM! Well-structured refactoring of the font loading flow.

The main load_fonts function now cleanly delegates to helper functions that handle both file and directory paths, with proper primary/fallback semantics based on position in the YAML arrays.


139-140: Previous safety concern has been addressed.

The past review comments flagged potential panic on face.families[0] access. The current code correctly uses face.families.first()?, which safely returns None if the families array is empty, eliminating the panic risk.


193-301: LGTM! Comprehensive test coverage for the new functionality.

The tests thoroughly cover edge cases including empty directories, filtering non-font files, deterministic sorting, nonexistent paths, and subdirectory handling. The test structure is clear and assertions are appropriate.

Copy link
Copy Markdown
Contributor

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

Copilot reviewed 4 out of 67 changed files in this pull request and generated 9 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copilot AI review requested due to automatic review settings November 7, 2025 08:11
@twangodev twangodev changed the title fix: fix variable font weights fix: replace variable font weights Nov 7, 2025
Copy link
Copy Markdown
Contributor

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

Copilot reviewed 5 out of 51 changed files in this pull request and generated 10 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (2)
fonts/NotoSans/OFL.txt (1)

1-10: License file is complete and properly attributed.

The SIL OFL 1.1 text is correctly included with appropriate copyright attribution. This is a necessary compliance document.

Minor typographical note: Line 9 uses a hyphen to separate the date range. Consider using an en-dash (–) instead of hyphen (-) between "Version 1.1" and "26 February 2007" for typographical accuracy, though this is purely stylistic.

fonts/NotoSansArabic/OFL.txt (1)

1-10: License file is complete and properly attributed.

The SIL OFL 1.1 text is correctly included with appropriate copyright attribution pointing to the Arabic font repository. Duplication of the license text across font directories is standard practice for proper distribution compliance.

Same minor typographical note as the NotoSans license: Line 9 uses a hyphen to separate the date range. Consider using an en-dash (–) instead of hyphen (-) between "Version 1.1" and "26 February 2007" for consistency and typographical accuracy.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between da4fcc4 and a7c9d95.

⛔ Files ignored due to path filters (29)
  • fonts/NotoSans-VariableFont.ttf is excluded by !**/*.ttf
  • fonts/NotoSans/NotoSans-Black.ttf is excluded by !**/*.ttf
  • fonts/NotoSans/NotoSans-BlackItalic.ttf is excluded by !**/*.ttf
  • fonts/NotoSans/NotoSans-Bold.ttf is excluded by !**/*.ttf
  • fonts/NotoSans/NotoSans-BoldItalic.ttf is excluded by !**/*.ttf
  • fonts/NotoSans/NotoSans-ExtraBold.ttf is excluded by !**/*.ttf
  • fonts/NotoSans/NotoSans-ExtraBoldItalic.ttf is excluded by !**/*.ttf
  • fonts/NotoSans/NotoSans-ExtraLight.ttf is excluded by !**/*.ttf
  • fonts/NotoSans/NotoSans-ExtraLightItalic.ttf is excluded by !**/*.ttf
  • fonts/NotoSans/NotoSans-Italic.ttf is excluded by !**/*.ttf
  • fonts/NotoSans/NotoSans-Light.ttf is excluded by !**/*.ttf
  • fonts/NotoSans/NotoSans-LightItalic.ttf is excluded by !**/*.ttf
  • fonts/NotoSans/NotoSans-Medium.ttf is excluded by !**/*.ttf
  • fonts/NotoSans/NotoSans-MediumItalic.ttf is excluded by !**/*.ttf
  • fonts/NotoSans/NotoSans-Regular.ttf is excluded by !**/*.ttf
  • fonts/NotoSans/NotoSans-SemiBold.ttf is excluded by !**/*.ttf
  • fonts/NotoSans/NotoSans-SemiBoldItalic.ttf is excluded by !**/*.ttf
  • fonts/NotoSans/NotoSans-Thin.ttf is excluded by !**/*.ttf
  • fonts/NotoSans/NotoSans-ThinItalic.ttf is excluded by !**/*.ttf
  • fonts/NotoSansArabic-VariableFont.ttf is excluded by !**/*.ttf
  • fonts/NotoSansArabic/NotoSansArabic-Black.ttf is excluded by !**/*.ttf
  • fonts/NotoSansArabic/NotoSansArabic-Bold.ttf is excluded by !**/*.ttf
  • fonts/NotoSansArabic/NotoSansArabic-ExtraBold.ttf is excluded by !**/*.ttf
  • fonts/NotoSansArabic/NotoSansArabic-ExtraLight.ttf is excluded by !**/*.ttf
  • fonts/NotoSansArabic/NotoSansArabic-Light.ttf is excluded by !**/*.ttf
  • fonts/NotoSansArabic/NotoSansArabic-Medium.ttf is excluded by !**/*.ttf
  • fonts/NotoSansArabic/NotoSansArabic-Regular.ttf is excluded by !**/*.ttf
  • fonts/NotoSansArabic/NotoSansArabic-SemiBold.ttf is excluded by !**/*.ttf
  • fonts/NotoSansArabic/NotoSansArabic-Thin.ttf is excluded by !**/*.ttf
📒 Files selected for processing (3)
  • fonts.yaml (1 hunks)
  • fonts/NotoSans/OFL.txt (1 hunks)
  • fonts/NotoSansArabic/OFL.txt (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • fonts.yaml
🧰 Additional context used
🪛 LanguageTool
fonts/NotoSans/OFL.txt

[typographical] ~9-~9: If you want to indicate numerical ranges or time ranges, consider using an en dash.
Context: ...------ SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 -----------------------...

(DASH_RULE)

fonts/NotoSansArabic/OFL.txt

[typographical] ~9-~9: If you want to indicate numerical ranges or time ranges, consider using an en dash.
Context: ...-----
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
----------------------...

(DASH_RULE)

Copilot AI review requested due to automatic review settings November 7, 2025 08:33
Copy link
Copy Markdown
Contributor

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

Copilot reviewed 6 out of 62 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copilot AI review requested due to automatic review settings November 7, 2025 08:40
Copy link
Copy Markdown
Contributor

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

Copilot reviewed 6 out of 62 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@twangodev twangodev merged commit c99ce11 into main Nov 7, 2025
12 checks passed
@twangodev twangodev deleted the fix/fonts branch November 7, 2025 09:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants