Activation de la correction de texte pour les collecteurs d’encre personnalisés
Le panneau d’entrée microsoft Tablet PC est un outil puissant pour entrer du texte manuscrit à l’aide d’un stylet et corriger du texte sans utiliser de clavier. Lors de l’utilisation du panneau d’entrée, un utilisateur entre du texte par écriture manuscrite sur les surfaces d’entrée manuscrite du panneau d’entrée, ce qui permet au panneau d’entrée de reconnaître l’écriture manuscrite de l’utilisateur en tant que texte. Une fois le texte reconnu, l’utilisateur appuie sur Insérer dans le panneau d’entrée pour insérer le texte dans une application ou un document. Avant d’insérer le texte, un utilisateur a accès à un ensemble d’outils de correction dans le panneau d’entrée. Il s’agit notamment de la sélection d’un résultat de reconnaissance alternatif, de la possibilité de réécrire un seul caractère ou même de gratter la totalité du mot et de la réécrire. Ces outils de correction permettent à un utilisateur de corriger à la fois les erreurs de reconnaissance et les erreurs humaines.
Une fois que le texte entré à l’aide du panneau d’entrée se trouve dans le document, les utilisateurs ont accès à la même fonctionnalité de correction que celle disponible avant l’insertion dans les applications basées sur l’infrastructure des services de texte Windows et les services de texte. À compter de Microsoft Windows XP Service Pack 2 Édition Tablet PC, toutes les applications d’édition enrichie sont activées par défaut pour les services de texte, et à compter de Windows Vista, les applications HTML sont activées par défaut pour les services de texte. La correction dans le document n’est disponible que dans les applications basées sur le service de texte et activées ; Cela est dû au fait que le panneau d’entrée dépend de la capacité du service de texte à stocker les propriétés de texte associées, y compris les objets manuscrits et les alternatives de reconnaissance, afin de fournir une correction dans le document.
Toutefois, il existe de nombreux scénarios, notamment la correction de la reconnaissance vocale ou la correction du texte tapé en déplacement, qui ne commencent pas par la saisie de texte à l’aide du panneau d’entrée, mais dans lesquels la correction dans le document peut être extrêmement utile pour les utilisateurs de Tablet PC. Les applications qui fournissent des surfaces d’entrée manuscrite personnalisées pour entrer du texte à l’aide d’un stylet en sont un excellent exemple. Les surfaces d’entrée manuscrite personnalisées sont un excellent moyen pour les applications de fournir des fonctionnalités personnalisées spécifiques aux tâches de saisie de texte de chaque application. En outre, les surfaces d’entrée manuscrite personnalisées fournissent une expérience utilisateur tablet PC entièrement intégrée, ce qui indique clairement que le stylet est un périphérique d’entrée de première classe dans les applications qui les contiennent. Toutefois, les applications qui fournissent des surfaces d’entrée manuscrites personnalisées peuvent ne pas autoriser ou ne pas être en mesure de fournir le même niveau de prise en charge de la correction que celui disponible dans le panneau d’entrée dans le document.
Les applications basées ou activées par les services de texte dans lesquelles la correction dans le document est utile pour corriger du texte non entré à l’aide du panneau d’entrée peuvent utiliser l’API IHandWrittenTextInsertion du panneau d’entrée (classe Microsoft.TextInput.HandwrittenTextInsertion dans le code managé) pour activer la correction dans le document pour le texte entré par d’autres moyens. De cette façon, les applications peuvent ajouter une prise en charge de correction puissante à leurs surfaces d’entrée manuscrite personnalisées ou à d’autres scénarios de saisie de texte, et compléter leur histoire d’entrée de texte tablet PC. L’API IHandWrittenTextInsertion du panneau d’entrée est incluse dans le système d’exploitation Windows Vista et dans le cadre du Kit de développement logiciel (SDK) Tablet Platform version 1.9 ou ultérieure. Une version .NET et COM de l’API est incluse. L’activation de la correction dans le document pour le texte non entré à l’aide du panneau d’entrée est prise en charge sur Windows Vista et les versions ultérieures. La correction dans le document est disponible uniquement pour les langues latines et ne peut afficher aucun caractère en dehors du jeu de caractères latins.
Comment utiliser l’API HandwrittenTextInsertion dans une application
Les modifications requises apportées à une application afin d’intégrer la correction du panneau d’entrée dans le document pour le texte non entré à l’aide du panneau d’entrée et de l’API IHandWrittenTextInsertion sont simples. Tout le code de saisie de texte personnalisé de l’application reste inchangé à l’exception de la dernière étape. Au moment où le texte entré à l’aide d’une surface d’entrée manuscrite personnalisée, de la reconnaissance vocale ou d’autres moyens doit être affiché dans un champ de texte activé par les services de texte, l’application envoie le texte à l’interface IHandWrittenTextInsertion au lieu de l’envoyer directement au champ de texte. Le composant programmabilité du panneau d’entrée gère ensuite l’insertion du texte dans le champ de texte et dans le magasin de stockage des services de texte. Lors de l’ajout du texte au magasin de stockage des services de texte, le composant de programmabilité du panneau d’entrée gère la définition des propriétés de texte requises par le panneau d’entrée pour que la correction dans le document soit activée pour ce texte.
La section suivante décrit ce processus en détail pour une application C++ à l’aide de la version COM de l’API IHandWrittenTextInsertion . Il existe des remarques partout où les étapes d’utilisation de la version .NET Framework de l’API en C# diffèrent pour l’utilisation de la version COM en C++. L’API HandwrittenTextInsertion managée inclut une seule interface COM, IHandwrittenTextInsertion. La définition de cette interface se trouve dans PenInputPanel.h et PenInputPanel_i.c.
Tout d’abord, l’application doit utiliser la fonction CoCreateInstance pour produire un instance de IHandWrittenTextInsertion avec l’ID de classe CLSID_HandwrittenTextInsertion. Notez que la création d’un objet CLSID_HandwrittenTextInsertion réussit uniquement après la création d’une fenêtre et le focus donné, car jusqu’à ce moment-là, le magasin de stockage des services de texte n’est pas activé. En outre, si tiptsf.dll n’est pas présent sur le système, la fonction CoCreateInstance échoue et retourne REGDB_E_CLASSNOTREG, ce qui indique que la correction dans le document du panneau d’entrée n’est pas prise en charge sur le système. À ce stade, l’application doit continuer sans essayer d’activer la correction dans le document du panneau d’entrée. La instance de HandwrittenTextInsertion doit être accessible à partir du code de l’application qui gère l’insertion de texte dans un champ de texte.
Notes
Lorsque vous utilisez la version .NET Framework de l’API, l’application doit ajouter une instruction using pour autoriser l’accès à l’espace de noms Microsoft.Ink.TextInput , puis créer l’objet directement.
Deuxièmement, le code de l’application chargé d’insérer du texte dans un champ de texte doit être modifié de sorte qu’il n’insère plus de texte directement dans un champ de texte, mais appelle l’une ou l’autre des deux méthodes d’insertion de IHandwrittenTextInsertion à la place. Si les applications doivent choisir d’appeler InsertRecognitionResultsArray ou InsertRecognitionResults , cela dépend du fait que l’application dispose des alternatives de reconnaissance pour le texte stocké en tant que tableau ou en tant qu’objet IInkRecognitionResult .
Notes
Lorsque vous travaillez dans du code managé, l’objet de reconnaissance correspondant consommé par InsertRecognitionResultsArray est RecognitionResult. Les deux méthodes utilisent les trois paramètres suivants :
- Alterne Collection à deux dimensions de chaînes, stockée sous la forme d’un tableau de tableaux ou d’un objet IInkRecognitionResult (ou RecognitionResult). Si les alternatives sont stockées sous la forme d’un tableau de tableaux, elles doivent être passées en tant que pointeur de tableau sécurisé. Chaque entrée du tableau de niveau supérieur est une liste d’alternatives pour un seul mot dans l’insertion. L’entrée à la position zéro dans les sous-tableaux de substitution est le texte inséré dans le champ de texte. Les alternatives supplémentaires (index 1 à n dans chaque sous-tableau) sont stockées dans le magasin de stockage des services de texte et proposées à l’utilisateur en tant que choix dans le cadre de la correction dans le document. Si les alternatives ne sont pas incluses, l’utilisateur voit « Aucune suggestion » à la place de la liste des remplaçants. Si une insertion contient plusieurs mots avec des espaces entre eux, chaque espace doit être inclus en tant qu’entrée dans le tableau de niveau supérieur.
- LangueLCID de langue d’entrée qui correspond au texte contenu dans le paramètre alternates . Dans le cas où le contenu des alternatives a été généré par un module de reconnaissance vocale ou d’écriture manuscrite, il s’agit également de la propriété Languages associée au module de reconnaissance utilisé.
- fLatticeContainsAutoSpacingInformation Indicateur indiquant si le texte contenu dans le paramètre alternates a été généré par un module de reconnaissance avec l’espacement automatique activé. Si l’espacement automatique a été activé, l’indicateur doit être défini sur TRUE. Si l’espacement automatique a été désactivé, l’indicateur doit avoir la valeur FALSE. Dans le cas où le contenu des alternatives a été généré par un module de reconnaissance qui ne prend pas en charge l’espacement automatique ou qui n’a pas été généré du tout par un module de reconnaissance, l’indicateur doit avoir la valeur FALSE.
Le modèle de programmabilité du panneau d’entrée peut insérer le texte dans le document ou l’application à partir de la position de l’insertion du système.
Les deux méthodes retournent S_OK si l’insertion réussit. Ils retournent E_NOINTERFACE si l’application n’est pas basée sur les services de texte ou activée, et E_INVALIDARG si les alternatives sont mal mises en forme ou inaccessibles . Ils peuvent également retourner E_OUTOFMEMORY s’il n’y a pas suffisamment de mémoire disponible sur le système, ou E_FAIL après une défaillance catastrophique telle que l’infrastructure des services de texte n’est pas activée.
Conclusion
L’activation de la correction dans le document du panneau d’entrée pour le texte non entré à l’aide du panneau d’entrée est un moyen simple et économique pour une application basée sur les services de texte ou activée de compléter une méthode d’entrée manuscrite ou d’entrée personnalisée avec de puissantes fonctionnalités de correction basées sur un stylet. Sur Windows Vista, toutes les applications Rich Edit et Trident sont activées pour les services de texte. Bien que les surfaces d’entrée manuscrite intégrées soient une excellente option pour ajouter une expérience utilisateur tablet PC personnalisée à une application, elles prennent uniquement en charge la moitié de la saisie de texte si elles n’incluent pas de fonctionnalités de correction. La correction dans le document fournit aux utilisateurs l’autre moitié de l’histoire en ajoutant la possibilité d’échanger une sélection contre une autre reconnaissance ou de réécrire une partie ou la totalité de la sélection.
Rubriques connexes