The Unicode Font Info IconUnicode Font Inspection Tool

Unicode Font Info is a font inspection tool designed for Mac OS X
It includes full support for Unicode 3.2 allowing you to easily navigate huge fonts with tens of thousands of supported glyphs representing most of the languages and scripts in the used in the world.

System Requirements Screenshot of the main window

  • Mac OS X 10.2 Jaguar or newer

Version 1.1 is compatible with Mac OS X 10.1.

Download

What's new in 1.5.1?

  • Main window can be reduced to as little as 640x480 pixels, for use on smaller screens

What's new in 1.5?

  • Much Faster
  • Custom visual style for character grid reduces clutter and makes the font's own style easier to appreciate
  • Unicode support upgraded to version 3.2, with support for the Basic Multilingual Plane and the Supplementary Planes
  • Increased Cocoa support: Toolbars, Drawers and Sheets reduce the number of windows and complexity
  • Resizable window
  • Integrated with Mac OS X standard Font Panel and Font Menu
  • Added Go menu with many keyboard shortcuts to aid rapid navigation
  • Scaling/Zoom support: change the number of characters displayed per page
  • Font Search: find a font by typing the first few characters of its name
  • Font Info: View all embedded properties of font, consolidated in the Font Info window
  • Reveal in Finder function shows you where a font is installed
  • Print the Sample Text or the current page of characters
  • Clicking a character adds it to the Sample Text, similar to Key Caps
  • Drag and Drop support in the character grid - drag a character from the grid to your application
  • Highlights currently selected Unicode Block so you can see what characters belong together
  • Selected Character drawer shows Name and HTML Entity for character
  • Selected Character is displayed with bounding box based on character metrics, giving a visual indication of height and width
  • Preferences removed: application remembers the settings you choose from its menus directly
  • Remembers last used font and displays it again when you open the application
  • Still free, still includes all source code

Who is it aimed at?

Screenshot of the character codes panel Unicode Font Info helps you understand what kind of font you are dealing with and get information about the characters it contains. Most things you can see you can copy and paste into whatever application you are working with. The latest version has basic printing and offers a lot more flexibility for finding and examining fonts. With future versions I hope to offer some more designer friendly functions, such as Type Book printing and viewing fonts that are not installed.

If you have other needs which might be met by this tool, drop me an email and I will see what I can do. No promises, it is only a hobby…

Icon

The icon is an ancient Korean moveable type block. The Chinese character depicted means "secluded, hidden, secretive". After using Unicode Font Info, you should have no such problems understanding what your fonts can do.

Understanding the Character Grid

Screenshot of the Font info window The character grid tries to show all of the valid characters in a font that can be mapped from Unicode. This is a difficult thing to handle perfectly, eg, fonts sometimes define private glyphs that are not assigned a Unicode code point (character), and conversely the same glyph might be mapped to more than one code point. This is the reason that the Total Glyph and Mapped Chars count in the Font Info window often do not agree.

Some fonts claim to map particular code points (characters) but do not really map them to anything visible or interesting. The character seems to be supported, but actually drawing it simple shows a blank square. A few of these blanks can cause the application to hang or crash. To avoid crashing, Unicode Font info displays '!!" in place of any suspicious characters. Unicode Font Info is relatively pessimistic about what it considers safe to display, so it is possible a few valid code points might be incorrectly marked '!!'. Overall I feel showing '!!' is preferable to risking a crash; in all probability all that is being hidden is a blank square. Please be aware that almost all fonts have such code points, their presence does not mean the font is corrupted.

What limitations does version 1.5 have?

Currently you can only view active fonts (ie, fonts you have installed in one of the System Fonts folders where regular applications can see them). If you are a specialised user who manages sets of inactive fonts, then please go easy on me! I will try to get to inactive fonts someday, but it is not trivial to implement.

Printing support is basic. There is no support for typesetting pages and printing standard sample sheets.

Older Versions

Credits

O'Reilly® Associate's Learning Cocoa (ISBN 0-596-00160-6) inspired me to create this application. It would not have been possible to produce this so quickly without the examples in that book and its successor "Building Cocoa Applications A Step-by-Step Guide" (ISBN 0-596-00235-1).

The code for highlight URLs and making them clickable in the info window was created by Blackhole Media. This code is covered by the Blackhole license, which is essentially a BSD license, and thus compatible with the MIT style license the rest of this application utilizes.

Thanks to the folks on cocoa-dev@lists.apple.com for help and advice when Objective-C and Cocoa proved tricky to wrestle.

License

This program and accompanying materials are ©2003 Andrew Thompson. This program and its source are licensed under an MIT style license as defined in License.txt which you should have received with this package. This is an approved Open Source license, and the source is included.

The text is reproduced here for your convenience:

Copyright © 2003 Andrew Thompson

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

 

Blackhole License

Portions of this code, specifically the URLTextView and URLMutableAttributedString are Copyright 2001 Blackhole Media. This code is licensed under the Blackhole license, a copy of which is included.

Copyright © 2001, Blackhole Media
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  • Neither the name of Blackhole Media nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.