Fix Korean and CJK Fonts Not Displaying on Tableau Server on Linux
When you publish a workbook to Tableau Server running on Linux, CJK text (Korean, Japanese, Chinese) may render differently from how it looks in Tableau Desktop. There are two common symptoms:
- Characters appear as empty boxes (□, often called "tofu").
- Characters display, but in a fallback font. The change in character width, spacing, and line breaks breaks the dashboard layout.
These issues are most visible in image and PDF exports and in subscription emails.
Root Cause
Tableau Server uses fonts installed on the server whenever it renders on the server side. This includes complex views, image and PDF exports, and subscriptions.
Most Linux servers ship with few or no CJK fonts. If the server has no CJK font at all, characters render as boxes. If only the specific font used in the workbook is missing, the server substitutes another font, and the layout shifts as a result. Fonts bundled with Windows or macOS, such as Malgun Gothic, Meiryo, or PingFang, are common examples.
Solution
First, check which CJK fonts are installed on the server. Replace ko with ja or zh as needed.
fc-list :lang=koAn empty result means the server has no fonts for that language. If the font used in the workbook is not in the list, the server is rendering with a fallback font.
Option 1. Install the workbook's font on the server (recommended)
Copy the font files (.ttf, .otf) used in the workbook to the server, rebuild the font cache, and restart Tableau Server.
sudo mkdir -p /usr/share/fonts/custom
sudo cp *.ttf /usr/share/fonts/custom/
sudo chmod 644 /usr/share/fonts/custom/*
sudo fc-cache -f -v
tsm restartIn a multi-node deployment, install the fonts on every node.
Option 2. Use a common font on the server and all author machines
Install an open-license font on the server and on every author's machine. Noto Sans CJK is a good choice because it covers Korean, Japanese, and Chinese. Then set it as the default under Format > Workbook. This gives consistent results across operating systems, which suits teams where multiple authors work on a mix of Windows and macOS.
You can also install fonts through a package manager:
# Ubuntu / Debian
sudo apt install fonts-noto-cjk
# RHEL / Rocky / CentOS
sudo dnf install google-noto-sans-cjk-ttc-fonts?:render=false to the view URL to force server-side rendering. Client-side rendering in the browser uses fonts on the viewer's own machine, so the issue may not appear when you check from an author's PC.