Codepoints is a Mac utility for quickly accessing any Unicode character from anywhere on the system, written to be keyboard friendly and easy to use.

Codepoints for OS X

Technical details

Codepoints is designed to have a very simple but high performance user interface, made possible by the components working under the hood to provide live search results and smooth scrolling.

The entire Unicode 6.1 database is included in the app, and the entire thing must be searchable, keyword by keyword in a drill-down fashion, as fast as the user can type. To accomplish this, the entire database is organized and loaded in to an NSArray, and bound to an NSArrayController. Realtime searching is accomplished by setting an NSPredicate on the NSArrayController.

Codepoints also needed to be available quickly without having to grab the mouse, so a global hotkey can be set by the user.

The live updating list is a view-based NSTableView, optimized for speed as much as possible. The gradient background is cached and redrawn, and there are some optimizations applied to the codepoint display as well.

The look and feel of the app is distinctive and makes use of libraries like MAAttachedWindow and BGHudKit, along with some custom drawing code.

Challenges

Codepoints does not handle rendering of Unicode codepoint glyphs directly, leaving that task to the system instead. As a result, it depends heavily on the fonts installed on the system. Because OS X does not come with a full set of Unicode fonts covering the entire range, some codepoint glyphs simply cannot be rendered at all. 3rd party fonts, like GNU Unifont and several commercial options are available to solve this problem, but cannot be included with the app due to licensing restrictions.

In some cases if a user has disabled one of the important system fonts like Arial Unicode MS or Apple Color Emoji, Codepoints can no longer render a preview of a large number of codepoint glyphs. The only solution in that case is to detect if those fonts are disabled and warn the user.

Some users had intentionally installed very old fonts dating from the OS X 10.2 era. Some of these fonts did not provide full information about what they were (name, description), which caused some crashes early after Codepoints was released. An update had to be released to deal with some of these situations.

Final notes

Codepoints has always been fairly popular with a wide variety of users for a wide range of purposes, from simple things like acccess to copyright and trademark symbols, foreign currency, mathematic notation, greek lettering and so on.

Shortly after release, Codepoints repeatedly hit top 10 spots on the Mac App Store.

You can read more about it on the product page.