Skip to content
omarchyFIELD GUIDE
PRACTICAL KNOWLEDGE / FIELD GUIDE

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.

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”
Terminal window
omarchy font current
omarchy display text size
fc-match -f '%{family}\n' monospace
gsettings get org.gnome.desktop.interface text-scaling-factor

The 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:

Terminal window
cp -i ~/.config/foot/foot.ini ~/.config/foot/foot.ini.before-font-edit

Repeat 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.

Use Style → Font for available choices, or query:

Terminal window
omarchy font list

Pick an installed family from that list. For example, only if listed:

Terminal window
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.

Terminal window
omarchy display text size 14

The 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.

Terminal window
fc-list :lang=zh family
fc-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.

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.

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.

Font helper · Text-size helper · Fontconfig manual · Official fonts

Continue with bar customization or application theme differences.