flathub / flathub/com.visualstudio.code
Editor uses a proportional font with the default Linux font configuration
- Ngôn ngữ chính
- Shell
- Star
- 217
- Fork
- 82
- Merge trung bình
- 1 ngày 7 giờ
- Pull request đã merge (30 ngày)
- 1
Mô tả
### Description
On a fresh installation of the Flatpak version of Visual Studio Code, plain text in the editor appears to use a proportional font instead of a monospace font.
There was no `settings.json` in the default user profile when the problem occurred.
### Environment
- Application ID: `com.visualstudio.code`
- VS Code version reported by Flatpak: `1.130.0`
- Flatpak branch: `stable`
- Installation: system-wide
### Steps to reproduce
1. Launch the Flatpak application with the default user settings.
2. Open the bundled `/app/share/vscode/flatpak-warning.txt`.
3. Observe the font used in the editor.
### Expected behavior
The editor should use a monospace font with the default settings.
### Actual behavior
The editor text appears proportional, including the bundled warning file.
### Font diagnostics
The installed VS Code build specifies the following default Linux editor font family:
```text
'Droid Sans Mono', monospace
```
Running these commands inside the Flatpak sandbox produced:
```bash
flatpak run --command=fc-match com.visualstudio.code "Droid Sans Mono"
# DejaVuSans.ttf: "DejaVu Sans" "Book"
flatpak run --command=fc-match com.visualstudio.code monospace
# DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"
flatpak run --command=fc-match com.visualstudio.code "Source Code Pro" \
-f '%{family} spacing=%{spacing}\n'
# Source Code Pro spacing=100
```
Monospace fonts are therefore available inside the sandbox. However, the unavailable `Droid Sans Mono` family resolves to proportional `DejaVu Sans` when queried directly.
This suggests a font fallback or substitution issue, although the `fc-match` results alone do not establish exactly how Electron resolves the complete font-family list.
### Workaround
Explicitly selecting an available monospace font resolves the editor display issue:
```json
{
"editor.fontFamily": "'Source Code Pro', 'DejaVu Sans Mono', monospace",
"terminal.integrated.fontFamily": "'Source Code Pro', 'DejaVu Sans Mono', monospace"
}
```
The terminal setting was added as a precaution; the original issue was observed in the editor.
### Possible investigation
Could you check whether the packaged default font configuration reliably falls back to a monospace font when `Droid Sans Mono` is absent?
Using an available monospace default or providing an appropriate font substitution may help avoid this on fresh installations.
[fix-flatpak-vscode-fonts.sh](https://github.com/user-attachments/files/31865953/fix-flatpak-vscode-fonts.sh)
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
Reproduce the fresh-install behavior by opening /app/share/vscode/flatpak-warning.txt in the Flatpak application and run the supplied fc-match commands inside the sandbox. Review fix-flatpak-vscode-fonts.sh and the packaged default font configuration, then verify that the editor uses a monospace font without user settings while preserving the reported environment.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- linux, shell, vscode
- Lĩnh vực
- desktop, tooling
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Sôi nổi
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 48/100