This is a list of falsehoods programmers believe in. Got something to add? Please file an issue or tweet at @pixelambacht!
Excluded from this list are falsehoods that also live outside the programming world (e.g. "font" and "typeface" mean the same thing) or general falsehoods about typography (e.g. serif fonts are more legible than sans serif fonts).
The "falsehoods programmers believe"-format doesn't provide explanations and tries to pique your curiosity enough to do your own research. Regardless, I'll try to add explanations soon. If you want to know more or wonder why an item is on the list, tweet your questions at me!
- Fonts render the same everywhere
- Fonts should render the same everywhere
- Fonts given the same size (e.g. 16px) will look the same size
- Font size determines the line height
- Fonts are free
- Someone else will check the font license
- I can share the font with everyone on my project
- The fonts that came with my OS can be freely uploaded to my server
- All text will be rendered in the selected font
- All text will be in English/my language
- Users will never need characters that aren't in the font
- If a character isn't in a font, the system will do the right thing
- Font rendering is being taken care of by the OS
- Font rendering is being taken care of by the application itself
- All modern browsers support webfonts
- Fonts are a great way to deliver icons
- Fonts can be hosted on a CDN like other assets
- Hinting isn't needed anymore
- A
.ttf
file contains TrueType outlines - An
.otf
file contains OpenType (CFF) outlines - You're allowed to subset any font
- You're allowed to modify any font
- WOFF and WOFF2 are font formats
- FOUT is unavoidable
- FOIT is unavoidable
- FOUT is a bug, not a feature
- Fonts will make your website slow
- Writing a
@font-face
rule is enough to properly deliver fonts - Everyone has the same fallback fonts installed
- OpenType layout features like ligatures should always be on
- OpenType layout features like ligatures make any text better
- It's good practice to set an explicit font size regardless of user preferences
- Every glyph has the same codepoint in every font
- You can associate any glyph on screen with a character in the source text
- Every glyph represents exactly one character
- Every character is represented by exactly one glyph
- Fonts can be displayed in one single color
- Faux bold or italics, created by the browser, is the same as using actual bold or italic fonts
- Fonts are safe and pose no security threat
- You can render text by simply sticking glyphs next to each other
- Fonts can't have bugs, they're just a bunch of outlines
- A font will contain all styles and weights
- The "M" is one em wide
- Bitmap fonts no longer exist
- A desktop license means I can use the font on my website
- The width of
"a"
plus the width of"b"
equals the width of"ab"
(for all strings"a"
and"b"
)