Jul 20, 2023

Unicode width dirty fix for Big5 font (${LOCALE} locale)

Unicode define some character width as ambiguous. Software determines the width of characters accroding the context. However, sometimes it is hard or impossible to know the context. Thus, this port dirty fixes some console software, let them recognize all characters in Big5 encoding range as double width. Now you will be happy with UTF8 terminal and Big5 fonts

This port fixes the zh_TW.UTF-8 locale for wcwidth3 and wcswidth3.


In the broad spectrum of FreeBSD ports, the big5width port is a unique and essential tool, particularly for users dealing with the Chinese language data processing. Belonging to the ‘Chinese’ category, this port is a stand-alone utility designed to fix or adjust the width of Big5 characters to align with the Unicode standards. This article aims to explain how to use the big5width port practically and effectively.

Installing big5width

Before diving into the usage of big5width, it is crucial to understand how to install it on your FreeBSD system. As a starting condition, you need to check whether the necessary FreeBSD ports collection is already on the system.

# whereis ports

If the FreeBSD ports collection doesn’t exist yet, install it through the following command

# portsnap fetch extract

Now, you can navigate to the directory and install the big5width port with these commands

# cd /usr/ports/chinese/big5width/
# make install clean

This process will download, compile, and install the big5width utility.

Using big5width

Once big5width is installed on your system, using this utility is quite straightforward. Here’s the basic syntax

big5width -c filename

This command ‘-c’ for check checks the given file to see if it contains any full-width Big5 characters, which need to be converted.

To actually convert the full-width characters to half-width, you will use

big5width -c -n filename

After this, use -n option indicates no backup to convert the characters and save the file without keeping the original file.

Benefits of big5width

The primary benefit of using big5width is to normalize the display and storage of Big5 characters in line with Unicode standards.

By modifying the width specifications of the Big5 characters, big5width ensures a neater and more consistent display, particularly on devices and applications that operate based on Unicode character width specifications.

Related Tools

If you’re dealing with Chinese language data processing, you may also find some other FreeBSD ports helpful. For instance, [nmap]https// can be used to scan your network security levels and identify any potential vulnerabilities.


Understanding the benefits and practical applications of big5width can significantly enhance the efficiency of dealing with Big5 characters. By bridging the gap and ensuring consistency between Big5 and Unicode standards, big5width proves to be an indispensable FreeBSD port. It represents the versatility and substantial capabilities of FreeBSD’s extensive ports collection, serving a wide variety of user requirements, from general computation to niche requirements.

Checkout these related ports: