Fonts and text size for code, Chinese text, and desktop icons
Separate font choice from text and display scaling, diagnose missing glyphs, and restore changes across the shell and terminals.
Based on public documentation; not hardware-tested. Match the instructions to your version and hardware.
Your code is readable, but Chinese text looks different and the clock is too small. Changing the monitor scale might help the clock while making every window too large. This guide separates the controls, then uses a repeatable reading sample to choose a font and size.
The examples target the pinned Omarchy Shell source. Check omarchy version, omarchy font --help, and omarchy display text size --help. Older installations may have different controls. Run font queries in your normal graphical user session; an SSH session does not show how your desktop applications render.
1. Four controls with different effects
Section titled “1. Four controls with different effects”| Control | What changes | What it does not establish |
|---|---|---|
| Font family | Shape, spacing and supported glyphs | Comfortable size in every application |
| Text size | Shell typography and participating app text | Monitor arrangement or all web-page zoom |
| Monitor scale | Size of the desktop’s logical coordinate space | Which font supplies a missing character |
| Application zoom | One application’s content | Consistent shell or terminal text |
An English programming font may rely on another font for Chinese. Nerd Fonts add icon glyphs used by desktop and terminal tools; this does not mean they contain every Chinese character. Missing Chinese characters, missing icons and an inactive Chinese input method are separate problems. For composing text, see Chinese input.
2. Record the current settings before changing helpers
Section titled “2. Record the current settings before changing helpers”omarchy font currentomarchy display text sizefc-match -f '%{family}\n' monospacegsettings get org.gnome.desktop.interface text-scaling-factorThe text-size helper reports a shell size, GTK factor and one detected terminal size. If several terminal configurations exist, that report is not an inventory of all of them. A font match describes fontconfig’s choice, not a screenshot or proof of every application’s font.
Both helpers modify several personal files. Before using them, copy each existing file in the following table to a fresh checkpoint. Missing files should be recorded as absent, since restoring an absence differs from restoring a file.
| File | Why it matters |
|---|---|
~/.config/fontconfig/fonts.conf |
Personal monospace preference; the font helper rewrites this file |
~/.config/omarchy/shell.toml |
Personal shell text size |
~/.config/foot/foot.ini |
Foot family and size |
~/.config/ghostty/config |
Ghostty family and size |
~/.config/kitty/kitty.conf |
Kitty family and size; helpers may create it |
~/.config/alacritty/alacritty.toml |
Alacritty family and size |
For example, if Foot’s file exists:
cp -i ~/.config/foot/foot.ini ~/.config/foot/foot.ini.before-font-editRepeat for the other existing files, retaining their paths. If you already have custom fallback rules in fonts.conf, save them before selecting a new font: the helper does not merge that XML with arbitrary personal rules. Record the GTK factor separately; restoring text files alone does not restore a desktop setting stored through gsettings.
3. Compare fonts with the same sample
Section titled “3. Compare fonts with the same sample”Use Style → Font for available choices, or query:
omarchy font listPick an installed family from that list. For example, only if listed:
omarchy font set "CaskaydiaMono Nerd Font"Check the shell, a newly opened terminal, and your editor with the same sample:
O0 Il1 {} [] () => != /usr/share/omarchy中文阅读与 English code 123:标点、选中与注释This is sample text, not a command. Compare ambiguous letters, punctuation, comment legibility, cursor visibility and selected text. In a terminal, also inspect whether aligned columns remain aligned. A proportional font is suitable for prose but can break the assumptions of terminal interfaces.
The shell resolves the monospace family through fontconfig. An editor can explicitly name another font, and a web page can request its own family. Those applications need their own settings checked before concluding that the system font change failed.
4. Adjust text size after choosing the family
Section titled “4. Adjust text size after choosing the family”The pinned font helper sets Foot’s font line to size 9. Therefore choose the family first, then reapply your desired text size. Changing the font afterwards can undo a previous Foot size adjustment.
omarchy display text size 14The pinned size helper accepts integers from 9 to 20. It coordinates shell base size, GTK text scaling and supported terminal configuration sizes; it does not promise to resize all application content.
| Shell base size | Terminal size written by the helper |
|---|---|
| 12 px | 9 pt |
| 14 px | 11 pt |
| 16 px | 12 pt |
These are different units and the terminal result is rounded. The GTK factor is also quantized using the interface font’s point size. A setting of 14 does not mean every glyph on screen is exactly 14 physical pixels tall.
Foot windows already running retain their startup font size. Open a fresh window after saving ongoing work; do not kill a terminal that contains a task you need. Other terminals have their own reload behaviour. To enlarge only shell text or keep a fixed bar height, use the narrower bar appearance settings.
5. Chinese fallback and missing icons
Section titled “5. Chinese fallback and missing icons”fc-list :lang=zh familyfc-match -f '%{family}\n' 'monospace:charset=4e2d'The first query lists installed families that advertise Chinese support. The second asks fontconfig for a match including 中 (U+4E2D). It helps identify a candidate fallback, but one character does not verify a complete document, emoji or an application’s custom renderer.
If Chinese is boxed in several applications and the first query has no suitable results, install an appropriate CJK font through the normal package interface, then reopen the affected application. Use the package name offered for your installation rather than a copied name from another distribution.
If Chinese works but bar icons are boxes, confirm that the selected family is the expected Nerd Font and actually installed. If only one editor’s icons fail, inspect that editor’s configured family. Do not reinstall the input method to fix missing glyphs.
6. Narrow the remaining inconsistency
Section titled “6. Narrow the remaining inconsistency”| Symptom | Useful comparison |
|---|---|
| Only one application remains tiny | App zoom and explicit font settings |
| Old Foot window is small, new one is larger | Startup settings rather than failed file write |
| Whole desktop is too large | Monitor scale versus text-only change |
| Chinese appears, but width or baseline differs | Fallback family and app rendering |
| Bar grows along with text | [bar] scale-with-font and available height |
| A menu clips larger text | Reduce one step and compare; check app/version-specific layout |
Avoid simultaneously changing monitor scale, global text size and application zoom. That removes the baseline needed to explain the result. On mixed-DPI displays, first make the display geometry sensible using the display guide, then tune text comfort.
7. Restore and verify
Section titled “7. Restore and verify”For a quick return to the helper’s defaults, omarchy display text size reset removes the personal shell base-size override, resets the GTK setting, and sets terminal sizes to 9 pt. This is a default reset, not an exact restoration of a previously customized setup; the active theme can still supply its own shell size.
For an exact rollback, restore the saved files and the recorded GTK factor. For example, gsettings set org.gnome.desktop.interface text-scaling-factor 1.0 is correct only if 1.0 was your recorded value. Restore a previously absent file by archiving the newly created one only after confirming it contains no later changes to keep. Restart the shell from an unlocked session and reopen affected applications as needed.
Verify English, Chinese, icons, selected text and a new terminal. Then switch to another theme and back: text preferences should remain where the personal override applies. This final comparison separates family selection, size persistence and theme readability.
Sources and related guides
Section titled “Sources and related guides”Font helper · Text-size helper · Fontconfig manual · Official fonts
Continue with bar customization or application theme differences.