You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This issue documents the feasibility and requirements for adding Windows platform support to fontconfig-py.
Summary
Verdict: Technically feasible but requires 1-2 weeks of focused work
Both core dependencies (FreeType and fontconfig) support Windows builds, making this realistic to implement. However, the limited use case and maintenance burden suggest waiting for actual user demand before investing effort.
Current State
Supported platforms: Linux and macOS only
Build system: Bash script using autotools
CI/CD: GitHub Actions with Ubuntu and macOS runners
No existing Windows-related issues or PRs (as of Dec 2024)
Technical Feasibility ✅
Dependencies Status
FreeType - ✅ Excellent Windows support
Native CMake support (CMakeLists.txt present in submodule)
Ships with Visual Studio project files
Available through vcpkg
Static linking is the default
Well-documented Windows builds
Fontconfig - ⚠️ Possible but challenging
Modern Meson build system (found in submodule)
vcpkg provides Windows support (v2.15.0, Dec 2024)
Some community MSVC patches exist
Not officially Windows-native but builds successfully via vcpkg/Meson
Other dependencies (from setup.py):
expat: ✅ Available via vcpkg
zlib: ✅ Built into Windows or vcpkg
Recommended Implementation Approach
Option 1: vcpkg + cibuildwheel (Recommended)
Add Windows to CI matrix and use vcpkg for dependency management:
Windows Support Feasibility Analysis
This issue documents the feasibility and requirements for adding Windows platform support to fontconfig-py.
Summary
Verdict: Technically feasible but requires 1-2 weeks of focused work
Both core dependencies (FreeType and fontconfig) support Windows builds, making this realistic to implement. However, the limited use case and maintenance burden suggest waiting for actual user demand before investing effort.
Current State
Technical Feasibility ✅
Dependencies Status
FreeType - ✅ Excellent Windows support
Fontconfig -⚠️ Possible but challenging
Other dependencies (from setup.py):
expat: ✅ Available via vcpkgzlib: ✅ Built into Windows or vcpkgRecommended Implementation Approach
Option 1: vcpkg + cibuildwheel (Recommended)
Add Windows to CI matrix and use vcpkg for dependency management:
Advantages:
Challenges:
Option 2: Build from source with Meson
build_third_party.shImplementation Challenges
1. Build Infrastructure (Medium difficulty)
/usr/local/lib)2. Dependencies (Low-Medium difficulty)
All dependencies are available, but need proper configuration:
.libvs.afile extensions3. Runtime Considerations (Low difficulty)
C:\Windows\Fonts, etc.)4. Testing (Medium difficulty)
Effort Estimation
Important Considerations
Limited Use Case⚠️
Maintenance Burden
User Demand
Recommendation
Should We Implement Windows Support?
✅ YES IF:
❌ NO IF:
🤔 MAYBE IF:
Minimal Viable Approach
If proceeding, start with:
Alternative: Wait and See
Given the lack of user demand:
References
Next Steps
If you decide to proceed:
Analysis Date: December 2024
Conclusion: Feasible but not recommended without user demand