XenoType Technologies Logo
  Support Home
  Technical Info
    General Info
    
    
    
    
    
    General Info
    
    
    
    
    
 
XTT Bookstore
Amazon.com

STORE     SUPPORT     CONTACT US          HOME
   

Technical Info

All of our language kits contain two key elements: at least one font and a keylayout file. The keylayout file is pretty straight forward and gets installed by default into the /Library/Keyboard Layouts directory. The font file contains the intelligence that provides information about the proper display of the script in question. The default installation is into the /Library/Fonts directory.

The information provided in the font file works with Apple's Unicode imaging technology (an integral part of OS X) to make appropriate transformations to each character (or sequence of characters) in a given text stream. Apple provides this technology as an interface for applications to receive information about the writing system involved but an application must know how to ask for the information and how to implement the information provided. How well an application responds depends on several things:

  1. The level of support offered by the application.
  2. And the level of support required to display a particular script properly.

For the first item, there is no requirement that application developers use Apple's Unicode imaging technology. In other words, it’s possible for software developers to create their own imaging or text rendering engine. It should ideally know how to treat the information provided by Unicode fonts but it can also require its own proprietary data structure.

We’re only aware of one company that is attempting to provide its own rendering engine but it cannot currently understand the data provided by a font that adheres to Apple’s table design. The lack of a public source for their data structure makes it impossible to create Unicode fonts that will work with their product.

For applications that do offer support, a distinction between two different levels of support exists. The first level involves support of ligatures and the second one supports other types of transformations that include rearrangement, transposition and substitution. Although all of these features have existed for years, ligature support is by far the most common and is the one most commonly found in software applications.

For the second item, it’s important to know whether a writing system requires advanced features (even if you don’t understand how the features work). Some scripts (predominantly Roman based writing systems) can get by just fine with no ligatures or advanced features — characters are written sequentially one after the other; and even Roman scripts that do use ligatures rarely require their use.

However, with the advent of Unicode support, the number of writing systems requiring more than just ligatures is overwhelming. The lack of support for these other features means many writing systems cannot be used properly without re-writing software code, something many companies will only do during the next major revision.