Professional Documents
Culture Documents
IPAPalette Doc
IPAPalette Doc
IPAPalette Doc
for
IPA Palette v1.0
/ʔa͜ɪ.pʰi’ɛ͜ɪ.pʰə’lɛʔ/
2 In a Nutshell
IPA Palette is a Unicode Palette input method for the Mac. It allows users of Mac OS
X 10.2 and later to select International Phonetic Alphabet symbols and insert them in
a Unicode-enabled text field or editor (i.e., any OS X application worth using).
3 How To Install
You have a couple of options. If you want to make the Palette available to you (and
only you), you can copy IPAPalette.component to your home ~/Library/Components
folder. You might have to create the Components folder if it doesn't exist. This is how
I install on my own machine, since I'm the only user:
/Users/moses/Library/Components/IPAPalette.component
1
But if you are system administrator and wish to make IPA Palette available to every-
body, set it up like this:
/Library/Components/IPAPalette.component
4 How To Use
Select the Keyboard Menu item ``Show IPA Palette". You should be greeted by a view
similar to Figure 2.
To enter text, you push the buttons corresponding to IPA symbols. Because the button
labels are terribly small, the preview pane on the right side of the palette shows a
magnified image of the character corresponding to the button the mouse is over. You
can select the preview font you want the to be in using the popup menu above it.
Note: the font selection on the palette has absolutely no influence on the font selection
in your document. The font you choose in the popup menu only affects the preview
pane.
Standard IPA superscripts (such as ʰ and ʷ), and superscript versions of other IPA
symbols (like ᵊ and ᶿ, when provided by a good font) do not have separate buttons.
Instead, you hold down the shift or option key (or both) with the button for the full-
sized version of the symbol. Similarly, certain diacritics can alternate between ``above"
1 I have heard reports, and to a limited degree seen firsthand that input methods can be flaky (as in,
not showing up in the International preferences, or suddenly disappearing while in use) in early versions
of 10.5 Leopard probably as a result of transitioning to a new Input Method architecture. Hopefully
these issues are fixed by time of writing. I dunno, I'm still on Tiger.
2
Figure 1: IPA Palette enabled under Mac OS X 10.4
and ``below" versions, for example the under-ring that indicates voicelessness (n̥). You
can also put the ring above, in the case of a carrier with a descender (ŋ̊).
To preview one of these alternate versions, hold down either the shift or option key
when the cursor is over a button. If Unicode supports an alternate form, the preview
will change. To insert the alternate, hold the shift or option key as you press the button.
Example: to insert aspiration ʰ, find the voiceless glottal fricative /h/ in the Consonants
tab, hold down the shift and/or option keys, and click the button.
Note: currently this does not work with the list of results in the search tab, but you can
search for the string ``aspirated'' to find it.
If IPA Palette tried to show all of the symbols used in theoretical and applied linguistics,
the window would have twenty tabs and fill the entire screen! It's a painful choice,
3
Figure 2: IPA Palette activated under Mac OS X 10.4
but only current IPA symbols will be officially supported. However, if you need some
additional symbols that are not in IPA but are still supported by Unicode, you can add
them to your preferences. The easiest way is to use the Unix-ish defaults command
via Terminal. Below is an example that adds ``X" and ``Y".
When IPA Palette starts up, it checks for the presence of custom symbols. If there
are any, it creates a new tab item and adds one button for each custom glyph. These
buttons act like all of the other buttons, except that they do not have descriptions (the
localized text that is displayed at the bottom of the panel) and thus can't be searched
for in the Search tab (unless defined by an existing button).
If you want to know more about manipulating preferences in this way, consult the man
page for defaults. There is also GUI software for doing so: one such is Property List
Editor distributed by Apple with their developer tools. The command line will let you
enter Unicode symbols but a GUI may make it easier. YMMV.
5 Font Support
Although OS X has always had decent IPA support, I am assuming that most IPA
Palette users will want something better than decent. I recommend using Doulos SIL
or Charis SIL, both high-quality free fonts from SIL International (www.sil.org). They
are becoming the de facto standard IPA fonts, and I have designed IPA Palette with
them in mind.
The SIL font designers have made Doulos/Charis ``smart" using OpenType and AAT
(Apple Advanced Typography) properties. Take as an example the IPA tone symbols
4
U+02E5 through U+02E9. While fonts in the Hiragino family can render them, Doulos
can composite certain sequences of them, as in Figure 3.
Figure 3: Comparison of Hiragino and Doulos, contrasting Doulos' ligatures with Hi-
ragino's lack thereof, for the same tone sequence.
IPA Palette tries to show only IPA fonts in its popup menu. To be specific, it searches
every installed font for those which contain /ɮ/, latin small letter lezh.2
If you want the menu to show additional fonts, you can do so, but you must modify
your preferences file, as with the custom glyphs described above. (Note: most users will
not need or wish to do this.)
The font names are a combination of ``Family" (like ``Hiragino Maru Gothic"), and
``Typeface" (like ``Regular", ``W4", or ``Bold"). You can omit ``Regular", as in the
example above for the Papyrus typeface. You can find these names using Font Book or
the standard font panel.
5
problems with: combining vertical line above (U+030D), combining breve
below (U+032E), and combining inverted breve above (U+0311).
These are not in the fonts that have IPA support. For example, on one of my
machines, Hiragino is the only out-of-the-box OS X font with IPA support. The
characters above are not in Hiragino (they're not strictly speaking IPA characters
in Unicode Consortium terms), instead they're in other fonts like Lucida Grande,
if they are there at all. So until the GlyphView control can look up font support on
a glyph-by-glyph basis, occasionally the display will get tricked, and you won't be
able to see a nice preview. (This may be a good thing, so you can see when your
preferred font does not support the glyph you are looking at.)
• Sometimes when you go to close the palette window, it will close but then imme-
diately reappear.
I think this happens when the current host application is quitting, so the palette
window fails when it tries to contact the host to let it know to change the flag
menu from ``Hide IPA Palette" to ``Show IPA Palette". But it fails in this, and
then the next (i.e., non-quitting) host application tells it to activate, so the window
reappears. This general type of problem, referred to by programmers as a race
condition, tends to occur when you have to programs trying to talk to each other,
and doing rude things like quitting in the middle of the conversation. I may not
be able to fix this problem satisfactorily.
7 Keep in Touch
moses@blugs.com is the place to send your bug reports, feature requests, and language
localizations. If you have a crash, try to send a CrashReporter log with your report.
Also, try to turn on ``Debugging" via the ``About" pane of the IPA Palette window
itself; a higher debug level sends more status message to the System logger. You can
monitor this using /Applications/Utilities/Console while IPA Palette is running.
It's not perfect, but it may give us some clues about what has happened.
Woe is me! I am forced to use Windows. Is there a version of IPA Palette I can use?
David Montero sent me a link to this Windows application that is based on IPA Palette's
design: http://davidmontero.net/Linguistics.php. This is not a full input method,
but you can enter text and then paste it into another application.
6
know of no way to fix this, other than to import the text as a graphic.
How well IPA Palette works with programs depends on how well they support Unicode.
Carbon (C-language programs that may or may not work with Mac OS 9) software,
especially software written with legacy QuickDraw text APIs, is particularly vulnerable
to this kind of incompatibility, as the old Mac Toolbox was written way back in the
Late Mesozoic period before Unicode.
Cocoa (Objective-C programs that require OS X) software is automatically Unicode-
savvy, so no worries there. I would be shocked to find a Cocoa application that causes
problems for IPA Palette.
OpenOffice and other X11 software, Java programs, and any other miscellaneous cat-
egories may perform arbitrarily well or poorly, depending on the implementation lan-
guage and the phase of the moon.
In general, if the software works with Character Palette, it will probably work with IPA
Palette.
Also, avoid the Helvetica font, which is buggy and thinks that diacritics are spacing, as
opposed to nonspacing, characters.
9 Thanks to...
• Evan Gross from Rainmaker Research for help with fun NSApplication undocu-
mented calls for the search pane
10 Future Plans
The one really big change I'd like to make in a future revision is to stop using all those
stupid buttons! They're fine for normal characters but for diacritics they are just too
small. I'd like to use a PDF image map for sections of the chart, which would likely
solve both the scaling problem and the font problem without impacting usability.
Eventually I am going to need to port IPA Palette to 10.5 Leopard's new IMKit archi-
tecture. This won't happen until I upgrade to Leopard of course, and I may have to
7
buy a new Mac in order to do this3 . So it's definitely a low priority, and will probably
be a big headache as it will require two different codebases for the backend.