Knowledge

Text Services Framework

Source πŸ“

271:
TSF enables text services to provide accurate and complete text conversion, with continuous access to the document buffer. Text services using TSF can avoid separating their functionality into modes for input and modes for editing. This input architecture enables the buffered and accumulating text
203:
The Language Bar enables text services to add UI elements to the toolbar and enables these elements when an application has focus. From the Language Bar, users can select the input language, and control keyboard input, handwriting recognition and speech recognition.
232: 260:
TSF-enabled applications can receive text input from any text service that supports TSF without having to be aware of any details of the text source. Services built using TSF are globally available to any
1002: 27: 233: 242:
Language bar tools – From left: Language selection menu, spell checking, keyboard layout selection menu, speech recognition, tools, handwriting recognition and drawing pad
268:
with a document, a piece of text, or an object within the document. For example, a speech input text service can store sound information associated with a block of text.
901: 658: 886: 805: 1367: 386:
is an undocumented, insecure protocol involved in TSF which security researchers have observed to be present in Windows versions back to Windows XP.
375: 496: 589: 1342: 407: 1403: 906: 207:
The language bar also provides a direct means to switch between installed languages, even when a non-TSF-enabled application has focus.
927: 937: 594: 993: 896: 891: 692: 1874: 1362: 1076: 520: 1741: 1592: 1352: 621: 1451: 1377: 1486: 1645: 797: 1537: 1509: 1436: 1112: 456: 429: 1736: 1713: 478: 1774: 1688: 1408: 1262: 99: 1698: 1071: 1041: 1790: 1731: 1602: 307:) is a process used to activate the Alternative User Input Text Input Processor (TIP) and also the Microsoft 115: 1726: 1597: 1587: 1575: 986: 211: 1869: 1838: 1751: 1703: 254: 197: 1580: 1347: 1314: 1148: 614: 545: 223: 371: 1570: 1372: 1289: 1066: 1061: 1036: 702: 1499: 1547: 1335: 1299: 828: 403: 1833: 1795: 1542: 1532: 1466: 979: 185: 404:"Download: Platform SDK Redistributable: Microsoft Windows Text Services Framework Redist files" 1864: 1494: 1476: 1446: 1304: 1016: 184:
features to applications. It supports features such as multilingual support, keyboard drivers,
143: 272:
stream to change dynamically, thereby enabling more efficient keyboard input and text editing.
1764: 1683: 1678: 1471: 1231: 1143: 1046: 777: 687: 607: 1565: 1267: 1216: 1117: 1056: 956: 848: 818: 8: 1640: 1623: 1524: 1431: 1170: 860: 574: 276: 1211: 1051: 822: 323:
which enables advanced user input services in applications (pen and ink, speech etc.).
189: 146: 104: 67: 1823: 1693: 1635: 1461: 1241: 1195: 932: 810: 650: 280: 161: 158: 60: 1294: 1180: 639: 239: 55: 579: 1175: 497:"Windows XP leak confirmed after user compiles the leaked code into a working OS" 181: 971: 1655: 1514: 1236: 1107: 870: 712: 344: 284: 169: 1858: 1769: 1759: 1673: 1557: 1426: 1357: 1190: 1185: 843: 838: 316: 215: 193: 1828: 853: 718: 630: 352: 1813: 1721: 1456: 1160: 1102: 1097: 865: 833: 740: 584: 482: 226:
in Windows Vista is also implemented using the Text Services Framework.
200:
functions. It is also downloadable for older Windows operating systems.
1441: 1382: 1246: 1165: 735: 348: 340: 328: 312: 288: 180:
The Text Services Framework is designed to offer advanced language and
154: 43: 33: 1843: 320: 48: 1226: 1026: 1021: 265: 219: 1668: 1663: 1628: 1504: 1330: 1272: 1221: 1138: 1122: 922: 782: 521:"Vulnerability in Microsoft CTF protocol goes back to Windows XP" 80: 16:
Software framework and API for input method in Microsoft Windows
1282: 1155: 697: 599: 279:
and enables text services for multiple input devices including
76: 1309: 767: 682: 84: 72: 26: 1398: 1277: 1081: 1031: 772: 673: 164:
that supports advanced text input and text processing. The
1607: 787: 707: 150: 369:) according to the leaked Windows XP source code) and 257:
can write their own text processing feature for TSF.
1001: 1856: 693:Internet/Intranet Input Method Framework (IIIMF) 222:control supports the Text Services Framework. 987: 615: 575:Text Services Framework documentation on MSDN 479:"Frequently asked questions about Ctfmon.exe" 1646:Security Support Provider Interface (SSPI) 994: 980: 622: 608: 595:Language Bar Overview: Windows Vista Help 585:How to use the language bar in Windows XP 1077:Windows Advanced Rasterization Platform 1857: 1072:DirectX Graphics Infrastructure (DXGI) 975: 603: 451: 449: 447: 264:TSF enables a text service to store 37:, with language selection menu open 13: 1538:Microsoft Foundation Classes (MFC) 1510:Distributed Component Object Model 457:"Why Use Text Services Framework?" 430:"What is Text Services Framework?" 410:from the original on July 13, 2012 14: 1886: 568: 444: 295: 703:Smart Common Input Method (SCIM) 629: 311:. Ctfmon is also a component of 231: 25: 1875:Natural language and computing 1548:Windows Template Library (WTL) 590:The Language Bar in Windows XP 538: 513: 489: 471: 422: 396: 1: 1543:Active Template Library (ATL) 1263:Data Access Components (MDAC) 1003:Microsoft APIs and frameworks 823:Simplified / Express 664:Text Services Framework (TSF) 389: 172:for Text Services Framework. 140:Text Services Framework (TSF) 31:A standalone Language Bar in 688:Intelligent Input Bus (IBus) 659:Input Method Manager (IMM32) 580:Text Services Framework blog 255:Independent software vendors 212:Windows XP Tablet PC Edition 94:Input Method Manager (IMM32) 7: 1839:Multilingual User Interface 1765:Dynamic Data Exchange (DDE) 247: 198:natural language processing 175: 10: 1891: 224:Windows Speech Recognition 1804: 1783: 1750: 1712: 1654: 1616: 1556: 1523: 1485: 1417: 1391: 1323: 1290:Extensible Storage Engine 1255: 1204: 1131: 1090: 1067:Windows Imaging Component 1062:Windows Image Acquisition 1009: 946: 915: 879: 796: 760: 753: 728: 672: 649: 637: 110: 98: 90: 66: 54: 42: 24: 130:/text-services-framework 1834:Language Interface Pack 1819:Text Services Framework 1533:Framework Class Library 186:handwriting recognition 20:Text Services Framework 1477:Common Log File System 1305:Access Database Engine 1017:Desktop Window Manager 546:"Down the Rabbit Hole" 1805:Text and multilingual 778:Google Japanese Input 363:Common Text Framework 1791:Active Accessibility 1057:Windows Color System 957:Meitei input methods 902:Microsoft Korean IME 713:X Input Method (XIM) 1829:Input method editor 1641:Data Protection API 1432:Windows Script Host 1171:Image Mastering API 887:Google Korean Input 550:Google Project Zero 485:on 19 October 2004. 253:TSF is extensible. 196:and other text and 21: 1870:Windows components 1727:Enterprise Library 1714:Software factories 1418:Administration and 1348:Filtering Platform 1149:Video Acceleration 277:device-independent 190:speech recognition 105:Software framework 19: 1852: 1851: 1824:Text Object Model 1636:Windows CardSpace 1462:Windows Installer 1196:Video for Windows 969: 968: 965: 964: 749: 748: 162:operating systems 136: 135: 61:Microsoft Windows 1882: 1437:WMI (extensions) 1295:Entity Framework 1181:Media Foundation 1032:D3D (extensions) 996: 989: 982: 973: 972: 758: 757: 647: 646: 624: 617: 610: 601: 600: 562: 561: 559: 557: 552:. 13 August 2019 542: 536: 535: 533: 531: 517: 511: 510: 508: 507: 493: 487: 486: 481:. Archived from 475: 469: 468: 466: 464: 453: 442: 441: 439: 437: 426: 420: 419: 417: 415: 400: 379: 378: 374: 334: 326: 306: 235: 132: 129: 127: 125: 123: 121: 119: 117: 56:Operating system 36: 29: 22: 18: 1890: 1889: 1885: 1884: 1883: 1881: 1880: 1879: 1855: 1854: 1853: 1848: 1806: 1800: 1779: 1746: 1708: 1650: 1612: 1552: 1519: 1487:Component model 1481: 1467:Error Reporting 1419: 1413: 1387: 1319: 1251: 1242:SideBar Gadgets 1200: 1176:Managed DirectX 1127: 1086: 1010:Graphics and UI 1005: 1000: 970: 961: 942: 911: 875: 792: 745: 724: 668: 641: 633: 628: 571: 566: 565: 555: 553: 544: 543: 539: 529: 527: 519: 518: 514: 505: 503: 495: 494: 490: 477: 476: 472: 462: 460: 455: 454: 445: 435: 433: 428: 427: 423: 413: 411: 402: 401: 397: 392: 376: 370: 332: 331:has superseded 324: 304: 298: 287:or stylus, and 250: 245: 244: 243: 241: 236: 182:word processing 178: 114: 38: 32: 17: 12: 11: 5: 1888: 1878: 1877: 1872: 1867: 1850: 1849: 1847: 1846: 1841: 1836: 1831: 1826: 1821: 1816: 1810: 1808: 1802: 1801: 1799: 1798: 1793: 1787: 1785: 1781: 1780: 1778: 1777: 1772: 1767: 1762: 1756: 1754: 1748: 1747: 1745: 1744: 1739: 1734: 1729: 1724: 1718: 1716: 1710: 1709: 1707: 1706: 1701: 1696: 1691: 1686: 1681: 1676: 1671: 1666: 1660: 1658: 1652: 1651: 1649: 1648: 1643: 1638: 1633: 1632: 1631: 1620: 1618: 1614: 1613: 1611: 1610: 1605: 1600: 1595: 1590: 1585: 1584: 1583: 1578: 1568: 1562: 1560: 1558:Device drivers 1554: 1553: 1551: 1550: 1545: 1540: 1535: 1529: 1527: 1521: 1520: 1518: 1517: 1515:.NET Framework 1512: 1507: 1502: 1497: 1491: 1489: 1483: 1482: 1480: 1479: 1474: 1469: 1464: 1459: 1454: 1449: 1447:Task Scheduler 1444: 1439: 1434: 1429: 1423: 1421: 1415: 1414: 1412: 1411: 1406: 1401: 1395: 1393: 1389: 1388: 1386: 1385: 1380: 1375: 1370: 1365: 1360: 1355: 1350: 1345: 1343:Winsock Kernel 1340: 1339: 1338: 1327: 1325: 1321: 1320: 1318: 1317: 1312: 1307: 1302: 1300:Sync Framework 1297: 1292: 1287: 1286: 1285: 1280: 1275: 1270: 1259: 1257: 1253: 1252: 1250: 1249: 1244: 1239: 1234: 1229: 1224: 1219: 1214: 1208: 1206: 1202: 1201: 1199: 1198: 1193: 1188: 1183: 1178: 1173: 1168: 1163: 1158: 1153: 1152: 1151: 1146: 1135: 1133: 1129: 1128: 1126: 1125: 1120: 1115: 1110: 1108:DirectX plugin 1105: 1100: 1094: 1092: 1088: 1087: 1085: 1084: 1079: 1074: 1069: 1064: 1059: 1054: 1049: 1044: 1039: 1034: 1029: 1024: 1019: 1013: 1011: 1007: 1006: 999: 998: 991: 984: 976: 967: 966: 963: 962: 960: 959: 954: 950: 948: 944: 943: 941: 940: 935: 930: 925: 919: 917: 913: 912: 910: 909: 904: 899: 894: 889: 883: 881: 877: 876: 874: 873: 868: 866:Wubi (Wang Ma) 863: 858: 857: 856: 851: 846: 836: 831: 826: 816: 813: 808: 802: 800: 794: 793: 791: 790: 785: 780: 775: 770: 764: 762: 755: 751: 750: 747: 746: 744: 743: 738: 732: 730: 726: 725: 723: 722: 715: 710: 705: 700: 695: 690: 685: 679: 677: 670: 669: 667: 666: 661: 655: 653: 644: 635: 634: 627: 626: 619: 612: 604: 598: 597: 592: 587: 582: 577: 570: 569:External links 567: 564: 563: 537: 512: 488: 470: 459:. May 31, 2018 443: 432:. May 31, 2018 421: 394: 393: 391: 388: 345:Windows NT 4.0 297: 296:ctfmon and CTF 294: 293: 292: 285:electronic pen 273: 269: 262: 258: 249: 246: 238: 237: 230: 229: 228: 210:Starting with 194:spell checking 177: 174: 170:user interface 134: 133: 112: 108: 107: 102: 96: 95: 92: 88: 87: 70: 64: 63: 58: 52: 51: 46: 40: 39: 30: 15: 9: 6: 4: 3: 2: 1887: 1876: 1873: 1871: 1868: 1866: 1865:Input methods 1863: 1862: 1860: 1845: 1842: 1840: 1837: 1835: 1832: 1830: 1827: 1825: 1822: 1820: 1817: 1815: 1812: 1811: 1809: 1803: 1797: 1796:UI Automation 1794: 1792: 1789: 1788: 1786: 1784:Accessibility 1782: 1776: 1773: 1771: 1768: 1766: 1763: 1761: 1758: 1757: 1755: 1753: 1749: 1743: 1740: 1738: 1735: 1733: 1730: 1728: 1725: 1723: 1720: 1719: 1717: 1715: 1711: 1705: 1702: 1700: 1697: 1695: 1692: 1690: 1687: 1685: 1682: 1680: 1677: 1675: 1672: 1670: 1667: 1665: 1662: 1661: 1659: 1657: 1653: 1647: 1644: 1642: 1639: 1637: 1634: 1630: 1627: 1626: 1625: 1622: 1621: 1619: 1615: 1609: 1606: 1604: 1601: 1599: 1596: 1594: 1591: 1589: 1586: 1582: 1579: 1577: 1574: 1573: 1572: 1569: 1567: 1564: 1563: 1561: 1559: 1555: 1549: 1546: 1544: 1541: 1539: 1536: 1534: 1531: 1530: 1528: 1526: 1522: 1516: 1513: 1511: 1508: 1506: 1503: 1501: 1498: 1496: 1493: 1492: 1490: 1488: 1484: 1478: 1475: 1473: 1470: 1468: 1465: 1463: 1460: 1458: 1455: 1453: 1452:Offline Files 1450: 1448: 1445: 1443: 1440: 1438: 1435: 1433: 1430: 1428: 1427:Win32 console 1425: 1424: 1422: 1416: 1410: 1407: 1405: 1404:Telephony API 1402: 1400: 1399:Messaging API 1397: 1396: 1394: 1392:Communication 1390: 1384: 1381: 1379: 1376: 1374: 1371: 1369: 1366: 1364: 1361: 1359: 1358:Windows Rally 1356: 1354: 1351: 1349: 1346: 1344: 1341: 1337: 1334: 1333: 1332: 1329: 1328: 1326: 1322: 1316: 1313: 1311: 1308: 1306: 1303: 1301: 1298: 1296: 1293: 1291: 1288: 1284: 1281: 1279: 1276: 1274: 1271: 1269: 1266: 1265: 1264: 1261: 1260: 1258: 1254: 1248: 1245: 1243: 1240: 1238: 1235: 1233: 1230: 1228: 1225: 1223: 1220: 1218: 1215: 1213: 1210: 1209: 1207: 1203: 1197: 1194: 1192: 1191:Windows Media 1189: 1187: 1184: 1182: 1179: 1177: 1174: 1172: 1169: 1167: 1164: 1162: 1159: 1157: 1154: 1150: 1147: 1145: 1144:Media Objects 1142: 1141: 1140: 1137: 1136: 1134: 1130: 1124: 1121: 1119: 1116: 1114: 1111: 1109: 1106: 1104: 1101: 1099: 1096: 1095: 1093: 1089: 1083: 1080: 1078: 1075: 1073: 1070: 1068: 1065: 1063: 1060: 1058: 1055: 1053: 1050: 1048: 1045: 1043: 1040: 1038: 1035: 1033: 1030: 1028: 1025: 1023: 1020: 1018: 1015: 1014: 1012: 1008: 1004: 997: 992: 990: 985: 983: 978: 977: 974: 958: 955: 952: 951: 949: 945: 939: 936: 934: 931: 929: 926: 924: 921: 920: 918: 914: 908: 905: 903: 900: 898: 895: 893: 890: 888: 885: 884: 882: 878: 872: 869: 867: 864: 862: 859: 855: 852: 850: 847: 845: 842: 841: 840: 837: 835: 832: 830: 827: 824: 820: 817: 814: 812: 809: 807: 804: 803: 801: 799: 795: 789: 786: 784: 781: 779: 776: 774: 771: 769: 766: 765: 763: 759: 756: 752: 742: 739: 737: 734: 733: 731: 727: 721: 720: 716: 714: 711: 709: 706: 704: 701: 699: 696: 694: 691: 689: 686: 684: 681: 680: 678: 675: 671: 665: 662: 660: 657: 656: 654: 652: 648: 645: 643: 636: 632: 625: 620: 618: 613: 611: 606: 605: 602: 596: 593: 591: 588: 586: 583: 581: 578: 576: 573: 572: 551: 547: 541: 526: 522: 516: 502: 498: 492: 484: 480: 474: 458: 452: 450: 448: 431: 425: 409: 405: 399: 395: 387: 385: 381: 380:patent text. 373: 368: 364: 360: 356: 354: 350: 346: 342: 338: 337:international 330: 322: 318: 317:Windows Vista 314: 310: 302: 290: 286: 282: 278: 274: 270: 267: 263: 259: 256: 252: 251: 240: 234: 227: 225: 221: 217: 216:Windows Vista 213: 208: 205: 201: 199: 195: 192:, as well as 191: 187: 183: 173: 171: 167: 163: 160: 156: 152: 148: 145: 141: 131: 113: 109: 106: 103: 101: 97: 93: 89: 86: 82: 78: 74: 71: 69: 65: 62: 59: 57: 53: 50: 47: 45: 41: 35: 28: 23: 1818: 1732:Composite UI 1217:RSS Platform 861:Stroke count 717: 663: 631:Input method 554:. Retrieved 549: 540: 528:. Retrieved 524: 515: 504:. Retrieved 500: 491: 483:the original 473: 461:. Retrieved 434:. Retrieved 424: 412:. Retrieved 398: 383: 382: 366: 362: 358: 357: 353:Windows 2000 336: 333:internat.exe 309:Language Bar 308: 300: 299: 261:application. 209: 206: 202: 179: 168:is the core 166:Language Bar 165: 139: 137: 44:Developer(s) 1814:DirectWrite 1722:EFx Factory 1679:Silverlight 1457:Shadow Copy 1256:Data access 1161:DirectInput 1103:DirectSound 1098:DirectMusic 1047:Silverlight 741:OpenVanilla 91:Predecessor 1859:Categories 1624:Crypto API 1442:PowerShell 1420:management 1383:DirectPlay 1324:Networking 1247:TypeScript 1166:DirectShow 1132:Multimedia 1118:Speech API 1037:GDI / GDI+ 916:Vietnamese 811:Biaoxingma 754:Conversion 736:Google IME 556:August 13, 530:August 13, 506:2023-01-31 390:References 372:US 7490296 365:(codename 349:Windows 98 341:Windows 95 329:Windows XP 325:ctfmon.exe 313:Windows XP 305:ctfmon.exe 289:microphone 157:and later 155:Windows XP 118:.microsoft 34:Windows XP 1844:Uniscribe 1525:Libraries 1472:Event Log 907:Nalgaeset 849:Microsoft 640:operating 321:Windows 7 214:2005 and 147:framework 49:Microsoft 1770:Remoting 1674:Remoting 1617:Security 1227:VBScript 1027:Direct3D 1022:Direct2D 928:WinVNKey 892:imhangul 815:Boshiamy 761:Japanese 463:July 25, 436:July 25, 414:July 25, 408:Archived 281:keyboard 266:metadata 248:Features 220:RichEdit 176:Overview 124:/windows 68:Platform 1807:support 1669:ADO.NET 1664:ASP.NET 1629:CAPICOM 1505:ActiveX 1368:P2P API 1331:Winsock 1273:ADO.NET 1222:JScript 1139:DirectX 1123:XAudio2 938:Vietkey 923:VPSKeys 871:ZhengMa 821: ( 819:Cangjie 798:Chinese 783:Kotoeri 651:Windows 335:(means 275:TSF is 159:Windows 111:Website 81:Itanium 1378:MS MPI 1283:OLE DB 1212:MSHTML 1156:Xinput 953:Bobble 947:Indian 933:UniKey 880:Korean 844:Google 839:Pinyin 698:Maliit 642:system 377:  367:Cicero 361:means 301:ctfmon 218:, the 126:/win32 122:/en-us 77:x86-64 1760:MSRPC 1310:MSXML 1091:Audio 1052:WinUI 854:Sogou 806:Array 768:Anthy 729:Other 719:more… 683:Fcitx 676:-like 525:ZDNet 501:ZDNET 339:) in 142:is a 85:ARM64 73:IA-32 1656:.NET 1593:NDIS 1588:WDDM 1581:UMDF 1576:KMDF 1500:COM+ 1373:MSMQ 1363:BITS 1353:NDIS 1278:ODBC 1113:XACT 1082:WinG 897:Nabi 834:Dayi 773:ATOK 674:Unix 558:2019 532:2019 465:2018 438:2018 416:2018 351:and 319:and 149:and 138:The 128:/tsf 120:.com 116:docs 100:Type 1775:WCF 1752:IPC 1742:CSF 1737:CCF 1699:WPF 1694:WCS 1689:WCF 1684:TPL 1608:VxD 1603:BDA 1598:UAA 1571:WDF 1566:WDM 1495:COM 1409:WCF 1336:LSP 1315:OPC 1268:ADO 1237:XDR 1232:BHO 1205:Web 1186:XNA 1042:WPF 829:CKC 788:Wnn 708:uim 638:By 384:CTF 359:CTF 327:in 153:in 151:API 144:COM 1861:: 1704:WF 548:. 523:. 499:. 446:^ 406:. 355:. 347:, 343:, 315:, 283:, 188:, 83:, 79:, 75:, 995:e 988:t 981:v 825:) 623:e 616:t 609:v 560:. 534:. 509:. 467:. 440:. 418:. 303:( 291:.

Index


Windows XP
Developer(s)
Microsoft
Operating system
Microsoft Windows
Platform
IA-32
x86-64
Itanium
ARM64
Type
Software framework
docs.microsoft.com/en-us/windows/win32/tsf/text-services-framework
COM
framework
API
Windows XP
Windows
operating systems
user interface
word processing
handwriting recognition
speech recognition
spell checking
natural language processing
Windows XP Tablet PC Edition
Windows Vista
RichEdit
Windows Speech Recognition

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑