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...

Author: Eric C Brown 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...

Author: Eric C Brown 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...

Author: Eric C Brown Date: 03/07/2012

Training versus Lexicons

I’ve received a number of requests from people who want to train the recognizer from wave...

Author: Eric C Brown Date: 03/06/2012

The Complete Metropolis

The most influential SF movie of all time (referenced and ripped off by everyone from Kubrick to...

Author: Eric C Brown 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...

Author: Eric C Brown 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...

Author: Eric C Brown 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...

Author: Eric C Brown 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...

Author: Eric C Brown 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...

Author: Eric C Brown 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...

Author: Eric C Brown 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...

Author: Eric C Brown 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. ...

Author: Eric C Brown 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...

Author: Eric C Brown 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...

Author: Eric C Brown 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’...

Author: Eric C Brown Date: 08/26/2008

Crypto History

David LeBlanc wrote an excellent overview of encrypted documents in Office.  A long, long time...

Author: Eric C Brown 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...

Author: Eric C Brown Date: 06/25/2008

When Dictation doesn't Work

WSR Dictation should always work in Wordpad.  If you're having problems with dictation, make...

Author: Eric C Brown Date: 05/22/2008

Categories

In an earlier post on keyboards, I talked briefly about text service categories.  I'd like to...

Author: Eric C Brown 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...

Author: Eric C Brown 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...

Author: Eric C Brown Date: 12/22/2007

Oops!

If you've tried to use the modified version of Scintilla that I described in my MSDN article, you...

Author: Eric C Brown Date: 11/14/2007

ITfCompartmentEventSink::OnChange means what it says...

I got caught by this recently. ITfCompartmentEventSink::OnChange means what it says. If you...

Author: Eric C Brown Date: 11/05/2007

Compartment Values

I've been working with compartments recently, and I've run across a few 'features' that tripped me...

Author: Eric C Brown Date: 11/02/2007

The usual path

Text Services Framework assumes that your text service follows a particular processing path. If your...

Author: Eric C Brown 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...

Author: Eric C Brown Date: 10/05/2007

Input Scopes

Another useful, but underutilized, group of functions in TSF are those relating to Input Scopes....

Author: Eric C Brown Date: 07/10/2007

Fun with Contexts

One interface that I hadn't paid much attention to in TSF is ITfContextKeyEventSink. What does this...

Author: Eric C Brown 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...

Author: Eric C Brown 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...

Author: Eric C Brown 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...

Author: Eric C Brown 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...

Author: Eric C Brown Date: 06/12/2007

Published!

You might have noticed that I haven't really talked about text stores on this blog. That's because...

Author: Eric C Brown Date: 06/09/2007

LOLCode

I suppose while I'm sending out the random link propagation, I should also mention LOLCODE - the...

Author: Eric C Brown Date: 05/31/2007

Desktop Tower Defense

Enough about TSF for a while. :) I found this amazingly addictive game the other day called Desktop...

Author: Eric C Brown 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...

Author: Eric C Brown 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...

Author: Eric C Brown 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...

Author: Eric C Brown 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...

Author: Eric C Brown Date: 05/21/2007

Text Service Variations

Probably the most annoying thing about writing a text service is dealing with all the variations in...

Author: Eric C Brown 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...

Author: Eric C Brown 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...

Author: Eric C Brown 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....

Author: Eric C Brown Date: 05/15/2007

Text Services: Candidates

If your text service supports multiple interpretations of the same input, and you wish to allow...

Author: Eric C Brown Date: 05/14/2007

Text Services: Function Providers

TSF allows text services to offer optional extension points through the ITfFunctionProvider...

Author: Eric C Brown 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...

Author: Eric C Brown Date: 05/10/2007

Text Service: Display Attributes

If your text service wishes to display text in different colors (e.g., displaying the current...

Author: Eric C Brown 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...

Author: Eric C Brown Date: 05/08/2007

Text Service Basics

We have finally finished looking at the interfaces that TSF implements for you. Now we start looking...

Author: Eric C Brown Date: 05/07/2007

Next>