Typinator Part 6 - Advanced Abbreviations Part 2

Here we have the last post on Typinator and I will be covering some abbreviation examples that this powerful piece of software is able to provide. 


If you have image files or pictures that you frequently find yourself inserting into documents, then instead of an abbreviation leading to a text output, you can have it expand into… an image instead!

By placing an image file in the Includes folder, you are able access these files in the same way you would access a text file


Signatures are a brilliant use for Typinator, especially if you work in an environment where you may nee dot use different signatures for different parts of your business. I have three signatures myself, all with a very simple abbreviation - yysig1, yysig2 and yysig3. 

You will achieve the best results for signatures by changing the Expansion output from Plain Text to Formatted Text as this will give you the opportunity to be able to change the Font formatting of your text to add some real polish to your signature and give you the chance to stand out. 


Typinator doesn’t just look after expanding your predefined static text. No sir. It knows that there will be times when the results of the expansion will need to change. For example, let’s say that you have a thank you letter you wish to send out to customers, thanking them for their continued support. You don’t want to send out a letter that just says “Dear Customer. Thank you so much for your valued custom over the last twelve months”. This is one of my bugbears as, as nice as it is to receive a letter from someone you’ve been giving your hard-earned money to, you know that essentially they’ve just copied and pasted a letter or just added your name to a mailing list. 

By using Interactive input fields, you can personalise the content of the expansion whilst still saving time by ensuring that the majority of the content will stay the same for subsequent expansions. 

Let’s start with a simple example of how Interactive input works. 

If you look at the above image, you can see the text that has been typed in the expansion window is: {{?First Name}} {{?Last Name}}

The question marks inside the curly brackets indicate that a question is being asked and the text that is going to be displayed will be the result of this text. 

So - when you type yyname into an application, you are presented with the following pop up box


By inputting this information and clicking enter, the text expands into the results below. Well, if your name is Joe Bloggs of course. I’m still waiting to meet this elusive character. To date, he has evaded me but one day…

Remember that the format of expansion is the same as if you were expanding static text. Because I have a space between {{?First Name} and {{?Last Name}}, the name is displayed with a space between the forename and surname. If I was to type the expansion into the expansion window as follows:

{{?First Name}} {{?Last Name}}

Then the result we would see above would be: Joe Bloggs. 

This is something to consider, especially if you are using the expansion for creating formal letters for customers, or any other document that relies on strict formatting guidelines. 

Typinator remembers the last entry that was completed which can prove to be handy if you find yourself entering the same values more than once. So above, the next time yyname is typed, the fields will already be populated with Joe and Bloggs. 

If you wish, you can specify an initial value by using angle brackets within the curlys. Using the example above, let’s say we live in a really freaky world whereby the majority of my customers are called Neville. I could repopulate the First Name tab by typing the following as my expansion:

{{?First Name}} {{?Last Name}}

One other thing you can do is assign interactive input fields within an expansion. For example:

{{closingDate=?Closing Date}}

The above will take the variable ‘closingDate’ and will only appear when the user is prompted, elsewhere within the variable, to input text using the {{?Closing Date}} marker. Very clever. Typinator is getting you into the mechanics of scripting in a very easy way!


So when you purchased Typinator, were you aware that it had the ability to be able to function as a calculator and automatically expand mathematical calculations? No? Nor was I! It was only when I saw it discussed on a forum that I realised this and the automation part of my brain starting thinking of ways that this could be useful. 

Before I move on to how I’ve been able to add calculations to my workflow, let’s go over the basics of how they work. 

Calculations are reliant on the use of the number sign (#) in their creation. Let me show you an example below: {{#dailyrate*totaldays}} 

The calculation above will workout the calculation based on two pre-defined variables - dailyrate and totaldays. So where have these variables been pre-defined? Well, they may have already been given values during another abbreviation. You see Typinator is very clever in that once you have assigned a value to a variable, that value will stay, even if the machine is rebooted. Pretty clever huh?

You can move this a step forward and assign a calculation value to a completely new variable:


Now it’s important to know that when the above expansion is performed, it will not present you with an output. No sir. That is not the way that variables work. All you are doing is telling Typinator how to perform a calculation should it ever be required in an expansion in the future. 

So let’s move this forward a bit to clarify a little more. 

{{dailyrate=?dailyrate}}{{totaldays=?totaldays}} {{amountdue=#dailyrate*totaldays}}

The amount payable is £{{amountdue}}

OK, what have we done above. Well, in the first line, you can see that we have asked to manually input the values for both Daily Rate and Total Days. The second line sets a value for the amountdue variable. Remember, this doesn’t produce a visible output. Typinator is merely making a calculation for itself later, should the {{amountdue}} variable ever appear. In the third line, we want to see the output of this calculation so we place it into a visual expansion, with the calculation appearing after the £ sign. 

I use this when creating invoices for my clients because with a few simple keystrokes, I’m able to produce a nice, detailed invoice with the day rates, VAT amounts, total payable etc calculated and filled in as I go. 

How would displaying the VAT amounts work? Well, something like the below would be handy:


{{amountdue=#dailyratetotaldays}} {{vatdue=#amountdue/10020}}

The amount payable is £{{amountdue}} The VAT payable is £{{vatdue}}

I’ve entered a variable above, vatdue, that will take the output of the amountdue variable and perform a calculation based on it. It’s then available to be displayed in the bottom line of the expansion. 

Also, these calculations are not just to be used within the expansion that they have been created in. You can use these within other expansions as well. For example, VAT is set at a standard 20% in the UK, so I have one calculation for the amount of VAT to pay which doesn’t need to be modified within any other abbreviation at all. It hasn’t been changed since I started using the application. 

Let’s put some decimal points within the above expansion. Dead simple. 

{{dailyrate=?dailyrate}}{{totaldays=?totaldays}} {{amountdue=#dailyratetotaldays:2}} {{vatdue=#amountdue/10020:2}} The amount payable is £{{amountdue}} The VAT payable is £{{vatdue}}

The :2 that appends the amountdue and vatdue calculations will display the result to two decimal places. 

I also use Typinator to calculate the due date of the invoice. The following expansion works a treat for this:

Payment is expected in full by {{dayDelta=+30}}{NN} {D} {YYYY}

The above will write out the date 30 days from the time the expansion takes place, which is generally the date you are writing the invoice. You can of course set a reference date for this.

So you see how easy it is to build up an Invoice expansion, piece by piece, with Typinator? Just think of the hours it could save you just with that function alone.

Calculations are without doubt a very powerful feature of Typinator. There are downloadable extrasavailable from Typinators website that allow you to do even more with them. Wouldn’t it be good to have the Invoice expansion you have created above automatically calculate the amount in another currency? It’s possible. Let’s look at how to do it. 


In order to convert currencies, you will need to download the Convert AppleScript from the Ergonis Support Site. Instructions for install can be found within the downloaded folder. 

Once installed, you are able to click on the (…) on the right hand side, select Scripts and then Convert.

If you follow the instructions fully you will also have Predefined Set installed called Convert Script Samples. 

Let’s take a close look at what we have in the Predefined set and see if we can make sense of it. 

What can we note from the above based on what we have learned so far. Well:

The conversion is kicked off by typing the abbreviation 1$? Into any window. 
The first line of text you will see will be:

    Today (August 28, 2014), one US$ is equivalent to:

Or whatever the equivalent date is. 

- A calculation is going to be performed. This is shown by the presence of the # symbol. 
- A script is going to be processed in order to provide a mechanissm for performing the calculation. This script is called Convert.applescript and is located within a folder called Scripts. It is not specified explicitly but we know that this Scripts folder is located within our Includes folder. 
- 1 US Dollar is going to be converted against eight other currencies, to two decimal places. The two decimal places is denoted by the presence of the :2 within the expression. 
 - The name of the currency that the dollar is being converted against will be displayed. 

Therefore, the output of the abbreviation 1$? Will be similar to the following:

Today (August 28, 2014), one US$ is equivalent to: 1.07 AUD (Australian Dollars) 1.08 CAD (Canadian Dollars) 0.91 CHF (Swiss Francs) 0.76 EUR (Euro, €) 0.60 GBP (British Pound, £) 60.44 INR (Indian Rupees, ₹) 103.73 JPY (Japanese Yen, ¥) 31.91 THB (Thai Baht, ฿)

So how is the script able to get the information required to perform this calculation? Well, an online currency converter is called as part of the process (https://www.google.com/finance/converter) so you will need to ensure you have a working Internet connection in order to perform this action. 

This is just one example of how this script can be used. Let’s look at the other scripts included in the Predefined Set and you should be able to get more of an idea as to how you can manipulate the script and these expressions to suit your own purpose. 



What we see here are variables in action. The * characters denote that the values need to be manually added, with the output coming out in US Dollars. 

For example, if we type:

5 EUR $$

We will be presented with the output:


Dependant on the current exchange rate of course!



The expansion above takes that point and limits the output a little more, telling you exactly what a single unit of the currency you wish to convert is worth in dollars. 


$ 1.3211

So this is handy if you just need to know what the exact exchange rate is at any given time.

Can you get a list of more currencies? Indeed you can. What you will need to do is invoke the script with the following text:

{Scripts/Convert.applescript codes}

You will be presented with a long list of available codes for use. 

The posts I have made are by no means a complete ist of everything that is able to be achieved with Typinator - not at all. The team at Ergonis are innovating all the time, with new features and scripts beinfg released, so if you use the software, it is a good idea to keep checking their Download Extras site for new scripts and sets. 


Typinator Part 5 - Advanced Abbreviations 1

In the last post we looked at creating basic abbreviations. Today, we are going to look at more advanced abbreviations and believe me when I say that this is where Typinator really comes into it’s own. 


In the Sets window, you will find the AutoCorrection set pre-loaded for you, with over 800 expansions for commonly misspelt words. You can create your own AutoCorrection entries in the same way you would add an abbreviation to a standard set. Click the ‘+’ button below the Abbreviation window and simply input the criteria for your expansion. 


Date and Time entries are fantastic and I use these an awful lot for time-stamping entries into notes, updates to to-do lists, etc. 

You will find the Day and Time settings in the {…} drop down (see below)

2014-10-16 - Date Time 1 Typinator.png

There are four general options for input here - Day, Month, Year and Time. 


Using the image here, you can see that 4 will display the date, with no leading zero’s if it is anywhere between the 1st and the 9th of the month. 04 will give you the leading zero. Fri displays the day in an abbreviated format, whereas Friday will spell out the name in full. 78 (in year) will signify how many days have passed in the year and what todays date is in relation to that, without a leading zero. 078 (in year) will include the leading zero. 


2014-10-16 - Date Time 3 - Typinator.png

Like above, 9 will display the month of the year in decimal form without a leading zero, 09 will present the leading zero. Sep is the abbreviated form of the month and September will spell it out in full. 


Getting a lot easier now! I don’t think I need to explain this one in any lengthy detail. Or indeed, any detail at all. 


Now this has got a lot more options, however they are all quite simple to understand. Given the information we know from above, it’s easy to glean that Hour (1–12) and Hour (01–12) will display the hour using a 12-hour clock, the former without a leading zero, the latter with. Following that, Hour (0–23) and Hour (00–23) will display the hour in a 24-hour clock format. AM/PM and am/pm will display in either capital or lower-case, dependant on which one you choose. If you would like to record the Minutes and Seconds of the timestamp, then select these. You can select the Time Zone Name (BST) with this option and if you would like to include the number of hours Offset from UTC, then select the bottom option. 

Day/Time Calculation

Typinator is clever and tries to cover as many scenarios you may require as possible. There is even the option to perform calculations based on the current day. 

These items perform simple calculations and let you temporarily adjust the date and time used by other markers. For example, the “+/- Day” item creates a marker {{dayDelta=+1}}.

The ‘+1’ value in the above example moves the date forward to tomorrow, however if you wanted the date to be this time next week, you could change the snippet to {{dayDelta=+7}}.

If you look at the example above, please note the following:

1 - The {{dayDelta=+7}} marker doesn't present any dara. what it does is perform a calculation that moves the current day forward by a week. There still needs to be an input afterwards to deliver some content for the date and time to be presented. 

2 - There are / characters between the {DD}, {MM} and {YY} markers. This is purely down to preference as that is how I like the date to be presented. If didn't put those / characters in and I typed the abbreviation, then the output I would have would be 151114 which is not nicely formatted at all. 

Date and time calculations are always relative to a reference date and time. Normally this is the moment when the expansion takes place. Instead of using the current date and time, however, you can set an explicit date and time with the “Set Reference Date” and “Set Reference Time” markers. 

“Set Reference Date” create a template in the form {{refDate=yyyy-mm-dd}}. Just fill in the desired year, month and day and then all subsequent date markers will refer to this reference date. 

The same principle applies with “Set Reference Time” marker. 

Text Files

As well as standard text, Typinator is able to include text files in expansions. In a default installation, Typinator shows a “Text” submenu in the {…} pop-up menu. 

If you select the first one, “Loren Ipsum”, Typinator will insert a marker {Text/Loren Ipsum.txt}, which refers to a text file that contains the infamous Latin placeholder text. When an expansion contains this marker, it will be replaced with the actual contents of the text file. This is a really handy technique if you have phrases that you want to use in many different locations but, if you need to make a change, you don’t want to have to modify it in lots of different locations. 

For example, you may have a signature for your email which is currently used with 4 different expansions. One that starts with Kind Regards, one with Yours Sincerely, one with Yours, one with Regards. All of them contain your name, website, contact details etc. 

If your contact details were to change, you would need to make modifications to four different expansions within Typinator. 

However, if all of these expansions were to point to one particular file that contains your contact details, you would only need to make a modification to the referenced text file if, for any reason, any of these contact details had to change. 

If you would like o make use if this feature, you will need to populate the ‘Includes’ Folder which is accessed via the {…} drop down menu. 

Typinator Part 4 - Basic Abbreviations

Typinator is all about abbreviations. That’s what it does and why it has proved to be such a valuable tool for anyone that deals with a lot of text entry on their machines. I guess it’s about time we started playing about with some of these abbreviations now and go through how to create them. 

We’ve already covered how to create an abbreviation set. Simply click the ‘+’ button below the existing sets. The same really applies to abbreviations. To create one, highlight the set with which you wish the new abbreviation to belong and you will see, in the right hand window, all of the abbreviations that are already members of the set. Click the ‘+’ button below. 

As you can see, you are warned straight away that you cannot have an empty abbreviation. Well, I think you may kind of know that already! Of course you can’t have a blank abbreviation! Type in the abbreviation that you wish to use in that box. Next, there is a drop down box that lets you choose the type of expansion you are going to use. It can be either:

  • Plain Text
  • Formatted Text
  • Picture
  • HTML

Plain Text - This will simply output the expansion in it’s most base format, that of plain text. There will be no formatting or scripting, simple plain text. 

Formatted Text - Much like Rich Text, Formatted Text will carry across any formatting options that you elect to have in your expansions. This is very useful for expansions that you wish to create that need to have different font attributes like style, colour, size etc. One good example for me is Email Signatures. 

Picture - It is so handy being able to use a keyboard shortcut to automatically generate an image file yet that is what I am able to do with Typinator. Simply drag and drop an image file form the Finder window into the Expansion box and the next time you type the abbreviation into an application that is able to show images (don’t try this in TextEdit and wonder why it doesn’t work!) you will have your image file ready and wiating for you to position and manipulate. Nice. 

HTML - Being able to use a text expansion tool for outputting repetitive strings of HTML code is essential for today’s busy coder so they have been thought of by Ergonis as well with their own expansion section

Abbreviations can be created via the use of keyboard shortcuts as well. In the Preferences window we discussed in an earlier post, there were two configurable shortcuts for ‘Create new item from Selection’ and ‘Create new item from Clipboard’. 

Create new item from Selection

This is a superb shortcut and one I use quite frequently. If you type out some text in any application, simply highlight it and invoke your shortcut. You will be presented with the following window - minus my awful text of course. 

You will notice that in the above screenshot, only the Boilerplate option is available for configuration with the text selected. This is because there is such a large amount of text copied, it is not possible for the selection to be available as an AutoCorrect expansion. To demonstrate this point, lets copy just one word this time. 

Now as you can see from this image, it defaults to the AutoCorrection option and shows you the original word you typed. If you click on the Suggestions drop down, there is one suggestion available - which is the correct spelling, awesome. Select this to be the correction, and the content of the Correction box will change. You can change the set it will be added to by modifying the selection in the Add to Set drop down box and then click Add to complete. 

Create new item from Clipboard

This shortcut essentially performs the same actions as the ‘Create new item from Selection’ one, however instead of taking the content from a direct selection, it is retrieved from the last entry on your clipboard - be this a word, sentence, paragraph, passage or image file. 

This covers the basic abbreviations. In the next post, we will be looking at some of the more advanced features that Typinator can offer you. 

Typinator Part 3 - Sets and the Sets Folder

What are Sets?

Sets can be viewed as groupings of abbreviations. You can relate them to how folders work within Finder.

You could create sets for many different reasons. For example, you could:

  • Have groups of categories for signatures and email templates
  • Create a group of HTML expansion snippets
  • Group your most frequent spelling mistakes ready for auto-correction

The possibilities for sets that you wish to have are limited only by your circumstances and workflow.

Other things that you can do with sets, as well as group together abbreviations, are:

  • Import and Export sets for use on another Mac or by someone else.
  • Specify which applications can use certain groups of abbreviations if you wish to lock them down.
  • Temporarily disable groups of abbreviations without pausing the whole Typinator engine.

Types of sets

Typinator distinguishes between two types of sets which appear under separate headings in the set list:

  • Abbreviation sets - these contain simple rules that translate short sequences of characters into a longer text fragment or pictures.
  • Regular repression sets - these are more complicated and contain rules that use a pattern description language to define which text input should trigger expansions. Regular expressions are a powerful but more complex concept. They are described in detail in a later blog post.

So where are these sets located? They are stored on your hard drive and you can determine this setting yourself by clicking on

Preferences -> Expansion 

and modifying the Sets folder property.

By default, the Sets folder is

 ̴/Library/Application Support/Typinator/Sets 

You can of course change this to your Documents folder or something similar, particularly if you have a backup/synchronisation schedule set up for it.

Typinator will, however, restrict the folder that you can select to empty folders as well as folders that have already been used for Typinator sets before. This is put in place by the developers in order to avoid potential data loss in folders that already contain other documents.

Why should you take care about exactly where you place your Typinator Sets folder?

  • If you sometimes need different sets for a certain project, you can create a second sets folder and switch back and forth between sets by selecting the desired sets folder in the Preferences window.
  • You can put your sets folder inside your Dropbox folder to synchronise it among multiple Macs.

Let’s start with Abbreviation Sets. Abbreviation sets are simpler to define and create than Regular Expression sets. By default, Typinator comes with two abbreviation sets ready to use in the Set window and these are:

  • Default Set
  • AutoCorrection

The Default Set includes a handful of abbreviations to help show you the syntax for creating picture expansions, web link expansions and plain text expansions.

The AutoCorrection Set is incredibly useful and contains over 800 common spelling and grammatical correction snippets.

If you look in the above image, you can see that there is a spelling correction for ‘about’ (1) as well as a general typing correction for when you forget to put a space between ‘about’ and ‘a’ (2). If you make as many typing errors as I do when trying to knock out as much as work as possible, you will find yourself using these snippets a lot and adding your own fairly regularly!

There are several Regular Expression sets installed by default within Typinator as well. Regular expressions are a study topic within themselves and beyond the scope of this wak through. Suffice to say that where an abbreviation replacement is kicked off by merely typing in a small selection of keystrokes, a regular expression replacement is activated when a certain pattern of text has been detected. For example, below you will see the regular expression for detecting when a word has DOuble CAps within. Regular Expressions are not for the faint hearted and I say this as someone who has just started studying them! Thankfully, there are lots of these sets preinstalled and a vibrant RegEx community out there for you to interact with if you want to start creating your own.

It does have to be said that Regular Expressions are an extremely powerful way to create replacements and there will be a blog post dedicated to these in the coming weeks.

To close, let us quickly examine the four buttons below the Sets window.

Add Set - the plus icon allows you Add either an Abbreviation Set, Regular Expression Set or a Predefined Set
Delete Set - guess what the minus icon does?! Yes, you can delete a set you currently have.
Set Info - this icon diplays some key information for the set you have highlighted as well as some configurable options.

You can do the following:

  • Change the name of the set
  • Decide whether or not you would like to have a prefix or a suffix for the abbreviations you type in the set. For example, if you enter a prefix of xx here then all entries contained within the set will now only be expanded or corrected if the characters xxare typed in before the abbreviation. wbr for With Best Regards would now bexxwbr.
  • You can set whether the statistics for the text replacements in the site will count asexpansions or corrections
    • You can change the sound that plays when a replacement occurs within the set
  • You can decide whether any replacement entries within the set will appear in Quick Search.
  • You can also set what the Default Options are for case sensitivity for new replacement items. You may not want the replacements to be case sensitive for the whole word. Conversely, you may want the replacement to be fully case sensitive with what you type.

Application - One handy feature is that you can decide which sets will apply to certain applications. As an example, check the images below. You will see that for BusyCal, I have decided that I do not want any replacements defined in the Default Set to take place. Nor will there be any corrections for DOuble CAps and sentences will not be Auto-Capitalised. However in Byword, everything is selected.

That leads us to a nice conclusion here on what Sets are and some of the default sets and options that ship with Typinator as well as how to set some Sets parameters.

Sets, however, are just a placeholder for Abbreviations and that is what we are going to be looking at, in detail, in the next post.

Typinator Part 2 - Shortcuts and Preferences


Built into Typinator, there are 6 primary shortcuts available (as well as the existing System ones of course). These are:

- Show Window - ⌃T

- Pause Expansions - ⌃⇧T

- Quick Search - ⌃↩

- Suggest Abbreviation - ⌃⌥⌘↩

- Create New Item From Selection - None Predefined

- Create New Item From Clipboard - None Predefined

All of these shortcuts are fully customisable. 

Simply open Preferences and on the Activation window, you will see all of the shortcuts available on the bottom pane. Click the existing configuration and press the keys that represent the new customised setting you would like.


The Preferences pane allows you to configure several settings to help customise the Typinator experience. After all, every one is different and likes their software to perform in different ways. 




The options available to you in this window are as follows:

Open window when Typinator starts - here you determine whether or not you would like to have the Abbreviation window appearing when Typinator starts. 

Automatically start Typinator at login - when you login to your device, do you want Typinator to automatically startup in the background and ready to expand text? If so, then tick this box. If you would rather manually choose to start it up, then leave it unchecked. 

Show Typinator in menu bar - this setting will determine whether or not the Typinator icon appears in the menu bar. This menu bar icon will give you quick access to Typinator. Without this icon, you will need to double-click Typinator in the Finder or use the “Show Window” shortcut in order to add or edit abbreviations. 

Keyboard Shortcuts - as discussed above, you can view and modify the current shortcuts available for use. 


The check box at the top of the Expansion window allows you to Enable quick expansion.

Ticking this box is recommended is you are using OS X 10.5.5 or later as it allows Typinator to use a new expansion technique. This technique enables Typinator to expand most plain-text snippets a lot faster than before whilst at the same time avoiding subtle compatibility issues with certain applications and third-party utilities. It is highly recommended that you enable this option. 

If, however, you begin to encounter incorrect expansions in some applications then you hold try turning this option off as part of your troubleshooting process. If this actually helps with the problem, then you are advised to contact typinator-support@ergonis.com so that they can be made aware of the problem and, if possible, take steps to remedy. 

The next section allows you to select the Default feedback sounds that apply when expansion occurs. These settings can be overridden by individual sets, so that is important to bear in mind. I love hearing these feedback sounds because it lets me know that Typinator is working and I always feel a little bit better when I know that something I have taken the time to configure has saved me some time in my day. Nice. 

You can select your own custom location for the Sets folder in the bottom window. We discuss Sets and the Sets folder in more detail in a later post. 


This window allows you to configure when you would like Typinator to automatically check for any available updates, as well as providing a button to manual check straight away. You can also specify whether or not you would like to check for beta versions of the software too.