Pen Services/Extensions

Content by Annasoft Systems (original archived HERE).

Pen Services for Windows 95

With Microsoft® Pen Computing on Windows® 3.1 (also available from Annasoft), Microsoft introduced pen functionality for the Windows operating system. Pen Services for Windows® 95 is an OEM product that is packaged and sold with a variety of pen computers and pen hardware. Pen Services for Windows 95 builds on the base provided by the original Microsoft Windows for Pen Computing to furnish great support for the pen in Windows 95-based applications. Read on for a brief description of the pen system and some of the many new pen features and enhancements that are provided for Windows 95.

Pen technology enables the design of reduced-form-factor computer systems that do not utilize a keyboard, and enables the creation of applications for which handwriting input is a requirement or a significant user interface enhancement. At present, most pen-based computers are used for vertical or specialized applications; Microsoft is committed to providing needed functionality for vertical market solutions, for manufacturers of pen hardware, and for customers whose business systems rely on pen technology. Pen support is also an element of the Windows 95 mobile computing strategy, to the extent that some portable PCs rely on the pen as their primary input device.


The design of Pen Services was driven by the following goals:

  • to provide a compact yet powerful implementation covering all aspects of specialized pen hardware;
  • to support the "pen and paper" metaphor fully;
  • to provide support across different machine configurations;
  • to provide an open system that encourages developers of third-party add-ons and enhancements;
  • to enable existing Windows-based applications to benefit from pens.

Figure 1. Pen Services Architecture

Pen Services for Windows 95 are provided in two components. Every copy of Windows 95 will include an ink library (PKPD.DLL and PKPD32.DLL) that handles all ink display and manipulation. This means that ink collected by an application running on a machine with a pen can be freely shared with any computer running Windows 95. Windows 95 will also support ink as a standard clipboard data type.

Windows 95-based computers with tablets, or with a pen as the primary pointing device, will be delivered with the complete pen system, including recognition services and real-time inking services. Existing users of Windows for Pen Computing can easily upgrade to Pen Services for Windows 95 with a setup disk available from the manufacturer of their pen hardware.

Pen Services incorporates the following core modules:

  • Pen Module consists of two components: the Pen Input Manager and the Default Pen Input Handler. The Pen Input Manager is the heart of Pen Services for Windows 95. It is the architectural component which orchestrates pen input handling, and contains all the necessary logic required to handle a complete inking transaction and return the result to the window that initiated it. The Default Pen Input Handler allows the pen to be used with existing Windows (and MS-DOS®) based applications by acting as an interface between these applications and Pen Services. Most Pen input is treated as mouse input (a downward motion that depresses the pen point is treated as a mouse click, and so forth) and is passed to the application's mouse buffer for pre-processing. When the user moves the pen into a text entry box, Pen Services recognizes that the user is now over a writing area: the cursor shape changes to a pen shape and pen input is sent to the handwriting recognition engine for processing, and then to the application's keyboard buffer.

  • Pen drivers are standard Windows device drivers which provide the ability to capture pen events. The pen hardware works together with electronics in the PC to encode (x,y) locations and other information. Unlike the original Windows for Pen Computing, Windows 95 uses standard Windows video drivers to handle ink display.

  • Recognizer DLL handles all recognition logic. A recognizer collects ink from the device driver and interprets that ink as characters in one or more alphabets. Handwriting recognizers are completely separate and replaceable. Multiple recognizers may be attached and managed by the RC manager. Beyond the requirements for collecting ink and returning results, there are no constraints placed on how recognizers work. The recognizer interface is open and published, and third-party recognizers are widely available.


As in Windows for Pen Computing, Pen Services for Windows 95 provides pen capabilities to all existing applications. When it detects the presence of Pen Services, Windows 95 enables recognition anywhere that an application can accept text. This functionality is enabled through the "Enable writing in all programs" option under the "General" tab in the Control Panel pen applet. Pens Services for Windows 95 also enables the writing tool button and action handles for all edit controls. With Pen Services for Windows 95, it is possible to use Windows-based applications with only a pen-even if no keyboard is available. Developers can build on this base to offer additional features, such as annotation, to their applications.

User Interface Enhancements

Figure 2. Tap on an icon to see a context
menu with common operations

Much of the user interface for pens introduced in Windows 3.1 has been improved for Windows 95.

New Tools

One of the greatest strengths of a pen is its ability to point and tap. Therefore, pointing and tapping is the primary way of getting things done in Pen Services for Windows 95. Action handles (see Figure 2), now provided in edit controls, provide a point-and-tap way to accomplish most actions with a pen.

Figure 3. "Boxed Edit" handwriting control within the Edit Text dialog box

The "boxed edit" control (see Figure 3), which provides writing guides for handwriting recognition, has been updated to support new correction mechanisms (see page 5). It also action handles for selecting and performing actions on text. The Boxed Edit Control also now allows applications to constrain recognition in powerful ways, providing highly accurate recognition results.

Figure 4. New "writing tool" keyboard, including word completion

The "writing tool" (see Figure 4) is also new for Windows 95. Tapping the "writing tool" button (automatically provided for any edit box) brings up a comfortably sized writing area or an on-screen keyboard, both with correction tools. The on-screen keyboard has a new layout and new features such as word completion, in addition to providing a familiar interface for entering characters. The keyboard is accessible from both the "writing tool" button and as a stand-alone application, enabling the use of the pen to control MS-DOS-based programs.


Pen Services for Windows 95 makes much better use of gestures. Gestures are handwritten symbols that are recognized as actions rather than as text. Like keyboard shortcuts for menu commands, gestures make great accelerators. However, just as an application that only provided keyboard shortcuts without menus would be very difficult to learn and use, a system that relied only on gestures would be similarly difficult, especially since gestures can be mis-recognized. For this reason, all commands that are available as gestures are also available either as buttons in the "writing tool" button or as commands on an action handle menu. Just as many users can use Windows without ever using a keyboard shortcut for a menu command, so too can pen users be productive without ever having to learn a gesture.

To make gestures easier to remember, all of the gestures have been made into circled letters, giving them strong mnemonic qualities. For example, you can copy text with a "(c)" or undo an action with a circled "U".


Recognition, one of the most visible and important features provided by Pen Services, has been substantially improved since the first release. Error rates have been cut dramatically, largely through better use of contextual clues. The recognition engine now supports the use of "word lists," which give the recognizer a list of likely words. Of course, because real writing is rarely limited to a particular set of words, the recognizer will not hesitate to ignore the word list if the written word does not appear to match anything in the list.

Better Error Correction

Figure 5. Picking an alternate recognition choice is as simple as tapping on the letter

Recognition is, however, and always will be, an imperfect science. As much as the error rate has been decreased, there will always be mistakes. After all, how many of us can read our colleagues' handwriting (never mind our own after a few days)? For this reason, Microsoft has offered new features to make error correction as quick and simple as possible:

  • Simply tap on a mis-recognized character or word to pick from a list of alternatives.
  • Use the new "writing tool" button to redraw a character on top of the mis-recognized one.
  • With action handles, reliably select text, insert spaces, delete characters, and choose other common editing commands.

New in Windows 95 is support for Passive Training. As the user corrects recognition errors, the system learns where it makes errors and adjusts its recognition system accordingly-and automatically. The recognition gets better as the system is used.

CIC provides the most advanced recognition with HRS.

Development Tools

Developers will notice greatly enhanced support for Pen Services. The API has been updated to be more object oriented, and the APIs are provided in both 16 bit and 32 bit forms.

The inking model has been improved to offer applications far more control over the inking process (for example, to implement a highlighter tool) and better performance. A new Ink Edit control provides powerful ink-editing capabilities to applications. The application developer can simply place one of these controls on a form and the control handles the rest. Users can draw, erase, move strokes around, and adjust color and thickness of individual strokes of ink.

Because most pen functionality is provided to applications automatically (or encapsulated in controls), applications developers can implement as little or as much pen functionality as they want. The updated Windows 95 User Interface Design Guide offers the most up-to-date references on implementing Pen support.

Pen Driver Information

For both Pen Services and Pen Extensions, the key to pen input is the pen driver that is the interface from the tablet/digitizer to the pen manager. Both Pen Services and Pen Extensions come with sample drivers.

Tablets Supported:

  • Pen Services:
    • Wacom SD-510C
    • Wacom HD-648A
    • Wacom UD-0608-R
    • Compaq Concerto

The pen development kits include source code so that OEMs can modify the driver for their particular tablet. Ask your tablet manufacturer if they have a pen driver available or contact LCS/Telegraphics for pen drivers or pen driver development.

Pen Extensions 1.0a for Windows 3.1x

Microsoft Windows for Pen Computing, also know as Pen Extensions, is an original equipment manufacturer (OEM) product that is shipped with new pen computers. With Windows for Pens, users can use the pen with existing applications for the Windows operating system and development tools to:

  • Point and click as they would with a mouse
  • Issue commands using gestures
  • Write in documents

With Pen Extensions handwriting (printing) can be captured and then translated to appear as typed text. This capability allows for new devices to be created that free the user of a keyboard. Pen computers are ideal for situation for those jobs that force one to roam the office or plant.

Pen Extensions is a series of modular extensions to MS Windows 3.1 operating environment. The Pen Extensions include a set of DLLs and drivers that enable pen-based input and handwriting recognition in Microsoft Windows. The components of the Pen Extensions are transparent to normal Windows 3.1 applications, and yet they are readily available for those applications that seek to leverage their capabilities.

Pen services are available through a new set of APIs, referred to in the following pages as the Pen API. This API is available to every computer running version 3.1 of MS Windows-regards of whether or not that computer is a pen computer or has an attached pen peripheral. Applications developers can therefore leverage the Pen API window classes as well as use other pen API services, and fell confident that their programs will run identically on all machines running MS Windows 3.1.

If the pen is present, the Pen API informs applications so they can activate advanced pen-specific features. It also automatically enables pen interaction in the pen control classes. If the pen is not present, the same .EXE will operate without modification under Windows 3.1.

Pen Extensions can be broken down into four components. First are the Pen and Display drivers which hand the tablet input and the inking output. Next, is the recognizer that transforms the tablet/ink input to recognizable ANSI characters. CIC's HRS for Windows 3.1 replaces the basic Pen Extensions driver with a more advanced recognition engine for better performance. Third component is the PENWIN.DLL that handles all the API calls. Finally, there are pen interface programs that assist with pen interaction. These features are:

  • Trainer
  • Gesture Editor
  • On-Screen Keyboard
  • Writing Window
  • Control Panel Item - screen orientation, calibration, and tablet selection
  • Pen Extensions:
    • Wacom 648A
    • Wacom 501C

The pen development kits include source code so that OEMs can modify the driver for their particular tablet. Ask your tablet manufacturer if they have a pen driver available or contact LCS/Telegraphics for pen drivers or pen driver development.

Annasoft offers a complete line of Pen software from Microsoft and CIC for MS-DOS, Windows 3.1x, Windows 95, and Windows CE.

Content created and/or collected by:
Louis F. Ohland, Peter H. Wendt, David L. Beem, William R. Walsh, Tatsuo Sunagawa, Tomáš Slavotínek, Jim Shorney, Tim N. Clarke, Kevin Bowling, and many others.

Ardent Tool of Capitalism is maintained by Tomáš Slavotínek.
Last update: 08 May 2024 - Changelog | About | Legal & Contact