Fonts: Difference between revisions
Guest09248 (talk | contribs) |
Guest09248 (talk | contribs) No edit summary |
||
Line 1: | Line 1: | ||
{{ | '''Fonts''' on Alpine Linux covers a wide range of various languages. If you can't see your language, you need to install the font that has glyphs (little picture) created for it. The square box called a substitute character or "tofu" that acts as a placeholder for missing a glyph usually with a two byte sequence. Tofu is a prepared food that is a traditional part of East Asian and Southeast Asian meals. It is often served in a white rectangular appearance. | ||
<br> | |||
{{Note|The system font directory is located at '''/usr/share/fonts''' which is reserved for the Alpine package creators and the package system. The user font location is located in '''~/.fonts''' which is the preferred install font location especially from unknown sources. Fonts have been used as a source of security exploits [https://www.cvedetails.com/vulnerability-list/vendor_id-4535/product_id-7835/Freetype-Freetype.html (See CVEs)] so to reduce the spread of attack install fonts inside '''~/.fonts'''. The trusted system fonts that Alpine LInux packages typically are from well known sources like corporations like Google, Adobe, open organizations like Xorg or well known font designers or projects licensed as either [https://en.wikipedia.org/wiki/SIL_Open_Font_License SIL], GPL, etc.}} | |||
<br> | |||
== Installation == | == Installation == | ||
Default internal fb fonts (tty console) or xorg fonts (desktops) are suitable for a default installation. {{Pkg|font-misc-misc}} is installed with Xorg, so fonts for most languages (Japanese, Korean, Latin, Cyrillic) are already covered. Exceptions are Arabic, Persian, Thai, Tamil, etc. according to the Wikipedia Page on languages for article translation. | Default internal fb fonts (tty console) or xorg fonts (desktops) are suitable for a default installation. {{Pkg|font-misc-misc}} is installed with Xorg, so fonts for most languages (Japanese, Korean, Latin, Cyrillic) are already covered. Exceptions are Arabic, Persian, Thai, Tamil, etc. according to the Wikipedia Page on languages for article translation. | ||
<br> | |||
These selections will cover most languages and are a good fit for most setups: | These selections will cover most languages and are a good fit for most setups: | ||
Line 14: | Line 20: | ||
</nowiki> | </nowiki> | ||
</pre> | </pre> | ||
<br> | |||
These selections add special support for '''cyrillic languages like Russian and Serbian, etc.''': | These selections add special support for '''cyrillic languages like Russian and Serbian, etc.''': | ||
Line 22: | Line 30: | ||
</nowiki> | </nowiki> | ||
</pre> | </pre> | ||
<br> | |||
These selections cover special '''Asiatic languages like Japanese, etc.''': | These selections cover special '''Asiatic languages like Japanese, etc.''': | ||
Line 30: | Line 40: | ||
</nowiki> | </nowiki> | ||
</pre> | </pre> | ||
<br> | |||
The following will add some '''partially supported Chinese fonts''': | The following will add some '''partially supported Chinese fonts''': | ||
Line 38: | Line 50: | ||
</nowiki> | </nowiki> | ||
</pre> | </pre> | ||
<br> | |||
These selection will cover, in general '''Arabic, Thai, Ethiopic, Hebrew, Romanian, Persian, Korean Hangul, Greek, Persian, Russian/Slavic Cyrillic, Macedonian/Serbian, Armenian, Georgian, Lao, Devanagari, Urdu (Hindustani as in Northern India and Pakistan), Cherokee, Thaana languages support''' for desktop setups: | These selection will cover, in general '''Arabic, Thai, Ethiopic, Hebrew, Romanian, Persian, Korean Hangul, Greek, Persian, Russian/Slavic Cyrillic, Macedonian/Serbian, Armenian, Georgian, Lao, Devanagari, Urdu (Hindustani as in Northern India and Pakistan), Cherokee, Thaana languages support''' for desktop setups: | ||
Line 54: | Line 68: | ||
</pre> | </pre> | ||
<br> | |||
Per-user Configuration is made in <code><nowiki>~/.fonts.conf</nowiki></code>but it's hard to configure. An easier method is to use the | Per-user Configuration is made in <code><nowiki>~/.fonts.conf</nowiki></code>but it's hard to configure. An easier method is to use the | ||
<code><nowiki>~/.Xresources</nowiki></code> file. | <code><nowiki>~/.Xresources</nowiki></code> file. | ||
The following will set up for all users, a minimal resource usage for fonts. No antialiasing. No hint, etc | The following will set up for all users, a minimal resource usage for fonts. No antialiasing. No hint, etc: | ||
<pre> | <pre> | ||
Line 74: | Line 87: | ||
</pre> | </pre> | ||
The default may be an eyesore so there are alternatives mentioned below. | The default may be an eyesore so there are alternatives mentioned below. | ||
== Configuration == | == Configuration == | ||
<code>fc-cache -fv</code> can be used to display the font locations and to update the cache. | |||
<br> | |||
Some applications do not specify a specific font to use but rather say sans-serif [sans means without as in without tiny lines], serif, monospace [as in proportional square font]. This is where Fontconfig comes into place by substituting the general font type with a specific font that you like. For package developers, '''/etc/fonts/conf.avail''' contains a fontconfig configuration file. This will be symlinked into '''/etc/fonts/conf.d'''. See '''/etc/fonts/conf.d/README''' for details about the meaning behind the priority numbers. | Some applications do not specify a specific font to use but rather say sans-serif [sans means without as in without tiny lines], serif, monospace [as in proportional square font]. This is where Fontconfig comes into place by substituting the general font type with a specific font that you like. For package developers, '''/etc/fonts/conf.avail''' contains a fontconfig configuration file. This will be symlinked into '''/etc/fonts/conf.d'''. See '''/etc/fonts/conf.d/README''' for details about the meaning behind the priority numbers. |
Revision as of 20:27, 5 January 2022
Fonts on Alpine Linux covers a wide range of various languages. If you can't see your language, you need to install the font that has glyphs (little picture) created for it. The square box called a substitute character or "tofu" that acts as a placeholder for missing a glyph usually with a two byte sequence. Tofu is a prepared food that is a traditional part of East Asian and Southeast Asian meals. It is often served in a white rectangular appearance.
Installation
Default internal fb fonts (tty console) or xorg fonts (desktops) are suitable for a default installation. font-misc-misc is installed with Xorg, so fonts for most languages (Japanese, Korean, Latin, Cyrillic) are already covered. Exceptions are Arabic, Persian, Thai, Tamil, etc. according to the Wikipedia Page on languages for article translation.
These selections will cover most languages and are a good fit for most setups:
apk add terminus-font ttf-inconsolata ttf-dejavu font-bitstream-* font-noto font-noto-* ttf-font-awesome font-noto-extra
These selections add special support for cyrillic languages like Russian and Serbian, etc.:
apk add font-vollkorn font-misc-cyrillic font-mutt-misc font-screen-cyrillic font-winitzki-cyrillic font-cronyx-cyrillic
These selections cover special Asiatic languages like Japanese, etc.:
apk add terminus-font font-noto font-noto-thai font-noto-tibetan font-ipa font-sony-misc font-daewoo-misc font-jis-misc
The following will add some partially supported Chinese fonts:
apk add font-isas-misc
These selection will cover, in general Arabic, Thai, Ethiopic, Hebrew, Romanian, Persian, Korean Hangul, Greek, Persian, Russian/Slavic Cyrillic, Macedonian/Serbian, Armenian, Georgian, Lao, Devanagari, Urdu (Hindustani as in Northern India and Pakistan), Cherokee, Thaana languages support for desktop setups:
apk add terminus-font font-bitstream-* font-noto font-noto-extra font-arabic-misc apk add font-misc-cyrillic font-mutt-misc font-screen-cyrillic font-winitzki-cyrillic font-cronyx-cyrillic apk add font-noto-arabic font-noto-armenian font-noto-cherokee font-noto-devanagari font-noto-ethiopic font-noto-georgian apk add font-noto-hebrew font-noto-lao font-noto-malayalam font-noto-tamil font-noto-thaana font-noto-thai
Per-user Configuration is made in ~/.fonts.conf
but it's hard to configure. An easier method is to use the
~/.Xresources
file.
The following will set up for all users, a minimal resource usage for fonts. No antialiasing. No hint, etc:
cat > /home/*/.Xresources << EOF Xft.antialias: 0 Xft.rgba: rgb Xft.autohint: 0 Xft.hinting: 1 Xft.hintstyle: hintslight EOF
The default may be an eyesore so there are alternatives mentioned below.
Configuration
fc-cache -fv
can be used to display the font locations and to update the cache.
Some applications do not specify a specific font to use but rather say sans-serif [sans means without as in without tiny lines], serif, monospace [as in proportional square font]. This is where Fontconfig comes into place by substituting the general font type with a specific font that you like. For package developers, /etc/fonts/conf.avail contains a fontconfig configuration file. This will be symlinked into /etc/fonts/conf.d. See /etc/fonts/conf.d/README for details about the meaning behind the priority numbers.
For regular users, you want to create/edit your personal ~/.fonts.conf. This is in XML and describes which preferred font to use for these general types. See this for details.
List of fonts in Alpine Linux
- Utopia - font-adobe-utopia-*
- Noto - font-noto-* -- These fonts can cover different glyphs for your language. If you go to https://fonts.google.com/noto , you can try to search for your language to see if it is supported. If Alpine doesn't have it, you can download it from Google into your ~/.font . As hinted in the introduction, noto comes from no tofu or gradual elimination of these substitute characters off the web.
font-noto font-noto-adlam font-noto-adlamunjoined font-noto-arabic font-noto-armenian font-noto-avestan font-noto-bamum font-noto-bengali font-noto-buhid font-noto-carian font-noto-chakma font-noto-cherokee font-noto-cypriot font-noto-deseret font-noto-devanagari (Hindi / Sanskrit) font-noto-emoji font-noto-ethiopic font-noto-extra font-noto-georgian font-noto-glagolitic font-noto-gothic font-noto-gujarati font-noto-gurmukhi font-noto-hebrew font-noto-kannada font-noto-kayahli font-noto-khmer font-noto-lao font-noto-lisu font-noto-malayalam font-noto-mandaic font-noto-myanmar font-noto-nko font-noto-olchiki font-noto-oldturkic font-noto-oriya font-noto-osage font-noto-osmanya font-noto-shavian font-noto-sinhala font-noto-tamil font-noto-telugu font-noto-thaana font-noto-thai font-noto-tibetan font-noto-tifinagh font-noto-vai
- Terminus - terminus-font -- Monospace font
- BaKoMa font-bakoma-* -- Fonts for TeX typesetting system (for academics in the math and sciences and book writers) and TeX (WYSIWYG) editors
- Bitstream Speedo - font-bitstream-speedo
- Bitstream Vera font-bitstream-*
- Bera (Bitstream Vera Type 1) - font-bitstream-type1 -- Use for LaTeX
- Ubuntu - ttf-ubuntu-font-family
- Font Awesome - ttf-font-awesome -- It was used in Twitter Bootstrap. It is a font representing things and brands as Icons.
- GNU FreeFont - ttf-freefont -- See link for support for different writing systems/languages
- GNU Unifont - unifont -- It contains glyphs of every codepoint
- font-misc-cyrillic -- Cyrillic fonts (Russian/Slavic Style)
- font-screen-cyrillic -- X.org public domain Cyrillic fonts for screen use
- font-misc-ethiopic -- Ethiopic fonts used in Ethiopia and Eritrea
- font-misc-meltho -- For the Syriac language
- font-misc-misc -- Bitmap fonts in PCF format (shows glyphs of many types and installed by default by xorg-server package)
- ClearlyU fonts - font-mutt-misc -- Thai, Ethiopic, Hebrew, Romanian, Persian, Korean Hangul, Greek, Persian, Russian/Slavic Cyrillic, Macedonian/Serbian, Armenian, Georgian, Lao, Devanagari, Urdu (Hindustani as in Northern India and Pakistan), Cherokee, Thaana. See link to changelog for full list of languages supported.
- tewi font font-tewi - A tiny bitmap font that contains braille glyphs
- Overpass - font-overpass
- Luxi fonts - font-bh-* -- designed by Kris Holmes and Charles Bigelow which bh is refers to the last name
- Lucida Typewriter - font-bh-lucidatypewriter-*
- IPA Font - font-ipa -- A Japanese font
- Chrome OS core fonts - font-croscore
- Vollkorn - font-vollkorn - A serif font with glyphs for Cyrillic (Russian/Slavic), Greek, Polish, Dutch, Bulgarian, Serbian, and small capitals
- Open Sans - ttf-opensans
- Cantarell - ttf-cantarell -- Designed for reading and the default GNOME font
- DejaVu - ttf-dejavu -- A modified Bitstream Vera with more styles and unicode coverage
- Linux Libertine - ttf-linux-libertine -- A free alternative to Times New Roman
- Liberation ttf-liberation -- A free alternative to Helvetica and Arial
- Inconsolata - ttf-inconsolata -- A monospace font designed for terminals and reading source code
- mononoki - ttf-mononoki -- A font for programming and code review
- Droid - ttf-droid / ttf-droid-nonlatin -- Designed for small screens and was used in older Android
- font-schumacher-misc -- Fixed width fonts by Dale Schumacher
- font-sony-misc -- Japanese Kana fonts by Sony Electronics
- font-daewoo-misc -- JIS (Japanese Industrial Standards) Kanji and Korean Hangul fonts by Daewoo Electronics
- font-cursor-misc -- A standard cursor font
- font-sun-misc -- Cursor and glyph fonts by Sun Microsystems
- font-winitzki-cyrillic -- A Cyrillic (Russian) font by Serge Winitzki designed for proofreading mixed Russian-English text
- font-isas-misc -- Chinese Song Ti style fonts (thinner horizontal lines compared to vertical)
- font-jis-misc -- A Japanese International Standard font
- IBM Courier font-ibm-type1
- font-dec-misc -- A Digital Equipment Corporation cursor and session fonts
- font-cronyx-cyrillic -- A Russian font for X11 by Cronyx
- font-arabic-misc -- A bitmap and proportional Arabic font in newspaper style [1]
Non-free fonts
- Core fonts for the Web (msttcorefonts-installer) - For installing non-free proprietary Microsoft fonts like Comic Sans. Not recommended for commercial or open source projects. See their licensing.
Arial Arial Black Andalé Mono Courier New Comic Sans MS Georgia Impact Times New Roman Trebuchet MS Verdana Webdings
Changing the console font
The default font may be too small on high-resolution monitors, e.g. 4K ones. To change the default font, e.g. to the 32px ISO Latin-1 Terminus font:
apk add terminus-font
- try out fonts in a virtual console using
setfont /usr/share/consolefonts/ter-132n.psf.gz
- edit
/etc/conf.d/consolefont
, set it to the font you choose, e.g.consolefont="ter-132n.psf.gz"
- enable this using
rc-update add consolefont boot