TSF Aware
Dictation, Windows Speech Recognition, and Text Services Framework.
DisplayUI and the Extra Data parameters
Hardcore SAPI programmers know that you can show the various SR engine user experiences (user...
Date: 09/12/2013
The history of UI Automation
Raymond Chen wrote a post about retrieving the text under the cursor using UI Automation, and he had...
Date: 04/10/2013
Lexicons and Command Grammars
If you have a command grammar, and you need a word with an unusual pronunciation, you can use the...
Date: 03/07/2012
Training versus Lexicons
I’ve received a number of requests from people who want to train the recognizer from wave...
Date: 03/06/2012
The Complete Metropolis
The most influential SF movie of all time (referenced and ripped off by everyone from Kubrick to...
Date: 05/03/2010
Detecting Sleep Mode in SAPI
If you’ve done any development with the shared recognizer, you’ve probably had problems determining...
Date: 03/22/2010
How to train the SAPI recognizer
Implementing SAPI training is relatively hard, and the documentation doesn’t really tell you what...
Date: 03/15/2010
That pesky terminating composition
If you’re developing a text service for Windows XP, you’ve likely found that your composition gets...
Date: 03/08/2010
Specifying parameters for an inproc Recognizer
I’ve seen a couple of questions come by the listen alias about using an in-process speech...
Date: 03/01/2010
Finding out when WSR shows a window (or, a concise guide to IUIAutomationRegistrar)
When WSR shows a window (for example, the alternates dialog, the Disambiguation Numbers UI, or the...
Date: 08/25/2009
Why you need to actually test instead of just looking at the source code
In a previous post, I mentioned that you need to set the GUID_PROP_COMPOSING property across text in...
Date: 05/15/2009
What’s new in Windows Speech Recognition?
Now that the Beta of Windows 7 is out, it’s time to talk about the improvements and new features in...
Date: 01/29/2009
The TSF Samples are Here!
The TSF samples (long missing from MSDN) have finally been uploaded to the MSDN Code Gallery. ...
Date: 11/14/2008
Where are the TSF Samples?
Many people have emailed me asking about the TSF samples on MSDN. They’re supposed to be on...
Date: 10/22/2008
More ways to fix problems with dictation
One common cause of dictation not working is that CTFMon is not running. This is a helper...
Date: 09/05/2008
Inline Dictation commands
I’ve heard from a number of sources that there isn’t any good documentation about the ‘inline’...
Date: 08/26/2008
Crypto History
David LeBlanc wrote an excellent overview of encrypted documents in Office. A long, long time...
Date: 07/11/2008
What Isn’t TSF good for?
Well, for one thing, it’s not that great for grabbing the current selection in the foreground...
Date: 06/25/2008
When Dictation doesn't Work
WSR Dictation should always work in Wordpad. If you're having problems with dictation, make...
Date: 05/22/2008
Categories
In an earlier post on keyboards, I talked briefly about text service categories. I'd like to...
Date: 03/14/2008
Visual Studio 2008 issues
If you're building a text service DLL, you almost certainly don't want to use Visual Studio 2008's...
Date: 01/17/2008
Things the Documentation left out, part N
I recently had two people ask me the same question: "Why can't I insert more than one character into...
Date: 12/22/2007
Oops!
If you've tried to use the modified version of Scintilla that I described in my MSDN article, you...
Date: 11/14/2007
ITfCompartmentEventSink::OnChange means what it says...
I got caught by this recently. ITfCompartmentEventSink::OnChange means what it says. If you...
Date: 11/05/2007
Compartment Values
I've been working with compartments recently, and I've run across a few 'features' that tripped me...
Date: 11/02/2007
The usual path
Text Services Framework assumes that your text service follows a particular processing path. If your...
Date: 10/08/2007
What to do when you push a key
I received an interesting email the other day asking about how to get the character code from the...
Date: 10/05/2007
Input Scopes
Another useful, but underutilized, group of functions in TSF are those relating to Input Scopes....
Date: 07/10/2007
Fun with Contexts
One interface that I hadn't paid much attention to in TSF is ITfContextKeyEventSink. What does this...
Date: 06/27/2007
Debugging a Text Service (and Visual Studio problems)
I've received a few emails asking about debugging Text Services. I figured if two people actually...
Date: 06/19/2007
Steam Trek: The Moving Picture
I don't have anything better to blog about right now (I'm in the middle of reviews and designs), so...
Date: 06/15/2007
How do I use RichEdit 4.1?
Another thing I didn't talk about in my article was how to make sure your rich text edit controls...
Date: 06/14/2007
Easy Dictation support for Windowless RichEdit controls
In my article in MSDN, I mention that there are some easy ways to enable dictation support in...
Date: 06/12/2007
Published!
You might have noticed that I haven't really talked about text stores on this blog. That's because...
Date: 06/09/2007
LOLCode
I suppose while I'm sending out the random link propagation, I should also mention LOLCODE - the...
Date: 05/31/2007
Desktop Tower Defense
Enough about TSF for a while. :) I found this amazingly addictive game the other day called Desktop...
Date: 05/31/2007
What's a Keyboard?
The Text Services Framework makes a number of assumptions when you register your text service as a...
Date: 05/30/2007
Generating Candidates from a Text Service
So how do you create the candidates from within the text service? Well, the first thing you need is...
Date: 05/29/2007
Generating Candidates from an Application
Kirby left a comment to my post on candidates asking when a text service should create an...
Date: 05/25/2007
Transitory Extensions, or, how to get full text store support in TSF-unaware controls
As I mentioned earlier, TSF provides very basic services in applications that are not TSF-aware. In...
Date: 05/21/2007
Text Service Variations
Probably the most annoying thing about writing a text service is dealing with all the variations in...
Date: 05/18/2007
Rules of Text Services
One of the harder parts of writing a text service is learning how to 'think' text services. Here are...
Date: 05/17/2007
Text services: Vista Extensions (UI Elements)
The TSF tour ends here, with a brief discussion of UI Elements in Vista If your text service wishes...
Date: 05/16/2007
Text Services: Vista Extensions
In Windows Vista, TSF added the ability to run in locations where it had previously been disabled....
Date: 05/15/2007
Text Services: Candidates
If your text service supports multiple interpretations of the same input, and you wish to allow...
Date: 05/14/2007
Text Services: Function Providers
TSF allows text services to offer optional extension points through the ITfFunctionProvider...
Date: 05/11/2007
Text Services: Language Bar
If your text service wishes to display some UI on the language bar, then your service will need to...
Date: 05/10/2007
Text Service: Display Attributes
If your text service wishes to display text in different colors (e.g., displaying the current...
Date: 05/09/2007
Text Service Properties
The next thing that I'd like to talk about are properties. While the TSF manager implements basic...
Date: 05/08/2007
Text Service Basics
We have finally finished looking at the interfaces that TSF implements for you. Now we start looking...
Date: 05/07/2007